cow_inline.hrl 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. %% Copyright (c) 2014, Loïc Hoguin <essen@ninenines.eu>
  2. %%
  3. %% Permission to use, copy, modify, and/or distribute this software for any
  4. %% purpose with or without fee is hereby granted, provided that the above
  5. %% copyright notice and this permission notice appear in all copies.
  6. %%
  7. %% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. %% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. %% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  10. %% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. %% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  12. %% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  13. %% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  14. -ifndef(COW_INLINE_HRL).
  15. -define(COW_INLINE_HRL, 1).
  16. %% INLINE_LOWERCASE(Function, Rest, Acc, ...)
  17. %%
  18. %% To be included at the end of a case block.
  19. %% Defined for up to 10 extra arguments.
  20. -define(INLINE_LOWERCASE(Function, Rest, Acc),
  21. $A -> Function(Rest, << Acc/binary, $a >>);
  22. $B -> Function(Rest, << Acc/binary, $b >>);
  23. $C -> Function(Rest, << Acc/binary, $c >>);
  24. $D -> Function(Rest, << Acc/binary, $d >>);
  25. $E -> Function(Rest, << Acc/binary, $e >>);
  26. $F -> Function(Rest, << Acc/binary, $f >>);
  27. $G -> Function(Rest, << Acc/binary, $g >>);
  28. $H -> Function(Rest, << Acc/binary, $h >>);
  29. $I -> Function(Rest, << Acc/binary, $i >>);
  30. $J -> Function(Rest, << Acc/binary, $j >>);
  31. $K -> Function(Rest, << Acc/binary, $k >>);
  32. $L -> Function(Rest, << Acc/binary, $l >>);
  33. $M -> Function(Rest, << Acc/binary, $m >>);
  34. $N -> Function(Rest, << Acc/binary, $n >>);
  35. $O -> Function(Rest, << Acc/binary, $o >>);
  36. $P -> Function(Rest, << Acc/binary, $p >>);
  37. $Q -> Function(Rest, << Acc/binary, $q >>);
  38. $R -> Function(Rest, << Acc/binary, $r >>);
  39. $S -> Function(Rest, << Acc/binary, $s >>);
  40. $T -> Function(Rest, << Acc/binary, $t >>);
  41. $U -> Function(Rest, << Acc/binary, $u >>);
  42. $V -> Function(Rest, << Acc/binary, $v >>);
  43. $W -> Function(Rest, << Acc/binary, $w >>);
  44. $X -> Function(Rest, << Acc/binary, $x >>);
  45. $Y -> Function(Rest, << Acc/binary, $y >>);
  46. $Z -> Function(Rest, << Acc/binary, $z >>);
  47. C -> Function(Rest, << Acc/binary, C >>)
  48. ).
  49. -define(INLINE_LOWERCASE(Function, Rest, A0, Acc),
  50. $A -> Function(Rest, A0, << Acc/binary, $a >>);
  51. $B -> Function(Rest, A0, << Acc/binary, $b >>);
  52. $C -> Function(Rest, A0, << Acc/binary, $c >>);
  53. $D -> Function(Rest, A0, << Acc/binary, $d >>);
  54. $E -> Function(Rest, A0, << Acc/binary, $e >>);
  55. $F -> Function(Rest, A0, << Acc/binary, $f >>);
  56. $G -> Function(Rest, A0, << Acc/binary, $g >>);
  57. $H -> Function(Rest, A0, << Acc/binary, $h >>);
  58. $I -> Function(Rest, A0, << Acc/binary, $i >>);
  59. $J -> Function(Rest, A0, << Acc/binary, $j >>);
  60. $K -> Function(Rest, A0, << Acc/binary, $k >>);
  61. $L -> Function(Rest, A0, << Acc/binary, $l >>);
  62. $M -> Function(Rest, A0, << Acc/binary, $m >>);
  63. $N -> Function(Rest, A0, << Acc/binary, $n >>);
  64. $O -> Function(Rest, A0, << Acc/binary, $o >>);
  65. $P -> Function(Rest, A0, << Acc/binary, $p >>);
  66. $Q -> Function(Rest, A0, << Acc/binary, $q >>);
  67. $R -> Function(Rest, A0, << Acc/binary, $r >>);
  68. $S -> Function(Rest, A0, << Acc/binary, $s >>);
  69. $T -> Function(Rest, A0, << Acc/binary, $t >>);
  70. $U -> Function(Rest, A0, << Acc/binary, $u >>);
  71. $V -> Function(Rest, A0, << Acc/binary, $v >>);
  72. $W -> Function(Rest, A0, << Acc/binary, $w >>);
  73. $X -> Function(Rest, A0, << Acc/binary, $x >>);
  74. $Y -> Function(Rest, A0, << Acc/binary, $y >>);
  75. $Z -> Function(Rest, A0, << Acc/binary, $z >>);
  76. C -> Function(Rest, A0, << Acc/binary, C >>)
  77. ).
  78. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, Acc),
  79. $A -> Function(Rest, A0, A1, << Acc/binary, $a >>);
  80. $B -> Function(Rest, A0, A1, << Acc/binary, $b >>);
  81. $C -> Function(Rest, A0, A1, << Acc/binary, $c >>);
  82. $D -> Function(Rest, A0, A1, << Acc/binary, $d >>);
  83. $E -> Function(Rest, A0, A1, << Acc/binary, $e >>);
  84. $F -> Function(Rest, A0, A1, << Acc/binary, $f >>);
  85. $G -> Function(Rest, A0, A1, << Acc/binary, $g >>);
  86. $H -> Function(Rest, A0, A1, << Acc/binary, $h >>);
  87. $I -> Function(Rest, A0, A1, << Acc/binary, $i >>);
  88. $J -> Function(Rest, A0, A1, << Acc/binary, $j >>);
  89. $K -> Function(Rest, A0, A1, << Acc/binary, $k >>);
  90. $L -> Function(Rest, A0, A1, << Acc/binary, $l >>);
  91. $M -> Function(Rest, A0, A1, << Acc/binary, $m >>);
  92. $N -> Function(Rest, A0, A1, << Acc/binary, $n >>);
  93. $O -> Function(Rest, A0, A1, << Acc/binary, $o >>);
  94. $P -> Function(Rest, A0, A1, << Acc/binary, $p >>);
  95. $Q -> Function(Rest, A0, A1, << Acc/binary, $q >>);
  96. $R -> Function(Rest, A0, A1, << Acc/binary, $r >>);
  97. $S -> Function(Rest, A0, A1, << Acc/binary, $s >>);
  98. $T -> Function(Rest, A0, A1, << Acc/binary, $t >>);
  99. $U -> Function(Rest, A0, A1, << Acc/binary, $u >>);
  100. $V -> Function(Rest, A0, A1, << Acc/binary, $v >>);
  101. $W -> Function(Rest, A0, A1, << Acc/binary, $w >>);
  102. $X -> Function(Rest, A0, A1, << Acc/binary, $x >>);
  103. $Y -> Function(Rest, A0, A1, << Acc/binary, $y >>);
  104. $Z -> Function(Rest, A0, A1, << Acc/binary, $z >>);
  105. C -> Function(Rest, A0, A1, << Acc/binary, C >>)
  106. ).
  107. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, Acc),
  108. $A -> Function(Rest, A0, A1, A2, << Acc/binary, $a >>);
  109. $B -> Function(Rest, A0, A1, A2, << Acc/binary, $b >>);
  110. $C -> Function(Rest, A0, A1, A2, << Acc/binary, $c >>);
  111. $D -> Function(Rest, A0, A1, A2, << Acc/binary, $d >>);
  112. $E -> Function(Rest, A0, A1, A2, << Acc/binary, $e >>);
  113. $F -> Function(Rest, A0, A1, A2, << Acc/binary, $f >>);
  114. $G -> Function(Rest, A0, A1, A2, << Acc/binary, $g >>);
  115. $H -> Function(Rest, A0, A1, A2, << Acc/binary, $h >>);
  116. $I -> Function(Rest, A0, A1, A2, << Acc/binary, $i >>);
  117. $J -> Function(Rest, A0, A1, A2, << Acc/binary, $j >>);
  118. $K -> Function(Rest, A0, A1, A2, << Acc/binary, $k >>);
  119. $L -> Function(Rest, A0, A1, A2, << Acc/binary, $l >>);
  120. $M -> Function(Rest, A0, A1, A2, << Acc/binary, $m >>);
  121. $N -> Function(Rest, A0, A1, A2, << Acc/binary, $n >>);
  122. $O -> Function(Rest, A0, A1, A2, << Acc/binary, $o >>);
  123. $P -> Function(Rest, A0, A1, A2, << Acc/binary, $p >>);
  124. $Q -> Function(Rest, A0, A1, A2, << Acc/binary, $q >>);
  125. $R -> Function(Rest, A0, A1, A2, << Acc/binary, $r >>);
  126. $S -> Function(Rest, A0, A1, A2, << Acc/binary, $s >>);
  127. $T -> Function(Rest, A0, A1, A2, << Acc/binary, $t >>);
  128. $U -> Function(Rest, A0, A1, A2, << Acc/binary, $u >>);
  129. $V -> Function(Rest, A0, A1, A2, << Acc/binary, $v >>);
  130. $W -> Function(Rest, A0, A1, A2, << Acc/binary, $w >>);
  131. $X -> Function(Rest, A0, A1, A2, << Acc/binary, $x >>);
  132. $Y -> Function(Rest, A0, A1, A2, << Acc/binary, $y >>);
  133. $Z -> Function(Rest, A0, A1, A2, << Acc/binary, $z >>);
  134. C -> Function(Rest, A0, A1, A2, << Acc/binary, C >>)
  135. ).
  136. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, Acc),
  137. $A -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $a >>);
  138. $B -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $b >>);
  139. $C -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $c >>);
  140. $D -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $d >>);
  141. $E -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $e >>);
  142. $F -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $f >>);
  143. $G -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $g >>);
  144. $H -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $h >>);
  145. $I -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $i >>);
  146. $J -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $j >>);
  147. $K -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $k >>);
  148. $L -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $l >>);
  149. $M -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $m >>);
  150. $N -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $n >>);
  151. $O -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $o >>);
  152. $P -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $p >>);
  153. $Q -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $q >>);
  154. $R -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $r >>);
  155. $S -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $s >>);
  156. $T -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $t >>);
  157. $U -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $u >>);
  158. $V -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $v >>);
  159. $W -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $w >>);
  160. $X -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $x >>);
  161. $Y -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $y >>);
  162. $Z -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $z >>);
  163. C -> Function(Rest, A0, A1, A2, A3, << Acc/binary, C >>)
  164. ).
  165. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, Acc),
  166. $A -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $a >>);
  167. $B -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $b >>);
  168. $C -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $c >>);
  169. $D -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $d >>);
  170. $E -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $e >>);
  171. $F -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $f >>);
  172. $G -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $g >>);
  173. $H -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $h >>);
  174. $I -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $i >>);
  175. $J -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $j >>);
  176. $K -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $k >>);
  177. $L -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $l >>);
  178. $M -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $m >>);
  179. $N -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $n >>);
  180. $O -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $o >>);
  181. $P -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $p >>);
  182. $Q -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $q >>);
  183. $R -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $r >>);
  184. $S -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $s >>);
  185. $T -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $t >>);
  186. $U -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $u >>);
  187. $V -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $v >>);
  188. $W -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $w >>);
  189. $X -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $x >>);
  190. $Y -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $y >>);
  191. $Z -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $z >>);
  192. C -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, C >>)
  193. ).
  194. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, Acc),
  195. $A -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $a >>);
  196. $B -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $b >>);
  197. $C -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $c >>);
  198. $D -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $d >>);
  199. $E -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $e >>);
  200. $F -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $f >>);
  201. $G -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $g >>);
  202. $H -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $h >>);
  203. $I -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $i >>);
  204. $J -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $j >>);
  205. $K -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $k >>);
  206. $L -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $l >>);
  207. $M -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $m >>);
  208. $N -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $n >>);
  209. $O -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $o >>);
  210. $P -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $p >>);
  211. $Q -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $q >>);
  212. $R -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $r >>);
  213. $S -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $s >>);
  214. $T -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $t >>);
  215. $U -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $u >>);
  216. $V -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $v >>);
  217. $W -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $w >>);
  218. $X -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $x >>);
  219. $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $y >>);
  220. $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $z >>);
  221. C -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, C >>)
  222. ).
  223. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, Acc),
  224. $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $a >>);
  225. $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $b >>);
  226. $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $c >>);
  227. $D -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $d >>);
  228. $E -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $e >>);
  229. $F -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $f >>);
  230. $G -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $g >>);
  231. $H -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $h >>);
  232. $I -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $i >>);
  233. $J -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $j >>);
  234. $K -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $k >>);
  235. $L -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $l >>);
  236. $M -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $m >>);
  237. $N -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $n >>);
  238. $O -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $o >>);
  239. $P -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $p >>);
  240. $Q -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $q >>);
  241. $R -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $r >>);
  242. $S -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $s >>);
  243. $T -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $t >>);
  244. $U -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $u >>);
  245. $V -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $v >>);
  246. $W -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $w >>);
  247. $X -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $x >>);
  248. $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $y >>);
  249. $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $z >>);
  250. C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, C >>)
  251. ).
  252. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, Acc),
  253. $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $a >>);
  254. $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $b >>);
  255. $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $c >>);
  256. $D -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $d >>);
  257. $E -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $e >>);
  258. $F -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $f >>);
  259. $G -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $g >>);
  260. $H -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $h >>);
  261. $I -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $i >>);
  262. $J -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $j >>);
  263. $K -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $k >>);
  264. $L -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $l >>);
  265. $M -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $m >>);
  266. $N -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $n >>);
  267. $O -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $o >>);
  268. $P -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $p >>);
  269. $Q -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $q >>);
  270. $R -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $r >>);
  271. $S -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $s >>);
  272. $T -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $t >>);
  273. $U -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $u >>);
  274. $V -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $v >>);
  275. $W -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $w >>);
  276. $X -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $x >>);
  277. $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $y >>);
  278. $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $z >>);
  279. C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, C >>)
  280. ).
  281. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, Acc),
  282. $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $a >>);
  283. $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $b >>);
  284. $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $c >>);
  285. $D -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $d >>);
  286. $E -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $e >>);
  287. $F -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $f >>);
  288. $G -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $g >>);
  289. $H -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $h >>);
  290. $I -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $i >>);
  291. $J -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $j >>);
  292. $K -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $k >>);
  293. $L -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $l >>);
  294. $M -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $m >>);
  295. $N -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $n >>);
  296. $O -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $o >>);
  297. $P -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $p >>);
  298. $Q -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $q >>);
  299. $R -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $r >>);
  300. $S -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $s >>);
  301. $T -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $t >>);
  302. $U -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $u >>);
  303. $V -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $v >>);
  304. $W -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $w >>);
  305. $X -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $x >>);
  306. $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $y >>);
  307. $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $z >>);
  308. C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, C >>)
  309. ).
  310. -define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Acc),
  311. $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $a >>);
  312. $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $b >>);
  313. $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $c >>);
  314. $D -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $d >>);
  315. $E -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $e >>);
  316. $F -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $f >>);
  317. $G -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $g >>);
  318. $H -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $h >>);
  319. $I -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $i >>);
  320. $J -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $j >>);
  321. $K -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $k >>);
  322. $L -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $l >>);
  323. $M -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $m >>);
  324. $N -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $n >>);
  325. $O -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $o >>);
  326. $P -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $p >>);
  327. $Q -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $q >>);
  328. $R -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $r >>);
  329. $S -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $s >>);
  330. $T -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $t >>);
  331. $U -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $u >>);
  332. $V -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $v >>);
  333. $W -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $w >>);
  334. $X -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $x >>);
  335. $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $y >>);
  336. $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $z >>);
  337. C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, C >>)
  338. ).
  339. %% INLINE_LOWERCASE_BC(Bin)
  340. %%
  341. %% Lowercase the entire binary string in a binary comprehension.
  342. -define(INLINE_LOWERCASE_BC(Bin),
  343. << << case C of
  344. $A -> $a;
  345. $B -> $b;
  346. $C -> $c;
  347. $D -> $d;
  348. $E -> $e;
  349. $F -> $f;
  350. $G -> $g;
  351. $H -> $h;
  352. $I -> $i;
  353. $J -> $j;
  354. $K -> $k;
  355. $L -> $l;
  356. $M -> $m;
  357. $N -> $n;
  358. $O -> $o;
  359. $P -> $p;
  360. $Q -> $q;
  361. $R -> $r;
  362. $S -> $s;
  363. $T -> $t;
  364. $U -> $u;
  365. $V -> $v;
  366. $W -> $w;
  367. $X -> $x;
  368. $Y -> $y;
  369. $Z -> $z;
  370. C -> C
  371. end >> || << C >> <= Bin >>).
  372. -endif.