numbl 0.4.7 → 0.4.9

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 (552) hide show
  1. package/dist-browser/browser/index.d.ts +21 -0
  2. package/dist-browser/browser/mip.d.ts +10 -0
  3. package/dist-browser/browser/protocol.d.ts +59 -0
  4. package/dist-browser/browser/session.d.ts +55 -0
  5. package/dist-browser/browser/system-store.d.ts +30 -0
  6. package/dist-browser/browser/worker.d.ts +1 -0
  7. package/dist-browser/browser.js +131 -0
  8. package/dist-browser/db/operations.d.ts +25 -0
  9. package/dist-browser/db/schema.d.ts +26 -0
  10. package/dist-browser/graphics/axisLimits.d.ts +23 -0
  11. package/dist-browser/graphics/figuresReducer.d.ts +86 -0
  12. package/dist-browser/graphics/types.d.ts +423 -0
  13. package/dist-browser/hooks/useProjectFiles.d.ts +45 -0
  14. package/dist-browser/numbl-core/diagnostics/errors.d.ts +8 -0
  15. package/dist-browser/numbl-core/diagnostics/index.d.ts +27 -0
  16. package/dist-browser/numbl-core/executeCode.d.ts +108 -0
  17. package/dist-browser/numbl-core/executors/cache.d.ts +26 -0
  18. package/dist-browser/numbl-core/executors/classification.d.ts +134 -0
  19. package/dist-browser/numbl-core/executors/context.d.ts +76 -0
  20. package/dist-browser/numbl-core/executors/handleInline.d.ts +58 -0
  21. package/dist-browser/numbl-core/executors/index.d.ts +14 -0
  22. package/dist-browser/numbl-core/executors/jit/cJitCallExecutor.d.ts +35 -0
  23. package/dist-browser/numbl-core/executors/jit/cJitLoopExecutor.d.ts +31 -0
  24. package/dist-browser/numbl-core/executors/jit/cJitTopLevelExecutor.d.ts +29 -0
  25. package/dist-browser/numbl-core/executors/jit/callExecutor.d.ts +45 -0
  26. package/dist-browser/numbl-core/executors/jit/compileC.d.ts +51 -0
  27. package/dist-browser/numbl-core/executors/jit/compileC.node.d.ts +25 -0
  28. package/dist-browser/numbl-core/executors/jit/hostHelpers.d.ts +31 -0
  29. package/dist-browser/numbl-core/executors/jit/loopExecutor.d.ts +41 -0
  30. package/dist-browser/numbl-core/executors/jit/session.d.ts +17 -0
  31. package/dist-browser/numbl-core/executors/jit/topLevelExecutor.d.ts +36 -0
  32. package/dist-browser/numbl-core/executors/jit/typeAdapter.d.ts +28 -0
  33. package/dist-browser/numbl-core/executors/jit/typeAdapterC.d.ts +73 -0
  34. package/dist-browser/numbl-core/executors/jit/valueAdapter.d.ts +55 -0
  35. package/dist-browser/numbl-core/executors/jit/valueAdapterC.d.ts +108 -0
  36. package/dist-browser/numbl-core/executors/lowering.d.ts +120 -0
  37. package/dist-browser/numbl-core/executors/plugins.d.ts +41 -0
  38. package/dist-browser/numbl-core/executors/registry.d.ts +148 -0
  39. package/dist-browser/numbl-core/executors/types.d.ts +103 -0
  40. package/dist-browser/numbl-core/externalAccessDirective.d.ts +6 -0
  41. package/dist-browser/numbl-core/fileIOAdapter.d.ts +88 -0
  42. package/dist-browser/numbl-core/functionResolve.d.ts +70 -0
  43. package/dist-browser/numbl-core/helpers/arithmetic.d.ts +47 -0
  44. package/dist-browser/numbl-core/helpers/bessel.d.ts +49 -0
  45. package/dist-browser/numbl-core/helpers/check-helpers.d.ts +49 -0
  46. package/dist-browser/numbl-core/helpers/constants.d.ts +6 -0
  47. package/dist-browser/numbl-core/helpers/dummy.d.ts +5 -0
  48. package/dist-browser/numbl-core/helpers/effectively-real.d.ts +25 -0
  49. package/dist-browser/numbl-core/helpers/eigs-select.d.ts +25 -0
  50. package/dist-browser/numbl-core/helpers/erf.d.ts +5 -0
  51. package/dist-browser/numbl-core/helpers/gmres.d.ts +51 -0
  52. package/dist-browser/numbl-core/helpers/linsolve.d.ts +25 -0
  53. package/dist-browser/numbl-core/helpers/marching-cubes-tables.d.ts +10 -0
  54. package/dist-browser/numbl-core/helpers/marching-cubes.d.ts +46 -0
  55. package/dist-browser/numbl-core/helpers/ode-rk.d.ts +83 -0
  56. package/dist-browser/numbl-core/helpers/prng.d.ts +19 -0
  57. package/dist-browser/numbl-core/helpers/quadgk.d.ts +32 -0
  58. package/dist-browser/numbl-core/helpers/reduction/cumulative.d.ts +8 -0
  59. package/dist-browser/numbl-core/helpers/reduction/min-max.d.ts +5 -0
  60. package/dist-browser/numbl-core/helpers/reduction-helpers.d.ts +66 -0
  61. package/dist-browser/numbl-core/helpers/registry.d.ts +7 -0
  62. package/dist-browser/numbl-core/helpers/scanFormat.d.ts +11 -0
  63. package/dist-browser/numbl-core/helpers/shape-utils.d.ts +7 -0
  64. package/dist-browser/numbl-core/helpers/sparse-arithmetic.d.ts +16 -0
  65. package/dist-browser/numbl-core/helpers/string.d.ts +11 -0
  66. package/dist-browser/numbl-core/interpreter/builtins/arithmetic.d.ts +4 -0
  67. package/dist-browser/numbl-core/interpreter/builtins/array-construction.d.ts +10 -0
  68. package/dist-browser/numbl-core/interpreter/builtins/array-extras.d.ts +5 -0
  69. package/dist-browser/numbl-core/interpreter/builtins/array-manipulation.d.ts +7 -0
  70. package/dist-browser/numbl-core/interpreter/builtins/cell-struct.d.ts +5 -0
  71. package/dist-browser/numbl-core/interpreter/builtins/complex.d.ts +4 -0
  72. package/dist-browser/numbl-core/interpreter/builtins/datetime.d.ts +40 -0
  73. package/dist-browser/numbl-core/interpreter/builtins/dictionary.d.ts +15 -0
  74. package/dist-browser/numbl-core/interpreter/builtins/fft.d.ts +7 -0
  75. package/dist-browser/numbl-core/interpreter/builtins/gallery.d.ts +7 -0
  76. package/dist-browser/numbl-core/interpreter/builtins/geometry.d.ts +10 -0
  77. package/dist-browser/numbl-core/interpreter/builtins/graph.d.ts +29 -0
  78. package/dist-browser/numbl-core/interpreter/builtins/help-text.d.ts +5 -0
  79. package/dist-browser/numbl-core/interpreter/builtins/index.d.ts +39 -0
  80. package/dist-browser/numbl-core/interpreter/builtins/introspection.d.ts +6 -0
  81. package/dist-browser/numbl-core/interpreter/builtins/linear-algebra.d.ts +9 -0
  82. package/dist-browser/numbl-core/interpreter/builtins/logical.d.ts +9 -0
  83. package/dist-browser/numbl-core/interpreter/builtins/math.d.ts +4 -0
  84. package/dist-browser/numbl-core/interpreter/builtins/misc.d.ts +7 -0
  85. package/dist-browser/numbl-core/interpreter/builtins/numerical.d.ts +10 -0
  86. package/dist-browser/numbl-core/interpreter/builtins/predicates.d.ts +4 -0
  87. package/dist-browser/numbl-core/interpreter/builtins/prng.d.ts +4 -0
  88. package/dist-browser/numbl-core/interpreter/builtins/reductions.d.ts +6 -0
  89. package/dist-browser/numbl-core/interpreter/builtins/set-operations.d.ts +4 -0
  90. package/dist-browser/numbl-core/interpreter/builtins/sparse.d.ts +4 -0
  91. package/dist-browser/numbl-core/interpreter/builtins/special-math.d.ts +4 -0
  92. package/dist-browser/numbl-core/interpreter/builtins/string-extras.d.ts +5 -0
  93. package/dist-browser/numbl-core/interpreter/builtins/strings.d.ts +7 -0
  94. package/dist-browser/numbl-core/interpreter/builtins/time-system.d.ts +6 -0
  95. package/dist-browser/numbl-core/interpreter/builtins/type-constructors.d.ts +5 -0
  96. package/dist-browser/numbl-core/interpreter/builtins/types.d.ts +98 -0
  97. package/dist-browser/numbl-core/interpreter/builtins/utility.d.ts +4 -0
  98. package/dist-browser/numbl-core/interpreter/builtins/validation.d.ts +4 -0
  99. package/dist-browser/numbl-core/interpreter/interpreter.d.ts +199 -0
  100. package/dist-browser/numbl-core/interpreter/interpreterExec.d.ts +81 -0
  101. package/dist-browser/numbl-core/interpreter/interpreterFunctions.d.ts +62 -0
  102. package/dist-browser/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +35 -0
  103. package/dist-browser/numbl-core/interpreter/types.d.ts +114 -0
  104. package/dist-browser/numbl-core/jit/builtins/defs/_shared.d.ts +43 -0
  105. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/_elemwise.d.ts +123 -0
  106. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/minus.d.ts +2 -0
  107. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/mpower.d.ts +12 -0
  108. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/mrdivide.d.ts +5 -0
  109. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/mtimes.d.ts +2 -0
  110. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/plus.d.ts +2 -0
  111. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/power.d.ts +30 -0
  112. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/rdivide.d.ts +2 -0
  113. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/times.d.ts +2 -0
  114. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/uminus.d.ts +2 -0
  115. package/dist-browser/numbl-core/jit/builtins/defs/compare/_compare.d.ts +12 -0
  116. package/dist-browser/numbl-core/jit/builtins/defs/compare/eq.d.ts +2 -0
  117. package/dist-browser/numbl-core/jit/builtins/defs/compare/ge.d.ts +2 -0
  118. package/dist-browser/numbl-core/jit/builtins/defs/compare/gt.d.ts +2 -0
  119. package/dist-browser/numbl-core/jit/builtins/defs/compare/le.d.ts +2 -0
  120. package/dist-browser/numbl-core/jit/builtins/defs/compare/lt.d.ts +2 -0
  121. package/dist-browser/numbl-core/jit/builtins/defs/compare/ne.d.ts +2 -0
  122. package/dist-browser/numbl-core/jit/builtins/defs/diag/assert.d.ts +6 -0
  123. package/dist-browser/numbl-core/jit/builtins/defs/io/_format_args.d.ts +17 -0
  124. package/dist-browser/numbl-core/jit/builtins/defs/io/disp.d.ts +2 -0
  125. package/dist-browser/numbl-core/jit/builtins/defs/io/error.d.ts +2 -0
  126. package/dist-browser/numbl-core/jit/builtins/defs/io/fprintf.d.ts +2 -0
  127. package/dist-browser/numbl-core/jit/builtins/defs/io/sprintf.d.ts +2 -0
  128. package/dist-browser/numbl-core/jit/builtins/defs/io/warning.d.ts +15 -0
  129. package/dist-browser/numbl-core/jit/builtins/defs/logical/_shortcircuit.d.ts +30 -0
  130. package/dist-browser/numbl-core/jit/builtins/defs/logical/_unary_pred.d.ts +30 -0
  131. package/dist-browser/numbl-core/jit/builtins/defs/logical/and.d.ts +5 -0
  132. package/dist-browser/numbl-core/jit/builtins/defs/logical/andand.d.ts +1 -0
  133. package/dist-browser/numbl-core/jit/builtins/defs/logical/boolconst.d.ts +3 -0
  134. package/dist-browser/numbl-core/jit/builtins/defs/logical/classBuiltin.d.ts +21 -0
  135. package/dist-browser/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +15 -0
  136. package/dist-browser/numbl-core/jit/builtins/defs/logical/isa.d.ts +13 -0
  137. package/dist-browser/numbl-core/jit/builtins/defs/logical/iscell.d.ts +8 -0
  138. package/dist-browser/numbl-core/jit/builtins/defs/logical/isempty.d.ts +2 -0
  139. package/dist-browser/numbl-core/jit/builtins/defs/logical/isequal.d.ts +2 -0
  140. package/dist-browser/numbl-core/jit/builtins/defs/logical/isfield.d.ts +20 -0
  141. package/dist-browser/numbl-core/jit/builtins/defs/logical/isinf.d.ts +2 -0
  142. package/dist-browser/numbl-core/jit/builtins/defs/logical/isnan.d.ts +1 -0
  143. package/dist-browser/numbl-core/jit/builtins/defs/logical/isnumeric.d.ts +7 -0
  144. package/dist-browser/numbl-core/jit/builtins/defs/logical/isreal.d.ts +2 -0
  145. package/dist-browser/numbl-core/jit/builtins/defs/logical/isscalar.d.ts +20 -0
  146. package/dist-browser/numbl-core/jit/builtins/defs/logical/isstruct.d.ts +7 -0
  147. package/dist-browser/numbl-core/jit/builtins/defs/logical/logical.d.ts +1 -0
  148. package/dist-browser/numbl-core/jit/builtins/defs/logical/not.d.ts +15 -0
  149. package/dist-browser/numbl-core/jit/builtins/defs/logical/or.d.ts +11 -0
  150. package/dist-browser/numbl-core/jit/builtins/defs/logical/oror.d.ts +1 -0
  151. package/dist-browser/numbl-core/jit/builtins/defs/logical/strcmp.d.ts +21 -0
  152. package/dist-browser/numbl-core/jit/builtins/defs/logical/typequery.d.ts +10 -0
  153. package/dist-browser/numbl-core/jit/builtins/defs/logical/xor.d.ts +12 -0
  154. package/dist-browser/numbl-core/jit/builtins/defs/math/_complex_fold.d.ts +34 -0
  155. package/dist-browser/numbl-core/jit/builtins/defs/math/_unary_real.d.ts +51 -0
  156. package/dist-browser/numbl-core/jit/builtins/defs/math/abs.d.ts +7 -0
  157. package/dist-browser/numbl-core/jit/builtins/defs/math/angle.d.ts +7 -0
  158. package/dist-browser/numbl-core/jit/builtins/defs/math/asinh.d.ts +1 -0
  159. package/dist-browser/numbl-core/jit/builtins/defs/math/atan.d.ts +1 -0
  160. package/dist-browser/numbl-core/jit/builtins/defs/math/atan2.d.ts +3 -0
  161. package/dist-browser/numbl-core/jit/builtins/defs/math/besselh.d.ts +2 -0
  162. package/dist-browser/numbl-core/jit/builtins/defs/math/ceil.d.ts +4 -0
  163. package/dist-browser/numbl-core/jit/builtins/defs/math/conj.d.ts +7 -0
  164. package/dist-browser/numbl-core/jit/builtins/defs/math/constants.d.ts +7 -0
  165. package/dist-browser/numbl-core/jit/builtins/defs/math/cos.d.ts +1 -0
  166. package/dist-browser/numbl-core/jit/builtins/defs/math/cosh.d.ts +1 -0
  167. package/dist-browser/numbl-core/jit/builtins/defs/math/dot.d.ts +20 -0
  168. package/dist-browser/numbl-core/jit/builtins/defs/math/double.d.ts +28 -0
  169. package/dist-browser/numbl-core/jit/builtins/defs/math/exp.d.ts +1 -0
  170. package/dist-browser/numbl-core/jit/builtins/defs/math/fix.d.ts +4 -0
  171. package/dist-browser/numbl-core/jit/builtins/defs/math/floor.d.ts +4 -0
  172. package/dist-browser/numbl-core/jit/builtins/defs/math/hypot.d.ts +3 -0
  173. package/dist-browser/numbl-core/jit/builtins/defs/math/imag.d.ts +7 -0
  174. package/dist-browser/numbl-core/jit/builtins/defs/math/linspace.d.ts +6 -0
  175. package/dist-browser/numbl-core/jit/builtins/defs/math/log.d.ts +4 -0
  176. package/dist-browser/numbl-core/jit/builtins/defs/math/log10.d.ts +3 -0
  177. package/dist-browser/numbl-core/jit/builtins/defs/math/log2.d.ts +5 -0
  178. package/dist-browser/numbl-core/jit/builtins/defs/math/logspace.d.ts +8 -0
  179. package/dist-browser/numbl-core/jit/builtins/defs/math/mod.d.ts +1 -0
  180. package/dist-browser/numbl-core/jit/builtins/defs/math/norm.d.ts +2 -0
  181. package/dist-browser/numbl-core/jit/builtins/defs/math/rand.d.ts +2 -0
  182. package/dist-browser/numbl-core/jit/builtins/defs/math/real.d.ts +7 -0
  183. package/dist-browser/numbl-core/jit/builtins/defs/math/rem.d.ts +3 -0
  184. package/dist-browser/numbl-core/jit/builtins/defs/math/round.d.ts +1 -0
  185. package/dist-browser/numbl-core/jit/builtins/defs/math/sign.d.ts +5 -0
  186. package/dist-browser/numbl-core/jit/builtins/defs/math/sin.d.ts +1 -0
  187. package/dist-browser/numbl-core/jit/builtins/defs/math/sinh.d.ts +1 -0
  188. package/dist-browser/numbl-core/jit/builtins/defs/math/sqrt.d.ts +11 -0
  189. package/dist-browser/numbl-core/jit/builtins/defs/math/tan.d.ts +1 -0
  190. package/dist-browser/numbl-core/jit/builtins/defs/math/tanh.d.ts +1 -0
  191. package/dist-browser/numbl-core/jit/builtins/defs/math/uniquetol.d.ts +22 -0
  192. package/dist-browser/numbl-core/jit/builtins/defs/plot/dispatch.d.ts +6 -0
  193. package/dist-browser/numbl-core/jit/builtins/defs/reduction/_cumulative.d.ts +49 -0
  194. package/dist-browser/numbl-core/jit/builtins/defs/reduction/_shape.d.ts +126 -0
  195. package/dist-browser/numbl-core/jit/builtins/defs/reduction/_variance.d.ts +17 -0
  196. package/dist-browser/numbl-core/jit/builtins/defs/reduction/all.d.ts +1 -0
  197. package/dist-browser/numbl-core/jit/builtins/defs/reduction/any.d.ts +1 -0
  198. package/dist-browser/numbl-core/jit/builtins/defs/reduction/cummax.d.ts +1 -0
  199. package/dist-browser/numbl-core/jit/builtins/defs/reduction/cummin.d.ts +1 -0
  200. package/dist-browser/numbl-core/jit/builtins/defs/reduction/cumprod.d.ts +1 -0
  201. package/dist-browser/numbl-core/jit/builtins/defs/reduction/cumsum.d.ts +1 -0
  202. package/dist-browser/numbl-core/jit/builtins/defs/reduction/diff.d.ts +16 -0
  203. package/dist-browser/numbl-core/jit/builtins/defs/reduction/length.d.ts +2 -0
  204. package/dist-browser/numbl-core/jit/builtins/defs/reduction/max.d.ts +1 -0
  205. package/dist-browser/numbl-core/jit/builtins/defs/reduction/mean.d.ts +1 -0
  206. package/dist-browser/numbl-core/jit/builtins/defs/reduction/min.d.ts +1 -0
  207. package/dist-browser/numbl-core/jit/builtins/defs/reduction/numel.d.ts +2 -0
  208. package/dist-browser/numbl-core/jit/builtins/defs/reduction/prod.d.ts +1 -0
  209. package/dist-browser/numbl-core/jit/builtins/defs/reduction/std.d.ts +1 -0
  210. package/dist-browser/numbl-core/jit/builtins/defs/reduction/sum.d.ts +1 -0
  211. package/dist-browser/numbl-core/jit/builtins/defs/reduction/var.d.ts +1 -0
  212. package/dist-browser/numbl-core/jit/builtins/defs/shape/_construct.d.ts +67 -0
  213. package/dist-browser/numbl-core/jit/builtins/defs/shape/_triangular.d.ts +34 -0
  214. package/dist-browser/numbl-core/jit/builtins/defs/shape/cat.d.ts +33 -0
  215. package/dist-browser/numbl-core/jit/builtins/defs/shape/diag.d.ts +29 -0
  216. package/dist-browser/numbl-core/jit/builtins/defs/shape/eye.d.ts +5 -0
  217. package/dist-browser/numbl-core/jit/builtins/defs/shape/flip.d.ts +7 -0
  218. package/dist-browser/numbl-core/jit/builtins/defs/shape/meshgrid.d.ts +12 -0
  219. package/dist-browser/numbl-core/jit/builtins/defs/shape/ones.d.ts +1 -0
  220. package/dist-browser/numbl-core/jit/builtins/defs/shape/repmat.d.ts +37 -0
  221. package/dist-browser/numbl-core/jit/builtins/defs/shape/reshape.d.ts +39 -0
  222. package/dist-browser/numbl-core/jit/builtins/defs/shape/size.d.ts +20 -0
  223. package/dist-browser/numbl-core/jit/builtins/defs/shape/sort.d.ts +19 -0
  224. package/dist-browser/numbl-core/jit/builtins/defs/shape/transpose.d.ts +6 -0
  225. package/dist-browser/numbl-core/jit/builtins/defs/shape/tril.d.ts +16 -0
  226. package/dist-browser/numbl-core/jit/builtins/defs/shape/triu.d.ts +16 -0
  227. package/dist-browser/numbl-core/jit/builtins/defs/shape/zeros.d.ts +1 -0
  228. package/dist-browser/numbl-core/jit/builtins/defs/system/deal.d.ts +20 -0
  229. package/dist-browser/numbl-core/jit/builtins/defs/system/feval.d.ts +36 -0
  230. package/dist-browser/numbl-core/jit/builtins/defs/system/pathBuiltins.d.ts +4 -0
  231. package/dist-browser/numbl-core/jit/builtins/defs/system/tic.d.ts +8 -0
  232. package/dist-browser/numbl-core/jit/builtins/defs/system/toc.d.ts +5 -0
  233. package/dist-browser/numbl-core/jit/builtins/index.d.ts +16 -0
  234. package/dist-browser/numbl-core/jit/builtins/registry.d.ts +138 -0
  235. package/dist-browser/numbl-core/jit/builtins/runtime/cell/cell.d.ts +24 -0
  236. package/dist-browser/numbl-core/jit/builtins/runtime/indexing/loop_count.d.ts +1 -0
  237. package/dist-browser/numbl-core/jit/builtins/runtime/indexing/range_value.d.ts +1 -0
  238. package/dist-browser/numbl-core/jit/builtins/runtime/indexing/scalar_index.d.ts +11 -0
  239. package/dist-browser/numbl-core/jit/builtins/runtime/indexing/tensor_make_range.d.ts +5 -0
  240. package/dist-browser/numbl-core/jit/builtins/runtime/io/assert_fmt.d.ts +1 -0
  241. package/dist-browser/numbl-core/jit/builtins/runtime/io/disp_complex.d.ts +1 -0
  242. package/dist-browser/numbl-core/jit/builtins/runtime/io/disp_double.d.ts +1 -0
  243. package/dist-browser/numbl-core/jit/builtins/runtime/io/disp_struct.d.ts +1 -0
  244. package/dist-browser/numbl-core/jit/builtins/runtime/io/disp_tensor.d.ts +1 -0
  245. package/dist-browser/numbl-core/jit/builtins/runtime/io/disp_tensor_complex.d.ts +1 -0
  246. package/dist-browser/numbl-core/jit/builtins/runtime/io/error_fmt.d.ts +2 -0
  247. package/dist-browser/numbl-core/jit/builtins/runtime/io/format_complex.d.ts +1 -0
  248. package/dist-browser/numbl-core/jit/builtins/runtime/io/format_double.d.ts +1 -0
  249. package/dist-browser/numbl-core/jit/builtins/runtime/io/format_engine.d.ts +1 -0
  250. package/dist-browser/numbl-core/jit/builtins/runtime/io/fprintf.d.ts +1 -0
  251. package/dist-browser/numbl-core/jit/builtins/runtime/io/sprintf.d.ts +5 -0
  252. package/dist-browser/numbl-core/jit/builtins/runtime/io/warning_fmt.d.ts +2 -0
  253. package/dist-browser/numbl-core/jit/builtins/runtime/plot/plot_dispatch.d.ts +1 -0
  254. package/dist-browser/numbl-core/jit/builtins/runtime/snippets.c.gen.d.ts +4 -0
  255. package/dist-browser/numbl-core/jit/builtins/runtime/snippets.gen.d.ts +85 -0
  256. package/dist-browser/numbl-core/jit/builtins/runtime/system/cdiv.d.ts +4 -0
  257. package/dist-browser/numbl-core/jit/builtins/runtime/system/cscalar.d.ts +103 -0
  258. package/dist-browser/numbl-core/jit/builtins/runtime/system/deep_clone.d.ts +1 -0
  259. package/dist-browser/numbl-core/jit/builtins/runtime/system/isequal.d.ts +2 -0
  260. package/dist-browser/numbl-core/jit/builtins/runtime/system/tictoc.d.ts +5 -0
  261. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor.d.ts +6 -0
  262. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_alloc.d.ts +5 -0
  263. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_alloc_complex.d.ts +6 -0
  264. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_alloc_nd.d.ts +5 -0
  265. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_alloc_nd_complex.d.ts +6 -0
  266. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_copy_complex.d.ts +6 -0
  267. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_from_matrix.d.ts +5 -0
  268. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_from_matrix_complex.d.ts +6 -0
  269. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_from_row.d.ts +5 -0
  270. package/dist-browser/numbl-core/jit/builtins/runtime/tensor/tensor_from_row_complex.d.ts +6 -0
  271. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_cat.d.ts +11 -0
  272. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_cumulative.d.ts +32 -0
  273. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_diag.d.ts +33 -0
  274. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_diff.d.ts +5 -0
  275. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_dot.d.ts +16 -0
  276. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_complex.d.ts +90 -0
  277. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real.d.ts +75 -0
  278. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real_fn.d.ts +95 -0
  279. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_eye.d.ts +10 -0
  280. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_fill_nd.d.ts +11 -0
  281. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_fill_square.d.ts +5 -0
  282. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_flip.d.ts +11 -0
  283. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_imag_all_zero.d.ts +1 -0
  284. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_linspace.d.ts +5 -0
  285. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_logical_real.d.ts +10 -0
  286. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_logspace.d.ts +5 -0
  287. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_meshgrid.d.ts +29 -0
  288. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_mtimes_complex.d.ts +10 -0
  289. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_mtimes_real.d.ts +6 -0
  290. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_norm.d.ts +4 -0
  291. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_ones_nd.d.ts +5 -0
  292. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_ones_square.d.ts +5 -0
  293. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_predicate.d.ts +42 -0
  294. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_complex.d.ts +53 -0
  295. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_real.d.ts +42 -0
  296. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_repmat.d.ts +11 -0
  297. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reshape_nd.d.ts +5 -0
  298. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reshape_nd_complex.d.ts +6 -0
  299. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_size.d.ts +5 -0
  300. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_sort_real.d.ts +36 -0
  301. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_transpose.d.ts +5 -0
  302. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_transpose_complex.d.ts +6 -0
  303. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_triangular.d.ts +22 -0
  304. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_complex_math.d.ts +128 -0
  305. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_real_math.d.ts +95 -0
  306. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_uniquetol.d.ts +5 -0
  307. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_var.d.ts +12 -0
  308. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_zeros_nd.d.ts +5 -0
  309. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_zeros_square.d.ts +5 -0
  310. package/dist-browser/numbl-core/jit/builtins/runtime/text/strcmp.d.ts +2 -0
  311. package/dist-browser/numbl-core/jit/codegen/cFormat.d.ts +36 -0
  312. package/dist-browser/numbl-core/jit/codegen/cHelpers.d.ts +48 -0
  313. package/dist-browser/numbl-core/jit/codegen/emit.d.ts +55 -0
  314. package/dist-browser/numbl-core/jit/codegen/emitCellTypedef.d.ts +23 -0
  315. package/dist-browser/numbl-core/jit/codegen/emitExpr.d.ts +33 -0
  316. package/dist-browser/numbl-core/jit/codegen/emitIndex.d.ts +56 -0
  317. package/dist-browser/numbl-core/jit/codegen/emitJs.d.ts +64 -0
  318. package/dist-browser/numbl-core/jit/codegen/emitNamedTypedef.d.ts +58 -0
  319. package/dist-browser/numbl-core/jit/codegen/emitStmt.d.ts +76 -0
  320. package/dist-browser/numbl-core/jit/codegen/emitTensorConcat.d.ts +23 -0
  321. package/dist-browser/numbl-core/jit/codegen/emitTensorConcatJs.d.ts +16 -0
  322. package/dist-browser/numbl-core/jit/codegen/emitTensorFused.d.ts +77 -0
  323. package/dist-browser/numbl-core/jit/codegen/inlinePass.d.ts +66 -0
  324. package/dist-browser/numbl-core/jit/codegen/liveness.d.ts +58 -0
  325. package/dist-browser/numbl-core/jit/codegen/prettyIR.d.ts +24 -0
  326. package/dist-browser/numbl-core/jit/codegen/runtime.d.ts +152 -0
  327. package/dist-browser/numbl-core/jit/compileSpec.d.ts +84 -0
  328. package/dist-browser/numbl-core/jit/compileSpecC.d.ts +100 -0
  329. package/dist-browser/numbl-core/jit/index.d.ts +15 -0
  330. package/dist-browser/numbl-core/jit/lowering/classDefs.d.ts +109 -0
  331. package/dist-browser/numbl-core/jit/lowering/definiteAssign.d.ts +42 -0
  332. package/dist-browser/numbl-core/jit/lowering/errors.d.ts +35 -0
  333. package/dist-browser/numbl-core/jit/lowering/indexFold.d.ts +31 -0
  334. package/dist-browser/numbl-core/jit/lowering/indexResolve.d.ts +100 -0
  335. package/dist-browser/numbl-core/jit/lowering/ir.d.ts +584 -0
  336. package/dist-browser/numbl-core/jit/lowering/lower.d.ts +271 -0
  337. package/dist-browser/numbl-core/jit/lowering/lowerCellIndex.d.ts +41 -0
  338. package/dist-browser/numbl-core/jit/lowering/lowerCellLit.d.ts +19 -0
  339. package/dist-browser/numbl-core/jit/lowering/lowerClassConstructor.d.ts +55 -0
  340. package/dist-browser/numbl-core/jit/lowering/lowerFuncCall.d.ts +34 -0
  341. package/dist-browser/numbl-core/jit/lowering/lowerHandle.d.ts +57 -0
  342. package/dist-browser/numbl-core/jit/lowering/lowerIndexLoad.d.ts +16 -0
  343. package/dist-browser/numbl-core/jit/lowering/lowerIndexSlice.d.ts +29 -0
  344. package/dist-browser/numbl-core/jit/lowering/lowerIndexSliceStore.d.ts +19 -0
  345. package/dist-browser/numbl-core/jit/lowering/lowerIndexStore.d.ts +14 -0
  346. package/dist-browser/numbl-core/jit/lowering/lowerMethodCall.d.ts +45 -0
  347. package/dist-browser/numbl-core/jit/lowering/lowerMultiAssign.d.ts +36 -0
  348. package/dist-browser/numbl-core/jit/lowering/lowerTensorLit.d.ts +25 -0
  349. package/dist-browser/numbl-core/jit/lowering/rangeCount.d.ts +19 -0
  350. package/dist-browser/numbl-core/jit/lowering/specialize.d.ts +93 -0
  351. package/dist-browser/numbl-core/jit/lowering/types.d.ts +503 -0
  352. package/dist-browser/numbl-core/jit/lowering/walk.d.ts +17 -0
  353. package/dist-browser/numbl-core/jit/numbl/index.d.ts +30 -0
  354. package/dist-browser/numbl-core/jit/parser/astUtils.d.ts +43 -0
  355. package/dist-browser/numbl-core/jit/parser/index.d.ts +12 -0
  356. package/dist-browser/numbl-core/jit/parser/sourceLoc.d.ts +12 -0
  357. package/dist-browser/numbl-core/jit/runtime/context.d.ts +23 -0
  358. package/dist-browser/numbl-core/jit/runtime/inferType.d.ts +10 -0
  359. package/dist-browser/numbl-core/jit/runtime/value.d.ts +101 -0
  360. package/dist-browser/numbl-core/jit/workspace/driverPrologue.d.ts +59 -0
  361. package/dist-browser/numbl-core/jit/workspace/mtoc2UserFunctionLoader.d.ts +62 -0
  362. package/dist-browser/numbl-core/jit/workspace/workspace.d.ts +243 -0
  363. package/dist-browser/numbl-core/jitDeclineDiagnostics.d.ts +32 -0
  364. package/dist-browser/numbl-core/jitTypes.d.ts +94 -0
  365. package/dist-browser/numbl-core/jsUserFunctions.d.ts +61 -0
  366. package/dist-browser/numbl-core/lexer/helpers.d.ts +15 -0
  367. package/dist-browser/numbl-core/lexer/index.d.ts +4 -0
  368. package/dist-browser/numbl-core/lexer/keywords.d.ts +3 -0
  369. package/dist-browser/numbl-core/lexer/token-config.d.ts +94 -0
  370. package/dist-browser/numbl-core/lexer/tokenizer.d.ts +9 -0
  371. package/dist-browser/numbl-core/lexer/types.d.ts +80 -0
  372. package/dist-browser/numbl-core/lowering/classInfo.d.ts +53 -0
  373. package/dist-browser/numbl-core/lowering/constants.d.ts +4 -0
  374. package/dist-browser/numbl-core/lowering/errors.d.ts +17 -0
  375. package/dist-browser/numbl-core/lowering/index.d.ts +3 -0
  376. package/dist-browser/numbl-core/lowering/itemTypes.d.ts +87 -0
  377. package/dist-browser/numbl-core/lowering/loweringContext.d.ts +241 -0
  378. package/dist-browser/numbl-core/native/bridge-resolve.d.ts +14 -0
  379. package/dist-browser/numbl-core/native/geometry-bridge.d.ts +39 -0
  380. package/dist-browser/numbl-core/native/lapack-bridge.d.ts +482 -0
  381. package/dist-browser/numbl-core/native/qhull-browser.d.ts +15 -0
  382. package/dist-browser/numbl-core/native/qhull-node.d.ts +13 -0
  383. package/dist-browser/numbl-core/native/ts-lapack-bridge.d.ts +9 -0
  384. package/dist-browser/numbl-core/native/ts-lapack-eig-complex.d.ts +32 -0
  385. package/dist-browser/numbl-core/ops/bessel.d.ts +18 -0
  386. package/dist-browser/numbl-core/ops/comparison.d.ts +11 -0
  387. package/dist-browser/numbl-core/ops/complexBinaryElemwise.d.ts +10 -0
  388. package/dist-browser/numbl-core/ops/complexUnaryElemwise.d.ts +8 -0
  389. package/dist-browser/numbl-core/ops/dispatch.d.ts +26 -0
  390. package/dist-browser/numbl-core/ops/index.d.ts +8 -0
  391. package/dist-browser/numbl-core/ops/opCodes.d.ts +70 -0
  392. package/dist-browser/numbl-core/ops/realBinaryElemwise.d.ts +8 -0
  393. package/dist-browser/numbl-core/ops/realUnaryElemwise.d.ts +5 -0
  394. package/dist-browser/numbl-core/ops/reduce.d.ts +6 -0
  395. package/dist-browser/numbl-core/parser/ArgumentsParser.d.ts +33 -0
  396. package/dist-browser/numbl-core/parser/ClassParser.d.ts +21 -0
  397. package/dist-browser/numbl-core/parser/CommandParser.d.ts +31 -0
  398. package/dist-browser/numbl-core/parser/ControlFlowParser.d.ts +16 -0
  399. package/dist-browser/numbl-core/parser/ExpressionParser.d.ts +32 -0
  400. package/dist-browser/numbl-core/parser/FunctionParser.d.ts +10 -0
  401. package/dist-browser/numbl-core/parser/Parser.d.ts +17 -0
  402. package/dist-browser/numbl-core/parser/ParserBase.d.ts +35 -0
  403. package/dist-browser/numbl-core/parser/StatementParser.d.ts +13 -0
  404. package/dist-browser/numbl-core/parser/errors.d.ts +15 -0
  405. package/dist-browser/numbl-core/parser/index.d.ts +7 -0
  406. package/dist-browser/numbl-core/parser/types.d.ts +342 -0
  407. package/dist-browser/numbl-core/runtime/alloc.d.ts +12 -0
  408. package/dist-browser/numbl-core/runtime/axisCommand.d.ts +34 -0
  409. package/dist-browser/numbl-core/runtime/compare.d.ts +5 -0
  410. package/dist-browser/numbl-core/runtime/constructors.d.ts +39 -0
  411. package/dist-browser/numbl-core/runtime/convert.d.ts +10 -0
  412. package/dist-browser/numbl-core/runtime/cow.d.ts +33 -0
  413. package/dist-browser/numbl-core/runtime/display.d.ts +6 -0
  414. package/dist-browser/numbl-core/runtime/error.d.ts +78 -0
  415. package/dist-browser/numbl-core/runtime/index.d.ts +13 -0
  416. package/dist-browser/numbl-core/runtime/indexing.d.ts +28 -0
  417. package/dist-browser/numbl-core/runtime/plotBuiltinDispatch.d.ts +92 -0
  418. package/dist-browser/numbl-core/runtime/plotUtils.d.ts +336 -0
  419. package/dist-browser/numbl-core/runtime/refcount.d.ts +85 -0
  420. package/dist-browser/numbl-core/runtime/runtime.d.ts +354 -0
  421. package/dist-browser/numbl-core/runtime/runtimeDispatch.d.ts +27 -0
  422. package/dist-browser/numbl-core/runtime/runtimeHelpers.d.ts +31 -0
  423. package/dist-browser/numbl-core/runtime/runtimeIndexing.d.ts +28 -0
  424. package/dist-browser/numbl-core/runtime/runtimeMemberAccess.d.ts +26 -0
  425. package/dist-browser/numbl-core/runtime/runtimeOperators.d.ts +24 -0
  426. package/dist-browser/numbl-core/runtime/runtimePlot.d.ts +129 -0
  427. package/dist-browser/numbl-core/runtime/sentinels.d.ts +4 -0
  428. package/dist-browser/numbl-core/runtime/specialBuiltinNames.d.ts +2 -0
  429. package/dist-browser/numbl-core/runtime/specialBuiltins.d.ts +13 -0
  430. package/dist-browser/numbl-core/runtime/struct-access.d.ts +11 -0
  431. package/dist-browser/numbl-core/runtime/syncChannel.d.ts +1 -0
  432. package/dist-browser/numbl-core/runtime/tensor-construction.d.ts +10 -0
  433. package/dist-browser/numbl-core/runtime/types.d.ts +197 -0
  434. package/dist-browser/numbl-core/runtime/uihtmlSession.d.ts +40 -0
  435. package/dist-browser/numbl-core/runtime/utils.d.ts +19 -0
  436. package/dist-browser/numbl-core/stdlib-bundle.d.ts +3 -0
  437. package/dist-browser/numbl-core/systemAdapter.d.ts +23 -0
  438. package/dist-browser/numbl-core/version.d.ts +2 -0
  439. package/dist-browser/numbl-core/workspace/index.d.ts +4 -0
  440. package/dist-browser/numbl-core/workspace/types.d.ts +24 -0
  441. package/dist-browser/ts-lapack/src/BLAS/daxpy.d.ts +1 -0
  442. package/dist-browser/ts-lapack/src/BLAS/dcopy.d.ts +1 -0
  443. package/dist-browser/ts-lapack/src/BLAS/ddot.d.ts +1 -0
  444. package/dist-browser/ts-lapack/src/BLAS/dgemm.d.ts +1 -0
  445. package/dist-browser/ts-lapack/src/BLAS/dgemm_optimized.d.ts +1 -0
  446. package/dist-browser/ts-lapack/src/BLAS/dgemv.d.ts +1 -0
  447. package/dist-browser/ts-lapack/src/BLAS/dger.d.ts +1 -0
  448. package/dist-browser/ts-lapack/src/BLAS/dnrm2.d.ts +1 -0
  449. package/dist-browser/ts-lapack/src/BLAS/drot.d.ts +1 -0
  450. package/dist-browser/ts-lapack/src/BLAS/dscal.d.ts +1 -0
  451. package/dist-browser/ts-lapack/src/BLAS/dswap.d.ts +1 -0
  452. package/dist-browser/ts-lapack/src/BLAS/dtrmm.d.ts +1 -0
  453. package/dist-browser/ts-lapack/src/BLAS/dtrmv.d.ts +1 -0
  454. package/dist-browser/ts-lapack/src/BLAS/dtrsm.d.ts +1 -0
  455. package/dist-browser/ts-lapack/src/BLAS/idamax.d.ts +1 -0
  456. package/dist-browser/ts-lapack/src/SRC/dbdsqr.d.ts +10 -0
  457. package/dist-browser/ts-lapack/src/SRC/dgebak.d.ts +1 -0
  458. package/dist-browser/ts-lapack/src/SRC/dgebal.d.ts +5 -0
  459. package/dist-browser/ts-lapack/src/SRC/dgebd2.d.ts +1 -0
  460. package/dist-browser/ts-lapack/src/SRC/dgebrd.d.ts +1 -0
  461. package/dist-browser/ts-lapack/src/SRC/dgeev.d.ts +3 -0
  462. package/dist-browser/ts-lapack/src/SRC/dgehd2.d.ts +1 -0
  463. package/dist-browser/ts-lapack/src/SRC/dgehrd.d.ts +1 -0
  464. package/dist-browser/ts-lapack/src/SRC/dgelq2.d.ts +1 -0
  465. package/dist-browser/ts-lapack/src/SRC/dgelqf.d.ts +1 -0
  466. package/dist-browser/ts-lapack/src/SRC/dgeqr2.d.ts +1 -0
  467. package/dist-browser/ts-lapack/src/SRC/dgeqrf.d.ts +1 -0
  468. package/dist-browser/ts-lapack/src/SRC/dgeqrf_optimized.d.ts +1 -0
  469. package/dist-browser/ts-lapack/src/SRC/dgesvd.d.ts +28 -0
  470. package/dist-browser/ts-lapack/src/SRC/dgetrf.d.ts +1 -0
  471. package/dist-browser/ts-lapack/src/SRC/dgetrf2.d.ts +1 -0
  472. package/dist-browser/ts-lapack/src/SRC/dgetri.d.ts +1 -0
  473. package/dist-browser/ts-lapack/src/SRC/dhseqr.d.ts +32 -0
  474. package/dist-browser/ts-lapack/src/SRC/dlabrd.d.ts +1 -0
  475. package/dist-browser/ts-lapack/src/SRC/dlacpy.d.ts +18 -0
  476. package/dist-browser/ts-lapack/src/SRC/dladiv.d.ts +9 -0
  477. package/dist-browser/ts-lapack/src/SRC/dlaexc.d.ts +21 -0
  478. package/dist-browser/ts-lapack/src/SRC/dlahqr.d.ts +24 -0
  479. package/dist-browser/ts-lapack/src/SRC/dlahr2.d.ts +1 -0
  480. package/dist-browser/ts-lapack/src/SRC/dlaln2.d.ts +5 -0
  481. package/dist-browser/ts-lapack/src/SRC/dlamch.d.ts +1 -0
  482. package/dist-browser/ts-lapack/src/SRC/dlange.d.ts +1 -0
  483. package/dist-browser/ts-lapack/src/SRC/dlanv2.d.ts +12 -0
  484. package/dist-browser/ts-lapack/src/SRC/dlapy2.d.ts +1 -0
  485. package/dist-browser/ts-lapack/src/SRC/dlaqr1.d.ts +1 -0
  486. package/dist-browser/ts-lapack/src/SRC/dlaqr30.d.ts +81 -0
  487. package/dist-browser/ts-lapack/src/SRC/dlaqr5.d.ts +38 -0
  488. package/dist-browser/ts-lapack/src/SRC/dlarf.d.ts +18 -0
  489. package/dist-browser/ts-lapack/src/SRC/dlarf1f.d.ts +1 -0
  490. package/dist-browser/ts-lapack/src/SRC/dlarfb.d.ts +25 -0
  491. package/dist-browser/ts-lapack/src/SRC/dlarfg.d.ts +4 -0
  492. package/dist-browser/ts-lapack/src/SRC/dlarft.d.ts +20 -0
  493. package/dist-browser/ts-lapack/src/SRC/dlarfx.d.ts +17 -0
  494. package/dist-browser/ts-lapack/src/SRC/dlartg.d.ts +5 -0
  495. package/dist-browser/ts-lapack/src/SRC/dlas2.d.ts +4 -0
  496. package/dist-browser/ts-lapack/src/SRC/dlascl.d.ts +1 -0
  497. package/dist-browser/ts-lapack/src/SRC/dlaset.d.ts +19 -0
  498. package/dist-browser/ts-lapack/src/SRC/dlasr.d.ts +1 -0
  499. package/dist-browser/ts-lapack/src/SRC/dlassq.d.ts +18 -0
  500. package/dist-browser/ts-lapack/src/SRC/dlasv2.d.ts +8 -0
  501. package/dist-browser/ts-lapack/src/SRC/dlaswp.d.ts +1 -0
  502. package/dist-browser/ts-lapack/src/SRC/dlasy2.d.ts +5 -0
  503. package/dist-browser/ts-lapack/src/SRC/dorg2r.d.ts +1 -0
  504. package/dist-browser/ts-lapack/src/SRC/dorgbr.d.ts +1 -0
  505. package/dist-browser/ts-lapack/src/SRC/dorghr.d.ts +1 -0
  506. package/dist-browser/ts-lapack/src/SRC/dorgl2.d.ts +1 -0
  507. package/dist-browser/ts-lapack/src/SRC/dorglq.d.ts +1 -0
  508. package/dist-browser/ts-lapack/src/SRC/dorgqr.d.ts +1 -0
  509. package/dist-browser/ts-lapack/src/SRC/dorgqr_optimized.d.ts +1 -0
  510. package/dist-browser/ts-lapack/src/SRC/dorm2r.d.ts +1 -0
  511. package/dist-browser/ts-lapack/src/SRC/dormhr.d.ts +1 -0
  512. package/dist-browser/ts-lapack/src/SRC/dormqr.d.ts +1 -0
  513. package/dist-browser/ts-lapack/src/SRC/dpotf2.d.ts +1 -0
  514. package/dist-browser/ts-lapack/src/SRC/dtrevc3.d.ts +27 -0
  515. package/dist-browser/ts-lapack/src/SRC/dtrexc.d.ts +24 -0
  516. package/dist-browser/ts-lapack/src/SRC/dtrti2.d.ts +1 -0
  517. package/dist-browser/ts-lapack/src/SRC/dtrtri.d.ts +1 -0
  518. package/dist-browser/ts-lapack/src/utils/constants.d.ts +28 -0
  519. package/dist-browser/ts-lapack/src/utils/iladlc.d.ts +1 -0
  520. package/dist-browser/ts-lapack/src/utils/iladlr.d.ts +1 -0
  521. package/dist-browser/ts-lapack/src/utils/ilaenv.d.ts +1 -0
  522. package/dist-browser/ts-lapack/src/utils/xerbla.d.ts +1 -0
  523. package/dist-browser/vfs/BrowserFileIOAdapter.d.ts +60 -0
  524. package/dist-browser/vfs/BrowserSystemAdapter.d.ts +27 -0
  525. package/dist-browser/vfs/VirtualFileSystem.d.ts +66 -0
  526. package/dist-browser/vfs/syncVfsChanges.d.ts +23 -0
  527. package/dist-browser/vfs/unzipToFiles.d.ts +7 -0
  528. package/dist-cli/cli.js +1527 -205
  529. package/dist-lib/lib.d.ts +4 -0
  530. package/dist-lib/lib.js +2217 -199
  531. package/dist-lib/numbl-core/executors/jit/hostHelpers.d.ts +4 -0
  532. package/dist-lib/numbl-core/fileIOAdapter.d.ts +13 -0
  533. package/dist-lib/numbl-core/helpers/scanFormat.d.ts +11 -0
  534. package/dist-lib/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +2 -2
  535. package/dist-lib/numbl-core/jit/builtins/defs/math/rand.d.ts +2 -0
  536. package/dist-lib/numbl-core/jitDeclineDiagnostics.d.ts +32 -0
  537. package/dist-lib/numbl-core/jsUserFunctions.d.ts +13 -0
  538. package/dist-lib/numbl-core/runtime/constructors.d.ts +3 -1
  539. package/dist-lib/numbl-core/runtime/indexing.d.ts +3 -0
  540. package/dist-lib/numbl-core/runtime/runtime.d.ts +1 -0
  541. package/dist-lib/numbl-core/runtime/types.d.ts +15 -1
  542. package/dist-lib/numbl-core/runtime/utils.d.ts +3 -0
  543. package/dist-lib/numbl-core/version.d.ts +1 -1
  544. package/dist-lib/vfs/BrowserFileIOAdapter.d.ts +60 -0
  545. package/dist-lib/vfs/BrowserSystemAdapter.d.ts +27 -0
  546. package/dist-lib/vfs/VirtualFileSystem.d.ts +66 -0
  547. package/dist-site-viewer/assets/index-CT9HA1Pn.js +4831 -0
  548. package/dist-site-viewer/assets/numbl-worker-CYPflGmm.js +5246 -0
  549. package/dist-site-viewer/index.html +1 -1
  550. package/package.json +9 -3
  551. package/dist-site-viewer/assets/index-RucHpf4b.js +0 -4826
  552. package/dist-site-viewer/assets/numbl-worker-IO39kohI.js +0 -5228
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Executor registry and dispatch.
3
+ *
4
+ * Three entry points, three concerns:
5
+ * - `dispatch(siblings, i, ctx)` — per-stmt dispatch. Each executor
6
+ * handles exactly one stmt (no consumed-N).
7
+ * - `dispatchCall(fn, args, nargout, interp)` — user-function call.
8
+ * - `tryRunWholeScope(siblings, interp)` — whole-script attempt,
9
+ * called once before the per-stmt loop runs. Top-level executors
10
+ * register here separately from per-stmt ones.
11
+ *
12
+ * Plugins register executors at startup; the dispatcher selects among
13
+ * them at runtime based on cost estimates. The AST interpreter is the
14
+ * always-matching last-resort fallback for per-stmt dispatch and isn't
15
+ * a registered executor.
16
+ */
17
+ import type { Stmt } from "../parser/types.js";
18
+ import type { ControlSignal, FunctionDef } from "../interpreter/types.js";
19
+ import type { Executor } from "./types.js";
20
+ import { DispatchContext } from "./context.js";
21
+ /** AST stmt-list transformer. Receives a stmt list and returns a
22
+ * list of the same semantics, possibly with `Synth` stmts inserted
23
+ * where the transformer can collapse a contiguous run of stmts into
24
+ * a unit handled by a specialized executor. The transform is
25
+ * shallow — recursive descent into For/While/If bodies happens
26
+ * lazily on the next call to `transformStmts`, cached separately. */
27
+ export type StmtTransformer = (stmts: readonly Stmt[]) => Stmt[];
28
+ export interface DispatchResult {
29
+ /** Control signal from interpreter execution (break/continue/return),
30
+ * if any. */
31
+ signal: ControlSignal | null;
32
+ }
33
+ /** Result from `dispatchCall`. `null` means no executor handled the
34
+ * call — the caller should fall through to its own
35
+ * interpreter-execution path. */
36
+ export type CallDispatchResult = {
37
+ result: unknown;
38
+ } | null;
39
+ /** Result from `tryRunWholeScope`. `null` means no whole-scope
40
+ * executor matched (or all bailed) — the caller should fall through
41
+ * to the per-stmt dispatch loop. */
42
+ export type WholeScopeResult = {
43
+ signal: ControlSignal | null;
44
+ } | null;
45
+ export declare class Registry {
46
+ /** Per-stmt executors (loop, call, fuse). */
47
+ private readonly executors;
48
+ /** Whole-scope executors (top-level). Iterated only by
49
+ * `tryRunWholeScope`, separate from per-stmt dispatch. */
50
+ private readonly wholeScopeExecutors;
51
+ /** AST stmt-list transformers. Run lazily on each stmt list before
52
+ * the per-stmt loop walks it; result cached per input list. */
53
+ private readonly transformers;
54
+ /** Memoize transformed lists by input list identity. WeakMap so
55
+ * entries vanish when the AST is dropped. The transformed list
56
+ * is also stored mapped to itself so a second call with the
57
+ * result hits the cache (idempotency). */
58
+ private transformCache;
59
+ private cache;
60
+ private loweringCache;
61
+ /** Pre-allocated context reused for `dispatchCall`. Avoids the
62
+ * per-call Map+Set allocation cost that previously motivated
63
+ * bypassing ctx entirely on call-heavy workloads. Safe to reuse
64
+ * because dispatchCall isn't reentrant within itself: each call's
65
+ * propose/compile/run touches the context synchronously, and any
66
+ * nested call dispatch goes through `Interpreter.callUserFunction`
67
+ * which re-enters dispatchCall and re-resets the context. */
68
+ private callCtx;
69
+ register(executor: Executor): void;
70
+ /** Register an executor that handles a whole stmt list as a unit
71
+ * (e.g. JS-JIT top-level). Iterated only by `tryRunWholeScope`
72
+ * and never seen by per-stmt dispatch. */
73
+ registerWholeScope(executor: Executor): void;
74
+ /** Register an AST stmt-list transformer. Transformers run on every
75
+ * stmt list the interpreter is about to walk (script body, function
76
+ * body, loop body, if branch, ...) before the per-stmt loop kicks
77
+ * in. They typically wrap contiguous runs of stmts in `Synth`
78
+ * nodes that a matching executor will recognize. Adding new
79
+ * transformers is additive — they compose in registration order. */
80
+ registerStmtTransformer(fn: StmtTransformer): void;
81
+ /** Transform a stmt list, applying all registered transformers in
82
+ * registration order. Cached per input-list identity (WeakMap).
83
+ * When no transformers are registered, returns the input unchanged
84
+ * without populating the cache (saves a Map lookup per dispatch). */
85
+ transformStmts(stmts: readonly Stmt[]): Stmt[];
86
+ /** Number of registered per-stmt executors. Mainly for tests. */
87
+ get size(): number;
88
+ /** Drop all cached compiled artifacts. Called from
89
+ * `Interpreter.clearAllCaches()` after addpath/rmpath etc. */
90
+ clearCache(): void;
91
+ /**
92
+ * Dispatch one statement at `siblings[i]`. Each executor handles
93
+ * exactly one stmt — the dispatcher always advances by one on
94
+ * success.
95
+ *
96
+ * Hot path. Two optimizations matter for the chunkie-helmholtz-
97
+ * scale workloads:
98
+ *
99
+ * 1. The AST interpreter is the always-applicable last-resort
100
+ * fallback. It is *not* a registered executor — the dispatcher
101
+ * hardcodes a direct call to `ctx.interp.execStmt(stmt)` when
102
+ * no specialized executor matches or all of them bail. This
103
+ * avoids per-dispatch match/Candidate/cache/result allocations
104
+ * for the most common path (where only the interpreter would
105
+ * fit anyway).
106
+ *
107
+ * 2. The reentrancy guard (`pushActive`/`popActive` /
108
+ * `isActive`) is short-circuited when the active set is
109
+ * empty — no sub-dispatch in flight means the bookkeeping is
110
+ * pure overhead.
111
+ */
112
+ dispatch(siblings: readonly Stmt[], i: number, ctx: DispatchContext): DispatchResult;
113
+ private runStmtCandidate;
114
+ /** Cache lookup + compile-on-miss + run + bail handling. Returns
115
+ * the executor's success RunResult, or null when the candidate
116
+ * bailed (cache may have been marked BAILED). When `guardKey` is
117
+ * non-null, the reentrancy guard pushes/pops around `run()` —
118
+ * passed by the stmt path; the call path passes null because
119
+ * `dispatchCall` isn't reentrant within itself. */
120
+ private executeCandidate;
121
+ /**
122
+ * Dispatch a user-function call. Iterates the same `executors`
123
+ * array as stmt dispatch — call-shape executors filter on
124
+ * `lowered.kind === "call"`. Returns `{ result }` when one of them
125
+ * handles the call, or `null` so the caller (callUserFunction)
126
+ * falls through to the AST interpreter.
127
+ *
128
+ * Reuses a pre-allocated DispatchContext (`callCtx`) to avoid the
129
+ * per-call Map+Set allocation that previously motivated bypassing
130
+ * ctx for call dispatch entirely.
131
+ */
132
+ dispatchCall(fn: FunctionDef, args: unknown[], nargout: number, interp: import("../interpreter/interpreter.js").Interpreter): CallDispatchResult;
133
+ private runCallCandidate;
134
+ private getCallCtx;
135
+ /**
136
+ * Whole-scope dispatch: try to handle the entire stmt list as a
137
+ * single unit (e.g. JS-JIT top-level). Called by the Interpreter
138
+ * once before the per-stmt loop runs. Returns:
139
+ * - `{ signal }` when a whole-scope executor handled the body.
140
+ * The caller should skip the per-stmt loop entirely.
141
+ * - `null` when no whole-scope executor matched (or all bailed).
142
+ * The caller falls through to per-stmt dispatch.
143
+ */
144
+ tryRunWholeScope(siblings: readonly Stmt[], interp: import("../interpreter/interpreter.js").Interpreter): WholeScopeResult;
145
+ private finishWholeScope;
146
+ }
147
+ /** Build a fresh dispatch context. */
148
+ export declare function makeRootContext(interp: import("../interpreter/interpreter.js").Interpreter, registry: Registry): DispatchContext;
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Executor registry — core types.
3
+ *
4
+ * See docs/developer_reference/executors.md for the design overview.
5
+ *
6
+ * The interpreter delegates each statement (or run of statements) — and
7
+ * each user-function call — to a registry of Executors. Each executor
8
+ * implements one strategy (interpreter, JS-JIT, C-kernel, ...). On each
9
+ * dispatch, every executor may submit a Proposal; the dispatcher picks
10
+ * the lowest-cost. Stmt-shape and call-shape work share the same
11
+ * Executor interface — they're discriminated via the lowered statement
12
+ * passed to propose().
13
+ */
14
+ import type { DispatchContext } from "./context.js";
15
+ import type { LoweredStmt } from "./lowering.js";
16
+ /** Estimated cost of using this executor for the proposed work.
17
+ * Numbers can be very rough at first; the dispatcher's policy is
18
+ * refined separately from executors. */
19
+ export interface CostEstimate {
20
+ /** One-time compile cost on cache miss. */
21
+ compileMs: number;
22
+ /** Per-call dispatch overhead (marshaling, frame setup, ...). */
23
+ perCallNs: number;
24
+ /** Estimated work done by the compiled artifact for the proposed
25
+ * input sizes. */
26
+ runNs: number;
27
+ }
28
+ /** Reason a `run` invocation could not complete. The dispatcher
29
+ * invalidates the cache entry and tries the next-best candidate. */
30
+ export interface BailReason {
31
+ message: string;
32
+ cause?: unknown;
33
+ }
34
+ export type RunResult =
35
+ /** Stmt-shape success — handled the head stmt. Registered executors
36
+ * don't produce control signals (break/continue/return); only the
37
+ * hardcoded interpreter fallback in `Registry.dispatch` does.
38
+ * The dispatcher always advances by exactly one stmt on success. */
39
+ {
40
+ ok: true;
41
+ }
42
+ /** Call-shape success — used by executors that handle a
43
+ * CallLoweredStmt. The dispatcher's call entry point
44
+ * (`dispatchCall`) returns this `result` to the caller. */
45
+ | {
46
+ result: unknown;
47
+ } | {
48
+ bail: BailReason;
49
+ /** When true, the bail is not cached: future dispatches re-enter
50
+ * the executor as if cache had never been touched. Use for
51
+ * shim/wrapper executors whose internal classify logic must
52
+ * re-run on every call (e.g., because the wrapped layer caches
53
+ * on its own keying scheme). Default false. */
54
+ transient?: boolean;
55
+ };
56
+ /** An executor's bid to handle the current dispatch. The dispatcher
57
+ * picks the lowest-cost proposal; the executor's own `data` flows
58
+ * through to compile() and run() unchanged. */
59
+ export interface Proposal<D> {
60
+ /** Opaque per-executor data; passed to compile() and run(). */
61
+ data: D;
62
+ cost: CostEstimate;
63
+ /** Whether this specific proposal's compiled artifact may fail an
64
+ * invariant mid-execution (and thus need re-running by a fallback).
65
+ * The dispatcher filters bail-risk proposals out of contexts marked
66
+ * `requireNoBail`. Per-proposal because a single executor may
67
+ * produce both bail-risky and bail-safe proposals depending on the
68
+ * inputs it sees. */
69
+ bailRisk: boolean;
70
+ }
71
+ export interface Executor<D = unknown, C = unknown> {
72
+ /** Stable identifier for logging, cache keys, and test selection. */
73
+ readonly name: string;
74
+ /** Submit a bid to handle this stmt. Runs on every dispatch — must
75
+ * be cheap.
76
+ *
77
+ * Receives the lowered statement produced by the dispatcher's
78
+ * pre-propose lowering pass. The `kind` field discriminates: a
79
+ * specialized shape (e.g. `"top-level"`) carries a lowered IR
80
+ * plus pre-computed feasibility flags; the fallback `"stmt"` kind
81
+ * carries the raw AST stmt for executors that classify from the
82
+ * AST directly.
83
+ *
84
+ * Codegen-feasibility decisions (display mode, IO+bail-risk, etc.)
85
+ * belong here — the lowering pipeline produces an IR; the
86
+ * executor decides whether to commit. For lookahead across
87
+ * multiple stmts, use `ctx.peekSibling(offset)` or `ctx.siblings`.
88
+ *
89
+ * Returns null to decline. */
90
+ propose(lowered: LoweredStmt, ctx: DispatchContext): Proposal<D> | null;
91
+ /** Stable cache key projected from the proposal data. Drops
92
+ * volatile bits (e.g., exact scalar values; tensor shape if
93
+ * codegen is shape-agnostic) so unrelated runs of the same code
94
+ * reuse compiled artifacts. */
95
+ cacheKey(data: D): string;
96
+ /** Compile to a runnable artifact. Called only on cache miss.
97
+ * Cached under (executor, headStmt, cacheKey). */
98
+ compile(data: D, ctx: DispatchContext): C;
99
+ /** Execute. Returns the number of consumed sibling stmts on success,
100
+ * or a Bail signalling the cache entry should be invalidated and
101
+ * the next-best candidate tried. */
102
+ run(compiled: C, data: D, ctx: DispatchContext): RunResult;
103
+ }
@@ -0,0 +1,6 @@
1
+ export interface ExternalAccessDirectives {
2
+ /** Variable names declared at file/script scope (outside any function) */
3
+ fileScope: Set<string>;
4
+ /** Function name -> variable names declared within that function */
5
+ functionScope: Map<string, Set<string>>;
6
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Platform-agnostic file I/O adapter interface.
3
+ *
4
+ * numbl-core defines this interface but never imports Node.js fs.
5
+ * Concrete implementations (e.g. NodeFileIOAdapter) are injected
6
+ * from the CLI or other host environments via ExecOptions.fileIO.
7
+ */
8
+ /** Options extracted from a weboptions struct for websave/webread. */
9
+ export interface WebOptions {
10
+ timeout?: number;
11
+ requestMethod?: string;
12
+ headerFields?: [string, string][];
13
+ username?: string;
14
+ password?: string;
15
+ keyName?: string;
16
+ keyValue?: string;
17
+ }
18
+ /** Subset of MATLAB's fileattrib attribute struct. `Name` is the resolved
19
+ * absolute path. */
20
+ export interface FileAttribInfo {
21
+ Name: string;
22
+ directory: boolean;
23
+ UserRead: boolean;
24
+ UserWrite: boolean;
25
+ UserExecute: boolean;
26
+ }
27
+ export interface FileIOAdapter {
28
+ /** Open a file, returns an integer file identifier (fid). */
29
+ fopen(filename: string, permission: string): number;
30
+ /** Close a file (or 'all'). Returns 0 on success, -1 on error. */
31
+ fclose(fid: number | "all"): number;
32
+ /** Read one line, stripping the newline. Returns -1 at EOF. */
33
+ fgetl(fid: number): string | number;
34
+ /** Read one line, keeping the newline. Returns -1 at EOF. */
35
+ fgets(fid: number): string | number;
36
+ /** Read an entire file as a string. */
37
+ fileread(filename: string): string;
38
+ /** Returns 1 if at EOF, 0 otherwise. */
39
+ feof(fid: number): number;
40
+ /** Returns the error message string for the last operation on fid. */
41
+ ferror(fid: number): string;
42
+ /** Write a string to a file descriptor (used by fprintf). */
43
+ fwrite(fid: number, text: string): void;
44
+ /** Read raw bytes from a file. Returns the bytes actually read (may be fewer than count at EOF). Optional. */
45
+ freadBytes?(fid: number, count: number): Uint8Array;
46
+ /** Write raw bytes to a file. Returns number of bytes written. Optional. */
47
+ fwriteBytes?(fid: number, data: Uint8Array): number;
48
+ /** Seek to a position in a file. origin: -1=bof, 0=cof, 1=eof. Returns 0 on success, -1 on error. Optional. */
49
+ fseek?(fid: number, offset: number, origin: number): number;
50
+ /** Return current file position. Optional. */
51
+ ftell?(fid: number): number;
52
+ /** Scan a directory for workspace files (.m, .js, .wasm). Optional. */
53
+ scanDirectory?(dirPath: string): import("../numbl-core/workspace/index.js").WorkspaceFile[];
54
+ /** Resolve a path to absolute. Optional. */
55
+ resolvePath?(dirPath: string): string;
56
+ /** Check whether a path exists and whether it is a file or directory. Optional. */
57
+ existsPath?(path: string): "file" | "dir" | null;
58
+ /** Create a directory (and parents). Returns true on success. Optional. */
59
+ mkdir?(dirPath: string): boolean;
60
+ /** Download a URL to a file. Optional. */
61
+ websave?(url: string, filename: string, options?: WebOptions): void;
62
+ /** Fetch content from a URL and return as a string. Optional. */
63
+ webread?(url: string, options?: WebOptions): string;
64
+ /** Delete files matching a pattern (supports globs). Optional. */
65
+ deleteFile?(pattern: string): void;
66
+ /** Remove a directory. If recursive is true, remove contents first. Returns true on success. Optional. */
67
+ rmdir?(dirPath: string, recursive: boolean): boolean;
68
+ /** Move or rename a file or folder. If force is true, overwrites read-only files. Returns true on success. Optional. */
69
+ movefile?(source: string, destination: string, force: boolean): boolean;
70
+ /** Copy a file or folder. If force is true, overwrites read-only files. Returns true on success. Optional. */
71
+ copyfile?(source: string, destination: string, force: boolean): boolean;
72
+ /** Resolve a file/dir to its absolute path and attributes, or null if it does not exist. Optional. */
73
+ fileattrib?(path: string): FileAttribInfo | null;
74
+ /** Extract a ZIP file to an output folder. Returns list of extracted file paths. Optional. */
75
+ unzip?(zipfilename: string, outputfolder: string): string[];
76
+ /** Return the temporary directory path. Optional. */
77
+ tempdir?(): string;
78
+ /** Return the numbl user/config directory path. Optional. */
79
+ userpath?(): string;
80
+ /** List directory entries. Returns array of {name, folder, bytes, isdir, mtimeMs}. Optional. */
81
+ listDir?(dirPath: string): {
82
+ name: string;
83
+ folder: string;
84
+ bytes: number;
85
+ isdir: boolean;
86
+ mtimeMs: number;
87
+ }[];
88
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Unified function resolution.
3
+ *
4
+ * Single source of truth for resolving a function name + arg types + call site
5
+ * to a definitive target. Used by both codegen (compile-time) and JIT (runtime).
6
+ */
7
+ import type { FunctionIndex } from "./lowering/loweringContext.js";
8
+ import type { CallSite } from "./runtime/runtimeHelpers.js";
9
+ import type { ItemType } from "./lowering/itemTypes.js";
10
+ export type ResolvedTarget = {
11
+ kind: "classMethod";
12
+ className: string;
13
+ methodName: string;
14
+ compileArgTypes: ItemType[];
15
+ stripInstance: boolean;
16
+ } | {
17
+ kind: "localFunction";
18
+ name: string;
19
+ argTypes: ItemType[];
20
+ source: {
21
+ from: "main";
22
+ } | {
23
+ from: "classFile";
24
+ className: string;
25
+ methodScope?: string;
26
+ } | {
27
+ from: "workspaceFile";
28
+ wsName: string;
29
+ } | {
30
+ from: "privateFile";
31
+ callerFile: string;
32
+ };
33
+ } | {
34
+ kind: "privateFunction";
35
+ name: string;
36
+ argTypes: ItemType[];
37
+ callerFile: string;
38
+ } | {
39
+ kind: "workspaceFunction";
40
+ name: string;
41
+ argTypes: ItemType[];
42
+ } | {
43
+ kind: "jsUserFunction";
44
+ name: string;
45
+ argTypes: ItemType[];
46
+ } | {
47
+ /** mtoc2-only user function (.mtoc2.js). Numbl's interpreter
48
+ * rejects calls to this kind; mtoc2's loader picks up the source
49
+ * from the workspace registry and evaluates it. */
50
+ kind: "mtoc2UserFunction";
51
+ name: string;
52
+ argTypes: ItemType[];
53
+ } | {
54
+ kind: "workspaceClassConstructor";
55
+ className: string;
56
+ argTypes: ItemType[];
57
+ } | {
58
+ kind: "builtin";
59
+ name: string;
60
+ };
61
+ /**
62
+ * Definitively resolve a function name to a single target using the FunctionIndex.
63
+ * Returns null only if the function is truly not found.
64
+ *
65
+ * @param name - Function name to resolve
66
+ * @param argTypes - Argument types (may include undefined for unknown)
67
+ * @param callSite - Where the call originates
68
+ * @param index - The upfront function index
69
+ */
70
+ export declare function resolveFunction(name: string, argTypes: ItemType[], callSite: CallSite, index: FunctionIndex): ResolvedTarget | null;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Arithmetic, comparison, and related internal helpers.
3
+ */
4
+ import { type RuntimeValue } from "../runtime/types.js";
5
+ /** Add two RuntimeValues */
6
+ export declare function mAdd(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
7
+ /** Subtract two RuntimeValues */
8
+ export declare function mSub(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
9
+ /** Multiply two RuntimeValues (matrix multiply for 2D tensors, scalar otherwise) */
10
+ export declare function mMul(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
11
+ /** Element-wise multiply */
12
+ export declare function mElemMul(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
13
+ /** Divide */
14
+ export declare function mDiv(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
15
+ /** Element-wise divide */
16
+ export declare function mElemDiv(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
17
+ /** Left division (mldivide): a \ b — for scalars b/a, for matrices solve a*x = b */
18
+ export declare function mLeftDiv(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
19
+ /** Element-wise left division (ldivide): a .\ b = b ./ a */
20
+ export declare function mElemLeftDiv(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
21
+ /** Power */
22
+ export declare function mPow(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
23
+ /** Element-wise power */
24
+ export declare function mElemPow(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
25
+ /** Negation */
26
+ export declare function mNeg(v: RuntimeValue): RuntimeValue;
27
+ /** Transpose (non-conjugate for complex scalars and tensors) */
28
+ export declare function mTranspose(v: RuntimeValue): RuntimeValue;
29
+ /** Conjugate transpose (Hermitian transpose) - transposes and conjugates */
30
+ export declare function mConjugateTranspose(v: RuntimeValue): RuntimeValue;
31
+ export declare function mEqual(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
32
+ export declare function mNotEqual(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
33
+ export declare function mLess(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
34
+ export declare function mLessEqual(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
35
+ export declare function mGreater(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
36
+ export declare function mGreaterEqual(a: RuntimeValue, b: RuntimeValue): RuntimeValue;
37
+ /**
38
+ * Check if two shapes are compatible for broadcasting and compute the output shape.
39
+ * Broadcasting: dimensions must be equal or one of them must be 1.
40
+ * Returns null if shapes are incompatible, otherwise returns the broadcast shape.
41
+ */
42
+ export declare function getBroadcastShape(shapeA: number[], shapeB: number[]): number[] | null;
43
+ /**
44
+ * Iterate over all elements of a broadcast result in column-major order,
45
+ * calling `visit(aIdx, bIdx, outIdx)` for each output element.
46
+ */
47
+ export declare function broadcastIterate(aShape: number[], bShape: number[], outShape: number[], visit: (aIdx: number, bIdx: number, outIdx: number) => void): void;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Bessel function implementations (pure numeric, no runtime dependencies).
3
+ *
4
+ * Provides besselj, bessely, besseli, besselk for real-valued arguments.
5
+ *
6
+ * The rational polynomial approximations for J0, J1, Y0, Y1 are derived from
7
+ * the Cephes Math Library Release 2.8 (June 2000) by Stephen L. Moshier.
8
+ * Original Cephes code: Copyright 1984-2000 by Stephen L. Moshier.
9
+ * Used under the BSD license with permission of the author.
10
+ *
11
+ * The underlying minimax polynomial coefficients are based on the work of
12
+ * W.J. Cody, "Algorithm 715: SPECFUN", ACM Trans. Math. Software 19(1),
13
+ * pp. 22-32, 1993.
14
+ */
15
+ export declare function lanczosGamma(x: number): number;
16
+ export declare function besselj(nu: number, x: number): number;
17
+ export declare function bessely(nu: number, x: number): number;
18
+ export declare function besseli(nu: number, x: number): number;
19
+ export declare function besselk(nu: number, x: number): number;
20
+ /**
21
+ * Airy function of the first kind, Ai(x).
22
+ */
23
+ export declare function airyAi(x: number): number;
24
+ /**
25
+ * Derivative of Airy function of the first kind, Ai'(x).
26
+ */
27
+ export declare function airyAiPrime(x: number): number;
28
+ /**
29
+ * Airy function of the second kind, Bi(x).
30
+ */
31
+ export declare function airyBi(x: number): number;
32
+ /**
33
+ * Derivative of Airy function of the second kind, Bi'(x).
34
+ */
35
+ export declare function airyBiPrime(x: number): number;
36
+ interface CR {
37
+ re: number;
38
+ im: number;
39
+ }
40
+ /**
41
+ * Compute all four complex Airy functions at once: Ai(z), Ai'(z), Bi(z), Bi'(z).
42
+ */
43
+ export declare function airyAllComplex(zr: number, zi: number): {
44
+ ai: CR;
45
+ aip: CR;
46
+ bi: CR;
47
+ bip: CR;
48
+ };
49
+ export {};
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Helpers for writing builtin check functions.
3
+ * These make check implementations shorter and easier to read.
4
+ */
5
+ import { RTV, RuntimeValue } from "../runtime/index.js";
6
+ /** Ensure data is Float64Array (needed by LAPACK bridges). */
7
+ export declare function toF64(data: Float64Array): Float64Array;
8
+ /**
9
+ * Extract and normalize a string argument at runtime.
10
+ * Strips surrounding quotes and lowercases the result.
11
+ * Works with both raw string args and RuntimeChar/RuntimeString values.
12
+ */
13
+ export declare function parseStringArgLower(arg: unknown): string;
14
+ /**
15
+ * Parse runtime economy-mode argument (0 or 'econ') used by qr, svd, etc.
16
+ * Returns true for economy mode, false otherwise.
17
+ */
18
+ export declare function parseEconArgRuntime(arg: RuntimeValue | undefined): boolean;
19
+ /**
20
+ * Build a (possibly complex) eigenvector matrix from LAPACK's packed real format.
21
+ *
22
+ * For complex conjugate eigenvalue pairs, LAPACK stores eigenvectors as:
23
+ * Column j: real part
24
+ * Column j+1: imaginary part
25
+ * Eigenvector for eigenvalue j is V(:,j) + i*V(:,j+1)
26
+ * Eigenvector for eigenvalue j+1 is V(:,j) - i*V(:,j+1)
27
+ */
28
+ export declare function buildEigenvectorMatrix(packedV: Float64Array, wi: Float64Array, n: number, hasComplex: boolean): import("../runtime/types.js").RuntimeTensor;
29
+ /**
30
+ * Build a tensor, attaching the imaginary part only when it contains non-zero values.
31
+ * Replaces the repeated `hasComplex ? RTV.tensor(re, shape, im) : RTV.tensor(re, shape)` pattern.
32
+ */
33
+ export declare function maybeComplexTensor(re: Float64Array | Float64Array, shape: number[], im: Float64Array | Float64Array | undefined): ReturnType<typeof RTV.tensor>;
34
+ /**
35
+ * Build a diagonal matrix from a vector of values (column-major).
36
+ * For square matrices pass just n; for rectangular pass [rows, cols].
37
+ * Optionally includes an imaginary diagonal.
38
+ */
39
+ export declare function buildDiagMatrix(realVals: Float64Array | Float64Array, imagVals: Float64Array | Float64Array | undefined, size: number | [number, number]): ReturnType<typeof RTV.tensor>;
40
+ /**
41
+ * In-place Gauss-Jordan elimination with partial pivoting on a column-major
42
+ * augmented matrix [A | B] of size `rows × totalCols`.
43
+ */
44
+ export declare function gaussJordanEliminate(aug: Float64Array, rows: number, totalCols: number): void;
45
+ /**
46
+ * Call a registered builtin from within another builtin's apply().
47
+ * Convenience wrapper that includes the caller name in error messages.
48
+ */
49
+ export declare function applyBuiltin(caller: string, name: string, args: RuntimeValue[], nargout: number): RuntimeValue;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Built-in constant values
3
+ */
4
+ import { RuntimeValue } from "../runtime/index.js";
5
+ export declare function getConstant(name: string): RuntimeValue | undefined;
6
+ export declare function getAllConstantNames(): string[];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Dummy no-op built-in function names.
3
+ * Used as placeholders for unsupported functionality.
4
+ */
5
+ export declare function getDummyBuiltinNames(): string[];
@@ -0,0 +1,25 @@
1
+ /**
2
+ * "Effectively real" helpers.
3
+ *
4
+ * numbl's JIT cannot always prove at compile time that the result of an
5
+ * operation is real (e.g. `sqrt(1 - x.^2/2)` — the argument's sign is not
6
+ * statically provable, so `sqrt` lifts to the complex path). The result is
7
+ * a complex-typed tensor whose imaginary lane is entirely zero — an
8
+ * artifact of static typing, not a value the user asked to be complex.
9
+ *
10
+ * Value-sensitive builtins (`isreal`, `min`, `max`, `sort`, …) must treat
11
+ * such a tensor exactly as they would a real one: otherwise `min`/`max`
12
+ * silently switch to magnitude ordering and `isreal` reports `false`,
13
+ * diverging from the interpreter (`--opt 0`, which never creates the
14
+ * artifact) and from MATLAB on real data. These helpers detect the
15
+ * all-zero imaginary lane and drop it so the real code path runs.
16
+ */
17
+ import type { RuntimeValue } from "../runtime/index.js";
18
+ import { type RuntimeTensor } from "../runtime/types.js";
19
+ /** True when `imag` is absent or every element is exactly zero. */
20
+ export declare function imagAllZero(imag: ArrayLike<number> | undefined): boolean;
21
+ /** If `t` carries an all-zero imaginary lane, return a real view sharing
22
+ * its data; otherwise return `t` unchanged. */
23
+ export declare function stripZeroImagTensor(t: RuntimeTensor): RuntimeTensor;
24
+ /** Tensor-aware variant for the generic `RuntimeValue` channel. */
25
+ export declare function stripZeroImagValue(v: RuntimeValue): RuntimeValue;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Selection + ordering logic for `eigs` (a subset of eigenvalues).
3
+ *
4
+ * `eigs` in numbl piggybacks on the dense `eig`: the runtime computes every
5
+ * eigenvalue, then this module picks the requested `k` of them according to
6
+ * `sigma` and returns their original indices in the order `eigs` reports
7
+ * them. It is pure (operates on plain number arrays) so it can be unit
8
+ * tested without the runtime.
9
+ */
10
+ export type SigmaKind = "largestabs" | "smallestabs" | "largestreal" | "smallestreal" | "bothendsreal" | "largestimag" | "smallestimag" | "bothendsimag";
11
+ export type SigmaSpec = {
12
+ kind: SigmaKind;
13
+ } | {
14
+ kind: "scalar";
15
+ re: number;
16
+ im: number;
17
+ };
18
+ /** Map a text sigma value to a canonical kind, or `null` if unrecognized. */
19
+ export declare function normalizeSigmaString(s: string): SigmaKind | null;
20
+ /**
21
+ * Pick `k` eigenvalues (by original index) and return them in the order
22
+ * `eigs` reports for the given `sigma`. `re`/`im` are the real/imaginary
23
+ * parts of all `n` eigenvalues.
24
+ */
25
+ export declare function selectEigsIndices(re: number[], im: number[], k: number, sigma: SigmaSpec): number[];
@@ -0,0 +1,5 @@
1
+ export declare const erfScalar: (x: number) => number;
2
+ export declare const erfcScalar: (x: number) => number;
3
+ export declare const erfinvScalar: (x: number) => number;
4
+ export declare const erfcinvScalar: (x: number) => number;
5
+ export declare const erfcxScalar: (x: number) => number;