Updated limits and corrected deduce_r.

This commit is contained in:
Edward Diener
2020-08-16 11:20:25 -04:00
parent 4afae94309
commit 59cdb3e5db
2 changed files with 29 additions and 6 deletions

View File

@ -29,15 +29,15 @@
# if defined(BOOST_PP_LIMIT_SLOT_COUNT) # if defined(BOOST_PP_LIMIT_SLOT_COUNT)
# undef BOOST_PP_LIMIT_SLOT_COUNT # undef BOOST_PP_LIMIT_SLOT_COUNT
# endif # endif
# if defined(BOOST_PP_LIMIT_WHILE)
# undef BOOST_PP_LIMIT_WHILE
# endif
# #
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
# #
# if defined(BOOST_PP_LIMIT_MAG) # if defined(BOOST_PP_LIMIT_MAG)
# undef BOOST_PP_LIMIT_MAG # undef BOOST_PP_LIMIT_MAG
# endif # endif
# if defined(BOOST_PP_LIMIT_WHILE)
# undef BOOST_PP_LIMIT_WHILE
# endif
# if defined(BOOST_PP_LIMIT_VARIADIC) # if defined(BOOST_PP_LIMIT_VARIADIC)
# undef BOOST_PP_LIMIT_VARIADIC # undef BOOST_PP_LIMIT_VARIADIC
# endif # endif
@ -72,9 +72,16 @@
# if !(BOOST_PP_LIMIT_MAG == 256 || BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024) # if !(BOOST_PP_LIMIT_MAG == 256 || BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024)
# undef BOOST_PP_LIMIT_MAG # undef BOOST_PP_LIMIT_MAG
# define BOOST_PP_LIMIT_MAG 256 # define BOOST_PP_LIMIT_MAG 256
# if !defined(BOOST_PP_LIMIT_WHILE)
# define BOOST_PP_LIMIT_WHILE 256 # define BOOST_PP_LIMIT_WHILE 256
# endif
# else # else
# if defined(BOOST_PP_LIMIT_WHILE) && BOOST_PP_LIMIT_WHILE < BOOST_PP_LIMIT_MAG
# undef BOOST_PP_LIMIT_WHILE
# endif
# if !defined(BOOST_PP_LIMIT_WHILE)
# define BOOST_PP_LIMIT_WHILE BOOST_PP_LIMIT_MAG # define BOOST_PP_LIMIT_WHILE BOOST_PP_LIMIT_MAG
# endif
# if defined(BOOST_PP_LIMIT_SEQ) # if defined(BOOST_PP_LIMIT_SEQ)
# undef BOOST_PP_LIMIT_SEQ # undef BOOST_PP_LIMIT_SEQ
# endif # endif
@ -82,6 +89,20 @@
# endif # endif
# else # else
# define BOOST_PP_LIMIT_MAG 256 # define BOOST_PP_LIMIT_MAG 256
# if !defined(BOOST_PP_LIMIT_WHILE)
# define BOOST_PP_LIMIT_WHILE 256
# endif
# endif
#
# if defined(BOOST_PP_LIMIT_WHILE)
# if !(BOOST_PP_LIMIT_WHILE == 256 || BOOST_PP_LIMIT_WHILE == 512 || BOOST_PP_LIMIT_WHILE == 1024)
# undef BOOST_PP_LIMIT_WHILE
# define BOOST_PP_LIMIT_WHILE 256
# elif BOOST_PP_LIMIT_WHILE < BOOST_PP_LIMIT_MAG
# undef BOOST_PP_LIMIT_WHILE
# define BOOST_PP_LIMIT_WHILE BOOST_PP_LIMIT_MAG
# endif
# else
# define BOOST_PP_LIMIT_WHILE 256 # define BOOST_PP_LIMIT_WHILE 256
# endif # endif
# #
@ -112,7 +133,7 @@
# endif # endif
# #
# if defined(BOOST_PP_LIMIT_FOR) # if defined(BOOST_PP_LIMIT_FOR)
# if !(BOOST_PP_LIMIT_FOR == 256 || BOOST_PP_LIMIT_FOR == 512) # if !(BOOST_PP_LIMIT_FOR == 256 || BOOST_PP_LIMIT_FOR == 512 || BOOST_PP_LIMIT_FOR == 1024)
# undef BOOST_PP_LIMIT_FOR # undef BOOST_PP_LIMIT_FOR
# define BOOST_PP_LIMIT_FOR 256 # define BOOST_PP_LIMIT_FOR 256
# elif BOOST_PP_LIMIT_FOR > BOOST_PP_LIMIT_MAG # elif BOOST_PP_LIMIT_FOR > BOOST_PP_LIMIT_MAG
@ -124,7 +145,7 @@
# endif # endif
# #
# if defined(BOOST_PP_LIMIT_REPEAT) # if defined(BOOST_PP_LIMIT_REPEAT)
# if !(BOOST_PP_LIMIT_REPEAT == 256 || BOOST_PP_LIMIT_REPEAT == 512) # if !(BOOST_PP_LIMIT_REPEAT == 256 || BOOST_PP_LIMIT_REPEAT == 512 || BOOST_PP_LIMIT_REPEAT == 1024)
# undef BOOST_PP_LIMIT_REPEAT # undef BOOST_PP_LIMIT_REPEAT
# define BOOST_PP_LIMIT_REPEAT 256 # define BOOST_PP_LIMIT_REPEAT 256
# elif BOOST_PP_LIMIT_REPEAT > BOOST_PP_LIMIT_MAG # elif BOOST_PP_LIMIT_REPEAT > BOOST_PP_LIMIT_MAG
@ -148,7 +169,7 @@
# endif # endif
# #
# if defined(BOOST_PP_LIMIT_ITERATION) # if defined(BOOST_PP_LIMIT_ITERATION)
# if !(BOOST_PP_LIMIT_ITERATION == 256 || BOOST_PP_LIMIT_ITERATION == 512) # if !(BOOST_PP_LIMIT_ITERATION == 256 || BOOST_PP_LIMIT_ITERATION == 512 || BOOST_PP_LIMIT_ITERATION == 1024)
# undef BOOST_PP_LIMIT_ITERATION # undef BOOST_PP_LIMIT_ITERATION
# define BOOST_PP_LIMIT_ITERATION 256 # define BOOST_PP_LIMIT_ITERATION 256
# elif BOOST_PP_LIMIT_ITERATION > BOOST_PP_LIMIT_MAG # elif BOOST_PP_LIMIT_ITERATION > BOOST_PP_LIMIT_MAG

View File

@ -25,6 +25,8 @@
# define BOOST_PP_DEDUCE_R() BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)) # define BOOST_PP_DEDUCE_R() BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))
# elif BOOST_PP_LIMIT_FOR == 512 # elif BOOST_PP_LIMIT_FOR == 512
# define BOOST_PP_DEDUCE_R() BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 512)) # define BOOST_PP_DEDUCE_R() BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 512))
# elif BOOST_PP_LIMIT_FOR == 1024
# define BOOST_PP_DEDUCE_R() BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 1024))
# else # else
# error Incorrect value for the BOOST_PP_LIMIT_FOR limit # error Incorrect value for the BOOST_PP_LIMIT_FOR limit
# endif # endif