Simplified multiplication

This commit is contained in:
Edward Diener
2020-06-10 11:05:43 -04:00
parent e8bbb16f57
commit 43f02f9405
4 changed files with 855 additions and 11 deletions

View File

@ -0,0 +1,27 @@
# /* **************************************************************************
# * *
# * (C) Copyright Edward Diener 2020. *
# * Distributed under the Boost Software License, Version 1.0. (See *
# * accompanying file LICENSE_1_0.txt or copy at *
# * http://www.boost.org/LICENSE_1_0.txt) *
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_HPP
# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_HPP
#
# /* BOOST_PP_DETAIL_IS_1_NUMBER */
#
# include <boost/preprocessor/config/limits.hpp>
#
# if BOOST_PP_LIMIT_MAG == 256
# include <boost/preprocessor/arithmetic/detail/limits/is_1_number_256.hpp>
# elif BOOST_PP_LIMIT_MAG == 512
# include <boost/preprocessor/arithmetic/detail/limits/is_1_number_512.hpp>
# else
# error Incorrect value for the BOOST_PP_LIMIT_MAG limit
# endif
#
# endif

View File

@ -0,0 +1,284 @@
# /* **************************************************************************
# * *
# * (C) Copyright Edward Diener 2020. *
# * Distributed under the Boost Software License, Version 1.0. (See *
# * accompanying file LICENSE_1_0.txt or copy at *
# * http://www.boost.org/LICENSE_1_0.txt) *
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_256_HPP
# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_256_HPP
#
# include <boost/preprocessor/config/config.hpp>
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_DETAIL_IS_1_NUMBER(x) BOOST_PP_DETAIL_IS_1_NUMBER_I(x)
# else
# define BOOST_PP_DETAIL_IS_1_NUMBER(x) BOOST_PP_DETAIL_IS_1_NUMBER_OO((x))
# define BOOST_PP_DETAIL_IS_1_NUMBER_OO(par) BOOST_PP_DETAIL_IS_1_NUMBER_I ## par
# endif
#
# define BOOST_PP_DETAIL_IS_1_NUMBER_I(x) BOOST_PP_DETAIL_IS_1_NUMBER_ ## x
#
# define BOOST_PP_DETAIL_IS_1_NUMBER_0 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_1 1
# define BOOST_PP_DETAIL_IS_1_NUMBER_2 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_3 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_4 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_5 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_6 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_7 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_8 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_9 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_10 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_11 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_12 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_13 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_14 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_15 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_16 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_17 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_18 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_19 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_20 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_21 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_22 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_23 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_24 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_25 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_26 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_27 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_28 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_29 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_30 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_31 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_32 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_33 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_34 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_35 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_36 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_37 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_38 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_39 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_40 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_41 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_42 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_43 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_44 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_45 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_46 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_47 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_48 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_49 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_50 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_51 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_52 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_53 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_54 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_55 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_56 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_57 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_58 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_59 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_60 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_61 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_62 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_63 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_64 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_65 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_66 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_67 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_68 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_69 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_70 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_71 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_72 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_73 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_74 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_75 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_76 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_77 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_78 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_79 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_80 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_81 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_82 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_83 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_84 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_85 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_86 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_87 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_88 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_89 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_90 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_91 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_92 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_93 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_94 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_95 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_96 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_97 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_98 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_99 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_100 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_101 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_102 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_103 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_104 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_105 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_106 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_107 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_108 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_109 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_110 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_111 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_112 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_113 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_114 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_115 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_116 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_117 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_118 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_119 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_120 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_121 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_122 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_123 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_124 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_125 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_126 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_127 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_128 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_129 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_130 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_131 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_132 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_133 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_134 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_135 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_136 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_137 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_138 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_139 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_140 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_141 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_142 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_143 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_144 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_145 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_146 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_147 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_148 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_149 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_150 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_151 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_152 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_153 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_154 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_155 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_156 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_157 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_158 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_159 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_160 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_161 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_162 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_163 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_164 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_165 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_166 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_167 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_168 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_169 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_170 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_171 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_172 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_173 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_174 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_175 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_176 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_177 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_178 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_179 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_180 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_181 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_182 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_183 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_184 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_185 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_186 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_187 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_188 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_189 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_190 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_191 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_192 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_193 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_194 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_195 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_196 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_197 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_198 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_199 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_200 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_201 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_202 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_203 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_204 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_205 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_206 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_207 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_208 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_209 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_210 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_211 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_212 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_213 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_214 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_215 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_216 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_217 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_218 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_219 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_220 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_221 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_222 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_223 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_224 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_225 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_226 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_227 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_228 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_229 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_230 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_231 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_232 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_233 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_234 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_235 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_236 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_237 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_238 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_239 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_240 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_241 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_242 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_243 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_244 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_245 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_246 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_247 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_248 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_249 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_250 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_251 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_252 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_253 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_254 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_255 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_256 0
#
# endif

