mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-07-29 19:57:14 +02:00
Updated iteration tests for 512 maximum
This commit is contained in:
@ -12,7 +12,10 @@
|
||||
# if !BOOST_PP_IS_ITERATING
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/comparison/equal.hpp>
|
||||
# include <boost/preprocessor/control/expr_iif.hpp>
|
||||
# include <boost/preprocessor/iteration.hpp>
|
||||
# include <boost/preprocessor/logical/bitor.hpp>
|
||||
# include <libs/preprocessor/test/test.h>
|
||||
#
|
||||
# define NO_FLAGS
|
||||
@ -28,6 +31,60 @@
|
||||
# define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, <libs/preprocessor/test/iteration.h>, 0x0002))
|
||||
# include BOOST_PP_ITERATE()
|
||||
#
|
||||
# if BOOST_PP_LIMIT_ITERATION > 256
|
||||
#
|
||||
# define ITER100S(n) \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_EQUAL(n,100), \
|
||||
BOOST_PP_EQUAL(n,200) \
|
||||
), \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_EQUAL(n,300), \
|
||||
BOOST_PP_EQUAL(n,400) \
|
||||
), \
|
||||
BOOST_PP_EQUAL(n,500) \
|
||||
) \
|
||||
) \
|
||||
/* */
|
||||
#
|
||||
# define BOOST_PP_ITERATION_PARAMS_1 (4, (0, 512, <libs/preprocessor/test/iteration.h>, 0x0003))
|
||||
# include BOOST_PP_ITERATE()
|
||||
#
|
||||
# undef ITER100S
|
||||
#
|
||||
# define ITER50S(n) \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_EQUAL(n,450), \
|
||||
BOOST_PP_EQUAL(n,350) \
|
||||
), \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_BITOR \
|
||||
( \
|
||||
BOOST_PP_EQUAL(n,250), \
|
||||
BOOST_PP_EQUAL(n,150) \
|
||||
), \
|
||||
BOOST_PP_EQUAL(n,50) \
|
||||
) \
|
||||
) \
|
||||
/* */
|
||||
#
|
||||
# define BOOST_PP_ITERATION_PARAMS_1 (4, (512, 0, <libs/preprocessor/test/iteration.h>, 0x0004))
|
||||
# include BOOST_PP_ITERATE()
|
||||
#
|
||||
# undef ITER50S
|
||||
#
|
||||
# endif
|
||||
#
|
||||
# else
|
||||
# if defined NO_FLAGS
|
||||
|
||||
@ -49,6 +106,36 @@ struct BOOST_PP_CAT(Y, BOOST_PP_ITERATION()) { };
|
||||
# define BOOST_PP_ITERATION_PARAMS_2 (3, (1, BOOST_PP_ITERATION(), <libs/preprocessor/test/iteration.h>))
|
||||
# include BOOST_PP_ITERATE()
|
||||
|
||||
# elif BOOST_PP_ITERATION_DEPTH() == 1 \
|
||||
&& BOOST_PP_ITERATION_FLAGS() == 0x0003
|
||||
|
||||
#define TEST_ITER_F(n) \
|
||||
BOOST_PP_EXPR_IIF \
|
||||
( \
|
||||
ITER100S(n), \
|
||||
struct BOOST_PP_CAT(iter_512_f,n) { }; \
|
||||
) \
|
||||
/* */
|
||||
|
||||
TEST_ITER_F(BOOST_PP_ITERATION())
|
||||
|
||||
# undef TEST_ITER_F
|
||||
|
||||
# elif BOOST_PP_ITERATION_DEPTH() == 1 \
|
||||
&& BOOST_PP_ITERATION_FLAGS() == 0x0004
|
||||
|
||||
#define TEST_ITER_B(n) \
|
||||
BOOST_PP_EXPR_IIF \
|
||||
( \
|
||||
ITER50S(n), \
|
||||
struct BOOST_PP_CAT(iter_512_b,n) { }; \
|
||||
) \
|
||||
/* */
|
||||
|
||||
TEST_ITER_B(BOOST_PP_ITERATION())
|
||||
|
||||
# undef TEST_ITER_B
|
||||
|
||||
# elif BOOST_PP_ITERATION_DEPTH() == 2 \
|
||||
&& BOOST_PP_FRAME_FLAGS(1) == 0x0002
|
||||
|
||||
|
Reference in New Issue
Block a user