1 # /* Copyright (C) 2001 2 # * Housemarque Oy 3 # * http://www.housemarque.com 4 # * 5 # * Distributed under the Boost Software License, Version 1.0. (See 6 # * accompanying file LICENSE_1_0.txt or copy at 7 # * http://www.boost.org/LICENSE_1_0.txt) 8 # */ 9 # 10 # /* Revised by Paul Mensonides (2002) */ 11 # /* Revised by Edward Diener (2020) */ 12 # 13 # /* See http://www.boost.org for most recent version. */ 14 # 15 # ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP 16 # define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP 17 # 18 # include <boost/preprocessor/config/config.hpp> 19 # 20 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() 21 # 22 # /* BOOST_PP_DEC */ 23 # 24 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() 25 # define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) 26 # else 27 # define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) 28 # define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par 29 # endif 30 # 31 # define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x 32 # 33 # define BOOST_PP_DEC_0 0 34 # define BOOST_PP_DEC_1 0 35 # define BOOST_PP_DEC_2 1 36 # define BOOST_PP_DEC_3 2 37 # define BOOST_PP_DEC_4 3 38 # define BOOST_PP_DEC_5 4 39 # define BOOST_PP_DEC_6 5 40 # define BOOST_PP_DEC_7 6 41 # define BOOST_PP_DEC_8 7 42 # define BOOST_PP_DEC_9 8 43 # define BOOST_PP_DEC_10 9 44 # define BOOST_PP_DEC_11 10 45 # define BOOST_PP_DEC_12 11 46 # define BOOST_PP_DEC_13 12 47 # define BOOST_PP_DEC_14 13 48 # define BOOST_PP_DEC_15 14 49 # define BOOST_PP_DEC_16 15 50 # define BOOST_PP_DEC_17 16 51 # define BOOST_PP_DEC_18 17 52 # define BOOST_PP_DEC_19 18 53 # define BOOST_PP_DEC_20 19 54 # define BOOST_PP_DEC_21 20 55 # define BOOST_PP_DEC_22 21 56 # define BOOST_PP_DEC_23 22 57 # define BOOST_PP_DEC_24 23 58 # define BOOST_PP_DEC_25 24 59 # define BOOST_PP_DEC_26 25 60 # define BOOST_PP_DEC_27 26 61 # define BOOST_PP_DEC_28 27 62 # define BOOST_PP_DEC_29 28 63 # define BOOST_PP_DEC_30 29 64 # define BOOST_PP_DEC_31 30 65 # define BOOST_PP_DEC_32 31 66 # define BOOST_PP_DEC_33 32 67 # define BOOST_PP_DEC_34 33 68 # define BOOST_PP_DEC_35 34 69 # define BOOST_PP_DEC_36 35 70 # define BOOST_PP_DEC_37 36 71 # define BOOST_PP_DEC_38 37 72 # define BOOST_PP_DEC_39 38 73 # define BOOST_PP_DEC_40 39 74 # define BOOST_PP_DEC_41 40 75 # define BOOST_PP_DEC_42 41 76 # define BOOST_PP_DEC_43 42 77 # define BOOST_PP_DEC_44 43 78 # define BOOST_PP_DEC_45 44 79 # define BOOST_PP_DEC_46 45 80 # define BOOST_PP_DEC_47 46 81 # define BOOST_PP_DEC_48 47 82 # define BOOST_PP_DEC_49 48 83 # define BOOST_PP_DEC_50 49 84 # define BOOST_PP_DEC_51 50 85 # define BOOST_PP_DEC_52 51 86 # define BOOST_PP_DEC_53 52 87 # define BOOST_PP_DEC_54 53 88 # define BOOST_PP_DEC_55 54 89 # define BOOST_PP_DEC_56 55 90 # define BOOST_PP_DEC_57 56 91 # define BOOST_PP_DEC_58 57 92 # define BOOST_PP_DEC_59 58 93 # define BOOST_PP_DEC_60 59 94 # define BOOST_PP_DEC_61 60 95 # define BOOST_PP_DEC_62 61 96 # define BOOST_PP_DEC_63 62 97 # define BOOST_PP_DEC_64 63 98 # define BOOST_PP_DEC_65 64 99 # define BOOST_PP_DEC_66 65 100 # define BOOST_PP_DEC_67 66 101 # define BOOST_PP_DEC_68 67 102 # define BOOST_PP_DEC_69 68 103 # define BOOST_PP_DEC_70 69 104 # define BOOST_PP_DEC_71 70 105 # define BOOST_PP_DEC_72 71 106 # define BOOST_PP_DEC_73 72 107 # define BOOST_PP_DEC_74 73 108 # define BOOST_PP_DEC_75 74 109 # define BOOST_PP_DEC_76 75 110 # define BOOST_PP_DEC_77 76 111 # define BOOST_PP_DEC_78 77 112 # define BOOST_PP_DEC_79 78 113 # define BOOST_PP_DEC_80 79 114 # define BOOST_PP_DEC_81 80 115 # define BOOST_PP_DEC_82 81 116 # define BOOST_PP_DEC_83 82 117 # define BOOST_PP_DEC_84 83 118 # define BOOST_PP_DEC_85 84 119 # define BOOST_PP_DEC_86 85 120 # define BOOST_PP_DEC_87 86 121 # define BOOST_PP_DEC_88 87 122 # define BOOST_PP_DEC_89 88 123 # define BOOST_PP_DEC_90 89 124 # define BOOST_PP_DEC_91 90 125 # define BOOST_PP_DEC_92 91 126 # define BOOST_PP_DEC_93 92 127 # define BOOST_PP_DEC_94 93 128 # define BOOST_PP_DEC_95 94 129 # define BOOST_PP_DEC_96 95 130 # define BOOST_PP_DEC_97 96 131 # define BOOST_PP_DEC_98 97 132 # define BOOST_PP_DEC_99 98 133 # define BOOST_PP_DEC_100 99 134 # define BOOST_PP_DEC_101 100 135 # define BOOST_PP_DEC_102 101 136 # define BOOST_PP_DEC_103 102 137 # define BOOST_PP_DEC_104 103 138 # define BOOST_PP_DEC_105 104 139 # define BOOST_PP_DEC_106 105 140 # define BOOST_PP_DEC_107 106 141 # define BOOST_PP_DEC_108 107 142 # define BOOST_PP_DEC_109 108 143 # define BOOST_PP_DEC_110 109 144 # define BOOST_PP_DEC_111 110 145 # define BOOST_PP_DEC_112 111 146 # define BOOST_PP_DEC_113 112 147 # define BOOST_PP_DEC_114 113 148 # define BOOST_PP_DEC_115 114 149 # define BOOST_PP_DEC_116 115 150 # define BOOST_PP_DEC_117 116 151 # define BOOST_PP_DEC_118 117 152 # define BOOST_PP_DEC_119 118 153 # define BOOST_PP_DEC_120 119 154 # define BOOST_PP_DEC_121 120 155 # define BOOST_PP_DEC_122 121 156 # define BOOST_PP_DEC_123 122 157 # define BOOST_PP_DEC_124 123 158 # define BOOST_PP_DEC_125 124 159 # define BOOST_PP_DEC_126 125 160 # define BOOST_PP_DEC_127 126 161 # define BOOST_PP_DEC_128 127 162 # define BOOST_PP_DEC_129 128 163 # define BOOST_PP_DEC_130 129 164 # define BOOST_PP_DEC_131 130 165 # define BOOST_PP_DEC_132 131 166 # define BOOST_PP_DEC_133 132 167 # define BOOST_PP_DEC_134 133 168 # define BOOST_PP_DEC_135 134 169 # define BOOST_PP_DEC_136 135 170 # define BOOST_PP_DEC_137 136 171 # define BOOST_PP_DEC_138 137 172 # define BOOST_PP_DEC_139 138 173 # define BOOST_PP_DEC_140 139 174 # define BOOST_PP_DEC_141 140 175 # define BOOST_PP_DEC_142 141 176 # define BOOST_PP_DEC_143 142 177 # define BOOST_PP_DEC_144 143 178 # define BOOST_PP_DEC_145 144 179 # define BOOST_PP_DEC_146 145 180 # define BOOST_PP_DEC_147 146 181 # define BOOST_PP_DEC_148 147 182 # define BOOST_PP_DEC_149 148 183 # define BOOST_PP_DEC_150 149 184 # define BOOST_PP_DEC_151 150 185 # define BOOST_PP_DEC_152 151 186 # define BOOST_PP_DEC_153 152 187 # define BOOST_PP_DEC_154 153 188 # define BOOST_PP_DEC_155 154 189 # define BOOST_PP_DEC_156 155 190 # define BOOST_PP_DEC_157 156 191 # define BOOST_PP_DEC_158 157 192 # define BOOST_PP_DEC_159 158 193 # define BOOST_PP_DEC_160 159 194 # define BOOST_PP_DEC_161 160 195 # define BOOST_PP_DEC_162 161 196 # define BOOST_PP_DEC_163 162 197 # define BOOST_PP_DEC_164 163 198 # define BOOST_PP_DEC_165 164 199 # define BOOST_PP_DEC_166 165 200 # define BOOST_PP_DEC_167 166 201 # define BOOST_PP_DEC_168 167 202 # define BOOST_PP_DEC_169 168 203 # define BOOST_PP_DEC_170 169 204 # define BOOST_PP_DEC_171 170 205 # define BOOST_PP_DEC_172 171 206 # define BOOST_PP_DEC_173 172 207 # define BOOST_PP_DEC_174 173 208 # define BOOST_PP_DEC_175 174 209 # define BOOST_PP_DEC_176 175 210 # define BOOST_PP_DEC_177 176 211 # define BOOST_PP_DEC_178 177 212 # define BOOST_PP_DEC_179 178 213 # define BOOST_PP_DEC_180 179 214 # define BOOST_PP_DEC_181 180 215 # define BOOST_PP_DEC_182 181 216 # define BOOST_PP_DEC_183 182 217 # define BOOST_PP_DEC_184 183 218 # define BOOST_PP_DEC_185 184 219 # define BOOST_PP_DEC_186 185 220 # define BOOST_PP_DEC_187 186 221 # define BOOST_PP_DEC_188 187 222 # define BOOST_PP_DEC_189 188 223 # define BOOST_PP_DEC_190 189 224 # define BOOST_PP_DEC_191 190 225 # define BOOST_PP_DEC_192 191 226 # define BOOST_PP_DEC_193 192 227 # define BOOST_PP_DEC_194 193 228 # define BOOST_PP_DEC_195 194 229 # define BOOST_PP_DEC_196 195 230 # define BOOST_PP_DEC_197 196 231 # define BOOST_PP_DEC_198 197 232 # define BOOST_PP_DEC_199 198 233 # define BOOST_PP_DEC_200 199 234 # define BOOST_PP_DEC_201 200 235 # define BOOST_PP_DEC_202 201 236 # define BOOST_PP_DEC_203 202 237 # define BOOST_PP_DEC_204 203 238 # define BOOST_PP_DEC_205 204 239 # define BOOST_PP_DEC_206 205 240 # define BOOST_PP_DEC_207 206 241 # define BOOST_PP_DEC_208 207 242 # define BOOST_PP_DEC_209 208 243 # define BOOST_PP_DEC_210 209 244 # define BOOST_PP_DEC_211 210 245 # define BOOST_PP_DEC_212 211 246 # define BOOST_PP_DEC_213 212 247 # define BOOST_PP_DEC_214 213 248 # define BOOST_PP_DEC_215 214 249 # define BOOST_PP_DEC_216 215 250 # define BOOST_PP_DEC_217 216 251 # define BOOST_PP_DEC_218 217 252 # define BOOST_PP_DEC_219 218 253 # define BOOST_PP_DEC_220 219 254 # define BOOST_PP_DEC_221 220 255 # define BOOST_PP_DEC_222 221 256 # define BOOST_PP_DEC_223 222 257 # define BOOST_PP_DEC_224 223 258 # define BOOST_PP_DEC_225 224 259 # define BOOST_PP_DEC_226 225 260 # define BOOST_PP_DEC_227 226 261 # define BOOST_PP_DEC_228 227 262 # define BOOST_PP_DEC_229 228 263 # define BOOST_PP_DEC_230 229 264 # define BOOST_PP_DEC_231 230 265 # define BOOST_PP_DEC_232 231 266 # define BOOST_PP_DEC_233 232 267 # define BOOST_PP_DEC_234 233 268 # define BOOST_PP_DEC_235 234 269 # define BOOST_PP_DEC_236 235 270 # define BOOST_PP_DEC_237 236 271 # define BOOST_PP_DEC_238 237 272 # define BOOST_PP_DEC_239 238 273 # define BOOST_PP_DEC_240 239 274 # define BOOST_PP_DEC_241 240 275 # define BOOST_PP_DEC_242 241 276 # define BOOST_PP_DEC_243 242 277 # define BOOST_PP_DEC_244 243 278 # define BOOST_PP_DEC_245 244 279 # define BOOST_PP_DEC_246 245 280 # define BOOST_PP_DEC_247 246 281 # define BOOST_PP_DEC_248 247 282 # define BOOST_PP_DEC_249 248 283 # define BOOST_PP_DEC_250 249 284 # define BOOST_PP_DEC_251 250 285 # define BOOST_PP_DEC_252 251 286 # define BOOST_PP_DEC_253 252 287 # define BOOST_PP_DEC_254 253 288 # define BOOST_PP_DEC_255 254 289 # define BOOST_PP_DEC_256 255 290 # define BOOST_PP_DEC_257 256 291 # 292 # else 293 # 294 # /* BOOST_PP_DEC */ 295 # 296 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() 297 # define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) 298 # else 299 # define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) 300 # define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par 301 # endif 302 # 303 # define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x 304 # 305 # include <boost/preprocessor/config/limits.hpp> 306 # 307 # if BOOST_PP_LIMIT_MAG == 256 308 # include <boost/preprocessor/arithmetic/limits/dec_256.hpp> 309 # elif BOOST_PP_LIMIT_MAG == 512 310 # include <boost/preprocessor/arithmetic/limits/dec_256.hpp> 311 # include <boost/preprocessor/arithmetic/limits/dec_512.hpp> 312 # elif BOOST_PP_LIMIT_MAG == 1024 313 # include <boost/preprocessor/arithmetic/limits/dec_256.hpp> 314 # include <boost/preprocessor/arithmetic/limits/dec_512.hpp> 315 # include <boost/preprocessor/arithmetic/limits/dec_1024.hpp> 316 # else 317 # error Incorrect value for the BOOST_PP_LIMIT_MAG limit 318 # endif 319 # 320 # endif 321 # 322 # endif 323