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,9 @@
1
+ /**
2
+ * Logical builtins: or, and, not.
3
+ *
4
+ * Functional forms of `|`, `&`, and `~`. Mirror the corresponding operator
5
+ * implementations in runtimeOperators.ts so `or(a, b)` behaves the same as
6
+ * `a | b`, etc. (`xor` is registered separately in reductions.ts and uses a
7
+ * broadcast-aware implementation.)
8
+ */
9
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Unary math builtins: trig, hyperbolic, exp/log, rounding, abs, sqrt, sign.
3
+ */
4
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { RuntimeValue } from "../../runtime/types.js";
2
+ /** Clear all appdata — called at the start of each executeCode to isolate
3
+ * runs. Decrefs every stored value so the previous run's containers can
4
+ * hit rc=0 cleanly; if the previous runtime is gone (test harness), we
5
+ * just drop the JS references and let GC reclaim them. */
6
+ export declare function resetAppdataStore(): void;
7
+ export declare function convertJsonValue(val: unknown): RuntimeValue;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Numerical builtins for the interpreter system:
3
+ * conv, deconv, polyval, polyfit, trapz, cumtrapz, gradient,
4
+ * interp1, roots, poly, cov, corrcoef, accumarray.
5
+ *
6
+ * These are thin wrappers that delegate to the legacy implementations
7
+ * (which are already well-tested) while registering as IBuiltins for
8
+ * proper JIT type inference.
9
+ */
10
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Predicate builtins: isnan, isinf, isfinite, isreal.
3
+ */
4
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * PRNG builtins: rand, randn, randi, randperm, rng.
3
+ */
4
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Interpreter IBuiltins for reduction operations:
3
+ * sum, prod, mean, std, var, median, mode, any, all,
4
+ * cumsum, cumprod, cummax, cummin, diff.
5
+ */
6
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Set and search builtins for the interpreter: find, sort, setdiff, ismember.
3
+ */
4
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Sparse matrix builtins: sparse, speye, spdiags, spconvert.
3
+ */
4
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Special math builtins: airy, ellipj, legendre, besselj, bessely, besseli, besselk.
3
+ */
4
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * String builtins that return cell arrays or have complex output modes:
3
+ * strsplit, strjoin, regexp, regexpi, regexprep, symvar.
4
+ */
5
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Interpreter IBuiltins for string/char operations.
3
+ *
4
+ * Functions that involve cell arrays (strsplit, strjoin, symvar, regexp/regexpi)
5
+ * or the parser (symvar) are left to legacy builtins since JitType has no cell kind.
6
+ */
7
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Time and system builtins: tic, toc, clock, etime, warning, computer, version,
3
+ * ismac, ispc, isunix.
4
+ */
5
+ export declare function getTicTime(): number;
6
+ export declare function setTicTime(ms: number): void;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type constructor builtins: double, logical, complex, cell, struct, full,
3
+ * isfield, deal, func2str.
4
+ */
5
+ export {};
@@ -0,0 +1,98 @@
1
+ /**
2
+ * IBuiltin interface, registry, and shared helpers for interpreter builtins.
3
+ */
4
+ import type { RuntimeValue } from "../../runtime/types.js";
5
+ import { RuntimeTensor, RuntimeComplexNumber } from "../../runtime/types.js";
6
+ import { type JitType } from "../../jitTypes.js";
7
+ export interface IBuiltinResolution {
8
+ outputTypes: JitType[];
9
+ apply: (args: RuntimeValue[], nargout: number) => RuntimeValue | RuntimeValue[];
10
+ }
11
+ export interface BuiltinHelp {
12
+ signatures: string[];
13
+ description: string;
14
+ }
15
+ export interface IBuiltin {
16
+ name: string;
17
+ help?: BuiltinHelp;
18
+ /** Given input JIT types + nargout, return output types and a specialized apply, or null. */
19
+ resolve: (argTypes: JitType[], nargout: number) => IBuiltinResolution | null;
20
+ }
21
+ export declare function getIBuiltin(name: string): IBuiltin | undefined;
22
+ export declare function registerIBuiltin(b: IBuiltin): void;
23
+ /** Register a dynamic IBuiltin (e.g. .js user functions), replacing any
24
+ * existing entry with the same name without error. */
25
+ export declare function registerDynamicIBuiltin(b: IBuiltin): void;
26
+ export declare function unregisterIBuiltin(name: string): void;
27
+ export declare function getAllIBuiltinNames(): string[];
28
+ export declare function getIBuiltinHelp(name: string): BuiltinHelp | undefined;
29
+ export declare function registerBuiltinHelp(name: string, help: BuiltinHelp): void;
30
+ /** Probe an IBuiltin to determine its nargin (number of input args).
31
+ * Tries resolve with 1, 2, 3 number-type args to find the accepted count. */
32
+ export declare function getIBuiltinNargin(name: string): number | undefined;
33
+ export declare function inferJitType(value: unknown): JitType;
34
+ export declare function mkc(re: number, im: number): number | RuntimeComplexNumber;
35
+ export declare function makeTensor(data: Float64Array, imag: Float64Array | undefined, shape: number[]): RuntimeTensor;
36
+ /** Type rule requiring two scalar numbers */
37
+ export declare function binaryNumberOnly(argTypes: JitType[]): JitType[] | null;
38
+ export declare function applyUnaryElemwise(v: RuntimeValue, realFn: (x: number) => number, complexFn: (re: number, im: number) => {
39
+ re: number;
40
+ im: number;
41
+ }, name: string): RuntimeValue;
42
+ /** Apply a binary scalar function */
43
+ export declare function applyBinaryScalar(args: RuntimeValue[], fn: (a: number, b: number) => number, name: string): RuntimeValue;
44
+ /** Apply a binary element-wise function supporting scalars, tensors, and broadcast. */
45
+ export declare function applyBinaryElemwise(args: RuntimeValue[], fn: (a: number, b: number) => number, name: string): RuntimeValue;
46
+ /** Match a binary function accepting number/boolean/tensor args (no complex). */
47
+ export declare function binaryElemwiseMatch(argTypes: JitType[]): JitType[] | null;
48
+ /** A single case in a builtin's dispatch table. Bundles type-level matching
49
+ * with runtime implementation so the two paths cannot diverge. */
50
+ export interface BuiltinCase {
51
+ /** Return output types if this case handles the given arg types, or null. */
52
+ match: (argTypes: JitType[], nargout: number) => JitType[] | null;
53
+ /** Runtime implementation — only called when match succeeded. */
54
+ apply: (args: RuntimeValue[], nargout: number) => RuntimeValue | RuntimeValue[];
55
+ }
56
+ /** Register an IBuiltin from a list of cases. The first matching case wins. */
57
+ export declare function defineBuiltin(opts: {
58
+ name: string;
59
+ help?: BuiltinHelp;
60
+ cases: BuiltinCase[];
61
+ }): void;
62
+ type NumberJitType = Extract<JitType, {
63
+ kind: "number";
64
+ }>;
65
+ type BooleanJitType = Extract<JitType, {
66
+ kind: "boolean";
67
+ }>;
68
+ type ComplexJitType = Extract<JitType, {
69
+ kind: "complex_or_number";
70
+ }>;
71
+ type TensorJitType = Extract<JitType, {
72
+ kind: "tensor";
73
+ }>;
74
+ interface UnaryElemwiseSpec {
75
+ numberType?: (a: NumberJitType) => JitType | null;
76
+ booleanType?: (a: BooleanJitType) => JitType | null;
77
+ complexType?: (a: ComplexJitType) => JitType | null;
78
+ tensorType?: (a: TensorJitType) => JitType | null;
79
+ realFn: (x: number) => number;
80
+ complexFn: (re: number, im: number) => {
81
+ re: number;
82
+ im: number;
83
+ };
84
+ /** Use applyUnaryElemwiseMaybeComplex instead of applyUnaryElemwise */
85
+ maybeComplex?: boolean;
86
+ /** Opcode for the native unaryElemwise dispatch (see unary_elemwise.cpp).
87
+ * Used by the maybeComplex path so that e.g. sqrt/log can run in native C
88
+ * on the common all-in-domain case, then fall back for NaN entries only. */
89
+ nativeOpCode?: number;
90
+ }
91
+ /** Generate cases for a unary element-wise builtin. Each accepted kind gets
92
+ * its own case that bundles the type rule with the corresponding apply. */
93
+ export declare function unaryElemwiseCases(spec: UnaryElemwiseSpec, name: string): BuiltinCase[];
94
+ /** Shorthand: build cases where all kinds return always-real output. */
95
+ export declare function unaryRealResultCases(realFn: (x: number) => number, complexFn: (re: number, im: number) => number, name: string): BuiltinCase[];
96
+ /** Build cases for numeric predicates (isnan, isinf, isfinite) that return logical. */
97
+ export declare function predicateCases(scalarTest: (x: number) => boolean, complexTest: (re: number, im: number) => boolean, tensorTest: (x: number) => boolean, tensorComplexTest: (re: number, im: number) => boolean, name: string): BuiltinCase[];
98
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Utility builtins for JIT: isequal, assert, error, abs.
3
+ */
4
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Validation builtins: mustBe* family.
3
+ */
4
+ export {};
@@ -0,0 +1,199 @@
1
+ /**
2
+ * AST-walking interpreter for MATLAB code.
3
+ *
4
+ * Walks the parsed AST directly without lowering or codegen.
5
+ * All dispatch decisions are made at runtime using actual values.
6
+ *
7
+ * Reuses LoweringContext and FunctionIndex from the lowering pipeline
8
+ * for workspace registration, class extraction, and function resolution.
9
+ *
10
+ * The Interpreter class is defined here with all fields.
11
+ * Methods are split across:
12
+ * - interpreterExec.ts (statement + expression evaluation)
13
+ * - interpreterFunctions.ts (function call, resolution, class methods)
14
+ */
15
+ import type { AbstractSyntaxTree } from "../parser/types.js";
16
+ import type { Runtime } from "../runtime/runtime.js";
17
+ import type { RuntimeValue } from "../runtime/types.js";
18
+ import type { LoweringContext, FunctionIndex } from "../lowering/loweringContext.js";
19
+ import { type ResolvedTarget } from "../functionResolve.js";
20
+ import { Environment, type FunctionDef, type ControlSignal } from "./types.js";
21
+ import type { Stmt, Expr, LValue } from "../parser/types.js";
22
+ import type { ClassInfo } from "../lowering/classInfo.js";
23
+ export declare class Interpreter {
24
+ /** @internal */ env: Environment;
25
+ ans: RuntimeValue | undefined;
26
+ /** @internal */ ctx: LoweringContext;
27
+ /** @internal */ functionIndex: FunctionIndex;
28
+ /** @internal */ rt: Runtime;
29
+ /** @internal */ currentFile: string;
30
+ /** @internal */ currentClassName: string | undefined;
31
+ /** @internal */ currentMethodName: string | undefined;
32
+ /** @internal */ mainLocalFunctions: Map<string, FunctionDef>;
33
+ /** @internal The main script (workspace) environment — for evalin/assignin('workspace', ...) */
34
+ workspaceEnv: Environment | undefined;
35
+ /** @internal The caller's environment — for evalin/assignin('caller', ...) */
36
+ callerEnv: Environment | undefined;
37
+ /** @internal Call-site variable names for the next user-function call, set
38
+ * by `evalFuncCall` and consumed by `callUserFunction` to support
39
+ * `inputname`. One-shot: cleared as soon as it is consumed. */
40
+ pendingInputNames: string[] | undefined;
41
+ /** @internal Stack of [base, dimIndex, numIndices] for resolving `end` keyword in indexing. */
42
+ endContextStack: Array<{
43
+ base: unknown;
44
+ dimIndex: number;
45
+ numIndices: number;
46
+ }>;
47
+ /** @internal Number of enclosing `for` / `while` loop bodies the
48
+ * interpreter is currently inside. Bumped on body entry, decremented
49
+ * on exit. Read by the executor registry's `propose()` to gate JIT
50
+ * attempts: when `loopDepth > 0`, the interpreter is iterating a
51
+ * hot loop and per-call JIT lookup overhead / spec-cache thrashing
52
+ * is a net loss. Once mtoc2 successfully JITs an outer call, the
53
+ * nested loops execute inside the compiled artifact and the
54
+ * interpreter never sees them, so this gate only fires on calls
55
+ * that genuinely happen at the interpreter level inside a loop. */
56
+ loopDepth: number;
57
+ /** @internal Number of enclosing conditional blocks (`if` / `switch` /
58
+ * `try`) whose bodies the interpreter is currently executing. Used by
59
+ * the loop classifier: when a loop is dispatched with `condBlockDepth >
60
+ * 0` (or `loopDepth > 0`), its sibling list is a nested block, so the
61
+ * post-loop liveness scan can't see reads after the enclosing block —
62
+ * the classifier must then keep every loop-assigned name live-out. */
63
+ condBlockDepth: number;
64
+ /** @internal */
65
+ functionDefCache: Map<string, FunctionDef>;
66
+ /** @internal Pre-built line break tables for offset→line lookup per file. */
67
+ lineTableCache: Map<string, number[]>;
68
+ /** @internal file→source mapping for line number computation */
69
+ fileSources: Map<string, string>;
70
+ /** @internal Guard against infinite recursion in compileSpecialized */
71
+ compileInProgress: Set<string>;
72
+ /**
73
+ * Optimization mode:
74
+ * "0" — pure AST interpreter, no JIT.
75
+ * "1" — JS-JIT (default): top-level + call shapes get
76
+ * type-specialized JS via the JIT's `compileSpec`.
77
+ * "2" — C-JIT: scalar/tensor kernels via `compileSpecC` + koffi.
78
+ */
79
+ optimization: import("../executors/plugins.js").OptLevel;
80
+ /** Callback for JIT compilation logging. `lang` distinguishes the
81
+ * emitted source: `"js"` for the JS-JIT backend, `"c"` for the
82
+ * C-JIT backend (both can fire in a single `--opt 2` run). */
83
+ onJitCompile?: (description: string, code: string, lang: "js" | "c") => void;
84
+ /** Called when a JIT-compiled unit bails back to the interpreter at
85
+ * RUNTIME (as opposed to declining at compile time). Today the sole
86
+ * trigger is an indexed-store array growth that's only detectable at
87
+ * runtime — the JIT can't model the grown shape, so it bails and the
88
+ * interpreter re-runs the whole scope with full MATLAB semantics.
89
+ * Surfaced as a warning (the CLI routes it to stderr); a compile-time
90
+ * decline stays silent (it's the normal "not JIT-able" path). */
91
+ onJitBail?: (message: string) => void;
92
+ /** Bridge for loading native shared libraries. Undefined in browser
93
+ * contexts. */
94
+ nativeBridge?: import("../workspace/types.js").NativeBridge;
95
+ /** Telemetry: invoked after a registered executor's `run()` succeeds.
96
+ * Used to track which optimizers fire in a session. The kind is the
97
+ * LoweredStmt kind the executor handled ("top-level", "loop", "call",
98
+ * ...). Hot path — keep the callback cheap. */
99
+ onExecutorFired?: (name: string, kind: string) => void;
100
+ /** Verbose log sink (plumbed from ExecOptions.log). */
101
+ log?: (message: string) => void;
102
+ /** Executor registry. Holds the strategies (JS-JIT, C-kernel, ...)
103
+ * the dispatcher selects among at runtime. The AST interpreter is
104
+ * the dispatcher's hardcoded fallback (not a registered executor).
105
+ * Mode-driven plugins (`--opt 1`, `--opt 2`, ...) register
106
+ * executors during `executeCode` setup. See
107
+ * docs/developer_reference/executors.md. */
108
+ readonly registry: import("../executors/registry.js").Registry;
109
+ constructor(rt: Runtime, ctx: LoweringContext, functionIndex: FunctionIndex, mainFileName: string, initialVariableValues?: Record<string, RuntimeValue>);
110
+ /** Clear all JIT and function resolution caches. Called after addpath/rmpath. */
111
+ clearAllCaches(): void;
112
+ /** Wire up runtime callbacks so dispatch() routes through the interpreter. */
113
+ installRuntimeCallbacks(): void;
114
+ /** Run a complete AST (main script). */
115
+ run(ast: AbstractSyntaxTree): void;
116
+ /** Get variable values for ExecResult. */
117
+ getVariableValues(): Record<string, RuntimeValue>;
118
+ execStmt: (stmt: Stmt) => ControlSignal | null;
119
+ execStmts: (stmts: Stmt[]) => ControlSignal | null;
120
+ execBlockStmts: (stmts: Stmt[]) => ControlSignal | null;
121
+ evalExpr: (expr: Expr) => unknown;
122
+ evalExprNargout: (expr: Expr, nargout: number) => unknown;
123
+ evalBinary: (expr: Extract<Expr, {
124
+ type: "Binary";
125
+ }>) => unknown;
126
+ evalCondition: (expr: Expr) => unknown;
127
+ evalUnary: (expr: Extract<Expr, {
128
+ type: "Unary";
129
+ }>) => unknown;
130
+ evalRange: (expr: Extract<Expr, {
131
+ type: "Range";
132
+ }>) => unknown;
133
+ evalFuncCall: (expr: Extract<Expr, {
134
+ type: "FuncCall";
135
+ }>, nargout: number) => unknown;
136
+ evalIndex: (expr: Extract<Expr, {
137
+ type: "Index";
138
+ }>) => unknown;
139
+ evalIndexCell: (expr: Extract<Expr, {
140
+ type: "IndexCell";
141
+ }>) => unknown;
142
+ evalIndicesWithEnd: (base: unknown, indexExprs: Expr[]) => unknown[];
143
+ evalArgs: (argExprs: Expr[]) => unknown[];
144
+ evalMember: (expr: Extract<Expr, {
145
+ type: "Member";
146
+ }>, nargout: number) => unknown;
147
+ tryExtractDottedName: (expr: Expr) => string | null;
148
+ evalAnonFunc: (expr: Extract<Expr, {
149
+ type: "AnonFunc";
150
+ }>) => RuntimeValue;
151
+ makeFuncHandle: (name: string) => RuntimeValue;
152
+ evalTensorLiteral: (expr: Extract<Expr, {
153
+ type: "Tensor";
154
+ }>) => unknown;
155
+ evalCellLiteral: (expr: Extract<Expr, {
156
+ type: "Cell";
157
+ }>) => unknown;
158
+ assignLValue: (lv: LValue, value: RuntimeValue) => void;
159
+ writeLValueBase: (base: Expr, value: RuntimeValue) => void;
160
+ evalLValueBase: (base: Expr, defaultVal: RuntimeValue) => unknown;
161
+ switchMatch: (switchVal: unknown, caseVal: unknown) => boolean;
162
+ isOutputExpr: (expr: Expr) => boolean;
163
+ callFunction: (name: string, args: unknown[], nargout: number) => unknown;
164
+ declaredNargin: (name: string) => number | undefined;
165
+ interpretTarget: (target: ResolvedTarget, args: unknown[], nargout: number) => unknown;
166
+ interpretLocalFunction: (target: Extract<ResolvedTarget, {
167
+ kind: "localFunction";
168
+ }>, args: unknown[], nargout: number) => unknown;
169
+ interpretWorkspaceFunction: (target: Extract<ResolvedTarget, {
170
+ kind: "workspaceFunction";
171
+ }>, args: unknown[], nargout: number) => unknown;
172
+ interpretJsUserFunction: (target: Extract<ResolvedTarget, {
173
+ kind: "jsUserFunction";
174
+ }>, args: unknown[], nargout: number) => unknown;
175
+ interpretClassMethod: (target: Extract<ResolvedTarget, {
176
+ kind: "classMethod";
177
+ }>, args: unknown[], nargout: number) => unknown;
178
+ interpretPrivateFunction: (target: Extract<ResolvedTarget, {
179
+ kind: "privateFunction";
180
+ }>, args: unknown[], nargout: number) => unknown;
181
+ instantiateClass: (className: string, args: unknown[], nargout: number) => unknown;
182
+ interpretConstructor: (classInfo: ClassInfo, args: unknown[], nargout: number) => unknown;
183
+ callUserFunction: (fn: FunctionDef, args: unknown[], nargout: number, narginOverride?: number) => unknown;
184
+ callNestedFunction: (fn: FunctionDef, parentEnv: Environment, args: unknown[], nargout: number) => unknown;
185
+ withFileContext: <T>(file: string, className: string | undefined, methodName: string | undefined, fn: () => T) => T;
186
+ getWorkspaceFileName: (funcName: string) => string;
187
+ getClassFileName: (className: string) => string;
188
+ findFunctionInWorkspaceFile: (wsName: string, funcName: string) => FunctionDef | null;
189
+ findFunctionInClassFile: (className: string, funcName: string, methodScope?: string) => FunctionDef | null;
190
+ findMethodInClass: (classInfo: ClassInfo, methodName: string) => FunctionDef | null;
191
+ findExternalMethod: (classInfo: ClassInfo, methodName: string) => FunctionDef | null;
192
+ collectClassProperties: (classInfo: ClassInfo) => {
193
+ propertyNames: string[];
194
+ propertyDefaults: Map<string, Expr>;
195
+ };
196
+ isHandleClass: (classInfo: ClassInfo) => boolean;
197
+ evalInLocalScope: (codeArg: unknown, fileName?: string) => unknown;
198
+ processArgumentsBlocks: (fn: FunctionDef, args: unknown[]) => void;
199
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Interpreter statement execution and expression evaluation methods.
3
+ * Augments the Interpreter class via prototype assignment.
4
+ */
5
+ import type { Stmt, Expr, LValue } from "../parser/types.js";
6
+ import type { RuntimeValue } from "../runtime/types.js";
7
+ import { Environment, type ControlSignal } from "./types.js";
8
+ import type { Interpreter } from "./interpreter.js";
9
+ export declare function execStmt(this: Interpreter, stmt: Stmt): ControlSignal | null;
10
+ export declare function execStmts(this: Interpreter, stmts: Stmt[]): ControlSignal | null;
11
+ /** Execute a conditional-block body (`if` / `switch` / `try`), tracking
12
+ * `condBlockDepth` so a loop dispatched inside knows its sibling list is
13
+ * a nested block — the loop classifier then keeps every loop-assigned
14
+ * name live-out (the post-loop liveness scan can't see reads after the
15
+ * enclosing block). */
16
+ export declare function execBlockStmts(this: Interpreter, stmts: Stmt[]): ControlSignal | null;
17
+ export declare function evalExpr(this: Interpreter, expr: Expr): unknown;
18
+ export declare function evalExprNargout(this: Interpreter, expr: Expr, nargout: number): unknown;
19
+ /** Compute the call-site variable names for `inputname`, aligned to the
20
+ * argument expressions. Entry i is the name of the variable passed as
21
+ * argument i+1, or '' if that argument is not a plain workspace variable.
22
+ *
23
+ * Per MATLAB: an argument that uses cell `{}` or dot `.` indexing produces
24
+ * a comma-separated list, making the position of every following argument
25
+ * dynamic — so that argument and all subsequent ones report ''. Plain
26
+ * literals, expressions, and paren-indexing report '' only for themselves.
27
+ *
28
+ * The returned array may be shorter than the flattened arg count (when an
29
+ * argument expanded to a CSL); callers treat out-of-range indices as ''.
30
+ */
31
+ export declare function computeInputNames(argExprs: Expr[], callerEnv: Environment): string[];
32
+ export declare function evalArgs(this: Interpreter, argExprs: Expr[]): unknown[];
33
+ export declare function evalBinary(this: Interpreter, expr: Extract<Expr, {
34
+ type: "Binary";
35
+ }>): unknown;
36
+ /**
37
+ * Evaluate an `if`/`while`/`elseif` condition.
38
+ *
39
+ * MATLAB short-circuits the element-wise `&` and `|` operators when they
40
+ * appear at the top of a conditional expression and the left operand is
41
+ * scalar — e.g. `if nargin<4 | isempty(x)` must NOT evaluate `isempty(x)`
42
+ * when `nargin<4` (otherwise `x` may be undefined). Outside this context
43
+ * `&`/`|` evaluate both operands element-wise, so the special handling
44
+ * lives here rather than in `evalBinary`.
45
+ */
46
+ export declare function evalCondition(this: Interpreter, expr: Expr): unknown;
47
+ export declare function evalUnary(this: Interpreter, expr: Extract<Expr, {
48
+ type: "Unary";
49
+ }>): unknown;
50
+ export declare function evalRange(this: Interpreter, expr: Extract<Expr, {
51
+ type: "Range";
52
+ }>): unknown;
53
+ export declare function evalFuncCall(this: Interpreter, expr: Extract<Expr, {
54
+ type: "FuncCall";
55
+ }>, nargout: number): unknown;
56
+ export declare function evalMember(this: Interpreter, expr: Extract<Expr, {
57
+ type: "Member";
58
+ }>, nargout: number): unknown;
59
+ export declare function tryExtractDottedName(this: Interpreter, expr: Expr): string | null;
60
+ export declare function evalIndex(this: Interpreter, expr: Extract<Expr, {
61
+ type: "Index";
62
+ }>): unknown;
63
+ export declare function evalIndexCell(this: Interpreter, expr: Extract<Expr, {
64
+ type: "IndexCell";
65
+ }>): unknown;
66
+ export declare function evalIndicesWithEnd(this: Interpreter, base: unknown, indexExprs: Expr[]): unknown[];
67
+ export declare function evalAnonFunc(this: Interpreter, expr: Extract<Expr, {
68
+ type: "AnonFunc";
69
+ }>): RuntimeValue;
70
+ export declare function makeFuncHandle(this: Interpreter, name: string): RuntimeValue;
71
+ export declare function evalTensorLiteral(this: Interpreter, expr: Extract<Expr, {
72
+ type: "Tensor";
73
+ }>): unknown;
74
+ export declare function evalCellLiteral(this: Interpreter, expr: Extract<Expr, {
75
+ type: "Cell";
76
+ }>): unknown;
77
+ export declare function assignLValue(this: Interpreter, lv: LValue, value: RuntimeValue): void;
78
+ export declare function writeLValueBase(this: Interpreter, base: Expr, value: RuntimeValue): void;
79
+ export declare function evalLValueBase(this: Interpreter, base: Expr, defaultVal: RuntimeValue): unknown;
80
+ export declare function switchMatch(this: Interpreter, switchVal: unknown, caseVal: unknown): boolean;
81
+ export declare function isOutputExpr(this: Interpreter, expr: Expr): boolean;
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Interpreter function call, resolution, and class method methods.
3
+ * Augments the Interpreter class via prototype assignment.
4
+ */
5
+ import type { Expr } from "../parser/types.js";
6
+ import { type ResolvedTarget } from "../functionResolve.js";
7
+ import type { ClassInfo } from "../lowering/classInfo.js";
8
+ import { Environment, type FunctionDef } from "./types.js";
9
+ import type { Interpreter } from "./interpreter.js";
10
+ export declare function callFunction(this: Interpreter, name: string, args: unknown[], nargout: number): unknown;
11
+ /** Declared input count of the user function a `@name` handle points to,
12
+ * resolved the same way a call to `name` would resolve. Returns undefined
13
+ * when the target is a builtin or otherwise has no resolvable user-function
14
+ * AST (caller falls back to probing / 0). Used to populate
15
+ * `nargin(@name)`. */
16
+ export declare function declaredNargin(this: Interpreter, name: string): number | undefined;
17
+ export declare function interpretTarget(this: Interpreter, target: ResolvedTarget, args: unknown[], nargout: number): unknown;
18
+ export declare function interpretJsUserFunction(this: Interpreter, target: Extract<ResolvedTarget, {
19
+ kind: "jsUserFunction";
20
+ }>, args: unknown[], nargout: number): unknown;
21
+ export declare function interpretLocalFunction(this: Interpreter, target: Extract<ResolvedTarget, {
22
+ kind: "localFunction";
23
+ }>, args: unknown[], nargout: number): unknown;
24
+ export declare function interpretWorkspaceFunction(this: Interpreter, target: Extract<ResolvedTarget, {
25
+ kind: "workspaceFunction";
26
+ }>, args: unknown[], nargout: number): unknown;
27
+ export declare function interpretClassMethod(this: Interpreter, target: Extract<ResolvedTarget, {
28
+ kind: "classMethod";
29
+ }>, args: unknown[], nargout: number): unknown;
30
+ export declare function interpretPrivateFunction(this: Interpreter, target: Extract<ResolvedTarget, {
31
+ kind: "privateFunction";
32
+ }>, args: unknown[], nargout: number): unknown;
33
+ export declare function instantiateClass(this: Interpreter, className: string, args: unknown[], nargout: number): unknown;
34
+ export declare function interpretConstructor(this: Interpreter, classInfo: ClassInfo, args: unknown[], nargout: number): unknown;
35
+ export declare function callUserFunction(this: Interpreter, fn: FunctionDef, args: unknown[], nargout: number, narginOverride?: number): unknown;
36
+ export declare function callNestedFunction(this: Interpreter, fn: FunctionDef, parentEnv: Environment, args: unknown[], nargout: number): unknown;
37
+ export declare function withFileContext<T>(this: Interpreter, file: string, className: string | undefined, methodName: string | undefined, fn: () => T): T;
38
+ export declare function getWorkspaceFileName(this: Interpreter, funcName: string): string;
39
+ export declare function getClassFileName(this: Interpreter, className: string): string;
40
+ export declare function findFunctionInWorkspaceFile(this: Interpreter, wsName: string, funcName: string): FunctionDef | null;
41
+ export declare function findFunctionInClassFile(this: Interpreter, className: string, funcName: string, methodScope?: string): FunctionDef | null;
42
+ export declare function findMethodInClass(this: Interpreter, classInfo: ClassInfo, methodName: string): FunctionDef | null;
43
+ export declare function findExternalMethod(this: Interpreter, classInfo: ClassInfo, methodName: string): FunctionDef | null;
44
+ export declare function collectClassProperties(this: Interpreter, classInfo: ClassInfo): {
45
+ propertyNames: string[];
46
+ propertyDefaults: Map<string, Expr>;
47
+ };
48
+ export declare function isHandleClass(this: Interpreter, classInfo: ClassInfo): boolean;
49
+ export declare function evalInLocalScope(this: Interpreter, codeArg: unknown, fileName?: string): unknown;
50
+ /**
51
+ * Apply `arguments`-block defaults and build name-value struct parameters,
52
+ * binding the results into the *current* function environment.
53
+ *
54
+ * Must be called with `this.env` already set to the function scope and the
55
+ * caller-supplied positional arguments already bound to their parameters.
56
+ * Default expressions are evaluated in that scope so they can reference
57
+ * earlier arguments (e.g. `mergeIdx = surfaceop.defaultIdx(dom)`), matching
58
+ * MATLAB. Entries are matched to parameters by name via `fn.params`, which
59
+ * also handles the constructor case where the output variable is prepended
60
+ * to `params` (shifting argument positions by one).
61
+ */
62
+ export declare function processArgumentsBlocks(this: Interpreter, fn: FunctionDef, args: unknown[]): void;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Interpreter special builtins: functions that need access to interpreter
3
+ * context (env, callerEnv, etc.) and run before normal function resolution.
4
+ */
5
+ import type { Environment } from "./types.js";
6
+ import type { Runtime } from "../runtime/runtime.js";
7
+ export interface InterpreterContext {
8
+ env: Environment;
9
+ setEnv: (env: Environment) => void;
10
+ callerEnv: Environment | undefined;
11
+ workspaceEnv: Environment | undefined;
12
+ evalInLocalScope: (codeArg: unknown, fileName?: string) => unknown;
13
+ callFunction: (name: string, args: unknown[], nargout: number) => unknown;
14
+ rt: Runtime;
15
+ /** Optimization mode: "0" = no JIT, "1" = JS-JIT, "2" = C-JIT. */
16
+ optimization: import("../executors/plugins.js").OptLevel;
17
+ /** Resolve a workspace function or class name to its source file,
18
+ * or undefined if no workspace file provides that name.
19
+ * `kind` distinguishes a regular .m function from a .numbl.js
20
+ * user function (treated as a MEX-equivalent) or a class file.
21
+ * `source` is the raw .m source for "function"/"class" kinds, or empty
22
+ * for "jsfunction" (where the implementation is JS, not .m text). */
23
+ lookupWorkspaceFile: (name: string) => {
24
+ path: string;
25
+ kind: "function" | "jsfunction" | "class";
26
+ source: string;
27
+ } | undefined;
28
+ /** Public (GetAccess public) property names of a class, including inherited
29
+ * ones, in declaration order. Returns undefined if `className` is not a
30
+ * known class. Backs `properties(obj)`. */
31
+ classPublicProperties: (className: string) => string[] | undefined;
32
+ }
33
+ export declare const FALL_THROUGH: unique symbol;
34
+ export type InterpreterSpecialBuiltinHandler = (ctx: InterpreterContext, args: unknown[], nargout: number) => unknown | typeof FALL_THROUGH;
35
+ export declare function getInterpreterSpecialBuiltin(name: string): InterpreterSpecialBuiltinHandler | undefined;