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_INC_HPP
16# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
17#
18# include <boost/preprocessor/config/config.hpp>
19#
20# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
21#
22# /* BOOST_PP_INC */
23#
24# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
25# define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
26# else
27# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
28# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
29# endif
30#
31# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
32#
33# define BOOST_PP_INC_0 1
34# define BOOST_PP_INC_1 2
35# define BOOST_PP_INC_2 3
36# define BOOST_PP_INC_3 4
37# define BOOST_PP_INC_4 5
38# define BOOST_PP_INC_5 6
39# define BOOST_PP_INC_6 7
40# define BOOST_PP_INC_7 8
41# define BOOST_PP_INC_8 9
42# define BOOST_PP_INC_9 10
43# define BOOST_PP_INC_10 11
44# define BOOST_PP_INC_11 12
45# define BOOST_PP_INC_12 13
46# define BOOST_PP_INC_13 14
47# define BOOST_PP_INC_14 15
48# define BOOST_PP_INC_15 16
49# define BOOST_PP_INC_16 17
50# define BOOST_PP_INC_17 18
51# define BOOST_PP_INC_18 19
52# define BOOST_PP_INC_19 20
53# define BOOST_PP_INC_20 21
54# define BOOST_PP_INC_21 22
55# define BOOST_PP_INC_22 23
56# define BOOST_PP_INC_23 24
57# define BOOST_PP_INC_24 25
58# define BOOST_PP_INC_25 26
59# define BOOST_PP_INC_26 27
60# define BOOST_PP_INC_27 28
61# define BOOST_PP_INC_28 29
62# define BOOST_PP_INC_29 30
63# define BOOST_PP_INC_30 31
64# define BOOST_PP_INC_31 32
65# define BOOST_PP_INC_32 33
66# define BOOST_PP_INC_33 34
67# define BOOST_PP_INC_34 35
68# define BOOST_PP_INC_35 36
69# define BOOST_PP_INC_36 37
70# define BOOST_PP_INC_37 38
71# define BOOST_PP_INC_38 39
72# define BOOST_PP_INC_39 40
73# define BOOST_PP_INC_40 41
74# define BOOST_PP_INC_41 42
75# define BOOST_PP_INC_42 43
76# define BOOST_PP_INC_43 44
77# define BOOST_PP_INC_44 45
78# define BOOST_PP_INC_45 46
79# define BOOST_PP_INC_46 47
80# define BOOST_PP_INC_47 48
81# define BOOST_PP_INC_48 49
82# define BOOST_PP_INC_49 50
83# define BOOST_PP_INC_50 51
84# define BOOST_PP_INC_51 52
85# define BOOST_PP_INC_52 53
86# define BOOST_PP_INC_53 54
87# define BOOST_PP_INC_54 55
88# define BOOST_PP_INC_55 56
89# define BOOST_PP_INC_56 57
90# define BOOST_PP_INC_57 58
91# define BOOST_PP_INC_58 59
92# define BOOST_PP_INC_59 60
93# define BOOST_PP_INC_60 61
94# define BOOST_PP_INC_61 62
95# define BOOST_PP_INC_62 63
96# define BOOST_PP_INC_63 64
97# define BOOST_PP_INC_64 65
98# define BOOST_PP_INC_65 66
99# define BOOST_PP_INC_66 67
100# define BOOST_PP_INC_67 68
101# define BOOST_PP_INC_68 69
102# define BOOST_PP_INC_69 70
103# define BOOST_PP_INC_70 71
104# define BOOST_PP_INC_71 72
105# define BOOST_PP_INC_72 73
106# define BOOST_PP_INC_73 74
107# define BOOST_PP_INC_74 75
108# define BOOST_PP_INC_75 76
109# define BOOST_PP_INC_76 77
110# define BOOST_PP_INC_77 78
111# define BOOST_PP_INC_78 79
112# define BOOST_PP_INC_79 80
113# define BOOST_PP_INC_80 81
114# define BOOST_PP_INC_81 82
115# define BOOST_PP_INC_82 83
116# define BOOST_PP_INC_83 84
117# define BOOST_PP_INC_84 85
118# define BOOST_PP_INC_85 86
119# define BOOST_PP_INC_86 87
120# define BOOST_PP_INC_87 88
121# define BOOST_PP_INC_88 89
122# define BOOST_PP_INC_89 90
123# define BOOST_PP_INC_90 91
124# define BOOST_PP_INC_91 92
125# define BOOST_PP_INC_92 93
126# define BOOST_PP_INC_93 94
127# define BOOST_PP_INC_94 95
128# define BOOST_PP_INC_95 96
129# define BOOST_PP_INC_96 97
130# define BOOST_PP_INC_97 98
131# define BOOST_PP_INC_98 99
132# define BOOST_PP_INC_99 100
133# define BOOST_PP_INC_100 101
134# define BOOST_PP_INC_101 102
135# define BOOST_PP_INC_102 103
136# define BOOST_PP_INC_103 104
137# define BOOST_PP_INC_104 105
138# define BOOST_PP_INC_105 106
139# define BOOST_PP_INC_106 107
140# define BOOST_PP_INC_107 108
141# define BOOST_PP_INC_108 109
142# define BOOST_PP_INC_109 110
143# define BOOST_PP_INC_110 111
144# define BOOST_PP_INC_111 112
145# define BOOST_PP_INC_112 113
146# define BOOST_PP_INC_113 114
147# define BOOST_PP_INC_114 115
148# define BOOST_PP_INC_115 116
149# define BOOST_PP_INC_116 117
150# define BOOST_PP_INC_117 118
151# define BOOST_PP_INC_118 119
152# define BOOST_PP_INC_119 120
153# define BOOST_PP_INC_120 121
154# define BOOST_PP_INC_121 122
155# define BOOST_PP_INC_122 123
156# define BOOST_PP_INC_123 124
157# define BOOST_PP_INC_124 125
158# define BOOST_PP_INC_125 126
159# define BOOST_PP_INC_126 127
160# define BOOST_PP_INC_127 128
161# define BOOST_PP_INC_128 129
162# define BOOST_PP_INC_129 130
163# define BOOST_PP_INC_130 131
164# define BOOST_PP_INC_131 132
165# define BOOST_PP_INC_132 133
166# define BOOST_PP_INC_133 134
167# define BOOST_PP_INC_134 135
168# define BOOST_PP_INC_135 136
169# define BOOST_PP_INC_136 137
170# define BOOST_PP_INC_137 138
171# define BOOST_PP_INC_138 139
172# define BOOST_PP_INC_139 140
173# define BOOST_PP_INC_140 141
174# define BOOST_PP_INC_141 142
175# define BOOST_PP_INC_142 143
176# define BOOST_PP_INC_143 144
177# define BOOST_PP_INC_144 145
178# define BOOST_PP_INC_145 146
179# define BOOST_PP_INC_146 147
180# define BOOST_PP_INC_147 148
181# define BOOST_PP_INC_148 149
182# define BOOST_PP_INC_149 150
183# define BOOST_PP_INC_150 151
184# define BOOST_PP_INC_151 152
185# define BOOST_PP_INC_152 153
186# define BOOST_PP_INC_153 154
187# define BOOST_PP_INC_154 155
188# define BOOST_PP_INC_155 156
189# define BOOST_PP_INC_156 157
190# define BOOST_PP_INC_157 158
191# define BOOST_PP_INC_158 159
192# define BOOST_PP_INC_159 160
193# define BOOST_PP_INC_160 161
194# define BOOST_PP_INC_161 162
195# define BOOST_PP_INC_162 163
196# define BOOST_PP_INC_163 164
197# define BOOST_PP_INC_164 165
198# define BOOST_PP_INC_165 166
199# define BOOST_PP_INC_166 167
200# define BOOST_PP_INC_167 168
201# define BOOST_PP_INC_168 169
202# define BOOST_PP_INC_169 170
203# define BOOST_PP_INC_170 171
204# define BOOST_PP_INC_171 172
205# define BOOST_PP_INC_172 173
206# define BOOST_PP_INC_173 174
207# define BOOST_PP_INC_174 175
208# define BOOST_PP_INC_175 176
209# define BOOST_PP_INC_176 177
210# define BOOST_PP_INC_177 178
211# define BOOST_PP_INC_178 179
212# define BOOST_PP_INC_179 180
213# define BOOST_PP_INC_180 181
214# define BOOST_PP_INC_181 182
215# define BOOST_PP_INC_182 183
216# define BOOST_PP_INC_183 184
217# define BOOST_PP_INC_184 185
218# define BOOST_PP_INC_185 186
219# define BOOST_PP_INC_186 187
220# define BOOST_PP_INC_187 188
221# define BOOST_PP_INC_188 189
222# define BOOST_PP_INC_189 190
223# define BOOST_PP_INC_190 191
224# define BOOST_PP_INC_191 192
225# define BOOST_PP_INC_192 193
226# define BOOST_PP_INC_193 194
227# define BOOST_PP_INC_194 195
228# define BOOST_PP_INC_195 196
229# define BOOST_PP_INC_196 197
230# define BOOST_PP_INC_197 198
231# define BOOST_PP_INC_198 199
232# define BOOST_PP_INC_199 200
233# define BOOST_PP_INC_200 201
234# define BOOST_PP_INC_201 202
235# define BOOST_PP_INC_202 203
236# define BOOST_PP_INC_203 204
237# define BOOST_PP_INC_204 205
238# define BOOST_PP_INC_205 206
239# define BOOST_PP_INC_206 207
240# define BOOST_PP_INC_207 208
241# define BOOST_PP_INC_208 209
242# define BOOST_PP_INC_209 210
243# define BOOST_PP_INC_210 211
244# define BOOST_PP_INC_211 212
245# define BOOST_PP_INC_212 213
246# define BOOST_PP_INC_213 214
247# define BOOST_PP_INC_214 215
248# define BOOST_PP_INC_215 216
249# define BOOST_PP_INC_216 217
250# define BOOST_PP_INC_217 218
251# define BOOST_PP_INC_218 219
252# define BOOST_PP_INC_219 220
253# define BOOST_PP_INC_220 221
254# define BOOST_PP_INC_221 222
255# define BOOST_PP_INC_222 223
256# define BOOST_PP_INC_223 224
257# define BOOST_PP_INC_224 225
258# define BOOST_PP_INC_225 226
259# define BOOST_PP_INC_226 227
260# define BOOST_PP_INC_227 228
261# define BOOST_PP_INC_228 229
262# define BOOST_PP_INC_229 230
263# define BOOST_PP_INC_230 231
264# define BOOST_PP_INC_231 232
265# define BOOST_PP_INC_232 233
266# define BOOST_PP_INC_233 234
267# define BOOST_PP_INC_234 235
268# define BOOST_PP_INC_235 236
269# define BOOST_PP_INC_236 237
270# define BOOST_PP_INC_237 238
271# define BOOST_PP_INC_238 239
272# define BOOST_PP_INC_239 240
273# define BOOST_PP_INC_240 241
274# define BOOST_PP_INC_241 242
275# define BOOST_PP_INC_242 243
276# define BOOST_PP_INC_243 244
277# define BOOST_PP_INC_244 245
278# define BOOST_PP_INC_245 246
279# define BOOST_PP_INC_246 247
280# define BOOST_PP_INC_247 248
281# define BOOST_PP_INC_248 249
282# define BOOST_PP_INC_249 250
283# define BOOST_PP_INC_250 251
284# define BOOST_PP_INC_251 252
285# define BOOST_PP_INC_252 253
286# define BOOST_PP_INC_253 254
287# define BOOST_PP_INC_254 255
288# define BOOST_PP_INC_255 256
289# define BOOST_PP_INC_256 256
290#
291# else
292#
293# /* BOOST_PP_INC */
294#
295# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
296# define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
297# else
298# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
299# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
300# endif
301#
302# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
303#
304# include <boost/preprocessor/config/limits.hpp>
305#
306# if BOOST_PP_LIMIT_MAG == 256
307# include <boost/preprocessor/arithmetic/limits/inc_256.hpp>
308# elif BOOST_PP_LIMIT_MAG == 512
309# include <boost/preprocessor/arithmetic/limits/inc_256.hpp>
310# include <boost/preprocessor/arithmetic/limits/inc_512.hpp>
311# elif BOOST_PP_LIMIT_MAG == 1024
312# include <boost/preprocessor/arithmetic/limits/inc_256.hpp>
313# include <boost/preprocessor/arithmetic/limits/inc_512.hpp>
314# include <boost/preprocessor/arithmetic/limits/inc_1024.hpp>
315# else
316# error Incorrect value for the BOOST_PP_LIMIT_MAG limit
317# endif
318#
319# endif
320#
321# endif
322