functionalscript 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/{types → fs}/asn.1/module.f.d.ts +1 -1
  2. package/{types → fs}/asn.1/module.f.js +3 -3
  3. package/{types → fs}/asn.1/test.f.js +2 -2
  4. package/{types → fs}/base128/module.f.d.ts +1 -1
  5. package/{types → fs}/base128/module.f.js +1 -1
  6. package/{types → fs}/base128/test.f.js +2 -2
  7. package/{bnf → fs/bnf}/data/module.f.d.ts +1 -1
  8. package/{cas → fs/cas}/module.f.d.ts +4 -4
  9. package/{cas → fs/cas}/module.f.js +1 -1
  10. package/{types → fs}/cbase32/module.f.d.ts +2 -2
  11. package/{types → fs}/cbase32/module.f.js +1 -1
  12. package/{types → fs}/cbase32/test.f.js +1 -1
  13. package/fs/ci/bun/module.f.d.ts +2 -0
  14. package/fs/ci/bun/module.f.js +20 -0
  15. package/fs/ci/common/module.f.d.ts +43 -0
  16. package/fs/ci/common/module.f.js +32 -0
  17. package/fs/ci/config/module.f.d.ts +25 -0
  18. package/fs/ci/config/module.f.js +34 -0
  19. package/fs/ci/deno/module.f.d.ts +2 -0
  20. package/fs/ci/deno/module.f.js +13 -0
  21. package/fs/ci/module.f.js +40 -0
  22. package/fs/ci/node/module.f.d.ts +6 -0
  23. package/fs/ci/node/module.f.js +36 -0
  24. package/fs/ci/playwright/module.f.d.ts +2 -0
  25. package/fs/ci/playwright/module.f.js +23 -0
  26. package/fs/ci/rust/module.f.d.ts +2 -0
  27. package/fs/ci/rust/module.f.js +49 -0
  28. package/{crypto → fs/crypto}/secp/module.f.d.ts +1 -2
  29. package/{dev → fs/dev}/module.f.d.ts +2 -0
  30. package/{dev → fs/dev}/module.f.js +5 -0
  31. package/{dev → fs/dev}/tf/all.test.js +7 -5
  32. package/{dev → fs/dev}/tf/module.f.d.ts +1 -1
  33. package/{dev → fs/dev}/tf/module.f.js +12 -9
  34. package/fs/dev/tf/test.f.d.ts +16 -0
  35. package/fs/dev/tf/test.f.js +22 -0
  36. package/fs/dev/version/module.f.d.ts +3 -0
  37. package/{djs → fs/djs}/tokenizer/module.f.js +3 -3
  38. package/{djs/parser-new → fs/djs/tokenizer-new}/test.f.d.ts +2 -1
  39. package/fs/djs/tokenizer-new/test.f.js +894 -0
  40. package/{js → fs/js}/tokenizer/module.f.js +34 -34
  41. package/{json → fs/json}/tokenizer/module.f.js +1 -1
  42. package/{path → fs/path}/module.f.d.ts +1 -1
  43. package/fs/sul/id/module.f.d.ts +33 -0
  44. package/fs/sul/id/module.f.js +94 -0
  45. package/fs/sul/id/test.f.d.ts +21 -0
  46. package/fs/sul/id/test.f.js +75 -0
  47. package/fs/sul/level/hash/module.f.d.ts +38 -0
  48. package/fs/sul/level/hash/module.f.js +43 -0
  49. package/fs/sul/level/hash/test.f.d.ts +14 -0
  50. package/fs/sul/level/hash/test.f.js +112 -0
  51. package/fs/sul/level/literal/module.f.d.ts +64 -0
  52. package/fs/sul/level/literal/module.f.js +88 -0
  53. package/fs/sul/level/literal/test.f.d.ts +12 -0
  54. package/fs/sul/level/literal/test.f.js +722 -0
  55. package/fs/sul/module.f.d.ts +23 -0
  56. package/fs/sul/module.f.js +46 -0
  57. package/fs/sul/test.f.d.ts +10 -0
  58. package/fs/sul/test.f.js +47 -0
  59. package/{text → fs/text}/module.f.d.ts +1 -1
  60. package/{text → fs/text}/utf16/module.f.js +8 -8
  61. package/{text → fs/text}/utf8/module.f.js +2 -2
  62. package/{types → fs/types}/bit_vec/module.f.d.ts +13 -1
  63. package/{types → fs/types}/bit_vec/module.f.js +33 -15
  64. package/{types → fs/types}/effects/module.f.d.ts +1 -0
  65. package/{types → fs/types}/effects/node/virtual/module.f.d.ts +3 -3
  66. package/{types → fs/types}/function/operator/module.f.d.ts +1 -1
  67. package/{types → fs/types}/function/operator/module.f.js +1 -1
  68. package/{types → fs/types}/list/module.f.js +1 -1
  69. package/fs/types/patricia_trie/module.f.d.ts +25 -0
  70. package/fs/types/patricia_trie/module.f.js +35 -0
  71. package/fs/types/patricia_trie/test.f.d.ts +8 -0
  72. package/fs/types/patricia_trie/test.f.js +121 -0
  73. package/fs/types/rtti/parse/module.f.d.ts +32 -0
  74. package/fs/types/rtti/parse/module.f.js +113 -0
  75. package/fs/types/rtti/parse/test.f.d.ts +104 -0
  76. package/fs/types/rtti/parse/test.f.js +316 -0
  77. package/fs/types/rtti/validate/module.f.d.ts +74 -0
  78. package/{types → fs/types}/rtti/validate/module.f.js +26 -24
  79. package/{types → fs/types}/rtti/validate/test.f.d.ts +11 -0
  80. package/{types → fs/types}/rtti/validate/test.f.js +38 -0
  81. package/{types → fs/types}/uint8array/module.f.d.ts +2 -2
  82. package/package.json +8 -8
  83. package/ci/module.f.js +0 -183
  84. package/dev/tf/test.f.d.ts +0 -4
  85. package/dev/tf/test.f.js +0 -5
  86. package/dev/version/module.f.d.ts +0 -3
  87. package/djs/parser-new/test.f.js +0 -202
  88. package/types/rtti/validate/module.f.d.ts +0 -50
  89. /package/{types → fs}/asn.1/test.f.d.ts +0 -0
  90. /package/{cas → fs/base128}/test.f.d.ts +0 -0
  91. /package/{bnf → fs/bnf}/data/module.f.js +0 -0
  92. /package/{bnf → fs/bnf}/data/test.f.d.ts +0 -0
  93. /package/{bnf → fs/bnf}/data/test.f.js +0 -0
  94. /package/{bnf → fs/bnf}/module.f.d.ts +0 -0
  95. /package/{bnf → fs/bnf}/module.f.js +0 -0
  96. /package/{bnf → fs/bnf}/test.f.d.ts +0 -0
  97. /package/{bnf → fs/bnf}/test.f.js +0 -0
  98. /package/{bnf → fs/bnf}/testlib.f.d.ts +0 -0
  99. /package/{bnf → fs/bnf}/testlib.f.js +0 -0
  100. /package/{types/base128 → fs/cas}/test.f.d.ts +0 -0
  101. /package/{cas → fs/cas}/test.f.js +0 -0
  102. /package/{types → fs}/cbase32/test.f.d.ts +0 -0
  103. /package/{ci → fs/ci}/module.f.d.ts +0 -0
  104. /package/{crypto → fs/crypto}/hmac/module.f.d.ts +0 -0
  105. /package/{crypto → fs/crypto}/hmac/module.f.js +0 -0
  106. /package/{crypto → fs/crypto}/hmac/test.f.d.ts +0 -0
  107. /package/{crypto → fs/crypto}/hmac/test.f.js +0 -0
  108. /package/{crypto → fs/crypto}/secp/module.f.js +0 -0
  109. /package/{crypto → fs/crypto}/secp/test.f.d.ts +0 -0
  110. /package/{crypto → fs/crypto}/secp/test.f.js +0 -0
  111. /package/{crypto → fs/crypto}/sha2/module.f.d.ts +0 -0
  112. /package/{crypto → fs/crypto}/sha2/module.f.js +0 -0
  113. /package/{crypto → fs/crypto}/sha2/test.f.d.ts +0 -0
  114. /package/{crypto → fs/crypto}/sha2/test.f.js +0 -0
  115. /package/{crypto → fs/crypto}/sign/module.f.d.ts +0 -0
  116. /package/{crypto → fs/crypto}/sign/module.f.js +0 -0
  117. /package/{crypto → fs/crypto}/sign/test.f.d.ts +0 -0
  118. /package/{crypto → fs/crypto}/sign/test.f.js +0 -0
  119. /package/{dev → fs/dev}/index/module.f.d.ts +0 -0
  120. /package/{dev → fs/dev}/index/module.f.js +0 -0
  121. /package/{dev → fs/dev}/test.f.d.ts +0 -0
  122. /package/{dev → fs/dev}/test.f.js +0 -0
  123. /package/{dev → fs/dev}/tf/all.test.d.ts +0 -0
  124. /package/{dev → fs/dev}/version/module.f.js +0 -0
  125. /package/{dev → fs/dev}/version/test.f.d.ts +0 -0
  126. /package/{dev → fs/dev}/version/test.f.js +0 -0
  127. /package/{djs → fs/djs}/ast/module.f.d.ts +0 -0
  128. /package/{djs → fs/djs}/ast/module.f.js +0 -0
  129. /package/{djs → fs/djs}/ast/test.f.d.ts +0 -0
  130. /package/{djs → fs/djs}/ast/test.f.js +0 -0
  131. /package/{djs → fs/djs}/examples/input.f.d.ts +0 -0
  132. /package/{djs → fs/djs}/examples/input.f.js +0 -0
  133. /package/{djs → fs/djs}/examples/m.f.d.ts +0 -0
  134. /package/{djs → fs/djs}/examples/m.f.js +0 -0
  135. /package/{djs → fs/djs}/module.f.d.ts +0 -0
  136. /package/{djs → fs/djs}/module.f.js +0 -0
  137. /package/{djs → fs/djs}/parser/module.f.d.ts +0 -0
  138. /package/{djs → fs/djs}/parser/module.f.js +0 -0
  139. /package/{djs → fs/djs}/parser/test.f.d.ts +0 -0
  140. /package/{djs → fs/djs}/parser/test.f.js +0 -0
  141. /package/{djs → fs/djs}/serializer/module.f.d.ts +0 -0
  142. /package/{djs → fs/djs}/serializer/module.f.js +0 -0
  143. /package/{djs → fs/djs}/serializer/test.f.d.ts +0 -0
  144. /package/{djs → fs/djs}/serializer/test.f.js +0 -0
  145. /package/{djs → fs/djs}/tokenizer/module.f.d.ts +0 -0
  146. /package/{djs → fs/djs}/tokenizer/test.f.d.ts +0 -0
  147. /package/{djs → fs/djs}/tokenizer/test.f.js +0 -0
  148. /package/{djs/parser-new → fs/djs/tokenizer-new}/module.f.d.ts +0 -0
  149. /package/{djs/parser-new → fs/djs/tokenizer-new}/module.f.js +0 -0
  150. /package/{djs → fs/djs}/transpiler/module.f.d.ts +0 -0
  151. /package/{djs → fs/djs}/transpiler/module.f.js +0 -0
  152. /package/{djs → fs/djs}/transpiler/test.f.d.ts +0 -0
  153. /package/{djs → fs/djs}/transpiler/test.f.js +0 -0
  154. /package/{fjs → fs/fjs}/module.d.ts +0 -0
  155. /package/{fjs → fs/fjs}/module.f.d.ts +0 -0
  156. /package/{fjs → fs/fjs}/module.f.js +0 -0
  157. /package/{fjs → fs/fjs}/module.js +0 -0
  158. /package/{fsc → fs/fsc}/bnf.f.d.ts +0 -0
  159. /package/{fsc → fs/fsc}/bnf.f.js +0 -0
  160. /package/{fsc → fs/fsc}/json.f.d.ts +0 -0
  161. /package/{fsc → fs/fsc}/json.f.js +0 -0
  162. /package/{fsc → fs/fsc}/module.f.d.ts +0 -0
  163. /package/{fsc → fs/fsc}/module.f.js +0 -0
  164. /package/{fsc → fs/fsc}/test.f.d.ts +0 -0
  165. /package/{fsc → fs/fsc}/test.f.js +0 -0
  166. /package/{fsm → fs/fsm}/module.f.d.ts +0 -0
  167. /package/{fsm → fs/fsm}/module.f.js +0 -0
  168. /package/{fsm → fs/fsm}/test.f.d.ts +0 -0
  169. /package/{fsm → fs/fsm}/test.f.js +0 -0
  170. /package/{html → fs/html}/module.f.d.ts +0 -0
  171. /package/{html → fs/html}/module.f.js +0 -0
  172. /package/{html → fs/html}/test.f.d.ts +0 -0
  173. /package/{html → fs/html}/test.f.js +0 -0
  174. /package/{io → fs/io}/module.d.ts +0 -0
  175. /package/{io → fs/io}/module.f.d.ts +0 -0
  176. /package/{io → fs/io}/module.f.js +0 -0
  177. /package/{io → fs/io}/module.js +0 -0
  178. /package/{io → fs/io}/virtual/module.f.d.ts +0 -0
  179. /package/{io → fs/io}/virtual/module.f.js +0 -0
  180. /package/{js → fs/js}/tokenizer/module.f.d.ts +0 -0
  181. /package/{js → fs/js}/tokenizer/test.f.d.ts +0 -0
  182. /package/{js → fs/js}/tokenizer/test.f.js +0 -0
  183. /package/{json → fs/json}/module.f.d.ts +0 -0
  184. /package/{json → fs/json}/module.f.js +0 -0
  185. /package/{json → fs/json}/parser/module.f.d.ts +0 -0
  186. /package/{json → fs/json}/parser/module.f.js +0 -0
  187. /package/{json → fs/json}/parser/test.f.d.ts +0 -0
  188. /package/{json → fs/json}/parser/test.f.js +0 -0
  189. /package/{json → fs/json}/serializer/module.f.d.ts +0 -0
  190. /package/{json → fs/json}/serializer/module.f.js +0 -0
  191. /package/{json → fs/json}/serializer/test.f.d.ts +0 -0
  192. /package/{json → fs/json}/serializer/test.f.js +0 -0
  193. /package/{json → fs/json}/test.f.d.ts +0 -0
  194. /package/{json → fs/json}/test.f.js +0 -0
  195. /package/{json → fs/json}/tokenizer/module.f.d.ts +0 -0
  196. /package/{json → fs/json}/tokenizer/test.f.d.ts +0 -0
  197. /package/{json → fs/json}/tokenizer/test.f.js +0 -0
  198. /package/{path → fs/path}/module.f.js +0 -0
  199. /package/{path → fs/path}/test.f.d.ts +0 -0
  200. /package/{path → fs/path}/test.f.js +0 -0
  201. /package/{text → fs/text}/ascii/module.f.d.ts +0 -0
  202. /package/{text → fs/text}/ascii/module.f.js +0 -0
  203. /package/{text → fs/text}/ascii/test.f.d.ts +0 -0
  204. /package/{text → fs/text}/ascii/test.f.js +0 -0
  205. /package/{text → fs/text}/module.f.js +0 -0
  206. /package/{text → fs/text}/sgr/module.f.d.ts +0 -0
  207. /package/{text → fs/text}/sgr/module.f.js +0 -0
  208. /package/{text → fs/text}/sgr/test.f.d.ts +0 -0
  209. /package/{text → fs/text}/sgr/test.f.js +0 -0
  210. /package/{text → fs/text}/test.f.d.ts +0 -0
  211. /package/{text → fs/text}/test.f.js +0 -0
  212. /package/{text → fs/text}/utf16/module.f.d.ts +0 -0
  213. /package/{text → fs/text}/utf16/test.f.d.ts +0 -0
  214. /package/{text → fs/text}/utf16/test.f.js +0 -0
  215. /package/{text → fs/text}/utf8/module.f.d.ts +0 -0
  216. /package/{text → fs/text}/utf8/test.f.d.ts +0 -0
  217. /package/{text → fs/text}/utf8/test.f.js +0 -0
  218. /package/{types → fs/types}/array/module.f.d.ts +0 -0
  219. /package/{types → fs/types}/array/module.f.js +0 -0
  220. /package/{types → fs/types}/array/test.f.d.ts +0 -0
  221. /package/{types → fs/types}/array/test.f.js +0 -0
  222. /package/{types → fs/types}/bigfloat/module.f.d.ts +0 -0
  223. /package/{types → fs/types}/bigfloat/module.f.js +0 -0
  224. /package/{types → fs/types}/bigfloat/test.f.d.ts +0 -0
  225. /package/{types → fs/types}/bigfloat/test.f.js +0 -0
  226. /package/{types → fs/types}/bigint/module.f.d.ts +0 -0
  227. /package/{types → fs/types}/bigint/module.f.js +0 -0
  228. /package/{types → fs/types}/bigint/test.f.d.ts +0 -0
  229. /package/{types → fs/types}/bigint/test.f.js +0 -0
  230. /package/{types → fs/types}/bit_vec/test.f.d.ts +0 -0
  231. /package/{types → fs/types}/bit_vec/test.f.js +0 -0
  232. /package/{types → fs/types}/btree/find/module.f.d.ts +0 -0
  233. /package/{types → fs/types}/btree/find/module.f.js +0 -0
  234. /package/{types → fs/types}/btree/find/test.f.d.ts +0 -0
  235. /package/{types → fs/types}/btree/find/test.f.js +0 -0
  236. /package/{types → fs/types}/btree/module.f.d.ts +0 -0
  237. /package/{types → fs/types}/btree/module.f.js +0 -0
  238. /package/{types → fs/types}/btree/remove/module.f.d.ts +0 -0
  239. /package/{types → fs/types}/btree/remove/module.f.js +0 -0
  240. /package/{types → fs/types}/btree/remove/test.f.d.ts +0 -0
  241. /package/{types → fs/types}/btree/remove/test.f.js +0 -0
  242. /package/{types → fs/types}/btree/set/module.f.d.ts +0 -0
  243. /package/{types → fs/types}/btree/set/module.f.js +0 -0
  244. /package/{types → fs/types}/btree/set/test.f.d.ts +0 -0
  245. /package/{types → fs/types}/btree/set/test.f.js +0 -0
  246. /package/{types → fs/types}/btree/test.f.d.ts +0 -0
  247. /package/{types → fs/types}/btree/test.f.js +0 -0
  248. /package/{types → fs/types}/btree/types/module.f.d.ts +0 -0
  249. /package/{types → fs/types}/btree/types/module.f.js +0 -0
  250. /package/{types → fs/types}/byte_set/module.f.d.ts +0 -0
  251. /package/{types → fs/types}/byte_set/module.f.js +0 -0
  252. /package/{types → fs/types}/byte_set/test.f.d.ts +0 -0
  253. /package/{types → fs/types}/byte_set/test.f.js +0 -0
  254. /package/{types → fs/types}/effects/mock/module.f.d.ts +0 -0
  255. /package/{types → fs/types}/effects/mock/module.f.js +0 -0
  256. /package/{types → fs/types}/effects/module.d.ts +0 -0
  257. /package/{types → fs/types}/effects/module.f.js +0 -0
  258. /package/{types → fs/types}/effects/module.js +0 -0
  259. /package/{types → fs/types}/effects/node/module.f.d.ts +0 -0
  260. /package/{types → fs/types}/effects/node/module.f.js +0 -0
  261. /package/{types → fs/types}/effects/node/test.f.d.ts +0 -0
  262. /package/{types → fs/types}/effects/node/test.f.js +0 -0
  263. /package/{types → fs/types}/effects/node/virtual/module.f.js +0 -0
  264. /package/{types → fs/types}/function/compare/module.f.d.ts +0 -0
  265. /package/{types → fs/types}/function/compare/module.f.js +0 -0
  266. /package/{types → fs/types}/function/compare/test.f.d.ts +0 -0
  267. /package/{types → fs/types}/function/compare/test.f.js +0 -0
  268. /package/{types → fs/types}/function/module.f.d.ts +0 -0
  269. /package/{types → fs/types}/function/module.f.js +0 -0
  270. /package/{types → fs/types}/function/test.f.d.ts +0 -0
  271. /package/{types → fs/types}/function/test.f.js +0 -0
  272. /package/{types → fs/types}/list/module.f.d.ts +0 -0
  273. /package/{types → fs/types}/list/test.f.d.ts +0 -0
  274. /package/{types → fs/types}/list/test.f.js +0 -0
  275. /package/{types → fs/types}/map/module.f.d.ts +0 -0
  276. /package/{types → fs/types}/map/module.f.js +0 -0
  277. /package/{types → fs/types}/map/test.f.d.ts +0 -0
  278. /package/{types → fs/types}/map/test.f.js +0 -0
  279. /package/{types → fs/types}/monoid/module.f.d.ts +0 -0
  280. /package/{types → fs/types}/monoid/module.f.js +0 -0
  281. /package/{types → fs/types}/monoid/test.f.d.ts +0 -0
  282. /package/{types → fs/types}/monoid/test.f.js +0 -0
  283. /package/{types → fs/types}/nibble_set/module.f.d.ts +0 -0
  284. /package/{types → fs/types}/nibble_set/module.f.js +0 -0
  285. /package/{types → fs/types}/nibble_set/test.f.d.ts +0 -0
  286. /package/{types → fs/types}/nibble_set/test.f.js +0 -0
  287. /package/{types → fs/types}/nominal/module.f.d.ts +0 -0
  288. /package/{types → fs/types}/nominal/module.f.js +0 -0
  289. /package/{types → fs/types}/nominal/test.f.d.ts +0 -0
  290. /package/{types → fs/types}/nominal/test.f.js +0 -0
  291. /package/{types → fs/types}/nullable/module.f.d.ts +0 -0
  292. /package/{types → fs/types}/nullable/module.f.js +0 -0
  293. /package/{types → fs/types}/nullable/test.f.d.ts +0 -0
  294. /package/{types → fs/types}/nullable/test.f.js +0 -0
  295. /package/{types → fs/types}/number/module.f.d.ts +0 -0
  296. /package/{types → fs/types}/number/module.f.js +0 -0
  297. /package/{types → fs/types}/number/test.f.d.ts +0 -0
  298. /package/{types → fs/types}/number/test.f.js +0 -0
  299. /package/{types → fs/types}/object/module.f.d.ts +0 -0
  300. /package/{types → fs/types}/object/module.f.js +0 -0
  301. /package/{types → fs/types}/object/test.f.d.ts +0 -0
  302. /package/{types → fs/types}/object/test.f.js +0 -0
  303. /package/{types → fs/types}/option/module.f.d.ts +0 -0
  304. /package/{types → fs/types}/option/module.f.js +0 -0
  305. /package/{types → fs/types}/ordered_map/module.f.d.ts +0 -0
  306. /package/{types → fs/types}/ordered_map/module.f.js +0 -0
  307. /package/{types → fs/types}/ordered_map/test.f.d.ts +0 -0
  308. /package/{types → fs/types}/ordered_map/test.f.js +0 -0
  309. /package/{types → fs/types}/prime_field/module.f.d.ts +0 -0
  310. /package/{types → fs/types}/prime_field/module.f.js +0 -0
  311. /package/{types → fs/types}/prime_field/test.f.d.ts +0 -0
  312. /package/{types → fs/types}/prime_field/test.f.js +0 -0
  313. /package/{types → fs/types}/range/module.f.d.ts +0 -0
  314. /package/{types → fs/types}/range/module.f.js +0 -0
  315. /package/{types → fs/types}/range/test.f.d.ts +0 -0
  316. /package/{types → fs/types}/range/test.f.js +0 -0
  317. /package/{types → fs/types}/range_map/module.f.d.ts +0 -0
  318. /package/{types → fs/types}/range_map/module.f.js +0 -0
  319. /package/{types → fs/types}/range_map/test.f.d.ts +0 -0
  320. /package/{types → fs/types}/range_map/test.f.js +0 -0
  321. /package/{types → fs/types}/result/module.d.ts +0 -0
  322. /package/{types → fs/types}/result/module.f.d.ts +0 -0
  323. /package/{types → fs/types}/result/module.f.js +0 -0
  324. /package/{types → fs/types}/result/module.js +0 -0
  325. /package/{types → fs/types}/result/test.f.d.ts +0 -0
  326. /package/{types → fs/types}/result/test.f.js +0 -0
  327. /package/{types → fs/types}/rtti/module.f.d.ts +0 -0
  328. /package/{types → fs/types}/rtti/module.f.js +0 -0
  329. /package/{types → fs/types}/rtti/test.f.d.ts +0 -0
  330. /package/{types → fs/types}/rtti/test.f.js +0 -0
  331. /package/{types → fs/types}/rtti/ts/module.f.d.ts +0 -0
  332. /package/{types → fs/types}/rtti/ts/module.f.js +0 -0
  333. /package/{types → fs/types}/rtti/ts/test.f.d.ts +0 -0
  334. /package/{types → fs/types}/rtti/ts/test.f.js +0 -0
  335. /package/{types → fs/types}/sorted_list/module.f.d.ts +0 -0
  336. /package/{types → fs/types}/sorted_list/module.f.js +0 -0
  337. /package/{types → fs/types}/sorted_list/test.f.d.ts +0 -0
  338. /package/{types → fs/types}/sorted_list/test.f.js +0 -0
  339. /package/{types → fs/types}/sorted_set/module.f.d.ts +0 -0
  340. /package/{types → fs/types}/sorted_set/module.f.js +0 -0
  341. /package/{types → fs/types}/sorted_set/test.f.d.ts +0 -0
  342. /package/{types → fs/types}/sorted_set/test.f.js +0 -0
  343. /package/{types → fs/types}/string/module.f.d.ts +0 -0
  344. /package/{types → fs/types}/string/module.f.js +0 -0
  345. /package/{types → fs/types}/string/test.f.d.ts +0 -0
  346. /package/{types → fs/types}/string/test.f.js +0 -0
  347. /package/{types → fs/types}/string_set/module.f.d.ts +0 -0
  348. /package/{types → fs/types}/string_set/module.f.js +0 -0
  349. /package/{types → fs/types}/string_set/test.f.d.ts +0 -0
  350. /package/{types → fs/types}/string_set/test.f.js +0 -0
  351. /package/{types → fs/types}/ts/module.f.d.ts +0 -0
  352. /package/{types → fs/types}/ts/module.f.js +0 -0
  353. /package/{types → fs/types}/uint8array/module.f.js +0 -0
  354. /package/{types → fs/types}/uint8array/test.f.d.ts +0 -0
  355. /package/{types → fs/types}/uint8array/test.f.js +0 -0
  356. /package/{website → fs/website}/module.f.d.ts +0 -0
  357. /package/{website → fs/website}/module.f.js +0 -0