View File

@ -0,0 +1,540 @@
# /* **************************************************************************
# * *
# * (C) Copyright Edward Diener 2020. *
# * Distributed under the Boost Software License, Version 1.0. (See *
# * accompanying file LICENSE_1_0.txt or copy at *
# * http://www.boost.org/LICENSE_1_0.txt) *
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_512_HPP
# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_1_NUMBER_512_HPP
#
# include <boost/preprocessor/config/config.hpp>
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_DETAIL_IS_1_NUMBER(x) BOOST_PP_DETAIL_IS_1_NUMBER_I(x)
# else
# define BOOST_PP_DETAIL_IS_1_NUMBER(x) BOOST_PP_DETAIL_IS_1_NUMBER_OO((x))
# define BOOST_PP_DETAIL_IS_1_NUMBER_OO(par) BOOST_PP_DETAIL_IS_1_NUMBER_I ## par
# endif
#
# define BOOST_PP_DETAIL_IS_1_NUMBER_I(x) BOOST_PP_DETAIL_IS_1_NUMBER_ ## x
#
# define BOOST_PP_DETAIL_IS_1_NUMBER_0 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_1 1
# define BOOST_PP_DETAIL_IS_1_NUMBER_2 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_3 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_4 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_5 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_6 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_7 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_8 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_9 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_10 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_11 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_12 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_13 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_14 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_15 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_16 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_17 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_18 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_19 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_20 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_21 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_22 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_23 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_24 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_25 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_26 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_27 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_28 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_29 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_30 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_31 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_32 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_33 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_34 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_35 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_36 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_37 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_38 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_39 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_40 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_41 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_42 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_43 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_44 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_45 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_46 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_47 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_48 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_49 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_50 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_51 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_52 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_53 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_54 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_55 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_56 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_57 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_58 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_59 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_60 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_61 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_62 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_63 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_64 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_65 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_66 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_67 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_68 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_69 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_70 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_71 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_72 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_73 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_74 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_75 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_76 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_77 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_78 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_79 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_80 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_81 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_82 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_83 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_84 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_85 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_86 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_87 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_88 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_89 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_90 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_91 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_92 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_93 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_94 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_95 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_96 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_97 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_98 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_99 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_100 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_101 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_102 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_103 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_104 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_105 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_106 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_107 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_108 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_109 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_110 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_111 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_112 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_113 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_114 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_115 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_116 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_117 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_118 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_119 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_120 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_121 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_122 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_123 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_124 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_125 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_126 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_127 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_128 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_129 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_130 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_131 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_132 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_133 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_134 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_135 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_136 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_137 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_138 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_139 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_140 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_141 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_142 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_143 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_144 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_145 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_146 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_147 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_148 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_149 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_150 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_151 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_152 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_153 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_154 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_155 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_156 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_157 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_158 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_159 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_160 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_161 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_162 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_163 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_164 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_165 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_166 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_167 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_168 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_169 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_170 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_171 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_172 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_173 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_174 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_175 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_176 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_177 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_178 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_179 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_180 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_181 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_182 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_183 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_184 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_185 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_186 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_187 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_188 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_189 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_190 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_191 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_192 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_193 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_194 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_195 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_196 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_197 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_198 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_199 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_200 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_201 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_202 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_203 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_204 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_205 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_206 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_207 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_208 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_209 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_210 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_211 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_212 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_213 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_214 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_215 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_216 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_217 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_218 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_219 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_220 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_221 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_222 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_223 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_224 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_225 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_226 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_227 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_228 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_229 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_230 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_231 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_232 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_233 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_234 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_235 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_236 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_237 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_238 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_239 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_240 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_241 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_242 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_243 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_244 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_245 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_246 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_247 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_248 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_249 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_250 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_251 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_252 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_253 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_254 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_255 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_256 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_257 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_258 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_259 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_260 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_261 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_262 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_263 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_264 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_265 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_266 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_267 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_268 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_269 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_270 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_271 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_272 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_273 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_274 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_275 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_276 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_277 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_278 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_279 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_280 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_281 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_282 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_283 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_284 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_285 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_286 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_287 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_288 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_289 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_290 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_291 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_292 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_293 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_294 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_295 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_296 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_297 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_298 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_299 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_300 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_301 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_302 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_303 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_304 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_305 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_306 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_307 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_308 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_309 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_310 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_311 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_312 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_313 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_314 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_315 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_316 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_317 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_318 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_319 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_320 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_321 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_322 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_323 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_324 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_325 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_326 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_327 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_328 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_329 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_330 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_331 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_332 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_333 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_334 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_335 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_336 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_337 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_338 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_339 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_340 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_341 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_342 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_343 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_344 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_345 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_346 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_347 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_348 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_349 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_350 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_351 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_352 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_353 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_354 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_355 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_356 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_357 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_358 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_359 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_360 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_361 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_362 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_363 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_364 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_365 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_366 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_367 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_368 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_369 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_370 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_371 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_372 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_373 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_374 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_375 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_376 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_377 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_378 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_379 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_380 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_381 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_382 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_383 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_384 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_385 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_386 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_387 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_388 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_389 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_390 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_391 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_392 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_393 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_394 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_395 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_396 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_397 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_398 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_399 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_400 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_401 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_402 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_403 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_404 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_405 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_406 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_407 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_408 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_409 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_410 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_411 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_412 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_413 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_414 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_415 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_416 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_417 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_418 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_419 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_420 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_421 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_422 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_423 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_424 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_425 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_426 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_427 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_428 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_429 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_430 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_431 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_432 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_433 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_434 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_435 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_436 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_437 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_438 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_439 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_440 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_441 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_442 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_443 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_444 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_445 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_446 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_447 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_448 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_449 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_450 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_451 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_452 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_453 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_454 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_455 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_456 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_457 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_458 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_459 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_460 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_461 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_462 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_463 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_464 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_465 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_466 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_467 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_468 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_469 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_470 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_471 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_472 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_473 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_474 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_475 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_476 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_477 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_478 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_479 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_480 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_481 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_482 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_483 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_484 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_485 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_486 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_487 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_488 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_489 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_490 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_491 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_492 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_493 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_494 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_495 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_496 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_497 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_498 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_499 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_500 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_501 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_502 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_503 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_504 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_505 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_506 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_507 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_508 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_509 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_510 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_511 0
# define BOOST_PP_DETAIL_IS_1_NUMBER_512 0
#
# endif

