]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/yap/test/depth_stress_test_left.cpp
1 // Copyright (C) 2016-2018 T. Zachary Laine
3 // Distributed under the Boost Software License, Version 1.0. (See
4 // accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 #include <boost/yap/expression.hpp>
8 #include <boost/core/lightweight_test.hpp>
14 using term
= boost::yap::terminal
<boost::yap::expression
, T
>;
16 namespace yap
= boost::yap
;
22 term
<double> unity
{1.0};
25 auto expr
= (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ unity
)))))));
26 double result
= boost::yap::evaluate(expr
);
27 BOOST_TEST(result
== 8.0);
32 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
33 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
34 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
35 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
37 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
38 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
39 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
40 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
41 double result
= boost::yap::evaluate(expr
);
42 BOOST_TEST(result
== 64.0);
45 #if 0 // This makes the Travis VMs barf.
48 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
49 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
50 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
51 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
53 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
54 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
55 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+
56 (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
+ (unity
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
57 double result
= boost::yap::evaluate(
58 (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+
59 (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+
60 (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+
61 (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
+ (expr
))))))))))))))))))))))))))))))))
63 BOOST_TEST(result
== 64.0 * 32.0);
68 return boost::report_errors();