]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/test/detail/variadic/foldl1.cpp
1 // Copyright Louis Dionne 2013-2017
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
5 #include <boost/hana/detail/variadic/foldl1.hpp>
7 #include <boost/hana/assert.hpp>
8 #include <boost/hana/equal.hpp>
10 #include <laws/base.hpp>
11 namespace hana
= boost::hana
;
17 using x
= hana::test::ct_eq
<i
>;
20 using hana::detail::variadic::foldl1
;
21 hana::test::_injection
<0> f
{};
23 BOOST_HANA_CONSTANT_CHECK(hana::equal(
24 foldl1(undefined
{}, x
<1>{}),
28 BOOST_HANA_CONSTANT_CHECK(hana::equal(
29 foldl1(f
, x
<1>{}, x
<2>{}),
33 BOOST_HANA_CONSTANT_CHECK(hana::equal(
34 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}),
35 f(f(x
<1>{}, x
<2>{}), x
<3>{})
38 BOOST_HANA_CONSTANT_CHECK(hana::equal(
39 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}),
40 f(f(f(x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{})
43 BOOST_HANA_CONSTANT_CHECK(hana::equal(
44 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}),
45 f(f(f(f(x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{})
48 BOOST_HANA_CONSTANT_CHECK(hana::equal(
49 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}),
50 f(f(f(f(f(x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{})
53 BOOST_HANA_CONSTANT_CHECK(hana::equal(
54 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{}),
55 f(f(f(f(f(f(x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{})
58 BOOST_HANA_CONSTANT_CHECK(hana::equal(
59 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{}, x
<8>{}),
60 f(f(f(f(f(f(f(x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}), x
<8>{})
63 BOOST_HANA_CONSTANT_CHECK(hana::equal(
64 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
68 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
73 BOOST_HANA_CONSTANT_CHECK(hana::equal(
74 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
75 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}
77 f(f(f(f(f(f(f(f(f(f(f(f(
78 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
79 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{})
82 BOOST_HANA_CONSTANT_CHECK(hana::equal(
83 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
84 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{}
86 f(f(f(f(f(f(f(f(f(f(f(f(f(
87 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
88 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{})
91 BOOST_HANA_CONSTANT_CHECK(hana::equal(
92 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
93 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
96 f(f(f(f(f(f(f(f(f(f(f(f(f(f(
97 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
98 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
103 BOOST_HANA_CONSTANT_CHECK(hana::equal(
104 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
105 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
106 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
107 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}
109 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
110 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
111 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
112 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
113 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{})
116 BOOST_HANA_CONSTANT_CHECK(hana::equal(
117 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
118 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
119 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
120 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}, x
<28>{}
122 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
123 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
124 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
125 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
126 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{}), x
<28>{})
129 BOOST_HANA_CONSTANT_CHECK(hana::equal(
130 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
131 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
132 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
133 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}, x
<28>{},
136 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
137 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
138 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
139 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
140 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{}), x
<28>{}),
145 BOOST_HANA_CONSTANT_CHECK(hana::equal(
146 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
147 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
148 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
149 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}, x
<28>{},
150 x
<29>{}, x
<30>{}, x
<31>{}, x
<32>{}, x
<33>{}, x
<34>{}, x
<35>{},
151 x
<36>{}, x
<37>{}, x
<38>{}, x
<39>{}, x
<40>{}, x
<41>{}, x
<42>{},
152 x
<43>{}, x
<44>{}, x
<45>{}, x
<46>{}, x
<47>{}, x
<48>{}, x
<49>{},
153 x
<50>{}, x
<51>{}, x
<52>{}, x
<53>{}, x
<54>{}, x
<55>{}
155 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
156 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
157 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
158 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
159 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
160 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{}), x
<28>{}),
161 x
<29>{}), x
<30>{}), x
<31>{}), x
<32>{}), x
<33>{}), x
<34>{}), x
<35>{}),
162 x
<36>{}), x
<37>{}), x
<38>{}), x
<39>{}), x
<40>{}), x
<41>{}), x
<42>{}),
163 x
<43>{}), x
<44>{}), x
<45>{}), x
<46>{}), x
<47>{}), x
<48>{}), x
<49>{}),
164 x
<50>{}), x
<51>{}), x
<52>{}), x
<53>{}), x
<54>{}), x
<55>{})
167 BOOST_HANA_CONSTANT_CHECK(hana::equal(
168 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
169 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
170 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
171 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}, x
<28>{},
172 x
<29>{}, x
<30>{}, x
<31>{}, x
<32>{}, x
<33>{}, x
<34>{}, x
<35>{},
173 x
<36>{}, x
<37>{}, x
<38>{}, x
<39>{}, x
<40>{}, x
<41>{}, x
<42>{},
174 x
<43>{}, x
<44>{}, x
<45>{}, x
<46>{}, x
<47>{}, x
<48>{}, x
<49>{},
175 x
<50>{}, x
<51>{}, x
<52>{}, x
<53>{}, x
<54>{}, x
<55>{}, x
<56>{}
177 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
178 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
179 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
180 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
181 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
182 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{}), x
<28>{}),
183 x
<29>{}), x
<30>{}), x
<31>{}), x
<32>{}), x
<33>{}), x
<34>{}), x
<35>{}),
184 x
<36>{}), x
<37>{}), x
<38>{}), x
<39>{}), x
<40>{}), x
<41>{}), x
<42>{}),
185 x
<43>{}), x
<44>{}), x
<45>{}), x
<46>{}), x
<47>{}), x
<48>{}), x
<49>{}),
186 x
<50>{}), x
<51>{}), x
<52>{}), x
<53>{}), x
<54>{}), x
<55>{}), x
<56>{})
189 BOOST_HANA_CONSTANT_CHECK(hana::equal(
190 foldl1(f
, x
<1>{}, x
<2>{}, x
<3>{}, x
<4>{}, x
<5>{}, x
<6>{}, x
<7>{},
191 x
<8>{}, x
<9>{}, x
<10>{}, x
<11>{}, x
<12>{}, x
<13>{}, x
<14>{},
192 x
<15>{}, x
<16>{}, x
<17>{}, x
<18>{}, x
<19>{}, x
<20>{}, x
<21>{},
193 x
<22>{}, x
<23>{}, x
<24>{}, x
<25>{}, x
<26>{}, x
<27>{}, x
<28>{},
194 x
<29>{}, x
<30>{}, x
<31>{}, x
<32>{}, x
<33>{}, x
<34>{}, x
<35>{},
195 x
<36>{}, x
<37>{}, x
<38>{}, x
<39>{}, x
<40>{}, x
<41>{}, x
<42>{},
196 x
<43>{}, x
<44>{}, x
<45>{}, x
<46>{}, x
<47>{}, x
<48>{}, x
<49>{},
197 x
<50>{}, x
<51>{}, x
<52>{}, x
<53>{}, x
<54>{}, x
<55>{}, x
<56>{},
200 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
201 f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
202 x
<1>{}, x
<2>{}), x
<3>{}), x
<4>{}), x
<5>{}), x
<6>{}), x
<7>{}),
203 x
<8>{}), x
<9>{}), x
<10>{}), x
<11>{}), x
<12>{}), x
<13>{}), x
<14>{}),
204 x
<15>{}), x
<16>{}), x
<17>{}), x
<18>{}), x
<19>{}), x
<20>{}), x
<21>{}),
205 x
<22>{}), x
<23>{}), x
<24>{}), x
<25>{}), x
<26>{}), x
<27>{}), x
<28>{}),
206 x
<29>{}), x
<30>{}), x
<31>{}), x
<32>{}), x
<33>{}), x
<34>{}), x
<35>{}),
207 x
<36>{}), x
<37>{}), x
<38>{}), x
<39>{}), x
<40>{}), x
<41>{}), x
<42>{}),
208 x
<43>{}), x
<44>{}), x
<45>{}), x
<46>{}), x
<47>{}), x
<48>{}), x
<49>{}),
209 x
<50>{}), x
<51>{}), x
<52>{}), x
<53>{}), x
<54>{}), x
<55>{}), x
<56>{}),