@@ -0,0 +1,722 @@
1
+ import { chunkList, msb, vec } from "../../../types/bit_vec/module.f.js";
2
+ import { map, stateScan, toArray } from "../../../types/list/module.f.js";
3
+ import { emptyEncodeState, emptyPipelineState, level, literal1ToVec, literal2ToVec, literal3ToVec, pipelineStep, symbolToString, wordEqual, wordToString } from "./module.f.js";
4
+ const tests = (n) => {
5
+ const { sum, decode, encode: push } = level(n);
6
+ return {
7
+ c: (i, s) => {
8
+ const result = sum(i);
9
+ if (result !== s) {
10
+ throw new Error(`Assertion failed for n=${n}, i=${i}, s=${symbolToString(s)}, got ${symbolToString(result)}`);
11
+ }
12
+ },
13
+ n: (word, expected) => {
14
+ // encode
15
+ const decoded = decode(expected);
16
+ if (!wordEqual(decoded)(word)) {
17
+ throw new Error(`Assertion failed for n=${n}, word=${wordToString(word)}, expected decode to return ${wordToString(word)}, got [${wordToString(decoded)}]`);
18
+ }
19
+ // encode
20
+ const a = toArray(stateScan(push)(emptyEncodeState)(word));
21
+ if (!a.slice(0, -1).every(i => i === undefined)) {
22
+ throw a;
23
+ }
24
+ const x = a.at(-1);
25
+ if (x !== expected) {
26
+ throw x;
27
+ }
28
+ }
29
+ };
30
+ };
31
+ const l = (f) => (l, e) => {
32
+ const result = f(l);
33
+ if (result !== e) {
34
+ throw [result, e];
35
+ }
36
+ };
37
+ const vecToBits = (v) => map((b) => msb.front(1n)(b))(chunkList(msb)(1n)(v));
38
+ const w = (symbol, expected) => {
39
+ const result = literal3ToVec(symbol);
40
+ if (result !== expected)
41
+ throw [result, expected];
42
+ const a = toArray(stateScan(pipelineStep)(emptyPipelineState)(vecToBits(expected)));
43
+ if (!a.slice(0, -1).every(o => o === undefined))
44
+ throw a;
45
+ const out = a.at(-1);
46
+ if (out !== symbol)
47
+ throw out;
48
+ };
49
+ export default {
50
+ x2: () => {
51
+ const { c, n } = tests(0n);
52
+ c(-1n, 0n);
53
+ c(0n, 2n);
54
+ c(1n, 5n);
55
+ //
56
+ n([0n, 0n], 0n);
57
+ n([0n, 1n], 1n);
58
+ n([1n, 0n, 0n], 2n);
59
+ n([1n, 0n, 1n], 3n);
60
+ n([1n, 1n], 4n);
61
+ },
62
+ x5: () => {
63
+ const { c, n } = tests(2n);
64
+ c(-1n, 0n);
65
+ c(0n, 5n); // N
66
+ c(1n, 0xen); // N + (2N - 1) = 3N - 1
67
+ c(2n, 0x1fn); // N + (2N - 1) + (4N - 3) = 7N - 4
68
+ c(3n, 0x40n);
69
+ c(4n, 0x81n);
70
+ //
71
+ n([0n, 0n], 0x00n);
72
+ n([0n, 1n], 0x01n);
73
+ n([0n, 2n], 0x02n);
74
+ n([0n, 3n], 0x03n);
75
+ n([0n, 4n], 0x04n);
76
+ //
77
+ n([1n, 0n, 0n], 0x05n);
78
+ n([1n, 0n, 1n], 0x06n);
79
+ n([1n, 0n, 2n], 0x07n);
80
+ n([1n, 0n, 3n], 0x08n);
81
+ n([1n, 0n, 4n], 0x09n);
82
+ n([1n, 1n], 0x0an);
83
+ n([1n, 2n], 0x0bn);
84
+ n([1n, 3n], 0x0cn);
85
+ n([1n, 4n], 0x0dn);
86
+ //
87
+ n([2n, 0n, 0n], 0x0en);
88
+ n([2n, 0n, 1n], 0x0fn);
89
+ n([2n, 0n, 2n], 0x10n);
90
+ n([2n, 0n, 3n], 0x11n);
91
+ n([2n, 0n, 4n], 0x12n);
92
+ n([2n, 1n, 0n, 0n], 0x13n);
93
+ n([2n, 1n, 0n, 1n], 0x14n);
94
+ n([2n, 1n, 0n, 2n], 0x15n);
95
+ n([2n, 1n, 0n, 3n], 0x16n);
96
+ n([2n, 1n, 0n, 4n], 0x17n);
97
+ n([2n, 1n, 1n], 0x18n);
98
+ n([2n, 1n, 2n], 0x19n);
99
+ n([2n, 1n, 3n], 0x1an);
100
+ n([2n, 1n, 4n], 0x1bn);
101
+ n([2n, 2n], 0x1cn);
102
+ n([2n, 3n], 0x1dn);
103
+ n([2n, 4n], 0x1en);
104
+ //
105
+ n([3n, 0n, 0n], 0x1fn);
106
+ n([3n, 0n, 1n], 0x20n);
107
+ n([3n, 0n, 2n], 0x21n);
108
+ n([3n, 0n, 3n], 0x22n);
109
+ n([3n, 0n, 4n], 0x23n);
110
+ n([3n, 1n, 0n, 0n], 0x24n);
111
+ n([3n, 1n, 0n, 1n], 0x25n);
112
+ n([3n, 1n, 0n, 2n], 0x26n);
113
+ n([3n, 1n, 0n, 3n], 0x27n);
114
+ n([3n, 1n, 0n, 4n], 0x28n);
115
+ n([3n, 1n, 1n], 0x29n);
116
+ n([3n, 1n, 2n], 0x2an);
117
+ n([3n, 1n, 3n], 0x2bn);
118
+ n([3n, 1n, 4n], 0x2cn);
119
+ n([3n, 2n, 0n, 0n], 0x2dn);
120
+ n([3n, 2n, 0n, 1n], 0x2en);
121
+ n([3n, 2n, 0n, 2n], 0x2fn);
122
+ n([3n, 2n, 0n, 3n], 0x30n);
123
+ n([3n, 2n, 0n, 4n], 0x31n);
124
+ n([3n, 2n, 1n, 0n, 0n], 0x32n);
125
+ n([3n, 2n, 1n, 0n, 1n], 0x33n);
126
+ n([3n, 2n, 1n, 0n, 2n], 0x34n);
127
+ n([3n, 2n, 1n, 0n, 3n], 0x35n);
128
+ n([3n, 2n, 1n, 0n, 4n], 0x36n);
129
+ n([3n, 2n, 1n, 1n], 0x37n);
130
+ n([3n, 2n, 1n, 2n], 0x38n);
131
+ n([3n, 2n, 1n, 3n], 0x39n);
132
+ n([3n, 2n, 1n, 4n], 0x3an);
133
+ n([3n, 2n, 2n], 0x3bn);
134
+ n([3n, 2n, 3n], 0x3cn);
135
+ n([3n, 2n, 4n], 0x3dn);
136
+ n([3n, 3n], 0x3en);
137
+ n([3n, 4n], 0x3fn);
138
+ //
139
+ n([4n, 0n, 0n], 0x40n);
140
+ n([4n, 0n, 1n], 0x41n);
141
+ n([4n, 0n, 2n], 0x42n);
142
+ n([4n, 0n, 3n], 0x43n);
143
+ n([4n, 0n, 4n], 0x44n);
144
+ n([4n, 1n, 0n, 0n], 0x45n);
145
+ n([4n, 1n, 0n, 1n], 0x46n);
146
+ n([4n, 1n, 0n, 2n], 0x47n);
147
+ n([4n, 1n, 0n, 3n], 0x48n);
148
+ n([4n, 1n, 0n, 4n], 0x49n);
149
+ n([4n, 1n, 1n], 0x4an);
150
+ n([4n, 1n, 2n], 0x4bn);
151
+ n([4n, 1n, 3n], 0x4cn);
152
+ n([4n, 1n, 4n], 0x4dn);
153
+ n([4n, 2n, 0n, 0n], 0x4en);
154
+ n([4n, 2n, 0n, 1n], 0x4fn);
155
+ n([4n, 2n, 0n, 2n], 0x50n);
156
+ n([4n, 2n, 0n, 3n], 0x51n);
157
+ n([4n, 2n, 0n, 4n], 0x52n);
158
+ n([4n, 2n, 1n, 0n, 0n], 0x53n);
159
+ n([4n, 2n, 1n, 0n, 1n], 0x54n);
160
+ n([4n, 2n, 1n, 0n, 2n], 0x55n);
161
+ n([4n, 2n, 1n, 0n, 3n], 0x56n);
162
+ n([4n, 2n, 1n, 0n, 4n], 0x57n);
163
+ n([4n, 2n, 1n, 1n], 0x58n);
164
+ n([4n, 2n, 1n, 2n], 0x59n);
165
+ n([4n, 2n, 1n, 3n], 0x5an);
166
+ n([4n, 2n, 1n, 4n], 0x5bn);
167
+ n([4n, 2n, 2n], 0x5cn);
168
+ n([4n, 2n, 3n], 0x5dn);
169
+ n([4n, 2n, 4n], 0x5en);
170
+ n([4n, 3n, 0n, 0n], 0x5fn);
171
+ n([4n, 3n, 0n, 1n], 0x60n);
172
+ n([4n, 3n, 0n, 2n], 0x61n);
173
+ n([4n, 3n, 0n, 3n], 0x62n);
174
+ n([4n, 3n, 0n, 4n], 0x63n);
175
+ n([4n, 3n, 1n, 0n, 0n], 0x64n);
176
+ n([4n, 3n, 1n, 0n, 1n], 0x65n);
177
+ n([4n, 3n, 1n, 0n, 2n], 0x66n);
178
+ n([4n, 3n, 1n, 0n, 3n], 0x67n);
179
+ n([4n, 3n, 1n, 0n, 4n], 0x68n);
180
+ n([4n, 3n, 1n, 1n], 0x69n);
181
+ n([4n, 3n, 1n, 2n], 0x6an);
182
+ n([4n, 3n, 1n, 3n], 0x6bn);
183
+ n([4n, 3n, 1n, 4n], 0x6cn);
184
+ n([4n, 3n, 2n, 0n, 0n], 0x6dn);
185
+ n([4n, 3n, 2n, 0n, 1n], 0x6en);
186
+ n([4n, 3n, 2n, 0n, 2n], 0x6fn);
187
+ n([4n, 3n, 2n, 0n, 3n], 0x70n);
188
+ n([4n, 3n, 2n, 0n, 4n], 0x71n);
189
+ n([4n, 3n, 2n, 1n, 0n, 0n], 0x72n);
190
+ n([4n, 3n, 2n, 1n, 0n, 1n], 0x73n);
191
+ n([4n, 3n, 2n, 1n, 0n, 2n], 0x74n);
192
+ n([4n, 3n, 2n, 1n, 0n, 3n], 0x75n);
193
+ n([4n, 3n, 2n, 1n, 0n, 4n], 0x76n);
194
+ n([4n, 3n, 2n, 1n, 1n], 0x77n);
195
+ n([4n, 3n, 2n, 1n, 2n], 0x78n);
196
+ n([4n, 3n, 2n, 1n, 3n], 0x79n);
197
+ n([4n, 3n, 2n, 1n, 4n], 0x7an);
198
+ n([4n, 3n, 2n, 2n], 0x7bn);
199
+ n([4n, 3n, 2n, 3n], 0x7cn);
200
+ n([4n, 3n, 2n, 4n], 0x7dn);
201
+ n([4n, 3n, 3n], 0x7en);
202
+ n([4n, 3n, 4n], 0x7fn);
203
+ n([4n, 4n], 0x80n);
204
+ },
205
+ x81: () => {
206
+ const { c, n } = tests(7n);
207
+ c(-1n, 0n);
208
+ // N,
209
+ // N + (2N - 1) = 3N - 1,
210
+ // N + (2N - 1) + (4N - 3) = 7N - 4,
211
+ // N + (2N - 1) + (4N - 3) + (8N - 7) = 15N - 11,
212
+ // N + (2N - 1) + (4N - 3) + (8N - 7) + (16N - 15) = 31N - 26,
213
+ c(0x00n, 0x81n);
214
+ c(0x01n, 0x182n);
215
+ c(0x02n, 0x383n);
216
+ c(0x03n, 0x784n);
217
+ c(0x04n, 0xf85n);
218
+ c(0x05n, 0x1f86n);
219
+ c(0x06n, 0x3f87n);
220
+ c(0x07n, 0x7f88n);
221
+ c(0x08n, 0xff89n);
222
+ c(0x09n, 0x1ff8an);
223
+ c(0x0an, 0x3ff8bn);
224
+ c(0x0bn, 0x7ff8cn);
225
+ c(0x0cn, 0xfff8dn);
226
+ c(0x0dn, 0x1fff8en);
227
+ c(0x0en, 0x3fff8fn);
228
+ c(0x0fn, 0x7fff90n);
229
+ c(0x10n, 0xffff91n);
230
+ c(0x11n, 0x1ffff92n);
231
+ c(0x12n, 0x3ffff93n);
232
+ c(0x13n, 0x7ffff94n);
233
+ c(0x14n, 0xfffff95n);
234
+ c(0x15n, 0x1fffff96n);
235
+ c(0x16n, 0x3fffff97n);
236
+ c(0x17n, 0x7fffff98n);
237
+ c(0x18n, 0xffffff99n);
238
+ c(0x19n, 0x1ffffff9an);
239
+ c(0x1an, 0x3ffffff9bn);
240
+ c(0x1bn, 0x7ffffff9cn);
241
+ c(0x1cn, 0xfffffff9dn);
242
+ c(0x1dn, 0x1fffffff9en);
243
+ c(0x1en, 0x3fffffff9fn);
244
+ c(0x1fn, 0x7fffffffa0n);
245
+ c(0x20n, 0xffffffffa1n);
246
+ c(0x21n, 0x1ffffffffa2n);
247
+ c(0x22n, 0x3ffffffffa3n);
248
+ c(0x23n, 0x7ffffffffa4n);
249
+ c(0x24n, 0xfffffffffa5n);
250
+ c(0x25n, 0x1fffffffffa6n);
251
+ c(0x26n, 0x3fffffffffa7n);
252
+ c(0x27n, 0x7fffffffffa8n);
253
+ c(0x28n, 0xffffffffffa9n);
254
+ c(0x29n, 0x1ffffffffffaan);
255
+ c(0x2an, 0x3ffffffffffabn);
256
+ c(0x2bn, 0x7ffffffffffacn);
257
+ c(0x2cn, 0xfffffffffffadn);
258
+ c(0x2dn, 0x1fffffffffffaen);
259
+ c(0x2en, 0x3fffffffffffafn);
260
+ c(0x2fn, 0x7fffffffffffb0n);
261
+ c(0x30n, 0xffffffffffffb1n);
262
+ c(0x31n, 0x1ffffffffffffb2n);
263
+ c(0x32n, 0x3ffffffffffffb3n);
264
+ c(0x33n, 0x7ffffffffffffb4n);
265
+ c(0x34n, 0xfffffffffffffb5n);
266
+ c(0x35n, 0x1fffffffffffffb6n);
267
+ c(0x36n, 0x3fffffffffffffb7n);
268
+ c(0x37n, 0x7fffffffffffffb8n);
269
+ c(0x38n, 0xffffffffffffffb9n);
270
+ c(0x39n, 0x1ffffffffffffffban);
271
+ c(0x3an, 0x3ffffffffffffffbbn);
272
+ c(0x3bn, 0x7ffffffffffffffbcn);
273
+ c(0x3cn, 0xfffffffffffffffbdn);
274
+ c(0x3dn, 0x1fffffffffffffffben);
275
+ c(0x3en, 0x3fffffffffffffffbfn);
276
+ c(0x3fn, 0x7fffffffffffffffc0n);
277
+ c(0x40n, 0xffffffffffffffffc1n);
278
+ c(0x41n, 0x1ffffffffffffffffc2n);
279
+ c(0x42n, 0x3ffffffffffffffffc3n);
280
+ c(0x43n, 0x7ffffffffffffffffc4n);
281
+ c(0x44n, 0xfffffffffffffffffc5n);
282
+ c(0x45n, 0x1fffffffffffffffffc6n);
283
+ c(0x46n, 0x3fffffffffffffffffc7n);
284
+ c(0x47n, 0x7fffffffffffffffffc8n);
285
+ c(0x48n, 0xffffffffffffffffffc9n);
286
+ c(0x49n, 0x1ffffffffffffffffffcan);
287
+ c(0x4an, 0x3ffffffffffffffffffcbn);
288
+ c(0x4bn, 0x7ffffffffffffffffffccn);
289
+ c(0x4cn, 0xfffffffffffffffffffcdn);
290
+ c(0x4dn, 0x1fffffffffffffffffffcen);
291
+ c(0x4en, 0x3fffffffffffffffffffcfn);
292
+ c(0x4fn, 0x7fffffffffffffffffffd0n);
293
+ c(0x50n, 0xffffffffffffffffffffd1n);
294
+ c(0x51n, 0x1ffffffffffffffffffffd2n);
295
+ c(0x52n, 0x3ffffffffffffffffffffd3n);
296
+ c(0x53n, 0x7ffffffffffffffffffffd4n);
297
+ c(0x54n, 0xfffffffffffffffffffffd5n);
298
+ c(0x55n, 0x1fffffffffffffffffffffd6n);
299
+ c(0x56n, 0x3fffffffffffffffffffffd7n);
300
+ c(0x57n, 0x7fffffffffffffffffffffd8n);
301
+ c(0x58n, 0xffffffffffffffffffffffd9n);
302
+ c(0x59n, 0x1ffffffffffffffffffffffdan);
303
+ c(0x5an, 0x3ffffffffffffffffffffffdbn);
304
+ c(0x5bn, 0x7ffffffffffffffffffffffdcn);
305
+ c(0x5cn, 0xfffffffffffffffffffffffddn);
306
+ c(0x5dn, 0x1fffffffffffffffffffffffden);
307
+ c(0x5en, 0x3fffffffffffffffffffffffdfn);
308
+ c(0x5fn, 0x7fffffffffffffffffffffffe0n);
309
+ c(0x60n, 0xffffffffffffffffffffffffe1n);
310
+ c(0x61n, 0x1ffffffffffffffffffffffffe2n);
311
+ c(0x62n, 0x3ffffffffffffffffffffffffe3n);
312
+ c(0x63n, 0x7ffffffffffffffffffffffffe4n);
313
+ c(0x64n, 0xfffffffffffffffffffffffffe5n);
314
+ c(0x65n, 0x1fffffffffffffffffffffffffe6n);
315
+ c(0x66n, 0x3fffffffffffffffffffffffffe7n);
316
+ c(0x67n, 0x7fffffffffffffffffffffffffe8n);
317
+ c(0x68n, 0xffffffffffffffffffffffffffe9n);
318
+ c(0x69n, 0x1ffffffffffffffffffffffffffean);
319
+ c(0x6an, 0x3ffffffffffffffffffffffffffebn);
320
+ c(0x6bn, 0x7ffffffffffffffffffffffffffecn);
321
+ c(0x6cn, 0xfffffffffffffffffffffffffffedn);
322
+ c(0x6dn, 0x1fffffffffffffffffffffffffffeen);
323
+ c(0x6en, 0x3fffffffffffffffffffffffffffefn);
324
+ c(0x6fn, 0x7ffffffffffffffffffffffffffff0n);
325
+ c(0x70n, 0xfffffffffffffffffffffffffffff1n);
326
+ c(0x71n, 0x1fffffffffffffffffffffffffffff2n);
327
+ c(0x72n, 0x3fffffffffffffffffffffffffffff3n);
328
+ c(0x73n, 0x7fffffffffffffffffffffffffffff4n);
329
+ c(0x74n, 0xffffffffffffffffffffffffffffff5n);
330
+ c(0x75n, 0x1ffffffffffffffffffffffffffffff6n);
331
+ c(0x76n, 0x3ffffffffffffffffffffffffffffff7n);
332
+ c(0x77n, 0x7ffffffffffffffffffffffffffffff8n);
333
+ c(0x78n, 0xfffffffffffffffffffffffffffffff9n);
334
+ c(0x79n, 0x1fffffffffffffffffffffffffffffffan);
335
+ c(0x7an, 0x3fffffffffffffffffffffffffffffffbn);
336
+ c(0x7bn, 0x7fffffffffffffffffffffffffffffffcn);
337
+ c(0x7cn, 0xffffffffffffffffffffffffffffffffdn);
338
+ c(0x7dn, 0x1ffffffffffffffffffffffffffffffffen);
339
+ c(0x7en, 0x3fffffffffffffffffffffffffffffffffn);
340
+ c(0x7fn, 0x8000000000000000000000000000000000n);
341
+ c(0x80n, 0x10000000000000000000000000000000001n);
342
+ //
343
+ n([0n, 0n], 0x00n);
344
+ n([0n, 1n], 0x01n);
345
+ n([0n, 2n], 0x02n);
346
+ //
347
+ n([0n, 0x80n], 0x80n);
348
+ n([1n, 0n, 0n], 0x81n);
349
+ // the longest sequences in bits.
350
+ n([0x80n, 0x7fn, 0x7en, 0x7dn, 0x7cn, 0x7bn, 0x7an, 0x79n, 0x78n, 0x77n, 0x76n, 0x75n, 0x74n, 0x73n, 0x72n, 0x71n,
351
+ 0x70n, 0x6fn, 0x6en, 0x6dn, 0x6cn, 0x6bn, 0x6an, 0x69n, 0x68n, 0x67n, 0x66n, 0x65n, 0x64n, 0x63n, 0x62n, 0x61n,
352
+ 0x60n, 0x5fn, 0x5en, 0x5dn, 0x5cn, 0x5bn, 0x5an, 0x59n, 0x58n, 0x57n, 0x56n, 0x55n, 0x54n, 0x53n, 0x52n, 0x51n,
353
+ 0x50n, 0x4fn, 0x4en, 0x4dn, 0x4cn, 0x4bn, 0x4an, 0x49n, 0x48n, 0x47n, 0x46n, 0x45n, 0x44n, 0x43n, 0x42n, 0x41n,
354
+ 0x40n, 0x3fn, 0x3en, 0x3dn, 0x3cn, 0x3bn, 0x3an, 0x39n, 0x38n, 0x37n, 0x36n, 0x35n, 0x34n, 0x33n, 0x32n, 0x31n,
355
+ 0x30n, 0x2fn, 0x2en, 0x2dn, 0x2cn, 0x2bn, 0x2an, 0x29n, 0x28n, 0x27n, 0x26n, 0x25n, 0x24n, 0x23n, 0x22n, 0x21n,
356
+ 0x20n, 0x1fn, 0x1en, 0x1dn, 0x1cn, 0x1bn, 0x1an, 0x19n, 0x18n, 0x17n, 0x16n, 0x15n, 0x14n, 0x13n, 0x12n, 0x11n,
357
+ 0x10n, 0x0fn, 0x0en, 0x0dn, 0x0cn, 0x0bn, 0x0an, 0x09n, 0x08n, 0x07n, 0x06n, 0x05n, 0x04n, 0x03n, 0x02n, 0x01n,
358
+ 0x00n, 0x74n], 0x0ffffffffffffffffffffffffffffffdfb4n);
359
+ n([0x80n, 0x7fn, 0x7en, 0x7dn, 0x7cn, 0x7bn, 0x7an, 0x79n, 0x78n, 0x77n, 0x76n, 0x75n, 0x74n, 0x73n, 0x72n, 0x71n,
360
+ 0x70n, 0x6fn, 0x6en, 0x6dn, 0x6cn, 0x6bn, 0x6an, 0x69n, 0x68n, 0x67n, 0x66n, 0x65n, 0x64n, 0x63n, 0x62n, 0x61n,
361
+ 0x60n, 0x5fn, 0x5en, 0x5dn, 0x5cn, 0x5bn, 0x5an, 0x59n, 0x58n, 0x57n, 0x56n, 0x55n, 0x54n, 0x53n, 0x52n, 0x51n,
362
+ 0x50n, 0x4fn, 0x4en, 0x4dn, 0x4cn, 0x4bn, 0x4an, 0x49n, 0x48n, 0x47n, 0x46n, 0x45n, 0x44n, 0x43n, 0x42n, 0x41n,
363
+ 0x40n, 0x3fn, 0x3en, 0x3dn, 0x3cn, 0x3bn, 0x3an, 0x39n, 0x38n, 0x37n, 0x36n, 0x35n, 0x34n, 0x33n, 0x32n, 0x31n,
364
+ 0x30n, 0x2fn, 0x2en, 0x2dn, 0x2cn, 0x2bn, 0x2an, 0x29n, 0x28n, 0x27n, 0x26n, 0x25n, 0x24n, 0x23n, 0x22n, 0x21n,
365
+ 0x20n, 0x1fn, 0x1en, 0x1dn, 0x1cn, 0x1bn, 0x1an, 0x19n, 0x18n, 0x17n, 0x16n, 0x15n, 0x14n, 0x13n, 0x12n, 0x11n,
366
+ 0x10n, 0x0fn, 0x0en, 0x0dn, 0x0cn, 0x0bn, 0x0an, 0x09n, 0x08n, 0x07n, 0x06n, 0x05n, 0x04n, 0x03n, 0x02n, 0x01n,
367
+ 0x00n, 0x75n], 0x0ffffffffffffffffffffffffffffffdfb5n);
368
+ //
369
+ n([0x80n, 0x7fn, 0x7en, 0x7dn, 0x7cn, 0x7bn, 0x7an, 0x79n, 0x78n, 0x77n, 0x76n, 0x75n, 0x74n, 0x73n, 0x72n, 0x71n,
370
+ 0x70n, 0x6fn, 0x6en, 0x6dn, 0x6cn, 0x6bn, 0x6an, 0x69n, 0x68n, 0x67n, 0x66n, 0x65n, 0x64n, 0x63n, 0x62n, 0x61n,
371
+ 0x60n, 0x5fn, 0x5en, 0x5dn, 0x5cn, 0x5bn, 0x5an, 0x59n, 0x58n, 0x57n, 0x56n, 0x55n, 0x54n, 0x53n, 0x52n, 0x51n,
372
+ 0x50n, 0x4fn, 0x4en, 0x4dn, 0x4cn, 0x4bn, 0x4an, 0x49n, 0x48n, 0x47n, 0x46n, 0x45n, 0x44n, 0x43n, 0x42n, 0x41n,
373
+ 0x40n, 0x3fn, 0x3en, 0x3dn, 0x3cn, 0x3bn, 0x3an, 0x39n, 0x38n, 0x37n, 0x36n, 0x35n, 0x34n, 0x33n, 0x32n, 0x31n,
374
+ 0x30n, 0x2fn, 0x2en, 0x2dn, 0x2cn, 0x2bn, 0x2an, 0x29n, 0x28n, 0x27n, 0x26n, 0x25n, 0x24n, 0x23n, 0x22n, 0x21n,
375
+ 0x20n, 0x1fn, 0x1en, 0x1dn, 0x1cn, 0x1bn, 0x1an, 0x19n, 0x18n, 0x17n, 0x16n, 0x15n, 0x14n, 0x13n, 0x12n, 0x11n,
376
+ 0x10n, 0x0fn, 0x0en, 0x0dn, 0x0cn, 0x0bn, 0x0an, 0x09n, 0x08n, 0x07n, 0x06n, 0x05n, 0x04n, 0x03n, 0x02n, 0x01n,
377
+ 0x00n, 0x80n], 0x0ffffffffffffffffffffffffffffffdfc0n);
378
+ //
379
+ n([0x80n, 0x80n], 0x10000000000000000000000000000000000n);
380
+ },
381
+ toVec: {
382
+ level1: () => {
383
+ const x = l(literal1ToVec);
384
+ x(0n, vec(2n)(0n));
385
+ x(1n, vec(2n)(1n));
386
+ x(2n, vec(3n)(4n));
387
+ x(3n, vec(3n)(5n));
388
+ x(4n, vec(2n)(3n));
389
+ },
390
+ level2: () => {
391
+ const x = l(literal2ToVec);
392
+ // 0...
393
+ x(0x00n, vec(4n)(0n));
394
+ x(0x01n, vec(4n)(1n));
395
+ x(0x02n, vec(5n)(4n));
396
+ x(0x03n, vec(5n)(5n));
397
+ x(0x04n, vec(4n)(3n));
398
+ // 1
399
+ // 10...
400
+ x(0x05n, vec(0x6n)(16n));
401
+ x(0x06n, vec(0x6n)(17n));
402
+ x(0x07n, vec(0x7n)(36n));
403
+ x(0x08n, vec(0x7n)(37n));
404
+ x(0x09n, vec(0x6n)(19n));
405
+ // 1...
406
+ x(0x0an, vec(0x4n)(5n));
407
+ x(0x0bn, vec(0x5n)(12n));
408
+ x(0x0cn, vec(0x5n)(13n));
409
+ x(0x0dn, vec(0x4n)(7n));
410
+ // 2
411
+ // 20...
412
+ x(0x0en, vec(0x7n)(64n));
413
+ x(0x0fn, vec(0x7n)(65n));
414
+ x(0x10n, vec(0x8n)(132n));
415
+ x(0x11n, vec(0x8n)(133n));
416
+ x(0x12n, vec(0x7n)(67n));
417
+ // 21
418
+ // 210...
419
+ x(0x13n, vec(0x9n)(272n));
420
+ x(0x14n, vec(0x9n)(273n));
421
+ x(0x15n, vec(0xan)(548n));
422
+ x(0x16n, vec(0xan)(549n));
423
+ x(0x17n, vec(0x9n)(275n));
424
+ // 21...
425
+ x(0x18n, vec(0x7n)(69n));
426
+ x(0x19n, vec(0x8n)(140n));
427
+ x(0x1an, vec(0x8n)(141n));
428
+ x(0x1bn, vec(0x7n)(71n));
429
+ // 2...
430
+ x(0x1cn, vec(0x6n)(36n));
431
+ x(0x1dn, vec(0x6n)(37n));
432
+ x(0x1en, vec(0x5n)(19n));
433
+ // 3
434
+ // 30...
435
+ x(0x1fn, vec(7n)(80n));
436
+ x(0x20n, vec(7n)(81n));
437
+ x(0x21n, vec(8n)(164n));
438
+ x(0x22n, vec(8n)(165n));
439
+ x(0x23n, vec(7n)(83n));
440
+ // 31
441
+ // 310...
442
+ x(0x24n, vec(0x9n)(336n));
443
+ x(0x25n, vec(0x9n)(337n));
444
+ x(0x26n, vec(0xan)(676n));
445
+ x(0x27n, vec(0xan)(677n));
446
+ x(0x28n, vec(0x9n)(339n));
447
+ // 31...
448
+ x(0x29n, vec(0x7n)(85n));
449
+ x(0x2an, vec(0x8n)(172n));
450
+ x(0x2bn, vec(0x8n)(173n));
451
+ x(0x2cn, vec(0x7n)(87n));
452
+ // 32
453
+ // 320...
454
+ x(0x2dn, vec(0xan)(704n));
455
+ x(0x2en, vec(0xan)(705n));
456
+ x(0x2fn, vec(0xbn)(1412n));
457
+ x(0x30n, vec(0xbn)(1413n));
458
+ x(0x31n, vec(0xan)(707n));
459
+ // 321
460
+ // 3210...
461
+ x(0x32n, vec(0xcn)(2832n));
462
+ x(0x33n, vec(0xcn)(2833n));
463
+ x(0x34n, vec(0xdn)(5668n));
464
+ x(0x35n, vec(0xdn)(5669n));
465
+ x(0x36n, vec(0xcn)(2835n));
466
+ // 321...
467
+ x(0x37n, vec(0xan)(709n));
468
+ x(0x38n, vec(0xbn)(1420n));
469
+ x(0x39n, vec(0xbn)(1421n));
470
+ x(0x3an, vec(0xan)(711n));
471
+ // 32...
472
+ x(0x3bn, vec(0x9n)(356n));
473
+ x(0x3cn, vec(0x9n)(357n));
474
+ x(0x3dn, vec(0x8n)(179n));
475
+ // 3...
476
+ x(0x3en, vec(0x6n)(45n));
477
+ x(0x3fn, vec(0x5n)(23n));
478
+ // 40...
479
+ x(0x40n, vec(6n)(48n));
480
+ x(0x41n, vec(6n)(49n));
481
+ x(0x42n, vec(7n)(100n));
482
+ x(0x43n, vec(7n)(101n));
483
+ x(0x44n, vec(6n)(51n));
484
+ // 41
485
+ // 410...
486
+ x(0x45n, vec(0x8n)(208n));
487
+ x(0x46n, vec(0x8n)(209n));
488
+ x(0x47n, vec(0x9n)(420n));
489
+ x(0x48n, vec(0x9n)(421n));
490
+ x(0x49n, vec(0x8n)(211n));
491
+ // 41...
492
+ x(0x4an, vec(0x6n)(53n));
493
+ x(0x4bn, vec(0x7n)(108n));
494
+ x(0x4cn, vec(0x7n)(109n));
495
+ x(0x4dn, vec(0x6n)(55n));
496
+ // 42
497
+ // 420
498
+ x(0x4en, vec(0x9n)(448n));
499
+ x(0x4fn, vec(0x9n)(449n));
500
+ x(0x50n, vec(0xan)(900n));
501
+ x(0x51n, vec(0xan)(901n));
502
+ x(0x52n, vec(0x9n)(451n));
503
+ // 421
504
+ // 4210
505
+ x(0x53n, vec(0xbn)(1808n));
506
+ x(0x54n, vec(0xbn)(1809n));
507
+ x(0x55n, vec(0xcn)(3620n));
508
+ x(0x56n, vec(0xcn)(3621n));
509
+ x(0x57n, vec(0xbn)(1811n));
510
+ // 421...
511
+ x(0x58n, vec(0x9n)(453n));
512
+ x(0x59n, vec(0xan)(908n));
513
+ x(0x5an, vec(0xan)(909n));
514
+ x(0x5bn, vec(0x9n)(455n));
515
+ // 42...
516
+ x(0x5cn, vec(0x8n)(228n));
517
+ x(0x5dn, vec(0x8n)(229n));
518
+ x(0x5en, vec(0x7n)(115n));
519
+ // 43
520
+ // 430
521
+ x(0x5fn, vec(0x9n)(464n));
522
+ x(0x60n, vec(0x9n)(465n));
523
+ x(0x61n, vec(0xan)(932n));
524
+ x(0x62n, vec(0xan)(933n));
525
+ x(0x63n, vec(0x9n)(467n));
526
+ // 431
527
+ // 4310
528
+ x(0x64n, vec(0xbn)(1872n));
529
+ x(0x65n, vec(0xbn)(1873n));
530
+ x(0x66n, vec(0xcn)(3748n));
531
+ x(0x67n, vec(0xcn)(3749n));
532
+ x(0x68n, vec(0xbn)(1875n));
533
+ // 431...
534
+ x(0x69n, vec(0x9n)(469n));
535
+ x(0x6an, vec(0xan)(940n));
536
+ x(0x6bn, vec(0xan)(941n));
537
+ x(0x6cn, vec(0x9n)(471n));
538
+ // 432
539
+ // 4320
540
+ x(0x6dn, vec(0xcn)(3776n));
541
+ x(0x6en, vec(0xcn)(3777n));
542
+ x(0x6fn, vec(0xdn)(7556n));
543
+ x(0x70n, vec(0xdn)(7557n));
544
+ x(0x71n, vec(0xcn)(3779n));
545
+ // 4321
546
+ // 43210
547
+ x(0x72n, vec(0xen)(15120n));
548
+ x(0x73n, vec(0xen)(15121n));
549
+ x(0x74n, vec(0xfn)(30244n));
550
+ x(0x75n, vec(0xfn)(30245n));
551
+ x(0x76n, vec(0xen)(15123n));
552
+ // 4321...
553
+ x(0x77n, vec(0xcn)(3781n));
554
+ x(0x78n, vec(0xdn)(7564n));
555
+ x(0x79n, vec(0xdn)(7565n));
556
+ x(0x7an, vec(0xcn)(3783n));
557
+ // 432...
558
+ x(0x7bn, vec(0xbn)(1892n));
559
+ x(0x7cn, vec(0xbn)(1893n));
560
+ x(0x7dn, vec(0xan)(947n));
561
+ // 43...
562
+ x(0x7en, vec(0x8n)(237n));
563
+ x(0x7fn, vec(0x7n)(119n));
564
+ // 4...
565
+ x(0x80n, vec(0x4n)(15n));
566
+ },
567
+ level3: () => {
568
+ // `0000`...
569
+ w(0x000n, vec(0x8n)(0n));
570
+ // ...
571
+ w(0x080n, vec(0x8n)(15n));
572
+ // `0001`
573
+ // `0001_0000`...
574
+ w(0x081n, vec(0xcn)(256n));
575
+ // ...
576
+ w(0x101n, vec(0xcn)(271n));
577
+ // `0001`...
578
+ w(0x102n, vec(0x8n)(17n));
579
+ // ...
580
+ w(0x181n, vec(0x8n)(31n));
581
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101_1110101100_111010101_11101010011_111010100101_111010100100_11101010001_11101010000_111010011_1110100101_1110100100_111010001_111010000_1110011_11100101_11100100_111000111_1110001101_1110001100_111000101_11100010011_111000100101_111000100100_11100010001_11100010000_111000011_1110000101_1110000100_111000001_111000000_110111_1101101_1101100_110101_11010011_110100101_110100100_11010001_11010000_110011_1100101_1100100_110001_110000_10111_101101_10110011_101100101_101100100_1011000111_10110001101_10110001100_1011000101_101100010011_1011000100101_1011000100100_101100010001_101100010000_1011000011_10110000101_10110000100_1011000001_1011000000_1010111_10101101_10101100_1010101_101010011_1010100101_1010100100_101010001_101010000_1010011_10100101_10100100_1010001_1010000_10011_100101_100100_1000111_10001101_10001100_1000101_100010011_1000100101_1000100100_100010001_100010000_1000011_10000101_10000100_1000001_1000000_0111_01101_01100_0101_010011_0100101_0100100_010001_010000_0011_00101_00100_0001_0000`...
582
+ w(0x0ffffffffffffffffffffffffffffffdfb4n, vec(0x48fn)(1996595666458851856908209000390502644529151162494852143809753744921889664454990289630742668184628967579332453928057534189033104610301559053768449495574783292970134168823342333689552843362944657058362057629006848288924034896784440803100771041947365296832729347505504305937171481903769406146919129127288540908019641194514178586025008843729627166768920100n));
583
+ w(0x0ffffffffffffffffffffffffffffffdfb5n, vec(0x48fn)(1996595666458851856908209000390502644529151162494852143809753744921889664454990289630742668184628967579332453928057534189033104610301559053768449495574783292970134168823342333689552843362944657058362057629006848288924034896784440803100771041947365296832729347505504305937171481903769406146919129127288540908019641194514178586025008843729627166768920101n));
584
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101_1110101100_111010101_11101010011_111010100101`...
585
+ w(0x0fffffffffffffffffffffffffffffffea2n, vec(0x134n)(519426196434289584691974418537725656900166153733516318853486892986026425223208427233833803429n));
586
+ // ... 0x19
587
+ w(0x0fffffffffffffffffffffffffffffffebbn, vec(0x12cn)(2029008579821443690203025072412990847266274038021548120521433175726665723528157918882163295n));
588
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101_1110101100_111010101_11101010011`...
589
+ w(0x0fffffffffffffffffffffffffffffffebcn, vec(0x127n)(63406518119420115318844533512905963977071063688173378766294786741458303860254934965067603n));
590
+ // ... 0x18
591
+ w(0x0fffffffffffffffffffffffffffffffed4n, vec(0x120n)(495363422807969650928472918069577843570867685063854521611678021417642998908241679414591n));
592
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101_1110101100_111010101`...
593
+ w(0x0fffffffffffffffffffffffffffffffed5n, vec(0x11an)(7740053481374525795757389344837153805794807579122726900182469084650671857941276240853n));
594
+ // ... 0x17
595
+ w(0x0fffffffffffffffffffffffffffffffeecn, vec(0x115n)(241876671292953931117418417026161056431087736847585215630702158895333495560664882527n));
596
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101_1110101100`...
597
+ w(0x0fffffffffffffffffffffffffffffffeedn, vec(0x112n)(30234583911619241389677302128270132053885967105948151953837769861916686945083110316n));
598
+ // ... 0x16
599
+ w(0x0ffffffffffffffffffffffffffffffff03n, vec(0x10cn)(472415373619050646713707845754220813341968236030439874278715154092448233516923599n));
600
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111_1110101101`...
601
+ w(0x0ffffffffffffffffffffffffffffffff04n, vec(0x108n)(29525960851190665419606740359638800833873014751902492142419697130778014594807725n));
602
+ // ... 0x15
603
+ w(0x0ffffffffffffffffffffffffffffffff19n, vec(0x102n)(461343138299854147181355318119356263029265855498476439725307767668406478043871n));
604
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000_111010111`...
605
+ w(0x0ffffffffffffffffffffffffffffffff1an, vec(0x0fdn)(14416973071870442099417353691229883219664557984327388741415867739637702438871n));
606
+ // ... 0x14
607
+ w(0x0ffffffffffffffffffffffffffffffff2en, vec(0x0f8n)(450530408495951315606792302850933850614517437010230898169245866863678201215n));
608
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001_111011000000`...
609
+ w(0x0ffffffffffffffffffffffffffffffff2fn, vec(0x0f7n)(225265204247975657803396151425466925307258718505115449084622933431839100608n));
610
+ // ... 0x13
611
+ w(0x0ffffffffffffffffffffffffffffffff42n, vec(0x0efn)(879942204093654913294516216505730176981479369160607222986808333718121487n));
612
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100_111011000001`...
613
+ w(0x0ffffffffffffffffffffffffffffffff43n, vec(0x0ebn)(54996387755853432080907263531608136061342460572537951436675520857382593n));
614
+ // ... 0x12
615
+ w(0x0ffffffffffffffffffffffffffffffff55n, vec(0x0e3n)(214829639671302469066043998170344281489618986611476372799513753349151n));
616
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101_1110110000100`...
617
+ w(0x0ffffffffffffffffffffffffffffffff56n, vec(0x0e0n)(26853704958912808633255499771293035186202373326434546599939219168644n));
618
+ // ... 0x11
619
+ w(0x0ffffffffffffffffffffffffffffffff67n, vec(0x0d7n)(52448642497876579361827147990806709348051510403192473828006287439n));
620
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011_1110110000101`...
621
+ w(0x0ffffffffffffffffffffffffffffffff68n, vec(0x0d3n)(3278040156117286210114196749425419334253219400199529614250392965n));
622
+ // ... 0x10
623
+ w(0x0ffffffffffffffffffffffffffffffff78n, vec(0x0can)(6402422179916574629129290526221522137213319141014706277832799n));
624
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000_111011000011`...
625
+ w(0x0ffffffffffffffffffffffffffffffff79n, vec(0x0c5n)(200075693122392957160290328944422566787916223156709571182275n));
626
+ // ... 0xF
627
+ w(0x0ffffffffffffffffffffffffffffffff88n, vec(0x0bdn)(781545676259347488907384097439150651515297746705896762431n));
628
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001_11101100010000`...
629
+ w(0x0ffffffffffffffffffffffffffffffff89n, vec(0x0bbn)(195386419064836872226846024359787662878824436676474190608n));
630
+ // ... 0xE
631
+ w(0x0ffffffffffffffffffffffffffffffff97n, vec(0x0b1n)(190807049868004758034029320663855139530101988941869327n));
632
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100_11101100010001`...
633
+ w(0x0ffffffffffffffffffffffffffffffff98n, vec(0x0adn)(11925440616750297377126832541490946220631374308866833n));
634
+ // ... 0xD
635
+ w(0x0ffffffffffffffffffffffffffffffffa5n, vec(0x0a3n)(11645938102295212282350422403799752168585326473503n));
636
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101_111011000100100`...
637
+ w(0x0ffffffffffffffffffffffffffffffffa6n, vec(0x0a0n)(1455742262786901535293802800474969021073165809188n));
638
+ // ... 0xC
639
+ w(0x0ffffffffffffffffffffffffffffffffb2n, vec(0x095n)(710811651751416765280177148669418467320881743n));
640
+ //--------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011_111011000100101`...
641
+ w(0x0ffffffffffffffffffffffffffffffffb3n, vec(0x091n)(44425728234463547830011071791838654207555109n));
642
+ // ... 0xB
643
+ w(0x0ffffffffffffffffffffffffffffffffben, vec(0x086n)(21692250114484154213872593648358717874783n));
644
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101_11101100010011`...
645
+ w(0x0ffffffffffffffffffffffffffffffffbfn, vec(0x081n)(677882816077629819183518551511209933587n));
646
+ // ...
647
+ w(0x0ffffffffffffffffffffffffffffffffc9n, vec(0x077n)(661994937575810370296404835460165951n));
648
+ //----------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100_111011000101`...
649
+ w(0x0ffffffffffffffffffffffffffffffffcan, vec(0x071n)(10343670899622037035881325554065093n));
650
+ // ...
651
+ w(0x0ffffffffffffffffffffffffffffffffd3n, vec(0x069n)(40404964451648582171411427945567n));
652
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101_1110110001100`...
653
+ w(0x0ffffffffffffffffffffffffffffffffd4n, vec(0x066n)(5050620556456072771426428493196n));
654
+ // ...
655
+ w(0x0ffffffffffffffffffffffffffffffffdcn, vec(0x05dn)(9864493274328267131692243151n));
656
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111_1110110001101`...
657
+ w(0x0ffffffffffffffffffffffffffffffffddn, vec(0x059n)(616530829645516695730765197n));
658
+ // ...
659
+ w(0x0ffffffffffffffffffffffffffffffffe4n, vec(0x050n)(1204161776651399796349151n));
660
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100_111011000111`...
661
+ w(0x0ffffffffffffffffffffffffffffffffe5n, vec(0x04bn)(37630055520356243635911n));
662
+ // ...
663
+ w(0x0ffffffffffffffffffffffffffffffffebn, vec(0x043n)(146992404376391576703n));
664
+ //---------------`1111_1110111_11101101_1110110011_11101100101_11101100100`...
665
+ w(0x0ffffffffffffffffffffffffffffffffecn, vec(0x03en)(4593512636762236772n));
666
+ // ...
667
+ w(0x0fffffffffffffffffffffffffffffffff1n, vec(0x037n)(35886817474704975n));
668
+ //---------------`1111_1110111_11101101_1110110011_11101100101`...
669
+ w(0x0fffffffffffffffffffffffffffffffff2n, vec(0x033n)(2242926092169061n));
670
+ // ...
671
+ w(0x0fffffffffffffffffffffffffffffffff6n, vec(0x02cn)(17522860095071n));
672
+ // ...
673
+ w(0x0fffffffffffffffffffffffffffffffff6n, vec(0x02cn)(17522860095071n));
674
+ //---------------`1111_1110111_11101101_1110110011`...
675
+ w(0x0fffffffffffffffffffffffffffffffff7n, vec(0x027n)(547589377971n));
676
+ // ...
677
+ w(0x0fffffffffffffffffffffffffffffffffan, vec(0x021n)(8556084031n));
678
+ //---------------`1111_1110111_11101101`...
679
+ w(0x0fffffffffffffffffffffffffffffffffbn, vec(0x01bn)(133688813n));
680
+ // ...
681
+ w(0x0fffffffffffffffffffffffffffffffffdn, vec(0x017n)(8355551n));
682
+ //---------------`1111_1110111`...
683
+ w(0x0fffffffffffffffffffffffffffffffffen, vec(0x012n)(261111n));
684
+ w(0x0ffffffffffffffffffffffffffffffffffn, vec(0x00fn)(32639n));
685
+ //---------------`1111`...
686
+ w(0x10000000000000000000000000000000000n, vec(0x008n)(255n));
687
+ }
688
+ },
689
+ pipeline: () => {
690
+ // 4 L1 [0,0] words → 2 L2 [0,0] words → L3 [0,0] word → symbol 0
691
+ // First 7 zero bits accumulate without emitting
692
+ let s = emptyPipelineState;
693
+ for (let i = 0; i < 7; i++) {
694
+ const [out, next] = pipelineStep(0n, s);
695
+ if (out !== undefined)
696
+ throw out;
697
+ s = next;
698
+ }
699
+ // 8th zero emits L3 symbol 0
700
+ const [out0, s2] = pipelineStep(0n, s);
701
+ if (out0 !== 0n)
702
+ throw out0;
703
+ // state resets after emit: second batch of 8 zeros also emits 0
704
+ let s3 = s2;
705
+ for (let i = 0; i < 7; i++) {
706
+ const [, next] = pipelineStep(0n, s3);
707
+ s3 = next;
708
+ }
709
+ const [out1] = pipelineStep(0n, s3);
710
+ if (out1 !== 0n)
711
+ throw out1;
712
+ // 8 ones emit a different symbol than 8 zeros
713
+ let s4 = emptyPipelineState;
714
+ for (let i = 0; i < 7; i++) {
715
+ const [, next] = pipelineStep(1n, s4);
716
+ s4 = next;
717
+ }
718
+ const [out2] = pipelineStep(1n, s4);
719
+ if (out2 === 0n)
720
+ throw out2;
721
+ }
722
+ };