Added MOD and implemented ADD, SUB & MUL using WHILE reducing internal repetition

[SVN r12009]
This commit is contained in:
Vesa Karvonen
2001-12-10 22:11:42 +00:00
parent ef938f3335
commit cd69e240b3
8 changed files with 349 additions and 535 deletions

View File

@ -20,140 +20,19 @@
#ifndef BOOST_PREPROCESSOR_INC_HPP
# include <boost/preprocessor/inc.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
# include <boost/preprocessor/while.hpp>
#endif
//! Expands to the sum of X and Y.
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PREPROCESSOR_ADD_DELAY(X,Y)
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PREPROCESSOR_ADD_I(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_ADD_DELAY(X,Y) BOOST_PREPROCESSOR_ADD##X(Y)
#define BOOST_PREPROCESSOR_ADD0(Y) Y
#define BOOST_PREPROCESSOR_ADD1(Y) BOOST_PREPROCESSOR_INC(Y)
#define BOOST_PREPROCESSOR_ADD2(Y) BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD3(Y) BOOST_PREPROCESSOR_ADD2(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD4(Y) BOOST_PREPROCESSOR_ADD3(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD5(Y) BOOST_PREPROCESSOR_ADD4(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD6(Y) BOOST_PREPROCESSOR_ADD5(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD7(Y) BOOST_PREPROCESSOR_ADD6(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD8(Y) BOOST_PREPROCESSOR_ADD7(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD9(Y) BOOST_PREPROCESSOR_ADD8(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD10(Y) BOOST_PREPROCESSOR_ADD9(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD11(Y) BOOST_PREPROCESSOR_ADD10(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD12(Y) BOOST_PREPROCESSOR_ADD11(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD13(Y) BOOST_PREPROCESSOR_ADD12(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD14(Y) BOOST_PREPROCESSOR_ADD13(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD15(Y) BOOST_PREPROCESSOR_ADD14(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD16(Y) BOOST_PREPROCESSOR_ADD15(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD17(Y) BOOST_PREPROCESSOR_ADD16(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD18(Y) BOOST_PREPROCESSOR_ADD17(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD19(Y) BOOST_PREPROCESSOR_ADD18(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD20(Y) BOOST_PREPROCESSOR_ADD19(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD21(Y) BOOST_PREPROCESSOR_ADD20(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD22(Y) BOOST_PREPROCESSOR_ADD21(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD23(Y) BOOST_PREPROCESSOR_ADD22(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD24(Y) BOOST_PREPROCESSOR_ADD23(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD25(Y) BOOST_PREPROCESSOR_ADD24(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD26(Y) BOOST_PREPROCESSOR_ADD25(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD27(Y) BOOST_PREPROCESSOR_ADD26(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD28(Y) BOOST_PREPROCESSOR_ADD27(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD29(Y) BOOST_PREPROCESSOR_ADD28(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD30(Y) BOOST_PREPROCESSOR_ADD29(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD31(Y) BOOST_PREPROCESSOR_ADD30(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD32(Y) BOOST_PREPROCESSOR_ADD31(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD33(Y) BOOST_PREPROCESSOR_ADD32(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD34(Y) BOOST_PREPROCESSOR_ADD33(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD35(Y) BOOST_PREPROCESSOR_ADD34(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD36(Y) BOOST_PREPROCESSOR_ADD35(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD37(Y) BOOST_PREPROCESSOR_ADD36(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD38(Y) BOOST_PREPROCESSOR_ADD37(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD39(Y) BOOST_PREPROCESSOR_ADD38(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD40(Y) BOOST_PREPROCESSOR_ADD39(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD41(Y) BOOST_PREPROCESSOR_ADD40(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD42(Y) BOOST_PREPROCESSOR_ADD41(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD43(Y) BOOST_PREPROCESSOR_ADD42(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD44(Y) BOOST_PREPROCESSOR_ADD43(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD45(Y) BOOST_PREPROCESSOR_ADD44(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD46(Y) BOOST_PREPROCESSOR_ADD45(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD47(Y) BOOST_PREPROCESSOR_ADD46(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD48(Y) BOOST_PREPROCESSOR_ADD47(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD49(Y) BOOST_PREPROCESSOR_ADD48(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD50(Y) BOOST_PREPROCESSOR_ADD49(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD51(Y) BOOST_PREPROCESSOR_ADD50(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD52(Y) BOOST_PREPROCESSOR_ADD51(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD53(Y) BOOST_PREPROCESSOR_ADD52(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD54(Y) BOOST_PREPROCESSOR_ADD53(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD55(Y) BOOST_PREPROCESSOR_ADD54(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD56(Y) BOOST_PREPROCESSOR_ADD55(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD57(Y) BOOST_PREPROCESSOR_ADD56(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD58(Y) BOOST_PREPROCESSOR_ADD57(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD59(Y) BOOST_PREPROCESSOR_ADD58(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD60(Y) BOOST_PREPROCESSOR_ADD59(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD61(Y) BOOST_PREPROCESSOR_ADD60(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD62(Y) BOOST_PREPROCESSOR_ADD61(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD63(Y) BOOST_PREPROCESSOR_ADD62(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD64(Y) BOOST_PREPROCESSOR_ADD63(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD65(Y) BOOST_PREPROCESSOR_ADD64(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD66(Y) BOOST_PREPROCESSOR_ADD65(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD67(Y) BOOST_PREPROCESSOR_ADD66(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD68(Y) BOOST_PREPROCESSOR_ADD67(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD69(Y) BOOST_PREPROCESSOR_ADD68(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD70(Y) BOOST_PREPROCESSOR_ADD69(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD71(Y) BOOST_PREPROCESSOR_ADD70(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD72(Y) BOOST_PREPROCESSOR_ADD71(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD73(Y) BOOST_PREPROCESSOR_ADD72(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD74(Y) BOOST_PREPROCESSOR_ADD73(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD75(Y) BOOST_PREPROCESSOR_ADD74(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD76(Y) BOOST_PREPROCESSOR_ADD75(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD77(Y) BOOST_PREPROCESSOR_ADD76(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD78(Y) BOOST_PREPROCESSOR_ADD77(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD79(Y) BOOST_PREPROCESSOR_ADD78(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD80(Y) BOOST_PREPROCESSOR_ADD79(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD81(Y) BOOST_PREPROCESSOR_ADD80(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD82(Y) BOOST_PREPROCESSOR_ADD81(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD83(Y) BOOST_PREPROCESSOR_ADD82(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD84(Y) BOOST_PREPROCESSOR_ADD83(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD85(Y) BOOST_PREPROCESSOR_ADD84(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD86(Y) BOOST_PREPROCESSOR_ADD85(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD87(Y) BOOST_PREPROCESSOR_ADD86(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD88(Y) BOOST_PREPROCESSOR_ADD87(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD89(Y) BOOST_PREPROCESSOR_ADD88(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD90(Y) BOOST_PREPROCESSOR_ADD89(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD91(Y) BOOST_PREPROCESSOR_ADD90(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD92(Y) BOOST_PREPROCESSOR_ADD91(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD93(Y) BOOST_PREPROCESSOR_ADD92(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD94(Y) BOOST_PREPROCESSOR_ADD93(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD95(Y) BOOST_PREPROCESSOR_ADD94(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD96(Y) BOOST_PREPROCESSOR_ADD95(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD97(Y) BOOST_PREPROCESSOR_ADD96(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD98(Y) BOOST_PREPROCESSOR_ADD97(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD99(Y) BOOST_PREPROCESSOR_ADD98(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD100(Y) BOOST_PREPROCESSOR_ADD99(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD101(Y) BOOST_PREPROCESSOR_ADD100(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD102(Y) BOOST_PREPROCESSOR_ADD101(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD103(Y) BOOST_PREPROCESSOR_ADD102(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD104(Y) BOOST_PREPROCESSOR_ADD103(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD105(Y) BOOST_PREPROCESSOR_ADD104(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD106(Y) BOOST_PREPROCESSOR_ADD105(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD107(Y) BOOST_PREPROCESSOR_ADD106(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD108(Y) BOOST_PREPROCESSOR_ADD107(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD109(Y) BOOST_PREPROCESSOR_ADD108(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD110(Y) BOOST_PREPROCESSOR_ADD109(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD111(Y) BOOST_PREPROCESSOR_ADD110(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD112(Y) BOOST_PREPROCESSOR_ADD111(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD113(Y) BOOST_PREPROCESSOR_ADD112(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD114(Y) BOOST_PREPROCESSOR_ADD113(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD115(Y) BOOST_PREPROCESSOR_ADD114(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD116(Y) BOOST_PREPROCESSOR_ADD115(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD117(Y) BOOST_PREPROCESSOR_ADD116(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD118(Y) BOOST_PREPROCESSOR_ADD117(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD119(Y) BOOST_PREPROCESSOR_ADD118(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD120(Y) BOOST_PREPROCESSOR_ADD119(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD121(Y) BOOST_PREPROCESSOR_ADD120(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD122(Y) BOOST_PREPROCESSOR_ADD121(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD123(Y) BOOST_PREPROCESSOR_ADD122(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD124(Y) BOOST_PREPROCESSOR_ADD123(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD125(Y) BOOST_PREPROCESSOR_ADD124(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD126(Y) BOOST_PREPROCESSOR_ADD125(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD127(Y) BOOST_PREPROCESSOR_ADD126(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD128(Y) BOOST_PREPROCESSOR_ADD127(BOOST_PREPROCESSOR_INC(Y))
#define BOOST_PREPROCESSOR_ADD_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_ADD_C,BOOST_PREPROCESSOR_ADD_F,(X,Y)))
#define BOOST_PREPROCESSOR_ADD_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)
#define BOOST_PREPROCESSOR_ADD_F(I,P) (BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P)),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -34,16 +34,11 @@
#endif
//! Expands to the quotient of X and Y.
#define BOOST_PREPROCESSOR_DIV(X,Y)\
BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE(BOOST_PREPROCESSOR_DIV_C,BOOST_PREPROCESSOR_DIV_F,(0,X,Y)))
#define BOOST_PREPROCESSOR_DIV(X,Y) BOOST_PREPROCESSOR_DIV_I(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_DIV_F(P)\
( BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P))\
, BOOST_PREPROCESSOR_SUB(BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P))\
, BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)\
)
#define BOOST_PREPROCESSOR_DIV_C(P)\
BOOST_PREPROCESSOR_LESS_EQUAL(BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P))
#define BOOST_PREPROCESSOR_DIV_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_DIV_C,BOOST_PREPROCESSOR_DIV_F,(0,X,Y)))
#define BOOST_PREPROCESSOR_DIV_C(I,P) BOOST_PREPROCESSOR_LESS_EQUAL_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P))
#define BOOST_PREPROCESSOR_DIV_F(I,P) (BOOST_PREPROCESSOR_INC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P)),BOOST_PREPROCESSOR_SUB_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -0,0 +1,41 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
// See http://www.boost.org for most recent version.
/*! \file
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
*/
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
# include <boost/preprocessor/arithmetic/sub.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
# include <boost/preprocessor/comparison/less_equal.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
# include <boost/preprocessor/while.hpp>
#endif
//! Expands to the remainder of X and Y.
#define BOOST_PREPROCESSOR_MOD(X,Y) BOOST_PREPROCESSOR_MOD_I(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_MOD_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_MOD_C,BOOST_PREPROCESSOR_MOD_F,(X,Y)))
#define BOOST_PREPROCESSOR_MOD_C(I,P) BOOST_PREPROCESSOR_LESS_EQUAL_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P),BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P))
#define BOOST_PREPROCESSOR_MOD_F(I,P) (BOOST_PREPROCESSOR_SUB_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P),BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -20,140 +20,19 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
# include <boost/preprocessor/arithmetic/add.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
# include <boost/preprocessor/while.hpp>
#endif
//! Expands to the product of X and Y.
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PREPROCESSOR_MUL_DELAY(X,Y)
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PREPROCESSOR_MUL_I(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_MUL_DELAY(X,Y) BOOST_PREPROCESSOR_MUL##X(Y,0)
#define BOOST_PREPROCESSOR_MUL0(Y,A) A
#define BOOST_PREPROCESSOR_MUL1(Y,A) BOOST_PREPROCESSOR_ADD(Y,A)
#define BOOST_PREPROCESSOR_MUL2(Y,A) BOOST_PREPROCESSOR_MUL1(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL3(Y,A) BOOST_PREPROCESSOR_MUL2(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL4(Y,A) BOOST_PREPROCESSOR_MUL3(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL5(Y,A) BOOST_PREPROCESSOR_MUL4(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL6(Y,A) BOOST_PREPROCESSOR_MUL5(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL7(Y,A) BOOST_PREPROCESSOR_MUL6(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL8(Y,A) BOOST_PREPROCESSOR_MUL7(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL9(Y,A) BOOST_PREPROCESSOR_MUL8(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL10(Y,A) BOOST_PREPROCESSOR_MUL9(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL11(Y,A) BOOST_PREPROCESSOR_MUL10(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL12(Y,A) BOOST_PREPROCESSOR_MUL11(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL13(Y,A) BOOST_PREPROCESSOR_MUL12(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL14(Y,A) BOOST_PREPROCESSOR_MUL13(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL15(Y,A) BOOST_PREPROCESSOR_MUL14(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL16(Y,A) BOOST_PREPROCESSOR_MUL15(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL17(Y,A) BOOST_PREPROCESSOR_MUL16(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL18(Y,A) BOOST_PREPROCESSOR_MUL17(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL19(Y,A) BOOST_PREPROCESSOR_MUL18(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL20(Y,A) BOOST_PREPROCESSOR_MUL19(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL21(Y,A) BOOST_PREPROCESSOR_MUL20(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL22(Y,A) BOOST_PREPROCESSOR_MUL21(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL23(Y,A) BOOST_PREPROCESSOR_MUL22(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL24(Y,A) BOOST_PREPROCESSOR_MUL23(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL25(Y,A) BOOST_PREPROCESSOR_MUL24(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL26(Y,A) BOOST_PREPROCESSOR_MUL25(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL27(Y,A) BOOST_PREPROCESSOR_MUL26(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL28(Y,A) BOOST_PREPROCESSOR_MUL27(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL29(Y,A) BOOST_PREPROCESSOR_MUL28(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL30(Y,A) BOOST_PREPROCESSOR_MUL29(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL31(Y,A) BOOST_PREPROCESSOR_MUL30(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL32(Y,A) BOOST_PREPROCESSOR_MUL31(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL33(Y,A) BOOST_PREPROCESSOR_MUL32(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL34(Y,A) BOOST_PREPROCESSOR_MUL33(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL35(Y,A) BOOST_PREPROCESSOR_MUL34(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL36(Y,A) BOOST_PREPROCESSOR_MUL35(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL37(Y,A) BOOST_PREPROCESSOR_MUL36(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL38(Y,A) BOOST_PREPROCESSOR_MUL37(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL39(Y,A) BOOST_PREPROCESSOR_MUL38(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL40(Y,A) BOOST_PREPROCESSOR_MUL39(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL41(Y,A) BOOST_PREPROCESSOR_MUL40(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL42(Y,A) BOOST_PREPROCESSOR_MUL41(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL43(Y,A) BOOST_PREPROCESSOR_MUL42(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL44(Y,A) BOOST_PREPROCESSOR_MUL43(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL45(Y,A) BOOST_PREPROCESSOR_MUL44(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL46(Y,A) BOOST_PREPROCESSOR_MUL45(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL47(Y,A) BOOST_PREPROCESSOR_MUL46(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL48(Y,A) BOOST_PREPROCESSOR_MUL47(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL49(Y,A) BOOST_PREPROCESSOR_MUL48(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL50(Y,A) BOOST_PREPROCESSOR_MUL49(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL51(Y,A) BOOST_PREPROCESSOR_MUL50(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL52(Y,A) BOOST_PREPROCESSOR_MUL51(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL53(Y,A) BOOST_PREPROCESSOR_MUL52(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL54(Y,A) BOOST_PREPROCESSOR_MUL53(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL55(Y,A) BOOST_PREPROCESSOR_MUL54(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL56(Y,A) BOOST_PREPROCESSOR_MUL55(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL57(Y,A) BOOST_PREPROCESSOR_MUL56(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL58(Y,A) BOOST_PREPROCESSOR_MUL57(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL59(Y,A) BOOST_PREPROCESSOR_MUL58(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL60(Y,A) BOOST_PREPROCESSOR_MUL59(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL61(Y,A) BOOST_PREPROCESSOR_MUL60(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL62(Y,A) BOOST_PREPROCESSOR_MUL61(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL63(Y,A) BOOST_PREPROCESSOR_MUL62(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL64(Y,A) BOOST_PREPROCESSOR_MUL63(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL65(Y,A) BOOST_PREPROCESSOR_MUL64(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL66(Y,A) BOOST_PREPROCESSOR_MUL65(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL67(Y,A) BOOST_PREPROCESSOR_MUL66(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL68(Y,A) BOOST_PREPROCESSOR_MUL67(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL69(Y,A) BOOST_PREPROCESSOR_MUL68(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL70(Y,A) BOOST_PREPROCESSOR_MUL69(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL71(Y,A) BOOST_PREPROCESSOR_MUL70(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL72(Y,A) BOOST_PREPROCESSOR_MUL71(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL73(Y,A) BOOST_PREPROCESSOR_MUL72(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL74(Y,A) BOOST_PREPROCESSOR_MUL73(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL75(Y,A) BOOST_PREPROCESSOR_MUL74(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL76(Y,A) BOOST_PREPROCESSOR_MUL75(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL77(Y,A) BOOST_PREPROCESSOR_MUL76(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL78(Y,A) BOOST_PREPROCESSOR_MUL77(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL79(Y,A) BOOST_PREPROCESSOR_MUL78(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL80(Y,A) BOOST_PREPROCESSOR_MUL79(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL81(Y,A) BOOST_PREPROCESSOR_MUL80(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL82(Y,A) BOOST_PREPROCESSOR_MUL81(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL83(Y,A) BOOST_PREPROCESSOR_MUL82(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL84(Y,A) BOOST_PREPROCESSOR_MUL83(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL85(Y,A) BOOST_PREPROCESSOR_MUL84(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL86(Y,A) BOOST_PREPROCESSOR_MUL85(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL87(Y,A) BOOST_PREPROCESSOR_MUL86(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL88(Y,A) BOOST_PREPROCESSOR_MUL87(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL89(Y,A) BOOST_PREPROCESSOR_MUL88(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL90(Y,A) BOOST_PREPROCESSOR_MUL89(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL91(Y,A) BOOST_PREPROCESSOR_MUL90(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL92(Y,A) BOOST_PREPROCESSOR_MUL91(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL93(Y,A) BOOST_PREPROCESSOR_MUL92(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL94(Y,A) BOOST_PREPROCESSOR_MUL93(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL95(Y,A) BOOST_PREPROCESSOR_MUL94(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL96(Y,A) BOOST_PREPROCESSOR_MUL95(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL97(Y,A) BOOST_PREPROCESSOR_MUL96(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL98(Y,A) BOOST_PREPROCESSOR_MUL97(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL99(Y,A) BOOST_PREPROCESSOR_MUL98(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL100(Y,A) BOOST_PREPROCESSOR_MUL99(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL101(Y,A) BOOST_PREPROCESSOR_MUL100(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL102(Y,A) BOOST_PREPROCESSOR_MUL101(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL103(Y,A) BOOST_PREPROCESSOR_MUL102(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL104(Y,A) BOOST_PREPROCESSOR_MUL103(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL105(Y,A) BOOST_PREPROCESSOR_MUL104(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL106(Y,A) BOOST_PREPROCESSOR_MUL105(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL107(Y,A) BOOST_PREPROCESSOR_MUL106(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL108(Y,A) BOOST_PREPROCESSOR_MUL107(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL109(Y,A) BOOST_PREPROCESSOR_MUL108(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL110(Y,A) BOOST_PREPROCESSOR_MUL109(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL111(Y,A) BOOST_PREPROCESSOR_MUL110(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL112(Y,A) BOOST_PREPROCESSOR_MUL111(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL113(Y,A) BOOST_PREPROCESSOR_MUL112(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL114(Y,A) BOOST_PREPROCESSOR_MUL113(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL115(Y,A) BOOST_PREPROCESSOR_MUL114(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL116(Y,A) BOOST_PREPROCESSOR_MUL115(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL117(Y,A) BOOST_PREPROCESSOR_MUL116(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL118(Y,A) BOOST_PREPROCESSOR_MUL117(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL119(Y,A) BOOST_PREPROCESSOR_MUL118(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL120(Y,A) BOOST_PREPROCESSOR_MUL119(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL121(Y,A) BOOST_PREPROCESSOR_MUL120(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL122(Y,A) BOOST_PREPROCESSOR_MUL121(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL123(Y,A) BOOST_PREPROCESSOR_MUL122(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL124(Y,A) BOOST_PREPROCESSOR_MUL123(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL125(Y,A) BOOST_PREPROCESSOR_MUL124(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL126(Y,A) BOOST_PREPROCESSOR_MUL125(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL127(Y,A) BOOST_PREPROCESSOR_MUL126(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL128(Y,A) BOOST_PREPROCESSOR_MUL127(Y,BOOST_PREPROCESSOR_ADD(Y,A))
#define BOOST_PREPROCESSOR_MUL_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_MUL_C,BOOST_PREPROCESSOR_MUL_F,(0,X,Y)))
#define BOOST_PREPROCESSOR_MUL_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)
#define BOOST_PREPROCESSOR_MUL_F(I,P) (BOOST_PREPROCESSOR_ADD_I(I,BOOST_PREPROCESSOR_TUPLE_ELEM(3,0,P),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P)),BOOST_PREPROCESSOR_TUPLE_ELEM(3,1,P),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(3,2,P)))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif

View File

@ -20,140 +20,19 @@
#ifndef BOOST_PREPROCESSOR_DEC_HPP
# include <boost/preprocessor/dec.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
# include <boost/preprocessor/tuple.hpp>
#endif
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
# include <boost/preprocessor/while.hpp>
#endif
//! Expands to the difference of X and Y.
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PREPROCESSOR_SUB_DELAY(X,Y)
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PREPROCESSOR_SUB_I(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PREPROCESSOR_SUB_DELAY(X,Y) BOOST_PREPROCESSOR_SUB##Y(X)
#define BOOST_PREPROCESSOR_SUB0(Y) Y
#define BOOST_PREPROCESSOR_SUB1(Y) BOOST_PREPROCESSOR_DEC(Y)
#define BOOST_PREPROCESSOR_SUB2(Y) BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB3(Y) BOOST_PREPROCESSOR_SUB2(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB4(Y) BOOST_PREPROCESSOR_SUB3(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB5(Y) BOOST_PREPROCESSOR_SUB4(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB6(Y) BOOST_PREPROCESSOR_SUB5(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB7(Y) BOOST_PREPROCESSOR_SUB6(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB8(Y) BOOST_PREPROCESSOR_SUB7(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB9(Y) BOOST_PREPROCESSOR_SUB8(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB10(Y) BOOST_PREPROCESSOR_SUB9(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB11(Y) BOOST_PREPROCESSOR_SUB10(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB12(Y) BOOST_PREPROCESSOR_SUB11(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB13(Y) BOOST_PREPROCESSOR_SUB12(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB14(Y) BOOST_PREPROCESSOR_SUB13(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB15(Y) BOOST_PREPROCESSOR_SUB14(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB16(Y) BOOST_PREPROCESSOR_SUB15(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB17(Y) BOOST_PREPROCESSOR_SUB16(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB18(Y) BOOST_PREPROCESSOR_SUB17(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB19(Y) BOOST_PREPROCESSOR_SUB18(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB20(Y) BOOST_PREPROCESSOR_SUB19(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB21(Y) BOOST_PREPROCESSOR_SUB20(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB22(Y) BOOST_PREPROCESSOR_SUB21(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB23(Y) BOOST_PREPROCESSOR_SUB22(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB24(Y) BOOST_PREPROCESSOR_SUB23(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB25(Y) BOOST_PREPROCESSOR_SUB24(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB26(Y) BOOST_PREPROCESSOR_SUB25(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB27(Y) BOOST_PREPROCESSOR_SUB26(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB28(Y) BOOST_PREPROCESSOR_SUB27(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB29(Y) BOOST_PREPROCESSOR_SUB28(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB30(Y) BOOST_PREPROCESSOR_SUB29(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB31(Y) BOOST_PREPROCESSOR_SUB30(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB32(Y) BOOST_PREPROCESSOR_SUB31(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB33(Y) BOOST_PREPROCESSOR_SUB32(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB34(Y) BOOST_PREPROCESSOR_SUB33(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB35(Y) BOOST_PREPROCESSOR_SUB34(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB36(Y) BOOST_PREPROCESSOR_SUB35(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB37(Y) BOOST_PREPROCESSOR_SUB36(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB38(Y) BOOST_PREPROCESSOR_SUB37(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB39(Y) BOOST_PREPROCESSOR_SUB38(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB40(Y) BOOST_PREPROCESSOR_SUB39(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB41(Y) BOOST_PREPROCESSOR_SUB40(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB42(Y) BOOST_PREPROCESSOR_SUB41(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB43(Y) BOOST_PREPROCESSOR_SUB42(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB44(Y) BOOST_PREPROCESSOR_SUB43(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB45(Y) BOOST_PREPROCESSOR_SUB44(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB46(Y) BOOST_PREPROCESSOR_SUB45(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB47(Y) BOOST_PREPROCESSOR_SUB46(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB48(Y) BOOST_PREPROCESSOR_SUB47(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB49(Y) BOOST_PREPROCESSOR_SUB48(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB50(Y) BOOST_PREPROCESSOR_SUB49(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB51(Y) BOOST_PREPROCESSOR_SUB50(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB52(Y) BOOST_PREPROCESSOR_SUB51(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB53(Y) BOOST_PREPROCESSOR_SUB52(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB54(Y) BOOST_PREPROCESSOR_SUB53(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB55(Y) BOOST_PREPROCESSOR_SUB54(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB56(Y) BOOST_PREPROCESSOR_SUB55(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB57(Y) BOOST_PREPROCESSOR_SUB56(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB58(Y) BOOST_PREPROCESSOR_SUB57(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB59(Y) BOOST_PREPROCESSOR_SUB58(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB60(Y) BOOST_PREPROCESSOR_SUB59(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB61(Y) BOOST_PREPROCESSOR_SUB60(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB62(Y) BOOST_PREPROCESSOR_SUB61(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB63(Y) BOOST_PREPROCESSOR_SUB62(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB64(Y) BOOST_PREPROCESSOR_SUB63(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB65(Y) BOOST_PREPROCESSOR_SUB64(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB66(Y) BOOST_PREPROCESSOR_SUB65(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB67(Y) BOOST_PREPROCESSOR_SUB66(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB68(Y) BOOST_PREPROCESSOR_SUB67(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB69(Y) BOOST_PREPROCESSOR_SUB68(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB70(Y) BOOST_PREPROCESSOR_SUB69(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB71(Y) BOOST_PREPROCESSOR_SUB70(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB72(Y) BOOST_PREPROCESSOR_SUB71(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB73(Y) BOOST_PREPROCESSOR_SUB72(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB74(Y) BOOST_PREPROCESSOR_SUB73(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB75(Y) BOOST_PREPROCESSOR_SUB74(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB76(Y) BOOST_PREPROCESSOR_SUB75(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB77(Y) BOOST_PREPROCESSOR_SUB76(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB78(Y) BOOST_PREPROCESSOR_SUB77(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB79(Y) BOOST_PREPROCESSOR_SUB78(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB80(Y) BOOST_PREPROCESSOR_SUB79(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB81(Y) BOOST_PREPROCESSOR_SUB80(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB82(Y) BOOST_PREPROCESSOR_SUB81(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB83(Y) BOOST_PREPROCESSOR_SUB82(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB84(Y) BOOST_PREPROCESSOR_SUB83(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB85(Y) BOOST_PREPROCESSOR_SUB84(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB86(Y) BOOST_PREPROCESSOR_SUB85(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB87(Y) BOOST_PREPROCESSOR_SUB86(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB88(Y) BOOST_PREPROCESSOR_SUB87(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB89(Y) BOOST_PREPROCESSOR_SUB88(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB90(Y) BOOST_PREPROCESSOR_SUB89(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB91(Y) BOOST_PREPROCESSOR_SUB90(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB92(Y) BOOST_PREPROCESSOR_SUB91(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB93(Y) BOOST_PREPROCESSOR_SUB92(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB94(Y) BOOST_PREPROCESSOR_SUB93(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB95(Y) BOOST_PREPROCESSOR_SUB94(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB96(Y) BOOST_PREPROCESSOR_SUB95(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB97(Y) BOOST_PREPROCESSOR_SUB96(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB98(Y) BOOST_PREPROCESSOR_SUB97(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB99(Y) BOOST_PREPROCESSOR_SUB98(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB100(Y) BOOST_PREPROCESSOR_SUB99(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB101(Y) BOOST_PREPROCESSOR_SUB100(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB102(Y) BOOST_PREPROCESSOR_SUB101(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB103(Y) BOOST_PREPROCESSOR_SUB102(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB104(Y) BOOST_PREPROCESSOR_SUB103(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB105(Y) BOOST_PREPROCESSOR_SUB104(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB106(Y) BOOST_PREPROCESSOR_SUB105(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB107(Y) BOOST_PREPROCESSOR_SUB106(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB108(Y) BOOST_PREPROCESSOR_SUB107(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB109(Y) BOOST_PREPROCESSOR_SUB108(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB110(Y) BOOST_PREPROCESSOR_SUB109(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB111(Y) BOOST_PREPROCESSOR_SUB110(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB112(Y) BOOST_PREPROCESSOR_SUB111(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB113(Y) BOOST_PREPROCESSOR_SUB112(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB114(Y) BOOST_PREPROCESSOR_SUB113(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB115(Y) BOOST_PREPROCESSOR_SUB114(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB116(Y) BOOST_PREPROCESSOR_SUB115(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB117(Y) BOOST_PREPROCESSOR_SUB116(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB118(Y) BOOST_PREPROCESSOR_SUB117(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB119(Y) BOOST_PREPROCESSOR_SUB118(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB120(Y) BOOST_PREPROCESSOR_SUB119(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB121(Y) BOOST_PREPROCESSOR_SUB120(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB122(Y) BOOST_PREPROCESSOR_SUB121(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB123(Y) BOOST_PREPROCESSOR_SUB122(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB124(Y) BOOST_PREPROCESSOR_SUB123(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB125(Y) BOOST_PREPROCESSOR_SUB124(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB126(Y) BOOST_PREPROCESSOR_SUB125(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB127(Y) BOOST_PREPROCESSOR_SUB126(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB128(Y) BOOST_PREPROCESSOR_SUB127(BOOST_PREPROCESSOR_DEC(Y))
#define BOOST_PREPROCESSOR_SUB_I(I,X,Y) BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,BOOST_PREPROCESSOR_WHILE##I(BOOST_PREPROCESSOR_SUB_C,BOOST_PREPROCESSOR_SUB_F,(X,Y)))
#define BOOST_PREPROCESSOR_SUB_C(I,P) BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)
#define BOOST_PREPROCESSOR_SUB_F(I,P) (BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,0,P)),BOOST_PREPROCESSOR_DEC(BOOST_PREPROCESSOR_TUPLE_ELEM(2,1,P)))
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
#endif