mrecursion.h 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  1. /**
  2. * \file
  3. *
  4. * \brief Preprocessor macro recursion utils.
  5. *
  6. * Copyright (C) 2013-2015 Atmel Corporation. All rights reserved.
  7. *
  8. * \asf_license_start
  9. *
  10. * \page License
  11. *
  12. * Redistribution and use in source and binary forms, with or without
  13. * modification, are permitted provided that the following conditions are met:
  14. *
  15. * 1. Redistributions of source code must retain the above copyright notice,
  16. * this list of conditions and the following disclaimer.
  17. *
  18. * 2. Redistributions in binary form must reproduce the above copyright notice,
  19. * this list of conditions and the following disclaimer in the documentation
  20. * and/or other materials provided with the distribution.
  21. *
  22. * 3. The name of Atmel may not be used to endorse or promote products derived
  23. * from this software without specific prior written permission.
  24. *
  25. * 4. This software may only be redistributed and used in connection with an
  26. * Atmel microcontroller product.
  27. *
  28. * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
  29. * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  30. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
  31. * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
  32. * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  33. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  34. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  36. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  37. * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  38. * POSSIBILITY OF SUCH DAMAGE.
  39. *
  40. * \asf_license_stop
  41. *
  42. */
  43. /*
  44. * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
  45. */
  46. #ifndef _MRECURSION_H_
  47. #define _MRECURSION_H_
  48. /**
  49. * \defgroup group_sam0_utils_mrecursion Preprocessor - Macro Recursion
  50. *
  51. * \ingroup group_sam0_utils
  52. *
  53. * @{
  54. */
  55. #include "preprocessor.h"
  56. #define DEC_256 255
  57. #define DEC_255 254
  58. #define DEC_254 253
  59. #define DEC_253 252
  60. #define DEC_252 251
  61. #define DEC_251 250
  62. #define DEC_250 249
  63. #define DEC_249 248
  64. #define DEC_248 247
  65. #define DEC_247 246
  66. #define DEC_246 245
  67. #define DEC_245 244
  68. #define DEC_244 243
  69. #define DEC_243 242
  70. #define DEC_242 241
  71. #define DEC_241 240
  72. #define DEC_240 239
  73. #define DEC_239 238
  74. #define DEC_238 237
  75. #define DEC_237 236
  76. #define DEC_236 235
  77. #define DEC_235 234
  78. #define DEC_234 233
  79. #define DEC_233 232
  80. #define DEC_232 231
  81. #define DEC_231 230
  82. #define DEC_230 229
  83. #define DEC_229 228
  84. #define DEC_228 227
  85. #define DEC_227 226
  86. #define DEC_226 225
  87. #define DEC_225 224
  88. #define DEC_224 223
  89. #define DEC_223 222
  90. #define DEC_222 221
  91. #define DEC_221 220
  92. #define DEC_220 219
  93. #define DEC_219 218
  94. #define DEC_218 217
  95. #define DEC_217 216
  96. #define DEC_216 215
  97. #define DEC_215 214
  98. #define DEC_214 213
  99. #define DEC_213 212
  100. #define DEC_212 211
  101. #define DEC_211 210
  102. #define DEC_210 209
  103. #define DEC_209 208
  104. #define DEC_208 207
  105. #define DEC_207 206
  106. #define DEC_206 205
  107. #define DEC_205 204
  108. #define DEC_204 203
  109. #define DEC_203 202
  110. #define DEC_202 201
  111. #define DEC_201 200
  112. #define DEC_200 199
  113. #define DEC_199 198
  114. #define DEC_198 197
  115. #define DEC_197 196
  116. #define DEC_196 195
  117. #define DEC_195 194
  118. #define DEC_194 193
  119. #define DEC_193 192
  120. #define DEC_192 191
  121. #define DEC_191 190
  122. #define DEC_190 189
  123. #define DEC_189 188
  124. #define DEC_188 187
  125. #define DEC_187 186
  126. #define DEC_186 185
  127. #define DEC_185 184
  128. #define DEC_184 183
  129. #define DEC_183 182
  130. #define DEC_182 181
  131. #define DEC_181 180
  132. #define DEC_180 179
  133. #define DEC_179 178
  134. #define DEC_178 177
  135. #define DEC_177 176
  136. #define DEC_176 175
  137. #define DEC_175 174
  138. #define DEC_174 173
  139. #define DEC_173 172
  140. #define DEC_172 171
  141. #define DEC_171 170
  142. #define DEC_170 169
  143. #define DEC_169 168
  144. #define DEC_168 167
  145. #define DEC_167 166
  146. #define DEC_166 165
  147. #define DEC_165 164
  148. #define DEC_164 163
  149. #define DEC_163 162
  150. #define DEC_162 161
  151. #define DEC_161 160
  152. #define DEC_160 159
  153. #define DEC_159 158
  154. #define DEC_158 157
  155. #define DEC_157 156
  156. #define DEC_156 155
  157. #define DEC_155 154
  158. #define DEC_154 153
  159. #define DEC_153 152
  160. #define DEC_152 151
  161. #define DEC_151 150
  162. #define DEC_150 149
  163. #define DEC_149 148
  164. #define DEC_148 147
  165. #define DEC_147 146
  166. #define DEC_146 145
  167. #define DEC_145 144
  168. #define DEC_144 143
  169. #define DEC_143 142
  170. #define DEC_142 141
  171. #define DEC_141 140
  172. #define DEC_140 139
  173. #define DEC_139 138
  174. #define DEC_138 137
  175. #define DEC_137 136
  176. #define DEC_136 135
  177. #define DEC_135 134
  178. #define DEC_134 133
  179. #define DEC_133 132
  180. #define DEC_132 131
  181. #define DEC_131 130
  182. #define DEC_130 129
  183. #define DEC_129 128
  184. #define DEC_128 127
  185. #define DEC_127 126
  186. #define DEC_126 125
  187. #define DEC_125 124
  188. #define DEC_124 123
  189. #define DEC_123 122
  190. #define DEC_122 121
  191. #define DEC_121 120
  192. #define DEC_120 119
  193. #define DEC_119 118
  194. #define DEC_118 117
  195. #define DEC_117 116
  196. #define DEC_116 115
  197. #define DEC_115 114
  198. #define DEC_114 113
  199. #define DEC_113 112
  200. #define DEC_112 111
  201. #define DEC_111 110
  202. #define DEC_110 109
  203. #define DEC_109 108
  204. #define DEC_108 107
  205. #define DEC_107 106
  206. #define DEC_106 105
  207. #define DEC_105 104
  208. #define DEC_104 103
  209. #define DEC_103 102
  210. #define DEC_102 101
  211. #define DEC_101 100
  212. #define DEC_100 99
  213. #define DEC_99 98
  214. #define DEC_98 97
  215. #define DEC_97 96
  216. #define DEC_96 95
  217. #define DEC_95 94
  218. #define DEC_94 93
  219. #define DEC_93 92
  220. #define DEC_92 91
  221. #define DEC_91 90
  222. #define DEC_90 89
  223. #define DEC_89 88
  224. #define DEC_88 87
  225. #define DEC_87 86
  226. #define DEC_86 85
  227. #define DEC_85 84
  228. #define DEC_84 83
  229. #define DEC_83 82
  230. #define DEC_82 81
  231. #define DEC_81 80
  232. #define DEC_80 79
  233. #define DEC_79 78
  234. #define DEC_78 77
  235. #define DEC_77 76
  236. #define DEC_76 75
  237. #define DEC_75 74
  238. #define DEC_74 73
  239. #define DEC_73 72
  240. #define DEC_72 71
  241. #define DEC_71 70
  242. #define DEC_70 69
  243. #define DEC_69 68
  244. #define DEC_68 67
  245. #define DEC_67 66
  246. #define DEC_66 65
  247. #define DEC_65 64
  248. #define DEC_64 63
  249. #define DEC_63 62
  250. #define DEC_62 61
  251. #define DEC_61 60
  252. #define DEC_60 59
  253. #define DEC_59 58
  254. #define DEC_58 57
  255. #define DEC_57 56
  256. #define DEC_56 55
  257. #define DEC_55 54
  258. #define DEC_54 53
  259. #define DEC_53 52
  260. #define DEC_52 51
  261. #define DEC_51 50
  262. #define DEC_50 49
  263. #define DEC_49 48
  264. #define DEC_48 47
  265. #define DEC_47 46
  266. #define DEC_46 45
  267. #define DEC_45 44
  268. #define DEC_44 43
  269. #define DEC_43 42
  270. #define DEC_42 41
  271. #define DEC_41 40
  272. #define DEC_40 39
  273. #define DEC_39 38
  274. #define DEC_38 37
  275. #define DEC_37 36
  276. #define DEC_36 35
  277. #define DEC_35 34
  278. #define DEC_34 33
  279. #define DEC_33 32
  280. #define DEC_32 31
  281. #define DEC_31 30
  282. #define DEC_30 29
  283. #define DEC_29 28
  284. #define DEC_28 27
  285. #define DEC_27 26
  286. #define DEC_26 25
  287. #define DEC_25 24
  288. #define DEC_24 23
  289. #define DEC_23 22
  290. #define DEC_22 21
  291. #define DEC_21 20
  292. #define DEC_20 19
  293. #define DEC_19 18
  294. #define DEC_18 17
  295. #define DEC_17 16
  296. #define DEC_16 15
  297. #define DEC_15 14
  298. #define DEC_14 13
  299. #define DEC_13 12
  300. #define DEC_12 11
  301. #define DEC_11 10
  302. #define DEC_10 9
  303. #define DEC_9 8
  304. #define DEC_8 7
  305. #define DEC_7 6
  306. #define DEC_6 5
  307. #define DEC_5 4
  308. #define DEC_4 3
  309. #define DEC_3 2
  310. #define DEC_2 1
  311. #define DEC_1 0
  312. #define DEC_(n) DEC_##n
  313. /** Maximal number of repetitions supported by MRECURSION. */
  314. #define MRECURSION_LIMIT 256
  315. /** \brief Macro recursion.
  316. *
  317. * This macro represents a horizontal repetition construct.
  318. *
  319. * \param[in] count The number of repetitious calls to macro. Valid values
  320. * range from 0 to MRECURSION_LIMIT.
  321. * \param[in] macro A binary operation of the form macro(data, n). This macro
  322. * is expanded by MRECURSION with the current repetition number
  323. * and the auxiliary data argument.
  324. * \param[in] data A recursive threshold, building on this to decline by times
  325. * defined with param count.
  326. *
  327. * \return <tt>macro(data-count+1,0) macro(data-count+2,1)...macro(data,count-1)</tt>
  328. */
  329. #define MRECURSION(count, macro, data) TPASTE2(MRECURSION, count) (macro, data)
  330. #define MRECURSION0( macro, data)
  331. #define MRECURSION1( macro, data) MRECURSION0( macro, DEC_(data)) macro(data, 0)
  332. #define MRECURSION2( macro, data) MRECURSION1( macro, DEC_(data)) macro(data, 1)
  333. #define MRECURSION3( macro, data) MRECURSION2( macro, DEC_(data)) macro(data, 2)
  334. #define MRECURSION4( macro, data) MRECURSION3( macro, DEC_(data)) macro(data, 3)
  335. #define MRECURSION5( macro, data) MRECURSION4( macro, DEC_(data)) macro(data, 4)
  336. #define MRECURSION6( macro, data) MRECURSION5( macro, DEC_(data)) macro(data, 5)
  337. #define MRECURSION7( macro, data) MRECURSION6( macro, DEC_(data)) macro(data, 6)
  338. #define MRECURSION8( macro, data) MRECURSION7( macro, DEC_(data)) macro(data, 7)
  339. #define MRECURSION9( macro, data) MRECURSION8( macro, DEC_(data)) macro(data, 8)
  340. #define MRECURSION10( macro, data) MRECURSION9( macro, DEC_(data)) macro(data, 9)
  341. #define MRECURSION11( macro, data) MRECURSION10( macro, DEC_(data)) macro(data, 10)
  342. #define MRECURSION12( macro, data) MRECURSION11( macro, DEC_(data)) macro(data, 11)
  343. #define MRECURSION13( macro, data) MRECURSION12( macro, DEC_(data)) macro(data, 12)
  344. #define MRECURSION14( macro, data) MRECURSION13( macro, DEC_(data)) macro(data, 13)
  345. #define MRECURSION15( macro, data) MRECURSION14( macro, DEC_(data)) macro(data, 14)
  346. #define MRECURSION16( macro, data) MRECURSION15( macro, DEC_(data)) macro(data, 15)
  347. #define MRECURSION17( macro, data) MRECURSION16( macro, DEC_(data)) macro(data, 16)
  348. #define MRECURSION18( macro, data) MRECURSION17( macro, DEC_(data)) macro(data, 17)
  349. #define MRECURSION19( macro, data) MRECURSION18( macro, DEC_(data)) macro(data, 18)
  350. #define MRECURSION20( macro, data) MRECURSION19( macro, DEC_(data)) macro(data, 19)
  351. #define MRECURSION21( macro, data) MRECURSION20( macro, DEC_(data)) macro(data, 20)
  352. #define MRECURSION22( macro, data) MRECURSION21( macro, DEC_(data)) macro(data, 21)
  353. #define MRECURSION23( macro, data) MRECURSION22( macro, DEC_(data)) macro(data, 22)
  354. #define MRECURSION24( macro, data) MRECURSION23( macro, DEC_(data)) macro(data, 23)
  355. #define MRECURSION25( macro, data) MRECURSION24( macro, DEC_(data)) macro(data, 24)
  356. #define MRECURSION26( macro, data) MRECURSION25( macro, DEC_(data)) macro(data, 25)
  357. #define MRECURSION27( macro, data) MRECURSION26( macro, DEC_(data)) macro(data, 26)
  358. #define MRECURSION28( macro, data) MRECURSION27( macro, DEC_(data)) macro(data, 27)
  359. #define MRECURSION29( macro, data) MRECURSION28( macro, DEC_(data)) macro(data, 28)
  360. #define MRECURSION30( macro, data) MRECURSION29( macro, DEC_(data)) macro(data, 29)
  361. #define MRECURSION31( macro, data) MRECURSION30( macro, DEC_(data)) macro(data, 30)
  362. #define MRECURSION32( macro, data) MRECURSION31( macro, DEC_(data)) macro(data, 31)
  363. #define MRECURSION33( macro, data) MRECURSION32( macro, DEC_(data)) macro(data, 32)
  364. #define MRECURSION34( macro, data) MRECURSION33( macro, DEC_(data)) macro(data, 33)
  365. #define MRECURSION35( macro, data) MRECURSION34( macro, DEC_(data)) macro(data, 34)
  366. #define MRECURSION36( macro, data) MRECURSION35( macro, DEC_(data)) macro(data, 35)
  367. #define MRECURSION37( macro, data) MRECURSION36( macro, DEC_(data)) macro(data, 36)
  368. #define MRECURSION38( macro, data) MRECURSION37( macro, DEC_(data)) macro(data, 37)
  369. #define MRECURSION39( macro, data) MRECURSION38( macro, DEC_(data)) macro(data, 38)
  370. #define MRECURSION40( macro, data) MRECURSION39( macro, DEC_(data)) macro(data, 39)
  371. #define MRECURSION41( macro, data) MRECURSION40( macro, DEC_(data)) macro(data, 40)
  372. #define MRECURSION42( macro, data) MRECURSION41( macro, DEC_(data)) macro(data, 41)
  373. #define MRECURSION43( macro, data) MRECURSION42( macro, DEC_(data)) macro(data, 42)
  374. #define MRECURSION44( macro, data) MRECURSION43( macro, DEC_(data)) macro(data, 43)
  375. #define MRECURSION45( macro, data) MRECURSION44( macro, DEC_(data)) macro(data, 44)
  376. #define MRECURSION46( macro, data) MRECURSION45( macro, DEC_(data)) macro(data, 45)
  377. #define MRECURSION47( macro, data) MRECURSION46( macro, DEC_(data)) macro(data, 46)
  378. #define MRECURSION48( macro, data) MRECURSION47( macro, DEC_(data)) macro(data, 47)
  379. #define MRECURSION49( macro, data) MRECURSION48( macro, DEC_(data)) macro(data, 48)
  380. #define MRECURSION50( macro, data) MRECURSION49( macro, DEC_(data)) macro(data, 49)
  381. #define MRECURSION51( macro, data) MRECURSION50( macro, DEC_(data)) macro(data, 50)
  382. #define MRECURSION52( macro, data) MRECURSION51( macro, DEC_(data)) macro(data, 51)
  383. #define MRECURSION53( macro, data) MRECURSION52( macro, DEC_(data)) macro(data, 52)
  384. #define MRECURSION54( macro, data) MRECURSION53( macro, DEC_(data)) macro(data, 53)
  385. #define MRECURSION55( macro, data) MRECURSION54( macro, DEC_(data)) macro(data, 54)
  386. #define MRECURSION56( macro, data) MRECURSION55( macro, DEC_(data)) macro(data, 55)
  387. #define MRECURSION57( macro, data) MRECURSION56( macro, DEC_(data)) macro(data, 56)
  388. #define MRECURSION58( macro, data) MRECURSION57( macro, DEC_(data)) macro(data, 57)
  389. #define MRECURSION59( macro, data) MRECURSION58( macro, DEC_(data)) macro(data, 58)
  390. #define MRECURSION60( macro, data) MRECURSION59( macro, DEC_(data)) macro(data, 59)
  391. #define MRECURSION61( macro, data) MRECURSION60( macro, DEC_(data)) macro(data, 60)
  392. #define MRECURSION62( macro, data) MRECURSION61( macro, DEC_(data)) macro(data, 61)
  393. #define MRECURSION63( macro, data) MRECURSION62( macro, DEC_(data)) macro(data, 62)
  394. #define MRECURSION64( macro, data) MRECURSION63( macro, DEC_(data)) macro(data, 63)
  395. #define MRECURSION65( macro, data) MRECURSION64( macro, DEC_(data)) macro(data, 64)
  396. #define MRECURSION66( macro, data) MRECURSION65( macro, DEC_(data)) macro(data, 65)
  397. #define MRECURSION67( macro, data) MRECURSION66( macro, DEC_(data)) macro(data, 66)
  398. #define MRECURSION68( macro, data) MRECURSION67( macro, DEC_(data)) macro(data, 67)
  399. #define MRECURSION69( macro, data) MRECURSION68( macro, DEC_(data)) macro(data, 68)
  400. #define MRECURSION70( macro, data) MRECURSION69( macro, DEC_(data)) macro(data, 69)
  401. #define MRECURSION71( macro, data) MRECURSION70( macro, DEC_(data)) macro(data, 70)
  402. #define MRECURSION72( macro, data) MRECURSION71( macro, DEC_(data)) macro(data, 71)
  403. #define MRECURSION73( macro, data) MRECURSION72( macro, DEC_(data)) macro(data, 72)
  404. #define MRECURSION74( macro, data) MRECURSION73( macro, DEC_(data)) macro(data, 73)
  405. #define MRECURSION75( macro, data) MRECURSION74( macro, DEC_(data)) macro(data, 74)
  406. #define MRECURSION76( macro, data) MRECURSION75( macro, DEC_(data)) macro(data, 75)
  407. #define MRECURSION77( macro, data) MRECURSION76( macro, DEC_(data)) macro(data, 76)
  408. #define MRECURSION78( macro, data) MRECURSION77( macro, DEC_(data)) macro(data, 77)
  409. #define MRECURSION79( macro, data) MRECURSION78( macro, DEC_(data)) macro(data, 78)
  410. #define MRECURSION80( macro, data) MRECURSION79( macro, DEC_(data)) macro(data, 79)
  411. #define MRECURSION81( macro, data) MRECURSION80( macro, DEC_(data)) macro(data, 80)
  412. #define MRECURSION82( macro, data) MRECURSION81( macro, DEC_(data)) macro(data, 81)
  413. #define MRECURSION83( macro, data) MRECURSION82( macro, DEC_(data)) macro(data, 82)
  414. #define MRECURSION84( macro, data) MRECURSION83( macro, DEC_(data)) macro(data, 83)
  415. #define MRECURSION85( macro, data) MRECURSION84( macro, DEC_(data)) macro(data, 84)
  416. #define MRECURSION86( macro, data) MRECURSION85( macro, DEC_(data)) macro(data, 85)
  417. #define MRECURSION87( macro, data) MRECURSION86( macro, DEC_(data)) macro(data, 86)
  418. #define MRECURSION88( macro, data) MRECURSION87( macro, DEC_(data)) macro(data, 87)
  419. #define MRECURSION89( macro, data) MRECURSION88( macro, DEC_(data)) macro(data, 88)
  420. #define MRECURSION90( macro, data) MRECURSION89( macro, DEC_(data)) macro(data, 89)
  421. #define MRECURSION91( macro, data) MRECURSION90( macro, DEC_(data)) macro(data, 90)
  422. #define MRECURSION92( macro, data) MRECURSION91( macro, DEC_(data)) macro(data, 91)
  423. #define MRECURSION93( macro, data) MRECURSION92( macro, DEC_(data)) macro(data, 92)
  424. #define MRECURSION94( macro, data) MRECURSION93( macro, DEC_(data)) macro(data, 93)
  425. #define MRECURSION95( macro, data) MRECURSION94( macro, DEC_(data)) macro(data, 94)
  426. #define MRECURSION96( macro, data) MRECURSION95( macro, DEC_(data)) macro(data, 95)
  427. #define MRECURSION97( macro, data) MRECURSION96( macro, DEC_(data)) macro(data, 96)
  428. #define MRECURSION98( macro, data) MRECURSION97( macro, DEC_(data)) macro(data, 97)
  429. #define MRECURSION99( macro, data) MRECURSION98( macro, DEC_(data)) macro(data, 98)
  430. #define MRECURSION100(macro, data) MRECURSION99( macro, DEC_(data)) macro(data, 99)
  431. #define MRECURSION101(macro, data) MRECURSION100( macro, DEC_(data)) macro(data, 100)
  432. #define MRECURSION102(macro, data) MRECURSION101( macro, DEC_(data)) macro(data, 101)
  433. #define MRECURSION103(macro, data) MRECURSION102( macro, DEC_(data)) macro(data, 102)
  434. #define MRECURSION104(macro, data) MRECURSION103( macro, DEC_(data)) macro(data, 103)
  435. #define MRECURSION105(macro, data) MRECURSION104( macro, DEC_(data)) macro(data, 104)
  436. #define MRECURSION106(macro, data) MRECURSION105( macro, DEC_(data)) macro(data, 105)
  437. #define MRECURSION107(macro, data) MRECURSION106( macro, DEC_(data)) macro(data, 106)
  438. #define MRECURSION108(macro, data) MRECURSION107( macro, DEC_(data)) macro(data, 107)
  439. #define MRECURSION109(macro, data) MRECURSION108( macro, DEC_(data)) macro(data, 108)
  440. #define MRECURSION110(macro, data) MRECURSION109( macro, DEC_(data)) macro(data, 109)
  441. #define MRECURSION111(macro, data) MRECURSION110( macro, DEC_(data)) macro(data, 110)
  442. #define MRECURSION112(macro, data) MRECURSION111( macro, DEC_(data)) macro(data, 111)
  443. #define MRECURSION113(macro, data) MRECURSION112( macro, DEC_(data)) macro(data, 112)
  444. #define MRECURSION114(macro, data) MRECURSION113( macro, DEC_(data)) macro(data, 113)
  445. #define MRECURSION115(macro, data) MRECURSION114( macro, DEC_(data)) macro(data, 114)
  446. #define MRECURSION116(macro, data) MRECURSION115( macro, DEC_(data)) macro(data, 115)
  447. #define MRECURSION117(macro, data) MRECURSION116( macro, DEC_(data)) macro(data, 116)
  448. #define MRECURSION118(macro, data) MRECURSION117( macro, DEC_(data)) macro(data, 117)
  449. #define MRECURSION119(macro, data) MRECURSION118( macro, DEC_(data)) macro(data, 118)
  450. #define MRECURSION120(macro, data) MRECURSION119( macro, DEC_(data)) macro(data, 119)
  451. #define MRECURSION121(macro, data) MRECURSION120( macro, DEC_(data)) macro(data, 120)
  452. #define MRECURSION122(macro, data) MRECURSION121( macro, DEC_(data)) macro(data, 121)
  453. #define MRECURSION123(macro, data) MRECURSION122( macro, DEC_(data)) macro(data, 122)
  454. #define MRECURSION124(macro, data) MRECURSION123( macro, DEC_(data)) macro(data, 123)
  455. #define MRECURSION125(macro, data) MRECURSION124( macro, DEC_(data)) macro(data, 124)
  456. #define MRECURSION126(macro, data) MRECURSION125( macro, DEC_(data)) macro(data, 125)
  457. #define MRECURSION127(macro, data) MRECURSION126( macro, DEC_(data)) macro(data, 126)
  458. #define MRECURSION128(macro, data) MRECURSION127( macro, DEC_(data)) macro(data, 127)
  459. #define MRECURSION129(macro, data) MRECURSION128( macro, DEC_(data)) macro(data, 128)
  460. #define MRECURSION130(macro, data) MRECURSION129( macro, DEC_(data)) macro(data, 129)
  461. #define MRECURSION131(macro, data) MRECURSION130( macro, DEC_(data)) macro(data, 130)
  462. #define MRECURSION132(macro, data) MRECURSION131( macro, DEC_(data)) macro(data, 131)
  463. #define MRECURSION133(macro, data) MRECURSION132( macro, DEC_(data)) macro(data, 132)
  464. #define MRECURSION134(macro, data) MRECURSION133( macro, DEC_(data)) macro(data, 133)
  465. #define MRECURSION135(macro, data) MRECURSION134( macro, DEC_(data)) macro(data, 134)
  466. #define MRECURSION136(macro, data) MRECURSION135( macro, DEC_(data)) macro(data, 135)
  467. #define MRECURSION137(macro, data) MRECURSION136( macro, DEC_(data)) macro(data, 136)
  468. #define MRECURSION138(macro, data) MRECURSION137( macro, DEC_(data)) macro(data, 137)
  469. #define MRECURSION139(macro, data) MRECURSION138( macro, DEC_(data)) macro(data, 138)
  470. #define MRECURSION140(macro, data) MRECURSION139( macro, DEC_(data)) macro(data, 139)
  471. #define MRECURSION141(macro, data) MRECURSION140( macro, DEC_(data)) macro(data, 140)
  472. #define MRECURSION142(macro, data) MRECURSION141( macro, DEC_(data)) macro(data, 141)
  473. #define MRECURSION143(macro, data) MRECURSION142( macro, DEC_(data)) macro(data, 142)
  474. #define MRECURSION144(macro, data) MRECURSION143( macro, DEC_(data)) macro(data, 143)
  475. #define MRECURSION145(macro, data) MRECURSION144( macro, DEC_(data)) macro(data, 144)
  476. #define MRECURSION146(macro, data) MRECURSION145( macro, DEC_(data)) macro(data, 145)
  477. #define MRECURSION147(macro, data) MRECURSION146( macro, DEC_(data)) macro(data, 146)
  478. #define MRECURSION148(macro, data) MRECURSION147( macro, DEC_(data)) macro(data, 147)
  479. #define MRECURSION149(macro, data) MRECURSION148( macro, DEC_(data)) macro(data, 148)
  480. #define MRECURSION150(macro, data) MRECURSION149( macro, DEC_(data)) macro(data, 149)
  481. #define MRECURSION151(macro, data) MRECURSION150( macro, DEC_(data)) macro(data, 150)
  482. #define MRECURSION152(macro, data) MRECURSION151( macro, DEC_(data)) macro(data, 151)
  483. #define MRECURSION153(macro, data) MRECURSION152( macro, DEC_(data)) macro(data, 152)
  484. #define MRECURSION154(macro, data) MRECURSION153( macro, DEC_(data)) macro(data, 153)
  485. #define MRECURSION155(macro, data) MRECURSION154( macro, DEC_(data)) macro(data, 154)
  486. #define MRECURSION156(macro, data) MRECURSION155( macro, DEC_(data)) macro(data, 155)
  487. #define MRECURSION157(macro, data) MRECURSION156( macro, DEC_(data)) macro(data, 156)
  488. #define MRECURSION158(macro, data) MRECURSION157( macro, DEC_(data)) macro(data, 157)
  489. #define MRECURSION159(macro, data) MRECURSION158( macro, DEC_(data)) macro(data, 158)
  490. #define MRECURSION160(macro, data) MRECURSION159( macro, DEC_(data)) macro(data, 159)
  491. #define MRECURSION161(macro, data) MRECURSION160( macro, DEC_(data)) macro(data, 160)
  492. #define MRECURSION162(macro, data) MRECURSION161( macro, DEC_(data)) macro(data, 161)
  493. #define MRECURSION163(macro, data) MRECURSION162( macro, DEC_(data)) macro(data, 162)
  494. #define MRECURSION164(macro, data) MRECURSION163( macro, DEC_(data)) macro(data, 163)
  495. #define MRECURSION165(macro, data) MRECURSION164( macro, DEC_(data)) macro(data, 164)
  496. #define MRECURSION166(macro, data) MRECURSION165( macro, DEC_(data)) macro(data, 165)
  497. #define MRECURSION167(macro, data) MRECURSION166( macro, DEC_(data)) macro(data, 166)
  498. #define MRECURSION168(macro, data) MRECURSION167( macro, DEC_(data)) macro(data, 167)
  499. #define MRECURSION169(macro, data) MRECURSION168( macro, DEC_(data)) macro(data, 168)
  500. #define MRECURSION170(macro, data) MRECURSION169( macro, DEC_(data)) macro(data, 169)
  501. #define MRECURSION171(macro, data) MRECURSION170( macro, DEC_(data)) macro(data, 170)
  502. #define MRECURSION172(macro, data) MRECURSION171( macro, DEC_(data)) macro(data, 171)
  503. #define MRECURSION173(macro, data) MRECURSION172( macro, DEC_(data)) macro(data, 172)
  504. #define MRECURSION174(macro, data) MRECURSION173( macro, DEC_(data)) macro(data, 173)
  505. #define MRECURSION175(macro, data) MRECURSION174( macro, DEC_(data)) macro(data, 174)
  506. #define MRECURSION176(macro, data) MRECURSION175( macro, DEC_(data)) macro(data, 175)
  507. #define MRECURSION177(macro, data) MRECURSION176( macro, DEC_(data)) macro(data, 176)
  508. #define MRECURSION178(macro, data) MRECURSION177( macro, DEC_(data)) macro(data, 177)
  509. #define MRECURSION179(macro, data) MRECURSION178( macro, DEC_(data)) macro(data, 178)
  510. #define MRECURSION180(macro, data) MRECURSION179( macro, DEC_(data)) macro(data, 179)
  511. #define MRECURSION181(macro, data) MRECURSION180( macro, DEC_(data)) macro(data, 180)
  512. #define MRECURSION182(macro, data) MRECURSION181( macro, DEC_(data)) macro(data, 181)
  513. #define MRECURSION183(macro, data) MRECURSION182( macro, DEC_(data)) macro(data, 182)
  514. #define MRECURSION184(macro, data) MRECURSION183( macro, DEC_(data)) macro(data, 183)
  515. #define MRECURSION185(macro, data) MRECURSION184( macro, DEC_(data)) macro(data, 184)
  516. #define MRECURSION186(macro, data) MRECURSION185( macro, DEC_(data)) macro(data, 185)
  517. #define MRECURSION187(macro, data) MRECURSION186( macro, DEC_(data)) macro(data, 186)
  518. #define MRECURSION188(macro, data) MRECURSION187( macro, DEC_(data)) macro(data, 187)
  519. #define MRECURSION189(macro, data) MRECURSION188( macro, DEC_(data)) macro(data, 188)
  520. #define MRECURSION190(macro, data) MRECURSION189( macro, DEC_(data)) macro(data, 189)
  521. #define MRECURSION191(macro, data) MRECURSION190( macro, DEC_(data)) macro(data, 190)
  522. #define MRECURSION192(macro, data) MRECURSION191( macro, DEC_(data)) macro(data, 191)
  523. #define MRECURSION193(macro, data) MRECURSION192( macro, DEC_(data)) macro(data, 192)
  524. #define MRECURSION194(macro, data) MRECURSION193( macro, DEC_(data)) macro(data, 193)
  525. #define MRECURSION195(macro, data) MRECURSION194( macro, DEC_(data)) macro(data, 194)
  526. #define MRECURSION196(macro, data) MRECURSION195( macro, DEC_(data)) macro(data, 195)
  527. #define MRECURSION197(macro, data) MRECURSION196( macro, DEC_(data)) macro(data, 196)
  528. #define MRECURSION198(macro, data) MRECURSION197( macro, DEC_(data)) macro(data, 197)
  529. #define MRECURSION199(macro, data) MRECURSION198( macro, DEC_(data)) macro(data, 198)
  530. #define MRECURSION200(macro, data) MRECURSION199( macro, DEC_(data)) macro(data, 199)
  531. #define MRECURSION201(macro, data) MRECURSION200( macro, DEC_(data)) macro(data, 200)
  532. #define MRECURSION202(macro, data) MRECURSION201( macro, DEC_(data)) macro(data, 201)
  533. #define MRECURSION203(macro, data) MRECURSION202( macro, DEC_(data)) macro(data, 202)
  534. #define MRECURSION204(macro, data) MRECURSION203( macro, DEC_(data)) macro(data, 203)
  535. #define MRECURSION205(macro, data) MRECURSION204( macro, DEC_(data)) macro(data, 204)
  536. #define MRECURSION206(macro, data) MRECURSION205( macro, DEC_(data)) macro(data, 205)
  537. #define MRECURSION207(macro, data) MRECURSION206( macro, DEC_(data)) macro(data, 206)
  538. #define MRECURSION208(macro, data) MRECURSION207( macro, DEC_(data)) macro(data, 207)
  539. #define MRECURSION209(macro, data) MRECURSION208( macro, DEC_(data)) macro(data, 208)
  540. #define MRECURSION210(macro, data) MRECURSION209( macro, DEC_(data)) macro(data, 209)
  541. #define MRECURSION211(macro, data) MRECURSION210( macro, DEC_(data)) macro(data, 210)
  542. #define MRECURSION212(macro, data) MRECURSION211( macro, DEC_(data)) macro(data, 211)
  543. #define MRECURSION213(macro, data) MRECURSION212( macro, DEC_(data)) macro(data, 212)
  544. #define MRECURSION214(macro, data) MRECURSION213( macro, DEC_(data)) macro(data, 213)
  545. #define MRECURSION215(macro, data) MRECURSION214( macro, DEC_(data)) macro(data, 214)
  546. #define MRECURSION216(macro, data) MRECURSION215( macro, DEC_(data)) macro(data, 215)
  547. #define MRECURSION217(macro, data) MRECURSION216( macro, DEC_(data)) macro(data, 216)
  548. #define MRECURSION218(macro, data) MRECURSION217( macro, DEC_(data)) macro(data, 217)
  549. #define MRECURSION219(macro, data) MRECURSION218( macro, DEC_(data)) macro(data, 218)
  550. #define MRECURSION220(macro, data) MRECURSION219( macro, DEC_(data)) macro(data, 219)
  551. #define MRECURSION221(macro, data) MRECURSION220( macro, DEC_(data)) macro(data, 220)
  552. #define MRECURSION222(macro, data) MRECURSION221( macro, DEC_(data)) macro(data, 221)
  553. #define MRECURSION223(macro, data) MRECURSION222( macro, DEC_(data)) macro(data, 222)
  554. #define MRECURSION224(macro, data) MRECURSION223( macro, DEC_(data)) macro(data, 223)
  555. #define MRECURSION225(macro, data) MRECURSION224( macro, DEC_(data)) macro(data, 224)
  556. #define MRECURSION226(macro, data) MRECURSION225( macro, DEC_(data)) macro(data, 225)
  557. #define MRECURSION227(macro, data) MRECURSION226( macro, DEC_(data)) macro(data, 226)
  558. #define MRECURSION228(macro, data) MRECURSION227( macro, DEC_(data)) macro(data, 227)
  559. #define MRECURSION229(macro, data) MRECURSION228( macro, DEC_(data)) macro(data, 228)
  560. #define MRECURSION230(macro, data) MRECURSION229( macro, DEC_(data)) macro(data, 229)
  561. #define MRECURSION231(macro, data) MRECURSION230( macro, DEC_(data)) macro(data, 230)
  562. #define MRECURSION232(macro, data) MRECURSION231( macro, DEC_(data)) macro(data, 231)
  563. #define MRECURSION233(macro, data) MRECURSION232( macro, DEC_(data)) macro(data, 232)
  564. #define MRECURSION234(macro, data) MRECURSION233( macro, DEC_(data)) macro(data, 233)
  565. #define MRECURSION235(macro, data) MRECURSION234( macro, DEC_(data)) macro(data, 234)
  566. #define MRECURSION236(macro, data) MRECURSION235( macro, DEC_(data)) macro(data, 235)
  567. #define MRECURSION237(macro, data) MRECURSION236( macro, DEC_(data)) macro(data, 236)
  568. #define MRECURSION238(macro, data) MRECURSION237( macro, DEC_(data)) macro(data, 237)
  569. #define MRECURSION239(macro, data) MRECURSION238( macro, DEC_(data)) macro(data, 238)
  570. #define MRECURSION240(macro, data) MRECURSION239( macro, DEC_(data)) macro(data, 239)
  571. #define MRECURSION241(macro, data) MRECURSION240( macro, DEC_(data)) macro(data, 240)
  572. #define MRECURSION242(macro, data) MRECURSION241( macro, DEC_(data)) macro(data, 241)
  573. #define MRECURSION243(macro, data) MRECURSION242( macro, DEC_(data)) macro(data, 242)
  574. #define MRECURSION244(macro, data) MRECURSION243( macro, DEC_(data)) macro(data, 243)
  575. #define MRECURSION245(macro, data) MRECURSION244( macro, DEC_(data)) macro(data, 244)
  576. #define MRECURSION246(macro, data) MRECURSION245( macro, DEC_(data)) macro(data, 245)
  577. #define MRECURSION247(macro, data) MRECURSION246( macro, DEC_(data)) macro(data, 246)
  578. #define MRECURSION248(macro, data) MRECURSION247( macro, DEC_(data)) macro(data, 247)
  579. #define MRECURSION249(macro, data) MRECURSION248( macro, DEC_(data)) macro(data, 248)
  580. #define MRECURSION250(macro, data) MRECURSION249( macro, DEC_(data)) macro(data, 249)
  581. #define MRECURSION251(macro, data) MRECURSION250( macro, DEC_(data)) macro(data, 250)
  582. #define MRECURSION252(macro, data) MRECURSION251( macro, DEC_(data)) macro(data, 251)
  583. #define MRECURSION253(macro, data) MRECURSION252( macro, DEC_(data)) macro(data, 252)
  584. #define MRECURSION254(macro, data) MRECURSION253( macro, DEC_(data)) macro(data, 253)
  585. #define MRECURSION255(macro, data) MRECURSION254( macro, DEC_(data)) macro(data, 254)
  586. #define MRECURSION256(macro, data) MRECURSION255( macro, DEC_(data)) macro(data, 255)
  587. /** @} */
  588. #endif /* _MRECURSION_H_ */