@elaraai/east 1.0.78 → 1.0.80

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 (276) hide show
  1. package/README.md +1 -1
  2. package/dist/src/comparison.d.ts.map +1 -1
  3. package/dist/src/comparison.js +4 -5
  4. package/dist/src/comparison.js.map +1 -1
  5. package/dist/src/compile/builtins/array.d.ts +59 -0
  6. package/dist/src/compile/builtins/array.d.ts.map +1 -0
  7. package/dist/src/compile/builtins/array.js +656 -0
  8. package/dist/src/compile/builtins/array.js.map +1 -0
  9. package/dist/src/compile/builtins/blob.d.ts +18 -0
  10. package/dist/src/compile/builtins/blob.d.ts.map +1 -0
  11. package/dist/src/compile/builtins/blob.js +150 -0
  12. package/dist/src/compile/builtins/blob.js.map +1 -0
  13. package/dist/src/compile/builtins/compare.d.ts +18 -0
  14. package/dist/src/compile/builtins/compare.d.ts.map +1 -0
  15. package/dist/src/compile/builtins/compare.js +52 -0
  16. package/dist/src/compile/builtins/compare.js.map +1 -0
  17. package/dist/src/compile/builtins/datetime.d.ts +21 -0
  18. package/dist/src/compile/builtins/datetime.d.ts.map +1 -0
  19. package/dist/src/compile/builtins/datetime.js +46 -0
  20. package/dist/src/compile/builtins/datetime.js.map +1 -0
  21. package/dist/src/compile/builtins/dict.d.ts +46 -0
  22. package/dist/src/compile/builtins/dict.d.ts.map +1 -0
  23. package/dist/src/compile/builtins/dict.js +551 -0
  24. package/dist/src/compile/builtins/dict.js.map +1 -0
  25. package/dist/src/compile/builtins/index.d.ts +9 -0
  26. package/dist/src/compile/builtins/index.d.ts.map +1 -0
  27. package/dist/src/compile/builtins/index.js +28 -0
  28. package/dist/src/compile/builtins/index.js.map +1 -0
  29. package/dist/src/compile/builtins/matrix.d.ts +31 -0
  30. package/dist/src/compile/builtins/matrix.d.ts.map +1 -0
  31. package/dist/src/compile/builtins/matrix.js +310 -0
  32. package/dist/src/compile/builtins/matrix.js.map +1 -0
  33. package/dist/src/compile/builtins/primitives.d.ts +36 -0
  34. package/dist/src/compile/builtins/primitives.d.ts.map +1 -0
  35. package/dist/src/compile/builtins/primitives.js +67 -0
  36. package/dist/src/compile/builtins/primitives.js.map +1 -0
  37. package/dist/src/compile/builtins/ref.d.ts +11 -0
  38. package/dist/src/compile/builtins/ref.d.ts.map +1 -0
  39. package/dist/src/compile/builtins/ref.js +30 -0
  40. package/dist/src/compile/builtins/ref.js.map +1 -0
  41. package/dist/src/compile/builtins/set.d.ts +41 -0
  42. package/dist/src/compile/builtins/set.d.ts.map +1 -0
  43. package/dist/src/compile/builtins/set.js +385 -0
  44. package/dist/src/compile/builtins/set.js.map +1 -0
  45. package/dist/src/compile/builtins/sparse.d.ts +19 -0
  46. package/dist/src/compile/builtins/sparse.d.ts.map +1 -0
  47. package/dist/src/compile/builtins/sparse.js +143 -0
  48. package/dist/src/compile/builtins/sparse.js.map +1 -0
  49. package/dist/src/compile/builtins/string.d.ts +34 -0
  50. package/dist/src/compile/builtins/string.d.ts.map +1 -0
  51. package/dist/src/compile/builtins/string.js +238 -0
  52. package/dist/src/compile/builtins/string.js.map +1 -0
  53. package/dist/src/compile/builtins/vector.d.ts +44 -0
  54. package/dist/src/compile/builtins/vector.d.ts.map +1 -0
  55. package/dist/src/compile/builtins/vector.js +463 -0
  56. package/dist/src/compile/builtins/vector.js.map +1 -0
  57. package/dist/src/compile/constructors.d.ts +13 -0
  58. package/dist/src/compile/constructors.d.ts.map +1 -0
  59. package/dist/src/compile/constructors.js +179 -0
  60. package/dist/src/compile/constructors.js.map +1 -0
  61. package/dist/src/compile/control.d.ts +13 -0
  62. package/dist/src/compile/control.d.ts.map +1 -0
  63. package/dist/src/compile/control.js +513 -0
  64. package/dist/src/compile/control.js.map +1 -0
  65. package/dist/src/compile/functions.d.ts +13 -0
  66. package/dist/src/compile/functions.d.ts.map +1 -0
  67. package/dist/src/compile/functions.js +492 -0
  68. package/dist/src/compile/functions.js.map +1 -0
  69. package/dist/src/compile/ir.d.ts +19 -0
  70. package/dist/src/compile/ir.d.ts.map +1 -0
  71. package/dist/src/compile/ir.js +193 -0
  72. package/dist/src/compile/ir.js.map +1 -0
  73. package/dist/src/compile/runtime.d.ts +78 -0
  74. package/dist/src/compile/runtime.d.ts.map +1 -0
  75. package/dist/src/compile/runtime.js +111 -0
  76. package/dist/src/compile/runtime.js.map +1 -0
  77. package/dist/src/compile/type_parameters.d.ts +4 -0
  78. package/dist/src/compile/type_parameters.d.ts.map +1 -0
  79. package/dist/src/compile/type_parameters.js +55 -0
  80. package/dist/src/compile/type_parameters.js.map +1 -0
  81. package/dist/src/compile/typed_arrays.d.ts +28 -0
  82. package/dist/src/compile/typed_arrays.d.ts.map +1 -0
  83. package/dist/src/compile/typed_arrays.js +77 -0
  84. package/dist/src/compile/typed_arrays.js.map +1 -0
  85. package/dist/src/compile.d.ts +6 -41
  86. package/dist/src/compile.d.ts.map +1 -1
  87. package/dist/src/compile.js +8 -4415
  88. package/dist/src/compile.js.map +1 -1
  89. package/dist/src/compile.open_beast.spec.js +5 -4
  90. package/dist/src/compile.open_beast.spec.js.map +1 -1
  91. package/dist/src/containers/sortedmap.d.ts +2 -1
  92. package/dist/src/containers/sortedmap.d.ts.map +1 -1
  93. package/dist/src/containers/sortedmap.js +4 -2
  94. package/dist/src/containers/sortedmap.js.map +1 -1
  95. package/dist/src/containers/sortedset.d.ts +2 -1
  96. package/dist/src/containers/sortedset.d.ts.map +1 -1
  97. package/dist/src/containers/sortedset.js +4 -2
  98. package/dist/src/containers/sortedset.js.map +1 -1
  99. package/dist/src/error.d.ts +15 -0
  100. package/dist/src/error.d.ts.map +1 -1
  101. package/dist/src/error.js +16 -0
  102. package/dist/src/error.js.map +1 -1
  103. package/dist/src/index.d.ts +1 -0
  104. package/dist/src/index.d.ts.map +1 -1
  105. package/dist/src/index.js +1 -0
  106. package/dist/src/index.js.map +1 -1
  107. package/dist/src/patch/index.d.ts +1 -1
  108. package/dist/src/patch/index.d.ts.map +1 -1
  109. package/dist/src/patch/index.js +1 -1
  110. package/dist/src/patch/index.js.map +1 -1
  111. package/dist/src/patch/type_of_patch.d.ts +25 -1
  112. package/dist/src/patch/type_of_patch.d.ts.map +1 -1
  113. package/dist/src/patch/type_of_patch.js +33 -10
  114. package/dist/src/patch/type_of_patch.js.map +1 -1
  115. package/dist/src/platform.spec.js +19 -1
  116. package/dist/src/platform.spec.js.map +1 -1
  117. package/dist/src/runner_protocol.d.ts +316 -0
  118. package/dist/src/runner_protocol.d.ts.map +1 -0
  119. package/dist/src/runner_protocol.js +135 -0
  120. package/dist/src/runner_protocol.js.map +1 -0
  121. package/dist/src/serialization/beast2/index.d.ts +21 -5
  122. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  123. package/dist/src/serialization/beast2/index.js +12 -2
  124. package/dist/src/serialization/beast2/index.js.map +1 -1
  125. package/dist/src/serialization/beast2/index.spec.js +84 -3
  126. package/dist/src/serialization/beast2/index.spec.js.map +1 -1
  127. package/dist/src/serialization/beast2/shared.d.ts +32 -3
  128. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  129. package/dist/src/serialization/beast2/shared.js +135 -10
  130. package/dist/src/serialization/beast2/shared.js.map +1 -1
  131. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  132. package/dist/src/serialization/beast2/v4/container.js +5 -3
  133. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  134. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts +6 -0
  135. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts.map +1 -0
  136. package/dist/src/serialization/beast2/v5/aliasing.spec.js +75 -0
  137. package/dist/src/serialization/beast2/v5/aliasing.spec.js.map +1 -0
  138. package/dist/src/serialization/beast2/v5/boundary.d.ts +176 -0
  139. package/dist/src/serialization/beast2/v5/boundary.d.ts.map +1 -0
  140. package/dist/src/serialization/beast2/v5/boundary.js +297 -0
  141. package/dist/src/serialization/beast2/v5/boundary.js.map +1 -0
  142. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts +6 -0
  143. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts.map +1 -0
  144. package/dist/src/serialization/beast2/v5/boundary.spec.js +479 -0
  145. package/dist/src/serialization/beast2/v5/boundary.spec.js.map +1 -0
  146. package/dist/src/serialization/beast2/v5/codec.d.ts +6 -5
  147. package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
  148. package/dist/src/serialization/beast2/v5/codec.js +18 -3
  149. package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
  150. package/dist/src/serialization/beast2/v5/deflate.d.ts +24 -2
  151. package/dist/src/serialization/beast2/v5/deflate.d.ts.map +1 -1
  152. package/dist/src/serialization/beast2/v5/deflate.js +47 -12
  153. package/dist/src/serialization/beast2/v5/deflate.js.map +1 -1
  154. package/dist/src/serialization/beast2/v5/deflate.spec.js +15 -1
  155. package/dist/src/serialization/beast2/v5/deflate.spec.js.map +1 -1
  156. package/dist/src/serialization/beast2/v5/elements.d.ts +64 -0
  157. package/dist/src/serialization/beast2/v5/elements.d.ts.map +1 -0
  158. package/dist/src/serialization/beast2/v5/elements.js +320 -0
  159. package/dist/src/serialization/beast2/v5/elements.js.map +1 -0
  160. package/dist/src/serialization/beast2/v5/elements.spec.d.ts +6 -0
  161. package/dist/src/serialization/beast2/v5/elements.spec.d.ts.map +1 -0
  162. package/dist/src/serialization/beast2/v5/elements.spec.js +161 -0
  163. package/dist/src/serialization/beast2/v5/elements.spec.js.map +1 -0
  164. package/dist/src/serialization/beast2/v5/frame-pool.d.ts +62 -21
  165. package/dist/src/serialization/beast2/v5/frame-pool.d.ts.map +1 -1
  166. package/dist/src/serialization/beast2/v5/frame-pool.js +138 -27
  167. package/dist/src/serialization/beast2/v5/frame-pool.js.map +1 -1
  168. package/dist/src/serialization/beast2/v5/frame-pool.spec.js +198 -71
  169. package/dist/src/serialization/beast2/v5/frame-pool.spec.js.map +1 -1
  170. package/dist/src/serialization/beast2/v5/frame-worker.js +25 -15
  171. package/dist/src/serialization/beast2/v5/frame-worker.js.map +1 -1
  172. package/dist/src/serialization/beast2/v5/frames.d.ts +22 -12
  173. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  174. package/dist/src/serialization/beast2/v5/frames.js +52 -27
  175. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  176. package/dist/src/serialization/beast2/v5/geometry.d.ts +38 -1
  177. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  178. package/dist/src/serialization/beast2/v5/geometry.js +73 -1
  179. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  180. package/dist/src/serialization/beast2/v5/geometry.spec.js +34 -23
  181. package/dist/src/serialization/beast2/v5/geometry.spec.js.map +1 -1
  182. package/dist/src/serialization/beast2/v5/index.spec.js +32 -28
  183. package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
  184. package/dist/src/serialization/beast2/v5/lazy.d.ts +42 -1
  185. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  186. package/dist/src/serialization/beast2/v5/lazy.js +143 -28
  187. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  188. package/dist/src/serialization/beast2/v5/lazy.spec.js +102 -24
  189. package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
  190. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts +110 -0
  191. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts.map +1 -0
  192. package/dist/src/serialization/beast2/v5/manifest-writer.js +118 -0
  193. package/dist/src/serialization/beast2/v5/manifest-writer.js.map +1 -0
  194. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts +6 -0
  195. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts.map +1 -0
  196. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js +207 -0
  197. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js.map +1 -0
  198. package/dist/src/serialization/beast2/v5/manifest.d.ts +241 -0
  199. package/dist/src/serialization/beast2/v5/manifest.d.ts.map +1 -0
  200. package/dist/src/serialization/beast2/v5/manifest.js +233 -0
  201. package/dist/src/serialization/beast2/v5/manifest.js.map +1 -0
  202. package/dist/src/serialization/beast2/v5/merge.d.ts +93 -0
  203. package/dist/src/serialization/beast2/v5/merge.d.ts.map +1 -0
  204. package/dist/src/serialization/beast2/v5/merge.js +202 -0
  205. package/dist/src/serialization/beast2/v5/merge.js.map +1 -0
  206. package/dist/src/serialization/beast2/v5/merge.spec.d.ts +6 -0
  207. package/dist/src/serialization/beast2/v5/merge.spec.d.ts.map +1 -0
  208. package/dist/src/serialization/beast2/v5/merge.spec.js +118 -0
  209. package/dist/src/serialization/beast2/v5/merge.spec.js.map +1 -0
  210. package/dist/src/serialization/beast2/v5/recut.d.ts +143 -0
  211. package/dist/src/serialization/beast2/v5/recut.d.ts.map +1 -0
  212. package/dist/src/serialization/beast2/v5/recut.js +365 -0
  213. package/dist/src/serialization/beast2/v5/recut.js.map +1 -0
  214. package/dist/src/serialization/beast2/v5/recut.spec.d.ts +6 -0
  215. package/dist/src/serialization/beast2/v5/recut.spec.d.ts.map +1 -0
  216. package/dist/src/serialization/beast2/v5/recut.spec.js +215 -0
  217. package/dist/src/serialization/beast2/v5/recut.spec.js.map +1 -0
  218. package/dist/src/serialization/beast2/v5/runs.d.ts +148 -0
  219. package/dist/src/serialization/beast2/v5/runs.d.ts.map +1 -0
  220. package/dist/src/serialization/beast2/v5/runs.js +260 -0
  221. package/dist/src/serialization/beast2/v5/runs.js.map +1 -0
  222. package/dist/src/serialization/beast2/v5/runs.spec.d.ts +6 -0
  223. package/dist/src/serialization/beast2/v5/runs.spec.d.ts.map +1 -0
  224. package/dist/src/serialization/beast2/v5/runs.spec.js +182 -0
  225. package/dist/src/serialization/beast2/v5/runs.spec.js.map +1 -0
  226. package/dist/src/serialization/beast2/v5/sha256.d.ts +19 -0
  227. package/dist/src/serialization/beast2/v5/sha256.d.ts.map +1 -0
  228. package/dist/src/serialization/beast2/v5/sha256.js +103 -0
  229. package/dist/src/serialization/beast2/v5/sha256.js.map +1 -0
  230. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts +6 -0
  231. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts.map +1 -0
  232. package/dist/src/serialization/beast2/v5/sha256.spec.js +42 -0
  233. package/dist/src/serialization/beast2/v5/sha256.spec.js.map +1 -0
  234. package/dist/src/serialization/beast2/v5/stream.d.ts +273 -86
  235. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  236. package/dist/src/serialization/beast2/v5/stream.js +576 -244
  237. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  238. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +24 -10
  239. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -1
  240. package/dist/src/serialization/index.d.ts +1 -1
  241. package/dist/src/serialization/index.d.ts.map +1 -1
  242. package/dist/src/serialization/index.js +1 -1
  243. package/dist/src/serialization/index.js.map +1 -1
  244. package/dist/src/serialization/json.d.ts +28 -0
  245. package/dist/src/serialization/json.d.ts.map +1 -1
  246. package/dist/src/serialization/json.js +141 -30
  247. package/dist/src/serialization/json.js.map +1 -1
  248. package/dist/src/serialization/json.spec.js +47 -2
  249. package/dist/src/serialization/json.spec.js.map +1 -1
  250. package/dist/src/serialization/json_schema.d.ts +15 -11
  251. package/dist/src/serialization/json_schema.d.ts.map +1 -1
  252. package/dist/src/serialization/json_schema.js +21 -36
  253. package/dist/src/serialization/json_schema.js.map +1 -1
  254. package/dist/src/serialization/json_schema.spec.js +26 -32
  255. package/dist/src/serialization/json_schema.spec.js.map +1 -1
  256. package/dist/src/serialization/json_schema_to_type.d.ts +10 -5
  257. package/dist/src/serialization/json_schema_to_type.d.ts.map +1 -1
  258. package/dist/src/serialization/json_schema_to_type.js +13 -6
  259. package/dist/src/serialization/json_schema_to_type.js.map +1 -1
  260. package/dist/src/serialization/json_schema_to_type.spec.js +19 -0
  261. package/dist/src/serialization/json_schema_to_type.spec.js.map +1 -1
  262. package/dist/src/string_order.d.ts +36 -0
  263. package/dist/src/string_order.d.ts.map +1 -0
  264. package/dist/src/string_order.js +64 -0
  265. package/dist/src/string_order.js.map +1 -0
  266. package/dist/src/string_order.spec.d.ts +6 -0
  267. package/dist/src/string_order.spec.d.ts.map +1 -0
  268. package/dist/src/string_order.spec.js +79 -0
  269. package/dist/src/string_order.spec.js.map +1 -0
  270. package/dist/src/type_of_type.d.ts +17 -0
  271. package/dist/src/type_of_type.d.ts.map +1 -1
  272. package/dist/src/type_of_type.js +66 -0
  273. package/dist/src/type_of_type.js.map +1 -1
  274. package/dist/src/type_of_type.to_etv.spec.js +69 -1
  275. package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
  276. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ import { matrix } from "../../containers/matrix.js";