View File

@ -21,7 +21,6 @@
# include <boost/preprocessor/control/while.hpp> # include <boost/preprocessor/control/while.hpp>
# include <boost/preprocessor/facilities/identity.hpp> # include <boost/preprocessor/facilities/identity.hpp>
# include <boost/preprocessor/logical/bitand.hpp> # include <boost/preprocessor/logical/bitand.hpp>
# include <boost/preprocessor/logical/bitor.hpp>
# include <boost/preprocessor/logical/bool.hpp> # include <boost/preprocessor/logical/bool.hpp>
# include <boost/preprocessor/logical/compl.hpp> # include <boost/preprocessor/logical/compl.hpp>
# include <boost/preprocessor/tuple/elem.hpp> # include <boost/preprocessor/tuple/elem.hpp>
@ -32,12 +31,9 @@
# #
# /* BOOST_PP_MUL */ # /* BOOST_PP_MUL */
# #
# define BOOST_PP_MUL(x, y) \ # define BOOST_PP_MUL(x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x),BOOST_PP_IDENTITY_N(x,2),BOOST_PP_MUL_CHECK_1X)(x,y)
BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(y)),BOOST_PP_IDENTITY_N(0,2),BOOST_PP_MUL_CHECK_1X)(x,y)
# #
# define BOOST_PP_MUL_CHECK_1X(x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(x),BOOST_PP_IDENTITY_N(y,2),BOOST_PP_MUL_CHECK_1Y)(x,y) # define BOOST_PP_MUL_CHECK_1X(x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(x),BOOST_PP_IDENTITY_N(y,2),BOOST_PP_MUL_DO)(x,y)
#
# define BOOST_PP_MUL_CHECK_1Y(x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(y),BOOST_PP_IDENTITY_N(x,2),BOOST_PP_MUL_DO)(x,y)
# #
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_MUL_DO(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) # define BOOST_PP_MUL_DO(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
@ -59,12 +55,9 @@
# #
# /* BOOST_PP_MUL_D */ # /* BOOST_PP_MUL_D */
# #
# define BOOST_PP_MUL_D(d, x, y) \ # define BOOST_PP_MUL_D(d, x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x),BOOST_PP_IDENTITY_N(x,3),BOOST_PP_MUL_CHECK_1X_D)(d,x,y)
BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(y)),BOOST_PP_IDENTITY_N(0,3),BOOST_PP_MUL_CHECK_1X_D)(d,x,y)
# #
# define BOOST_PP_MUL_CHECK_1X_D(d, x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(x),BOOST_PP_IDENTITY_N(y,3),BOOST_PP_MUL_CHECK_1Y)(d,x,y) # define BOOST_PP_MUL_CHECK_1X_D(d, x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(x),BOOST_PP_IDENTITY_N(y,3),BOOST_PP_MUL_DO_D)(d,x,y)
#
# define BOOST_PP_MUL_CHECK_1Y_D(d, x, y) BOOST_PP_IIF(BOOST_PP_DETAIL_IS_1_NUMBER(y),BOOST_PP_IDENTITY_N(x,3),BOOST_PP_MUL_DO_D)(d,x,y)
# #
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_MUL_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) # define BOOST_PP_MUL_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))