]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # /* ************************************************************************** |
2 | # * * | |
3 | # * (C) Copyright Paul Mensonides 2002. | |
4 | # * Distributed under the Boost Software License, Version 1.0. (See | |
5 | # * accompanying file LICENSE_1_0.txt or copy at | |
6 | # * http://www.boost.org/LICENSE_1_0.txt) | |
7 | # * * | |
8 | # ************************************************************************** */ | |
9 | # | |
10 | # /* Revised by Edward Diener (2011) */ | |
11 | # | |
12 | # /* See http://www.boost.org for most recent version. */ | |
13 | # | |
20effc67 | 14 | # include <boost/preprocessor/config/limits.hpp> |
7c673cae FG |
15 | # include <boost/preprocessor/arithmetic/add.hpp> |
16 | # include <boost/preprocessor/arithmetic/sub.hpp> | |
17 | # include <boost/preprocessor/comparison/equal.hpp> | |
18 | # include <boost/preprocessor/comparison/less.hpp> | |
19 | # include <boost/preprocessor/control/iif.hpp> | |
20 | # include <boost/preprocessor/facilities/is_empty.hpp> | |
21 | # include <boost/preprocessor/list.hpp> | |
22 | # include <boost/preprocessor/tuple/elem.hpp> | |
23 | # include <boost/preprocessor/tuple/size.hpp> | |
24 | # include <boost/preprocessor/array/elem.hpp> | |
25 | # include <boost/preprocessor/array/size.hpp> | |
26 | # include <boost/preprocessor/seq/elem.hpp> | |
27 | # include <boost/preprocessor/seq/size.hpp> | |
28 | # include <boost/preprocessor/variadic/elem.hpp> | |
29 | # include <libs/preprocessor/test/test.h> | |
30 | ||
31 | # define LISTNIL BOOST_PP_NIL | |
32 | # define LIST (4, (1, (5, (2, BOOST_PP_NIL)))) | |
33 | # define REVERSAL(d, x, y) BOOST_PP_SUB_D(d, y, x) | |
34 | # define F1(r, state, x) + x + state | |
35 | # define FI2(r, state, i, x) BOOST_PP_IIF(BOOST_PP_EQUAL(i,1),+ x + x + state,+ x + state) | |
36 | # define F2(r, x) + BOOST_PP_TUPLE_ELEM(2, 0, x) + 2 - BOOST_PP_TUPLE_ELEM(2, 1, x) | |
37 | # define L1 (0, (x, BOOST_PP_NIL)) | |
38 | # define L2 (a, (1, (b, (2, BOOST_PP_NIL)))) | |
39 | # define L3 (c, (3, (d, BOOST_PP_NIL))) | |
40 | # define LL (L1, (L2, (L3, BOOST_PP_NIL))) | |
41 | ||
20effc67 TL |
42 | # if BOOST_PP_LIMIT_MAG == 512 |
43 | ||
44 | # define LIST_256 \ | |
45 | (1,(2,(3,(4,(5,(6,(7,(8,(9, \ | |
46 | (10,(11,(12,(13,(14,(15,(16,(17,(18,(19, \ | |
47 | (20,(21,(22,(23,(24,(25,(26,(27,(28,(29, \ | |
48 | (30,(31,(32,(33,(34,(35,(36,(37,(38,(39, \ | |
49 | (40,(41,(42,(43,(44,(45,(46,(47,(48,(49, \ | |
50 | (50,(51,(52,(53,(54,(55,(56,(57,(58,(59, \ | |
51 | (60,(61,(62,(63,(64,(65,(66,(67,(68,(69, \ | |
52 | (70,(71,(72,(73,(74,(75,(76,(77,(78,(79, \ | |
53 | (80,(81,(82,(83,(84,(85,(86,(87,(88,(89, \ | |
54 | (90,(91,(92,(93,(94,(95,(96,(97,(98,(99, \ | |
55 | (100,(101,(102,(103,(104,(105,(106,(107,(108,(109, \ | |
56 | (110,(111,(112,(113,(114,(115,(116,(117,(118,(119, \ | |
57 | (120,(121,(122,(123,(124,(125,(126,(127,(128,(129, \ | |
58 | (130,(131,(132,(133,(134,(135,(136,(137,(138,(139, \ | |
59 | (140,(141,(142,(143,(144,(145,(146,(147,(148,(149, \ | |
60 | (150,(151,(152,(153,(154,(155,(156,(157,(158,(159, \ | |
61 | (160,(161,(162,(163,(164,(165,(166,(167,(168,(169, \ | |
62 | (170,(171,(172,(173,(174,(175,(176,(177,(178,(179, \ | |
63 | (180,(181,(182,(183,(184,(185,(186,(187,(188,(189, \ | |
64 | (190,(191,(192,(193,(194,(195,(196,(197,(198,(199, \ | |
65 | (200,(201,(202,(203,(204,(205,(206,(207,(208,(209, \ | |
66 | (210,(211,(212,(213,(214,(215,(216,(217,(218,(219, \ | |
67 | (220,(221,(222,(223,(224,(225,(226,(227,(228,(229, \ | |
68 | (230,(231,(232,(233,(234,(235,(236,(237,(238,(239, \ | |
69 | (240,(241,(242,(243,(244,(245,(246,(247,(248,(249, \ | |
70 | (250,(251,(252,(253,(254,(255,(256, BOOST_PP_NIL \ | |
71 | )))))))))))))))))))))))))))))))) \ | |
72 | )))))))))))))))))))))))))))))))) \ | |
73 | )))))))))))))))))))))))))))))))) \ | |
74 | )))))))))))))))))))))))))))))))) \ | |
75 | )))))))))))))))))))))))))))))))) \ | |
76 | )))))))))))))))))))))))))))))))) \ | |
77 | )))))))))))))))))))))))))))))))) \ | |
78 | )))))))))))))))))))))))))))))))) | |
79 | ||
80 | #endif | |
81 | ||
82 | # if BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024 | |
83 | ||
84 | # define LIST_512 \ | |
85 | (1,(2,(3,(4,(5,(6,(7,(8,(9, \ | |
86 | (10,(11,(12,(13,(14,(15,(16,(17,(18,(19, \ | |
87 | (20,(21,(22,(23,(24,(25,(26,(27,(28,(29, \ | |
88 | (30,(31,(32,(33,(34,(35,(36,(37,(38,(39, \ | |
89 | (40,(41,(42,(43,(44,(45,(46,(47,(48,(49, \ | |
90 | (50,(51,(52,(53,(54,(55,(56,(57,(58,(59, \ | |
91 | (60,(61,(62,(63,(64,(65,(66,(67,(68,(69, \ | |
92 | (70,(71,(72,(73,(74,(75,(76,(77,(78,(79, \ | |
93 | (80,(81,(82,(83,(84,(85,(86,(87,(88,(89, \ | |
94 | (90,(91,(92,(93,(94,(95,(96,(97,(98,(99, \ | |
95 | (100,(101,(102,(103,(104,(105,(106,(107,(108,(109, \ | |
96 | (110,(111,(112,(113,(114,(115,(116,(117,(118,(119, \ | |
97 | (120,(121,(122,(123,(124,(125,(126,(127,(128,(129, \ | |
98 | (130,(131,(132,(133,(134,(135,(136,(137,(138,(139, \ | |
99 | (140,(141,(142,(143,(144,(145,(146,(147,(148,(149, \ | |
100 | (150,(151,(152,(153,(154,(155,(156,(157,(158,(159, \ | |
101 | (160,(161,(162,(163,(164,(165,(166,(167,(168,(169, \ | |
102 | (170,(171,(172,(173,(174,(175,(176,(177,(178,(179, \ | |
103 | (180,(181,(182,(183,(184,(185,(186,(187,(188,(189, \ | |
104 | (190,(191,(192,(193,(194,(195,(196,(197,(198,(199, \ | |
105 | (200,(201,(202,(203,(204,(205,(206,(207,(208,(209, \ | |
106 | (210,(211,(212,(213,(214,(215,(216,(217,(218,(219, \ | |
107 | (220,(221,(222,(223,(224,(225,(226,(227,(228,(229, \ | |
108 | (230,(231,(232,(233,(234,(235,(236,(237,(238,(239, \ | |
109 | (240,(241,(242,(243,(244,(245,(246,(247,(248,(249, \ | |
110 | (250,(251,(252,(253,(254,(255,(256,(257,(258,(259, \ | |
111 | (260,(261,(262,(263,(264,(265,(266,(267,(268,(269, \ | |
112 | (270,(271,(272,(273,(274,(275,(276,(277,(278,(279, \ | |
113 | (280,(281,(282,(283,(284,(285,(286,(287,(288,(289, \ | |
114 | (290,(291,(292,(293,(294,(295,(296,(297,(298,(299, \ | |
115 | (300,(301,(302,(303,(304,(305,(306,(307,(308,(309, \ | |
116 | (310,(311,(312,(313,(314,(315,(316,(317,(318,(319, \ | |
117 | (320,(321,(322,(323,(324,(325,(326,(327,(328,(329, \ | |
118 | (330,(331,(332,(333,(334,(335,(336,(337,(338,(339, \ | |
119 | (340,(341,(342,(343,(344,(345,(346,(347,(348,(349, \ | |
120 | (350,(351,(352,(353,(354,(355,(356,(357,(358,(359, \ | |
121 | (360,(361,(362,(363,(364,(365,(366,(367,(368,(369, \ | |
122 | (370,(371,(372,(373,(374,(375,(376,(377,(378,(379, \ | |
123 | (380,(381,(382,(383,(384,(385,(386,(387,(388,(389, \ | |
124 | (390,(391,(392,(393,(394,(395,(396,(397,(398,(399, \ | |
125 | (400,(401,(402,(403,(404,(405,(406,(407,(408,(409, \ | |
126 | (410,(411,(412,(413,(414,(415,(416,(417,(418,(419, \ | |
127 | (420,(421,(422,(423,(424,(425,(426,(427,(428,(429, \ | |
128 | (430,(431,(432,(433,(434,(435,(436,(437,(438,(439, \ | |
129 | (440,(441,(442,(443,(444,(445,(446,(447,(448,(449, \ | |
130 | (450,(451,(452,(453,(454,(455,(456,(457,(458,(459, \ | |
131 | (460,(461,(462,(463,(464,(465,(466,(467,(468,(469, \ | |
132 | (470,(471,(472,(473,(474,(475,(476,(477,(478,(479, \ | |
133 | (480,(481,(482,(483,(484,(485,(486,(487,(488,(489, \ | |
134 | (490,(491,(492,(493,(494,(495,(496,(497,(498,(499, \ | |
135 | (500,(501,(502,(503,(504,(505,(506,(507,(508,(509, \ | |
136 | (510,(511,(512, BOOST_PP_NIL \ | |
137 | )))))))))))))))))))))))))))))))) \ | |
138 | )))))))))))))))))))))))))))))))) \ | |
139 | )))))))))))))))))))))))))))))))) \ | |
140 | )))))))))))))))))))))))))))))))) \ | |
141 | )))))))))))))))))))))))))))))))) \ | |
142 | )))))))))))))))))))))))))))))))) \ | |
143 | )))))))))))))))))))))))))))))))) \ | |
144 | )))))))))))))))))))))))))))))))) \ | |
145 | )))))))))))))))))))))))))))))))) \ | |
146 | )))))))))))))))))))))))))))))))) \ | |
147 | )))))))))))))))))))))))))))))))) \ | |
148 | )))))))))))))))))))))))))))))))) \ | |
149 | )))))))))))))))))))))))))))))))) \ | |
150 | )))))))))))))))))))))))))))))))) \ | |
151 | )))))))))))))))))))))))))))))))) \ | |
152 | )))))))))))))))))))))))))))))))) | |
153 | ||
154 | #endif | |
155 | ||
156 | # if BOOST_PP_LIMIT_MAG == 1024 | |
157 | ||
158 | # define LIST_1024 \ | |
159 | (1,(2,(3,(4,(5,(6,(7,(8,(9, \ | |
160 | (10,(11,(12,(13,(14,(15,(16,(17,(18,(19, \ | |
161 | (20,(21,(22,(23,(24,(25,(26,(27,(28,(29, \ | |
162 | (30,(31,(32,(33,(34,(35,(36,(37,(38,(39, \ | |
163 | (40,(41,(42,(43,(44,(45,(46,(47,(48,(49, \ | |
164 | (50,(51,(52,(53,(54,(55,(56,(57,(58,(59, \ | |
165 | (60,(61,(62,(63,(64,(65,(66,(67,(68,(69, \ | |
166 | (70,(71,(72,(73,(74,(75,(76,(77,(78,(79, \ | |
167 | (80,(81,(82,(83,(84,(85,(86,(87,(88,(89, \ | |
168 | (90,(91,(92,(93,(94,(95,(96,(97,(98,(99, \ | |
169 | (100,(101,(102,(103,(104,(105,(106,(107,(108,(109, \ | |
170 | (110,(111,(112,(113,(114,(115,(116,(117,(118,(119, \ | |
171 | (120,(121,(122,(123,(124,(125,(126,(127,(128,(129, \ | |
172 | (130,(131,(132,(133,(134,(135,(136,(137,(138,(139, \ | |
173 | (140,(141,(142,(143,(144,(145,(146,(147,(148,(149, \ | |
174 | (150,(151,(152,(153,(154,(155,(156,(157,(158,(159, \ | |
175 | (160,(161,(162,(163,(164,(165,(166,(167,(168,(169, \ | |
176 | (170,(171,(172,(173,(174,(175,(176,(177,(178,(179, \ | |
177 | (180,(181,(182,(183,(184,(185,(186,(187,(188,(189, \ | |
178 | (190,(191,(192,(193,(194,(195,(196,(197,(198,(199, \ | |
179 | (200,(201,(202,(203,(204,(205,(206,(207,(208,(209, \ | |
180 | (210,(211,(212,(213,(214,(215,(216,(217,(218,(219, \ | |
181 | (220,(221,(222,(223,(224,(225,(226,(227,(228,(229, \ | |
182 | (230,(231,(232,(233,(234,(235,(236,(237,(238,(239, \ | |
183 | (240,(241,(242,(243,(244,(245,(246,(247,(248,(249, \ | |
184 | (250,(251,(252,(253,(254,(255,(256,(257,(258,(259, \ | |
185 | (260,(261,(262,(263,(264,(265,(266,(267,(268,(269, \ | |
186 | (270,(271,(272,(273,(274,(275,(276,(277,(278,(279, \ | |
187 | (280,(281,(282,(283,(284,(285,(286,(287,(288,(289, \ | |
188 | (290,(291,(292,(293,(294,(295,(296,(297,(298,(299, \ | |
189 | (300,(301,(302,(303,(304,(305,(306,(307,(308,(309, \ | |
190 | (310,(311,(312,(313,(314,(315,(316,(317,(318,(319, \ | |
191 | (320,(321,(322,(323,(324,(325,(326,(327,(328,(329, \ | |
192 | (330,(331,(332,(333,(334,(335,(336,(337,(338,(339, \ | |
193 | (340,(341,(342,(343,(344,(345,(346,(347,(348,(349, \ | |
194 | (350,(351,(352,(353,(354,(355,(356,(357,(358,(359, \ | |
195 | (360,(361,(362,(363,(364,(365,(366,(367,(368,(369, \ | |
196 | (370,(371,(372,(373,(374,(375,(376,(377,(378,(379, \ | |
197 | (380,(381,(382,(383,(384,(385,(386,(387,(388,(389, \ | |
198 | (390,(391,(392,(393,(394,(395,(396,(397,(398,(399, \ | |
199 | (400,(401,(402,(403,(404,(405,(406,(407,(408,(409, \ | |
200 | (410,(411,(412,(413,(414,(415,(416,(417,(418,(419, \ | |
201 | (420,(421,(422,(423,(424,(425,(426,(427,(428,(429, \ | |
202 | (430,(431,(432,(433,(434,(435,(436,(437,(438,(439, \ | |
203 | (440,(441,(442,(443,(444,(445,(446,(447,(448,(449, \ | |
204 | (450,(451,(452,(453,(454,(455,(456,(457,(458,(459, \ | |
205 | (460,(461,(462,(463,(464,(465,(466,(467,(468,(469, \ | |
206 | (470,(471,(472,(473,(474,(475,(476,(477,(478,(479, \ | |
207 | (480,(481,(482,(483,(484,(485,(486,(487,(488,(489, \ | |
208 | (490,(491,(492,(493,(494,(495,(496,(497,(498,(499, \ | |
209 | (500,(501,(502,(503,(504,(505,(506,(507,(508,(509, \ | |
210 | (510,(511,(512, \ | |
211 | (513,(514,(515,(516,(517,(518,(519,(520,(521, \ | |
212 | (522,(523,(524,(525,(526,(527,(528,(529,(530,(531, \ | |
213 | (532,(533,(534,(535,(536,(537,(538,(539,(540,(541, \ | |
214 | (542,(543,(544,(545,(546,(547,(548,(549,(550,(551, \ | |
215 | (552,(553,(554,(555,(556,(557,(558,(559,(560,(561, \ | |
216 | (562,(563,(564,(565,(566,(567,(568,(569,(570,(571, \ | |
217 | (572,(573,(574,(575,(576,(577,(578,(579,(580,(581, \ | |
218 | (582,(583,(584,(585,(586,(587,(588,(589,(590,(591, \ | |
219 | (592,(593,(594,(595,(596,(597,(598,(599,(600,(601, \ | |
220 | (602,(603,(604,(605,(606,(607,(608,(609,(610,(611, \ | |
221 | (612,(613,(614,(615,(616,(617,(618,(619,(620,(621, \ | |
222 | (622,(623,(624,(625,(626,(627,(628,(629,(630,(631, \ | |
223 | (632,(633,(634,(635,(636,(637,(638,(639,(640,(641, \ | |
224 | (642,(643,(644,(645,(646,(647,(648,(649,(650,(651, \ | |
225 | (652,(653,(654,(655,(656,(657,(658,(659,(660,(661, \ | |
226 | (662,(663,(664,(665,(666,(667,(668,(669,(670,(671, \ | |
227 | (672,(673,(674,(675,(676,(677,(678,(679,(680,(681, \ | |
228 | (682,(683,(684,(685,(686,(687,(688,(689,(690,(691, \ | |
229 | (692,(693,(694,(695,(696,(697,(698,(699,(700,(701, \ | |
230 | (702,(703,(704,(705,(706,(707,(708,(709,(710,(711, \ | |
231 | (712,(713,(714,(715,(716,(717,(718,(719,(720,(721, \ | |
232 | (722,(723,(724,(725,(726,(727,(728,(729,(730,(731, \ | |
233 | (732,(733,(734,(735,(736,(737,(738,(739,(740,(741, \ | |
234 | (742,(743,(744,(745,(746,(747,(748,(749,(750,(751, \ | |
235 | (752,(753,(754,(755,(756,(757,(758,(759,(760,(761, \ | |
236 | (762,(763,(764,(765,(766,(767,(768,(769,(770,(771, \ | |
237 | (772,(773,(774,(775,(776,(777,(778,(779,(780,(781, \ | |
238 | (782,(783,(784,(785,(786,(787,(788,(789,(790,(791, \ | |
239 | (792,(793,(794,(795,(796,(797,(798,(799,(800,(801, \ | |
240 | (802,(803,(804,(805,(806,(807,(808,(809,(810,(811, \ | |
241 | (812,(813,(814,(815,(816,(817,(818,(819,(820,(821, \ | |
242 | (822,(823,(824,(825,(826,(827,(828,(829,(830,(831, \ | |
243 | (832,(833,(834,(835,(836,(837,(838,(839,(840,(841, \ | |
244 | (842,(843,(844,(845,(846,(847,(848,(849,(850,(851, \ | |
245 | (852,(853,(854,(855,(856,(857,(858,(859,(860,(861, \ | |
246 | (862,(863,(864,(865,(866,(867,(868,(869,(870,(871, \ | |
247 | (872,(873,(874,(875,(876,(877,(878,(879,(880,(881, \ | |
248 | (882,(883,(884,(885,(886,(887,(888,(889,(890,(891, \ | |
249 | (892,(893,(894,(895,(896,(897,(898,(899,(900,(901, \ | |
250 | (902,(903,(904,(905,(906,(907,(908,(909,(910,(911, \ | |
251 | (912,(913,(914,(915,(916,(917,(918,(919,(920,(921, \ | |
252 | (922,(923,(924,(925,(926,(927,(928,(929,(930,(931, \ | |
253 | (932,(933,(934,(935,(936,(937,(938,(939,(940,(941, \ | |
254 | (942,(943,(944,(945,(946,(947,(948,(949,(950,(951, \ | |
255 | (952,(953,(954,(955,(956,(957,(958,(959,(960,(961, \ | |
256 | (962,(963,(964,(965,(966,(967,(968,(969,(970,(971, \ | |
257 | (972,(973,(974,(975,(976,(977,(978,(979,(980,(981, \ | |
258 | (982,(983,(984,(985,(986,(987,(988,(989,(990,(991, \ | |
259 | (992,(993,(994,(995,(996,(997,(998,(999,(1000,(1001, \ | |
260 | (1002,(1003,(1004,(1005,(1006,(1007,(1008,(1009,(1010,(1011, \ | |
261 | (1012,(1013,(1014,(1015,(1016,(1017,(1018,(1019,(1020,(1021, \ | |
262 | (1022,(1023,(1024, \ | |
263 | BOOST_PP_NIL \ | |
264 | )))))))))))))))))))))))))))))))) \ | |
265 | )))))))))))))))))))))))))))))))) \ | |
266 | )))))))))))))))))))))))))))))))) \ | |
267 | )))))))))))))))))))))))))))))))) \ | |
268 | )))))))))))))))))))))))))))))))) \ | |
269 | )))))))))))))))))))))))))))))))) \ | |
270 | )))))))))))))))))))))))))))))))) \ | |
271 | )))))))))))))))))))))))))))))))) \ | |
272 | )))))))))))))))))))))))))))))))) \ | |
273 | )))))))))))))))))))))))))))))))) \ | |
274 | )))))))))))))))))))))))))))))))) \ | |
275 | )))))))))))))))))))))))))))))))) \ | |
276 | )))))))))))))))))))))))))))))))) \ | |
277 | )))))))))))))))))))))))))))))))) \ | |
278 | )))))))))))))))))))))))))))))))) \ | |
279 | )))))))))))))))))))))))))))))))) \ | |
280 | )))))))))))))))))))))))))))))))) \ | |
281 | )))))))))))))))))))))))))))))))) \ | |
282 | )))))))))))))))))))))))))))))))) \ | |
283 | )))))))))))))))))))))))))))))))) \ | |
284 | )))))))))))))))))))))))))))))))) \ | |
285 | )))))))))))))))))))))))))))))))) \ | |
286 | )))))))))))))))))))))))))))))))) \ | |
287 | )))))))))))))))))))))))))))))))) \ | |
288 | )))))))))))))))))))))))))))))))) \ | |
289 | )))))))))))))))))))))))))))))))) \ | |
290 | )))))))))))))))))))))))))))))))) \ | |
291 | )))))))))))))))))))))))))))))))) \ | |
292 | )))))))))))))))))))))))))))))))) \ | |
293 | )))))))))))))))))))))))))))))))) \ | |
294 | )))))))))))))))))))))))))))))))) \ | |
295 | )))))))))))))))))))))))))))))))) \ | |
296 | /* */ | |
297 | ||
298 | #endif | |
299 | ||
7c673cae FG |
300 | BEGIN BOOST_PP_LIST_FIRST(LIST) == 4 END |
301 | BEGIN BOOST_PP_LIST_IS_CONS(LIST) == 1 END | |
302 | BEGIN BOOST_PP_LIST_IS_CONS(LISTNIL) == 0 END | |
303 | BEGIN BOOST_PP_LIST_IS_NIL(LIST) == 0 END | |
304 | BEGIN BOOST_PP_LIST_IS_NIL(LISTNIL) == 1 END | |
305 | ||
20effc67 | 306 | # if BOOST_PP_LIMIT_MAG == 512 |
7c673cae | 307 | |
20effc67 TL |
308 | BEGIN BOOST_PP_LIST_FIRST(LIST_512) == 1 END |
309 | BEGIN BOOST_PP_LIST_IS_CONS(LIST_512) == 1 END | |
310 | BEGIN BOOST_PP_LIST_IS_NIL(LIST_512) == 0 END | |
7c673cae FG |
311 | |
312 | #endif | |
313 | ||
20effc67 TL |
314 | # if BOOST_PP_LIMIT_MAG == 1024 |
315 | ||
316 | BEGIN BOOST_PP_LIST_FIRST(LIST_1024) == 1 END | |
317 | BEGIN BOOST_PP_LIST_IS_CONS(LIST_1024) == 1 END | |
318 | BEGIN BOOST_PP_LIST_IS_NIL(LIST_1024) == 0 END | |
319 | ||
320 | #endif | |
321 | ||
322 | BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_LIST_ENUM(LIST)) == 5 END | |
7c673cae FG |
323 | BEGIN BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D, 22, LIST) == 10 END |
324 | BEGIN BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D, 22, LISTNIL) == 22 END | |
325 | BEGIN BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_ADD_D, 0, LIST) == 12 END | |
326 | BEGIN BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_ADD_D, 0, LISTNIL) == 0 END | |
327 | BEGIN BOOST_PP_LIST_FOLD_RIGHT(REVERSAL, 0, LIST) == 4 END | |
328 | ||
329 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REVERSE(LIST)) == 2514 END | |
330 | BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_REVERSE(LISTNIL)) == 1 END | |
331 | ||
20effc67 TL |
332 | # if BOOST_PP_LIMIT_MAG == 512 |
333 | ||
334 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_REVERSE(LIST_512),493) == 19 END | |
335 | ||
336 | #endif | |
337 | ||
338 | # if BOOST_PP_LIMIT_MAG == 1024 | |
339 | ||
340 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_REVERSE(LIST_1024),931) == 93 END | |
341 | ||
342 | #endif | |
343 | ||
7c673cae FG |
344 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REST_N(2, LIST)) == 52 END |
345 | BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_REST_N(0, LISTNIL)) == 1 END | |
346 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FIRST_N(2, LIST)) == 41 END | |
347 | ||
20effc67 TL |
348 | # if BOOST_PP_LIMIT_MAG == 512 |
349 | ||
350 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_FIRST_N(357, LIST_512),291) == 292 END | |
351 | BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_LIST_REST_N(411, LIST_512)) == 101 END | |
352 | ||
353 | #endif | |
354 | ||
355 | # if BOOST_PP_LIMIT_MAG == 1024 | |
356 | ||
357 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_FIRST_N(738, LIST_1024),629) == 630 END | |
358 | BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_LIST_REST_N(813, LIST_1024)) == 211 END | |
359 | ||
360 | #endif | |
361 | ||
7c673cae FG |
362 | BEGIN BOOST_PP_LIST_AT(LIST, 2) == 5 END |
363 | BEGIN BOOST_PP_LIST_SIZE(LIST) == 4 END | |
364 | BEGIN BOOST_PP_LIST_SIZE(LISTNIL) == 0 END | |
365 | ||
20effc67 TL |
366 | # if BOOST_PP_LIMIT_MAG == 512 |
367 | ||
368 | BEGIN BOOST_PP_LIST_AT(LIST_512, 279) == 280 END | |
369 | BEGIN BOOST_PP_LIST_SIZE(LIST_512) == 512 END | |
370 | ||
371 | #endif | |
372 | ||
373 | # if BOOST_PP_LIMIT_MAG == 1024 | |
374 | ||
375 | BEGIN BOOST_PP_LIST_AT(LIST_1024, 925) == 926 END | |
376 | BEGIN BOOST_PP_LIST_SIZE(LIST_1024) == 1024 END | |
377 | ||
378 | #endif | |
379 | ||
7c673cae FG |
380 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D, 2, LIST)) == 6374 END |
381 | BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D, 2, LISTNIL)) == 1 END | |
20effc67 TL |
382 | |
383 | # if BOOST_PP_LIMIT_MAG == 512 | |
384 | ||
385 | #define BOOST_PP_LIST_TEST_TRANSFORM_OP(d, data, elem) BOOST_PP_EQUAL(elem,data) | |
386 | ||
387 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_LIST_TEST_TRANSFORM_OP, 472, LIST_512),471) == 1 END | |
388 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_LIST_TEST_TRANSFORM_OP, 267, LIST_512),333) == 0 END | |
389 | ||
390 | #endif | |
391 | ||
392 | # if BOOST_PP_LIMIT_MAG == 1024 && !defined(__clang__) | |
393 | ||
394 | #define BOOST_PP_LIST_TEST_TRANSFORM_OP(d, data, elem) BOOST_PP_EQUAL(elem,data) | |
395 | ||
396 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_LIST_TEST_TRANSFORM_OP, 876, LIST_1024),875) == 1 END | |
397 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_LIST_TEST_TRANSFORM_OP, 637, LIST_1024),741) == 0 END | |
398 | ||
399 | #endif | |
400 | ||
7c673cae FG |
401 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(BOOST_PP_LIST_REST(LIST), LIST)) == 1524152 END |
402 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(LIST,LISTNIL)) == 4152 END | |
403 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(LISTNIL,LIST)) == 4152 END | |
404 | BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_APPEND(LISTNIL,LISTNIL)) == 1 END | |
405 | ||
20effc67 TL |
406 | # if BOOST_PP_LIMIT_MAG == 512 |
407 | ||
408 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_APPEND(LIST_256,LIST),258) == 5 END | |
409 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_APPEND(LIST,LIST_256),258) == 255 END | |
410 | ||
411 | #endif | |
412 | ||
413 | # if BOOST_PP_LIMIT_MAG == 1024 | |
414 | ||
415 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_APPEND(LIST_512,LIST),515) == 2 END | |
416 | BEGIN BOOST_PP_LIST_AT(BOOST_PP_LIST_APPEND(LIST,LIST_512),513) == 510 END | |
417 | ||
418 | #endif | |
419 | ||
7c673cae FG |
420 | BEGIN BOOST_PP_LIST_FOR_EACH(F1, 1, LIST) == 16 END |
421 | BEGIN BOOST_PP_LIST_FOR_EACH_I(FI2, 1, LIST) == 17 END | |
422 | ||
423 | BEGIN BOOST_PP_TUPLE_ELEM(4, 3, BOOST_PP_LIST_TO_TUPLE(LIST)) == 2 END | |
424 | ||
425 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D, 3, LIST)) == 45 END | |
426 | BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D, 3, LISTNIL)) == 1 END | |
427 | ||
20effc67 TL |
428 | # if BOOST_PP_LIMIT_MAG == 512 |
429 | ||
430 | BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_LIST_FILTER(BOOST_PP_EQUAL_D, 372, LIST_512)) == 1 END | |
431 | ||
432 | #endif | |
433 | ||
434 | # if BOOST_PP_LIMIT_MAG == 1024 && (!defined(__clang__) || defined(_MSC_VER) || defined(__CODEGEARC__)) | |
435 | ||
436 | BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_LIST_FILTER(BOOST_PP_EQUAL_D, 923, LIST_1024)) == 1 END | |
437 | ||
438 | #endif | |
7c673cae | 439 | |
20effc67 TL |
440 | BEGIN BOOST_PP_LIST_FOR_EACH_PRODUCT(F2, 2, ( (1, (0, BOOST_PP_NIL)), (2, (3, BOOST_PP_NIL)) )) == 0 END |
441 | BEGIN BOOST_PP_LIST_FOR_EACH_PRODUCT(F2, ( (1, (0, BOOST_PP_NIL)), (2, (3, BOOST_PP_NIL)) )) == 0 END | |
7c673cae FG |
442 | BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_APPEND_D, BOOST_PP_NIL, LL)) == 0x0a1b2c3d END |
443 | ||
444 | BEGIN BOOST_PP_ARRAY_ELEM(2, BOOST_PP_LIST_TO_ARRAY(LIST)) == 5 END | |
445 | BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_LIST_TO_ARRAY(LISTNIL)) == 0 END | |
446 | BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_LIST_TO_SEQ(LIST)) == 2 END | |
20effc67 TL |
447 | |
448 | # if BOOST_PP_LIMIT_MAG == 512 && BOOST_PP_LIMIT_FOR == 512 | |
449 | ||
450 | BEGIN BOOST_PP_SEQ_ELEM(437, BOOST_PP_LIST_TO_SEQ(LIST_512)) == 438 END | |
451 | ||
452 | #endif | |
453 | ||
454 | # if BOOST_PP_LIMIT_MAG == 1024 && BOOST_PP_LIMIT_FOR == 1024 | |
455 | ||
456 | BEGIN BOOST_PP_SEQ_ELEM(736, BOOST_PP_LIST_TO_SEQ(LIST_1024)) == 737 END | |
457 | ||
458 | #endif |