2
+ import type { SourceMap } from "../../location.js";
3
+ import type { PlatformFunction } from "../../platform.js";
4
+ import type { EastTypeValue } from "../../type_of_type.js";
5
+ /** The builtins for Matrices. @internal */
6
+ export declare const matrix_builtins: {
7
+ MatrixRows: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any) => bigint;
8
+ MatrixCols: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any) => bigint;
9
+ MatrixGet: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any, row: bigint, col: bigint) => any;
10
+ MatrixSet: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any, row: bigint, col: bigint, value: any) => matrix<any>;
11
+ MatrixGetRow: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any, row: bigint) => any;
12
+ MatrixGetCol: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: any, col: bigint) => Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>;
13
+ MatrixToVector: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any) => any;
14
+ MatrixFromArray: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (arr: any[][]) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
15
+ MatrixToArray: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any) => any[][];
16
+ MatrixTranspose: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: any) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
17
+ MatrixZeros: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (rows: bigint, cols: bigint) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
18
+ MatrixOnes: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (rows: bigint, cols: bigint) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
19
+ MatrixFill: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (rows: bigint, cols: bigint, value: any) => matrix<Float64Array<ArrayBuffer>> | matrix<BigInt64Array<ArrayBuffer>> | matrix<Uint8ClampedArray<ArrayBuffer>>;
20
+ MatrixMapElements: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue, U: EastTypeValue) => (m: any, f: (elem: any, row: bigint, col: bigint) => any) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
21
+ MatrixMapRows: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue, U: EastTypeValue) => (m: any, f: (row: any, idx: bigint) => any) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
22
+ MatrixToRows: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (m: any) => (Float64Array | BigInt64Array | Uint8ClampedArray)[];
23
+ MatrixFromRows: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (arr: any[]) => matrix<Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike>>;
24
+ MatrixScale: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: matrix, alpha: any) => matrix<Float64Array<ArrayBuffer>> | matrix<BigInt64Array<ArrayBuffer>>;
25
+ MatrixAddScaled: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (a: matrix, b: matrix, alpha: any) => matrix<Float64Array<ArrayBuffer>> | matrix<BigInt64Array<ArrayBuffer>>;
26
+ MatrixMulElementwise: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (a: matrix, b: matrix) => matrix<Float64Array<ArrayBuffer>> | matrix<BigInt64Array<ArrayBuffer>>;
27
+ MatrixRowSums: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: matrix) => Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
28
+ MatrixColSums: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: matrix) => Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
29
+ MatrixVecMul: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (m: matrix, v: Float64Array | BigInt64Array) => Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
30
+ };
31
+ //# sourceMappingURL=matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/matrix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { call_function } from "../runtime.js";
6
+ import { allocateTypedArray, createTypedArray, requireNumericElem, requireSameDims, wrapI64 } from "../typed_arrays.js";
7
+ import { matrix } from "../../containers/matrix.js";
8
+ import { EastError } from "../../error.js";
9
+ /** The builtins for Matrices. @internal */
10
+ export const matrix_builtins = {
11
+ // Matrix builtins
12
+ MatrixRows: (_loc_id, _source_map, _platformDef, _T) => (m) => BigInt(m.rows),
13
+ MatrixCols: (_loc_id, _source_map, _platformDef, _T) => (m) => BigInt(m.cols),
14
+ MatrixGet: (loc_id, source_map, _platformDef, _T) => (m, row, col) => {
15
+ const r = Number(row);
16
+ const c = Number(col);
17
+ if (r < 0 || r >= m.rows || c < 0 || c >= m.cols) {
18
+ throw new EastError(`Matrix index (${row}, ${col}) out of bounds (${m.rows}×${m.cols})`, { location: (source_map?.resolve(loc_id) ?? []) });
19
+ }
20
+ const val = m.data[r * m.cols + c];
21
+ if (m.data instanceof Uint8ClampedArray)
22
+ return val !== 0;
23
+ return val;
24
+ },
25
+ MatrixSet: (loc_id, source_map, _platformDef, _T) => (m, row, col, value) => {
26
+ const r = Number(row);
27
+ const c = Number(col);
28
+ if (r < 0 || r >= m.rows || c < 0 || c >= m.cols) {
29
+ throw new EastError(`Matrix index (${row}, ${col}) out of bounds (${m.rows}×${m.cols})`, { location: (source_map?.resolve(loc_id) ?? []) });
30
+ }
31
+ const data = m.data.slice();
32
+ if (data instanceof Uint8ClampedArray) {
33
+ data[r * m.cols + c] = value ? 1 : 0;
34
+ }
35
+ else {
36
+ data[r * m.cols + c] = value;
37
+ }
38
+ return matrix(data, m.rows, m.cols);
39
+ },
40
+ MatrixGetRow: (loc_id, source_map, _platformDef, _T) => (m, row) => {
41
+ const r = Number(row);
42
+ if (r < 0 || r >= m.rows) {
43
+ throw new EastError(`Matrix row ${row} out of bounds (${m.rows} rows)`, { location: (source_map?.resolve(loc_id) ?? []) });
44
+ }
45
+ const start = r * m.cols;
46
+ return m.data.slice(start, start + m.cols);
47
+ },
48
+ MatrixGetCol: (loc_id, source_map, _platformDef, T) => (m, col) => {
49
+ const c = Number(col);
50
+ if (c < 0 || c >= m.cols) {
51
+ throw new EastError(`Matrix column ${col} out of bounds (${m.cols} cols)`, { location: (source_map?.resolve(loc_id) ?? []) });
52
+ }
53
+ const result = allocateTypedArray(T, m.rows);
54
+ for (let r = 0; r < m.rows; r++)
55
+ result[r] = m.data[r * m.cols + c];
56
+ return result;
57
+ },
58
+ MatrixToVector: (_loc_id, _source_map, _platformDef, _T) => (m) => {
59
+ return m.data.slice();
60
+ },
61
+ MatrixFromArray: (loc_id, source_map, _platformDef, T) => (arr) => {
62
+ if (arr.length === 0) {
63
+ return matrix(createTypedArray(T, []), 0, 0);
64
+ }
65
+ const rows = arr.length;
66
+ const cols = arr[0].length;
67
+ for (let i = 1; i < rows; i++) {
68
+ if (arr[i].length !== cols) {
69
+ throw new EastError(`Jagged array: row 0 has ${cols} columns but row ${i} has ${arr[i].length}`, { location: (source_map?.resolve(loc_id) ?? []) });
70
+ }
71
+ }
72
+ const flat = [];
73
+ for (const row of arr) {
74
+ flat.push(...row);
75
+ }
76
+ return matrix(createTypedArray(T, flat), rows, cols);
77
+ },
78
+ MatrixToArray: (_loc_id, _source_map, _platformDef, _T) => (m) => {
79
+ const result = [];
80
+ for (let r = 0; r < m.rows; r++) {
81
+ const row = [];
82
+ for (let c = 0; c < m.cols; c++) {
83
+ const val = m.data[r * m.cols + c];
84
+ row.push(m.data instanceof Uint8ClampedArray ? val !== 0 : val);
85
+ }
86
+ result.push(row);
87
+ }
88
+ return result;
89
+ },
90
+ MatrixTranspose: (loc_id, source_map, _platformDef, T) => (m) => {
91
+ const result = allocateTypedArray(T, m.rows * m.cols);
92
+ for (let r = 0; r < m.rows; r++) {
93
+ for (let c = 0; c < m.cols; c++) {
94
+ result[c * m.rows + r] = m.data[r * m.cols + c];
95
+ }
96
+ }
97
+ return matrix(result, m.cols, m.rows);
98
+ },
99
+ MatrixZeros: (_loc_id, _source_map, _platformDef, T) => (rows, cols) => {
100
+ return matrix(allocateTypedArray(T, Number(rows) * Number(cols)), Number(rows), Number(cols));
101
+ },
102
+ MatrixOnes: (_loc_id, _source_map, _platformDef, T) => (rows, cols) => {
103
+ const data = allocateTypedArray(T, Number(rows) * Number(cols));
104
+ data.fill((data instanceof BigInt64Array ? 1n : 1));
105
+ return matrix(data, Number(rows), Number(cols));
106
+ },
107
+ MatrixFill: (loc_id, source_map, _platformDef, T) => (rows, cols, value) => {
108
+ const r = Number(rows);
109
+ const c = Number(cols);
110
+ const n = r * c;
111
+ if (T.type === "Float") {
112
+ const data = new Float64Array(n);
113
+ data.fill(value);
114
+ return matrix(data, r, c);
115
+ }
116
+ else if (T.type === "Integer") {
117
+ const data = new BigInt64Array(n);
118
+ data.fill(value);
119
+ return matrix(data, r, c);
120
+ }
121
+ else {
122
+ const data = new Uint8ClampedArray(n);
123
+ data.fill(value ? 1 : 0);
124
+ return matrix(data, r, c);
125
+ }
126
+ },
127
+ MatrixMapElements: (loc_id, source_map, _platformDef, _T, U) => (m, f) => {
128
+ const results = [];
129
+ for (let r = 0; r < m.rows; r++) {
130
+ for (let c = 0; c < m.cols; c++) {
131
+ const val = m.data[r * m.cols + c];
132
+ const elem = m.data instanceof Uint8ClampedArray ? val !== 0 : val;
133
+ results.push(call_function(loc_id, source_map, f, elem, BigInt(r), BigInt(c)));
134
+ }
135
+ }
136
+ return matrix(createTypedArray(U, results), m.rows, m.cols);
137
+ },
138
+ MatrixMapRows: (loc_id, source_map, _platformDef, _T, U) => (m, f) => {
139
+ const resultRows = [];
140
+ for (let r = 0; r < m.rows; r++) {
141
+ const start = r * m.cols;
142
+ const rowVec = m.data.slice(start, start + m.cols);
143
+ const resultRow = call_function(loc_id, source_map, f, rowVec, BigInt(r));
144
+ resultRows.push(resultRow);
145
+ }
146
+ if (resultRows.length === 0) {
147
+ return matrix(allocateTypedArray(U, 0), 0, 0);
148
+ }
149
+ const newCols = resultRows[0].length;
150
+ const data = allocateTypedArray(U, m.rows * newCols);
151
+ for (let r = 0; r < m.rows; r++) {
152
+ data.set(resultRows[r], r * newCols);
153
+ }
154
+ return matrix(data, m.rows, newCols);
155
+ },
156
+ MatrixToRows: (_loc_id, _source_map, _platformDef, _T) => (m) => {
157
+ const rows = [];
158
+ for (let r = 0; r < m.rows; r++) {
159
+ rows.push(m.data.slice(r * m.cols, (r + 1) * m.cols));
160
+ }
161
+ return rows;
162
+ },
163
+ MatrixFromRows: (loc_id, source_map, _platformDef, T) => (arr) => {
164
+ if (arr.length === 0) {
165
+ return matrix(allocateTypedArray(T, 0), 0, 0);
166
+ }
167
+ const cols = arr[0].length;
168
+ for (let i = 1; i < arr.length; i++) {
169
+ if (arr[i].length !== cols) {
170
+ throw new EastError(`Jagged rows: row 0 has ${cols} columns but row ${i} has ${arr[i].length}`, { location: (source_map?.resolve(loc_id) ?? []) });
171
+ }
172
+ }
173
+ const data = allocateTypedArray(T, arr.length * cols);
174
+ for (let r = 0; r < arr.length; r++)
175
+ data.set(arr[r], r * cols);
176
+ return matrix(data, arr.length, cols);
177
+ },
178
+ // Matrix elementwise arithmetic + reductions. Sums accumulate in ascending
179
+ // index order (row-major for whole-matrix walks, ascending row for column
180
+ // sums, ascending column within each row for row sums and vec-mul) — the
181
+ // same left-to-right contract as the Vector reductions.
182
+ MatrixScale: (loc_id, source_map, _platformDef, T) => {
183
+ const elem = requireNumericElem("MatrixScale", T, loc_id, source_map);
184
+ return (m, alpha) => {
185
+ const src = m.data;
186
+ if (elem === "Float") {
187
+ const data = new Float64Array(src.length);
188
+ for (let i = 0; i < src.length; i++)
189
+ data[i] = src[i] * alpha;
190
+ return matrix(data, m.rows, m.cols);
191
+ }
192
+ const data = new BigInt64Array(src.length);
193
+ for (let i = 0; i < src.length; i++)
194
+ data[i] = wrapI64(src[i] * alpha);
195
+ return matrix(data, m.rows, m.cols);
196
+ };
197
+ },
198
+ MatrixAddScaled: (loc_id, source_map, _platformDef, T) => {
199
+ const elem = requireNumericElem("MatrixAddScaled", T, loc_id, source_map);
200
+ return (a, b, alpha) => {
201
+ requireSameDims(a, b, loc_id, source_map);
202
+ const ad = a.data;
203
+ const bd = b.data;
204
+ if (elem === "Float") {
205
+ const data = new Float64Array(ad.length);
206
+ for (let i = 0; i < ad.length; i++)
207
+ data[i] = ad[i] + alpha * bd[i];
208
+ return matrix(data, a.rows, a.cols);
209
+ }
210
+ const data = new BigInt64Array(ad.length);
211
+ for (let i = 0; i < ad.length; i++)
212
+ data[i] = wrapI64(ad[i] + wrapI64(alpha * bd[i]));
213
+ return matrix(data, a.rows, a.cols);
214
+ };
215
+ },
216
+ MatrixMulElementwise: (loc_id, source_map, _platformDef, T) => {
217
+ const elem = requireNumericElem("MatrixMulElementwise", T, loc_id, source_map);
218
+ return (a, b) => {
219
+ requireSameDims(a, b, loc_id, source_map);
220
+ const ad = a.data;
221
+ const bd = b.data;
222
+ if (elem === "Float") {
223
+ const data = new Float64Array(ad.length);
224
+ for (let i = 0; i < ad.length; i++)
225
+ data[i] = ad[i] * bd[i];
226
+ return matrix(data, a.rows, a.cols);
227
+ }
228
+ const data = new BigInt64Array(ad.length);
229
+ for (let i = 0; i < ad.length; i++)
230
+ data[i] = wrapI64(ad[i] * bd[i]);
231
+ return matrix(data, a.rows, a.cols);
232
+ };
233
+ },
234
+ MatrixRowSums: (loc_id, source_map, _platformDef, T) => {
235
+ const elem = requireNumericElem("MatrixRowSums", T, loc_id, source_map);
236
+ return (m) => {
237
+ const src = m.data;
238
+ if (elem === "Float") {
239
+ const result = new Float64Array(m.rows);
240
+ for (let r = 0; r < m.rows; r++) {
241
+ let acc = 0;
242
+ for (let c = 0; c < m.cols; c++)
243
+ acc += src[r * m.cols + c];
244
+ result[r] = acc;
245
+ }
246
+ return result;
247
+ }
248
+ const result = new BigInt64Array(m.rows);
249
+ for (let r = 0; r < m.rows; r++) {
250
+ let acc = 0n;
251
+ for (let c = 0; c < m.cols; c++)
252
+ acc = wrapI64(acc + src[r * m.cols + c]);
253
+ result[r] = acc;
254
+ }
255
+ return result;
256
+ };
257
+ },
258
+ MatrixColSums: (loc_id, source_map, _platformDef, T) => {
259
+ const elem = requireNumericElem("MatrixColSums", T, loc_id, source_map);
260
+ return (m) => {
261
+ const src = m.data;
262
+ if (elem === "Float") {
263
+ const result = new Float64Array(m.cols);
264
+ for (let c = 0; c < m.cols; c++) {
265
+ let acc = 0;
266
+ for (let r = 0; r < m.rows; r++)
267
+ acc += src[r * m.cols + c];
268
+ result[c] = acc;
269
+ }
270
+ return result;
271
+ }
272
+ const result = new BigInt64Array(m.cols);
273
+ for (let c = 0; c < m.cols; c++) {
274
+ let acc = 0n;
275
+ for (let r = 0; r < m.rows; r++)
276
+ acc = wrapI64(acc + src[r * m.cols + c]);
277
+ result[c] = acc;
278
+ }
279
+ return result;
280
+ };
281
+ },
282
+ MatrixVecMul: (loc_id, source_map, _platformDef, T) => {
283
+ const elem = requireNumericElem("MatrixVecMul", T, loc_id, source_map);
284
+ return (m, v) => {
285
+ if (v.length !== m.cols) {
286
+ throw new EastError(`MatrixVecMul dimension mismatch (${m.rows}x${m.cols} vs length ${v.length})`, { location: (source_map?.resolve(loc_id) ?? []) });
287
+ }
288
+ const src = m.data;
289
+ if (elem === "Float") {
290
+ const result = new Float64Array(m.rows);
291
+ for (let r = 0; r < m.rows; r++) {
292
+ let acc = 0;
293
+ for (let c = 0; c < m.cols; c++)
294
+ acc += src[r * m.cols + c] * v[c];
295
+ result[r] = acc;
296
+ }
297
+ return result;
298
+ }
299
+ const result = new BigInt64Array(m.rows);
300
+ for (let r = 0; r < m.rows; r++) {
301
+ let acc = 0n;
302
+ for (let c = 0; c < m.cols; c++)
303
+ acc = wrapI64(acc + wrapI64(src[r * m.cols + c] * v[c]));
304
+ result[r] = acc;
305
+ }
306
+ return result;
307
+ };
308
+ },
309
+ };
310
+ //# sourceMappingURL=matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../../src/compile/builtins/matrix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { SourceMap } from "../../location.js";
2
+ /** The builtins for Booleans, Integers and Floats. @internal */
3
+ export declare const primitives_builtins: {
4
+ BooleanNot: (_loc_id: bigint, _source_map: SourceMap | null) => (x: boolean) => boolean;
5
+ BooleanOr: (_loc_id: bigint, _source_map: SourceMap | null) => (x: boolean, y: boolean) => boolean;
6
+ BooleanAnd: (_loc_id: bigint, _source_map: SourceMap | null) => (x: boolean, y: boolean) => boolean;
7
+ BooleanXor: (_loc_id: bigint, _source_map: SourceMap | null) => (x: boolean, y: boolean) => boolean;
8
+ IntegerToFloat: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint) => number;
9
+ IntegerNegate: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint) => bigint;
10
+ IntegerAdd: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
11
+ IntegerSubtract: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
12
+ IntegerMultiply: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
13
+ IntegerDivide: (loc_id: bigint, source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
14
+ IntegerRemainder: (loc_id: bigint, source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
15
+ IntegerPow: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint, y: bigint) => bigint;
16
+ IntegerAbs: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint) => bigint;
17
+ IntegerSign: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint) => 0n | 1n | -1n;
18
+ IntegerLog: (_loc_id: bigint, _source_map: SourceMap | null) => (value: bigint, base: bigint) => bigint;
19
+ FloatToInteger: (loc_id: bigint, source_map: SourceMap | null) => (x: number) => bigint;
20
+ FloatNegate: (_loc_id: bigint, _source_map: SourceMap | null) => (x: bigint) => bigint;
21
+ FloatAdd: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
22
+ FloatSubtract: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
23
+ FloatMultiply: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
24
+ FloatDivide: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
25
+ FloatRemainder: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
26
+ FloatPow: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number, y: number) => number;
27
+ FloatAbs: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number) => number;
28
+ FloatSign: (_loc_id: bigint, _source_map: SourceMap | null) => (x: number) => 0 | 1 | -1;
29
+ FloatSqrt: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
30
+ FloatLog: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
31
+ FloatExp: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
32
+ FloatSin: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
33
+ FloatCos: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
34
+ FloatTan: (_loc_id: bigint, _source_map: SourceMap | null) => (value: number) => number;
35
+ };
36
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/primitives.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7D,gEAAgE;AAChE,eAAO,MAAM,mBAAmB;0BACR,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,OAAO;yBACtD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,OAAO,KAAK,OAAO;0BAChE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,OAAO,KAAK,OAAO;0BACjE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,OAAO,KAAK,OAAO;8BAE7D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;6BACrD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;0BACvD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;+BAC1D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;+BAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;4BAClE,MAAM,cAAc,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;+BAI3D,MAAM,cAAc,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;0BAInE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;0BAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;2BACnD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;0BACrD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM,QAAQ,MAAM;6BAenE,MAAM,cAAc,SAAS,GAAG,IAAI,SAAS,MAAM;2BAOrD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;wBACvD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;6BAC1D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;6BAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;2BACjE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;8BAC5D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;wBACrE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;wBAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;yBACnD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;yBACpD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;wBACzD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;wBACxD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;wBACxD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;wBACxD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;wBACxD,MAAM,eAAe,SAAS,GAAG,IAAI,aAAa,MAAM;CACjD,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { EastError } from "../../error.js";
2
+ /** The builtins for Booleans, Integers and Floats. @internal */
3
+ export const primitives_builtins = {
4
+ BooleanNot: (_loc_id, _source_map) => (x) => !x,
5
+ BooleanOr: (_loc_id, _source_map) => (x, y) => x || y,
6
+ BooleanAnd: (_loc_id, _source_map) => (x, y) => x && y,
7
+ BooleanXor: (_loc_id, _source_map) => (x, y) => x !== y,
8
+ IntegerToFloat: (_loc_id, _source_map) => (x) => Number(x),
9
+ IntegerNegate: (_loc_id, _source_map) => (x) => BigInt.asIntN(64, -x),
10
+ IntegerAdd: (_loc_id, _source_map) => (x, y) => BigInt.asIntN(64, x + y),
11
+ IntegerSubtract: (_loc_id, _source_map) => (x, y) => BigInt.asIntN(64, x - y),
12
+ IntegerMultiply: (_loc_id, _source_map) => (x, y) => BigInt.asIntN(64, x * y),
13
+ IntegerDivide: (loc_id, source_map) => (x, y) => {
14
+ if (y === 0n)
15
+ throw new EastError("Division by zero", { location: (source_map?.resolve(loc_id) ?? []) });
16
+ return BigInt.asIntN(64, x / y);
17
+ },
18
+ IntegerRemainder: (loc_id, source_map) => (x, y) => {
19
+ if (y === 0n)
20
+ throw new EastError("Division by zero", { location: (source_map?.resolve(loc_id) ?? []) });
21
+ return x % y;
22
+ },
23
+ IntegerPow: (_loc_id, _source_map) => (x, y) => y >= 0n ? BigInt.asIntN(64, x ** y) : 0n,
24
+ IntegerAbs: (_loc_id, _source_map) => (x) => BigInt.asIntN(64, x < 0n ? -x : x),
25
+ IntegerSign: (_loc_id, _source_map) => (x) => x > 0n ? 1n : x < 0n ? -1n : 0n,
26
+ IntegerLog: (_loc_id, _source_map) => (value, base) => {
27
+ if (value === 0n)
28
+ return 0n;
29
+ if (base <= 1n)
30
+ return 0n; // Invalid base
31
+ let abs_value = value < 0n ? -value : value;
32
+ let result = 0n;
33
+ while (abs_value >= base) {
34
+ abs_value = abs_value / base;
35
+ result = result + 1n;
36
+ }
37
+ return result;
38
+ },
39
+ FloatToInteger: (loc_id, source_map) => (x) => {
40
+ if (Number.isNaN(x))
41
+ throw new EastError("Cannot convert NaN to integer", { location: (source_map?.resolve(loc_id) ?? []) });
42
+ if (x >= 9223372036854775808)
43
+ throw new EastError("Float too high to convert to integer", { location: (source_map?.resolve(loc_id) ?? []) });
44
+ if (x < -9223372036854775808)
45
+ throw new EastError("Float too low to convert to integer", { location: (source_map?.resolve(loc_id) ?? []) });
46
+ if (!Number.isInteger(x)) {
47
+ throw new EastError("Cannot convert non-integer float to integer", { location: (source_map?.resolve(loc_id) ?? []) });
48
+ }
49
+ return BigInt(x);
50
+ },
51
+ FloatNegate: (_loc_id, _source_map) => (x) => -x,
52
+ FloatAdd: (_loc_id, _source_map) => (x, y) => x + y,
53
+ FloatSubtract: (_loc_id, _source_map) => (x, y) => x - y,
54
+ FloatMultiply: (_loc_id, _source_map) => (x, y) => x * y,
55
+ FloatDivide: (_loc_id, _source_map) => (x, y) => x / y,
56
+ FloatRemainder: (_loc_id, _source_map) => (x, y) => x % y,
57
+ FloatPow: (_loc_id, _source_map) => (x, y) => x ** y,
58
+ FloatAbs: (_loc_id, _source_map) => (x) => x < 0 ? -x : x,
59
+ FloatSign: (_loc_id, _source_map) => (x) => x > 0 ? 1 : x < 0 ? -1 : 0, // What sign is NaN?
60
+ FloatSqrt: (_loc_id, _source_map) => (value) => Math.sqrt(value),
61
+ FloatLog: (_loc_id, _source_map) => (value) => Math.log(value),
62
+ FloatExp: (_loc_id, _source_map) => (value) => Math.exp(value),
63
+ FloatSin: (_loc_id, _source_map) => (value) => Math.sin(value),
64
+ FloatCos: (_loc_id, _source_map) => (value) => Math.cos(value),
65
+ FloatTan: (_loc_id, _source_map) => (value) => Math.tan(value),
66
+ };
67
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../../src/compile/builtins/primitives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ref } from "../../containers/ref.js";
2
+ import type { SourceMap } from "../../location.js";
3
+ import type { PlatformFunction } from "../../platform.js";
4
+ import type { EastTypeValue } from "../../type_of_type.js";
5
+ /** The builtins for Refs. @internal */
6
+ export declare const ref_builtins: {
7
+ RefGet: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (ref: ref<any>) => any;
8
+ RefUpdate: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (ref: ref<any>, value: any) => null;
9
+ RefMerge: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _T: EastTypeValue) => (ref: ref<any>, value: any, merger: (existing: any, value: any) => any) => null;
10
+ };
11
+ //# sourceMappingURL=ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/ref.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAG9C,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,uCAAuC;AACvC,eAAO,MAAM,YAAY;sBACL,MAAM,eAAe,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,MAAM,aAAa,WAAW,GAAG,CAAC,GAAG,CAAC;wBAG3G,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,MAAM,aAAa,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG;uBAOzH,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,MAAM,aAAa,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG;CAQ5J,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { call_function, FROZEN_MESSAGE } from "../runtime.js";
6
+ import { ref } from "../../containers/ref.js";
7
+ import { EastError } from "../../error.js";
8
+ import { isFrozenValue } from "../../frozen.js";
9
+ /** The builtins for Refs. @internal */
10
+ export const ref_builtins = {
11
+ RefGet: (_loc_id, _source_map, _platformDef, _T) => (ref) => {
12
+ return ref.value;
13
+ },
14
+ RefUpdate: (loc_id, source_map, _platformDef, _T) => (ref, value) => {
15
+ if (isFrozenValue(ref)) {
16
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
17
+ }
18
+ ref.value = value;
19
+ return null;
20
+ },
21
+ RefMerge: (loc_id, source_map, _platformDef, _T) => (ref, value, merger) => {
22
+ if (isFrozenValue(ref)) {
23
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
24
+ }
25
+ const new_value = call_function(loc_id, source_map, merger, ref.value, value);
26
+ ref.value = new_value;
27
+ return null;
28
+ },
29
+ };
30
+ //# sourceMappingURL=ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../../src/compile/builtins/ref.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA0B,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,CAAC,OAAe,EAAE,WAA6B,EAAE,YAAgC,EAAE,EAAiB,EAAE,EAAE,CAAC,CAAC,GAAa,EAAE,EAAE;QACjI,OAAO,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,SAAS,EAAE,CAAC,MAAc,EAAE,UAA4B,EAAE,YAAgC,EAAE,EAAiB,EAAE,EAAE,CAAC,CAAC,GAAa,EAAE,KAAU,EAAE,EAAE;QAC9I,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAe,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,EAAE,CAAC,MAAc,EAAE,UAA4B,EAAE,YAAgC,EAAE,EAAiB,EAAE,EAAE,CAAC,CAAC,GAAa,EAAE,KAAU,EAAE,MAA0C,EAAE,EAAE;QACzL,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAe,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7E,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CAC0B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { SortedMap } from "../../containers/sortedmap.js";
2
+ import { SortedSet } from "../../containers/sortedset.js";
3
+ import { type option, variant } from "../../containers/variant.js";
4
+ import type { SourceMap } from "../../location.js";
5
+ import type { PlatformFunction } from "../../platform.js";
6
+ import type { EastTypeValue } from "../../type_of_type.js";
7
+ /** The builtins for Sets. @internal */
8
+ export declare const set_builtins: {
9
+ SetGenerate: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue) => (size: bigint, keyFn: (i: bigint) => any, onConflict: (key: any) => null) => SortedSet<any>;
10
+ SetSize: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s: Set<any>) => bigint;
11
+ SetHas: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s: Set<any>, key: any) => boolean;
12
+ SetInsert: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue) => (s: Set<any>, key: any) => null;
13
+ SetTryInsert: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s: Set<any>, key: any) => boolean;
14
+ SetDelete: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue) => (s: Set<any>, key: any) => null;
15
+ SetTryDelete: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s: Set<any>, key: any) => boolean;
16
+ SetClear: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s: Set<any>) => null;
17
+ SetUnionInPlace: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => null;
18
+ SetUnion: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => Set<any>;
19
+ SetIntersect: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => Set<any>;
20
+ SetDiff: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => Set<any>;
21
+ SetSymDiff: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => Set<any>;
22
+ SetIsSubset: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => boolean;
23
+ SetIsDisjoint: (_loc_id: bigint, _source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue) => (s1: Set<any>, s2: Set<any>) => boolean;
24
+ SetCopy: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue) => (s: SortedSet<any>) => SortedSet<any>;
25
+ SetForEach: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, f: (x: any) => any) => null;
26
+ SetFilter: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue) => (s: SortedSet<any>, f: (x: any) => any) => SortedSet<any>;
27
+ SetFilterMap: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue, _V2: EastTypeValue) => (s: SortedSet<any>, f: (k: any) => option<any>) => SortedMap<any, unknown>;
28
+ SetFirstMap: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: SortedSet<any>, f: (k: any) => any) => variant<"none", null> | import("../../containers/variant.js").some<any>;
29
+ SetMapReduce: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: SortedSet<any>, mapFn: (k: any) => any, reduceFn: (x: any, y: any) => any) => any;
30
+ SetMap: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue, _T2: EastTypeValue) => (s: SortedSet<any>, f: (x: any) => any) => SortedMap<any, unknown>;
31
+ SetReduce: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, f: (acc: any, x: any) => any, init: any) => any;
32
+ SetScan: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, f: (acc: any, x: any) => any, init: any) => any[];
33
+ SetToArray: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, valueFn: (key: any) => any) => any[];
34
+ SetToSet: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue, K2: EastTypeValue) => (s: SortedSet<any>, f: (x: any) => any) => SortedSet<any>;
35
+ SetToDict: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], K: EastTypeValue, K2: EastTypeValue, _V2: EastTypeValue) => (s: Set<any>, keyFn: (key: any) => any, valueFn: (key: any) => any, onConflict: (v1: any, v2: any, k: any) => null) => SortedMap<any, unknown>;
36
+ SetFlattenToArray: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, fn: (value: any) => any[]) => any[];
37
+ SetFlattenToSet: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, K2: EastTypeValue) => (s: Set<any>, fn: (value: any) => any[]) => SortedSet<any>;
38
+ SetFlattenToDict: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, K2: EastTypeValue, _V2: EastTypeValue) => (s: Set<any>, fn: (value: any) => any[], onConflict: (v1: any, v2: any, k: any) => null) => SortedMap<any, unknown>;
39
+ SetGroupFold: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], _K: EastTypeValue, K2: EastTypeValue, _T2: EastTypeValue) => (s: Set<any>, keyFn: (k: any) => any, init: (k2: any) => any, folder: (acc: any, k: any) => any) => SortedMap<any, unknown>;
40
+ };
41
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/set.ts"],"names":[],"mappings":"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"}