numbl 0.4.21 → 0.4.22

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 (281) hide show
  1. package/binding.gyp +12 -6
  2. package/dist-browser/browser/index.d.ts +1 -1
  3. package/dist-browser/browser/mip.d.ts +7 -0
  4. package/dist-browser/browser/protocol.d.ts +1 -1
  5. package/dist-browser/browser.js +1 -1
  6. package/dist-browser/db/operations.d.ts +0 -1
  7. package/dist-browser/gpuHelper.d.ts +29 -0
  8. package/dist-browser/hooks/projectFilesState.d.ts +37 -0
  9. package/dist-browser/numbl-core/execSession.d.ts +39 -0
  10. package/dist-browser/numbl-core/executeCode.d.ts +10 -1
  11. package/dist-browser/numbl-core/executors/classification.d.ts +2 -10
  12. package/dist-browser/numbl-core/executors/jit/backend.d.ts +65 -0
  13. package/dist-browser/numbl-core/executors/jit/cBackend.d.ts +22 -0
  14. package/dist-browser/numbl-core/executors/jit/callExecutor.d.ts +13 -44
  15. package/dist-browser/numbl-core/executors/jit/hostHelpers.d.ts +24 -0
  16. package/dist-browser/numbl-core/executors/jit/jsBackend.d.ts +15 -0
  17. package/dist-browser/numbl-core/executors/jit/loopExecutor.d.ts +13 -40
  18. package/dist-browser/numbl-core/executors/jit/session.d.ts +1 -1
  19. package/dist-browser/numbl-core/executors/jit/topLevelExecutor.d.ts +13 -33
  20. package/dist-browser/numbl-core/executors/jit/valueAdapterC.d.ts +32 -48
  21. package/dist-browser/numbl-core/executors/lowering.d.ts +38 -96
  22. package/dist-browser/numbl-core/executors/plugins.d.ts +14 -28
  23. package/dist-browser/numbl-core/executors/registry.d.ts +32 -133
  24. package/dist-browser/numbl-core/executors/types.d.ts +30 -92
  25. package/dist-browser/numbl-core/functionResolve.d.ts +3 -13
  26. package/dist-browser/numbl-core/helpers/check-helpers.d.ts +0 -5
  27. package/dist-browser/numbl-core/helpers/glob.d.ts +14 -0
  28. package/dist-browser/numbl-core/helpers/linsolve.d.ts +3 -13
  29. package/dist-browser/numbl-core/helpers/reduction-helpers.d.ts +2 -4
  30. package/dist-browser/numbl-core/helpers/shape-utils.d.ts +10 -0
  31. package/dist-browser/numbl-core/interpreter/builtins/index.d.ts +3 -1
  32. package/dist-browser/numbl-core/interpreter/builtins/time-system.d.ts +0 -1
  33. package/dist-browser/numbl-core/interpreter/builtins/types.d.ts +7 -7
  34. package/dist-browser/numbl-core/interpreter/interpreter.d.ts +6 -6
  35. package/dist-browser/numbl-core/interpreter/interpreterFunctions.d.ts +9 -1
  36. package/dist-browser/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +6 -3
  37. package/dist-browser/numbl-core/jit/builtins/defs/_shared.d.ts +1 -5
  38. package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/_elemwise.d.ts +1 -2
  39. package/dist-browser/numbl-core/jit/builtins/defs/logical/_unary_pred.d.ts +3 -3
  40. package/dist-browser/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +1 -1
  41. package/dist-browser/numbl-core/jit/builtins/defs/logical/strcmp.d.ts +1 -1
  42. package/dist-browser/numbl-core/jit/builtins/defs/math/_unary_real.d.ts +5 -2
  43. package/dist-browser/numbl-core/jit/builtins/defs/math/realsqrt.d.ts +6 -0
  44. package/dist-browser/numbl-core/jit/builtins/defs/reduction/_shape.d.ts +0 -5
  45. package/dist-browser/numbl-core/jit/builtins/defs/shape/_construct.d.ts +0 -4
  46. package/dist-browser/numbl-core/jit/builtins/defs/shape/_triangular.d.ts +2 -8
  47. package/dist-browser/numbl-core/jit/builtins/defs/system/deal.d.ts +4 -5
  48. package/dist-browser/numbl-core/jit/builtins/defs/system/feval.d.ts +7 -29
  49. package/dist-browser/numbl-core/jit/builtins/registry.d.ts +15 -30
  50. package/dist-browser/numbl-core/jit/builtins/runtime/system/cdiv.d.ts +4 -0
  51. package/dist-browser/numbl-core/jit/builtins/runtime/system/cscalar.d.ts +4 -0
  52. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real_fn.d.ts +45 -15
  53. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_real.d.ts +5 -5
  54. package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_real_math.d.ts +6 -0
  55. package/dist-browser/numbl-core/jit/codegen/emit.d.ts +9 -30
  56. package/dist-browser/numbl-core/jit/codegen/emitJs.d.ts +9 -27
  57. package/dist-browser/numbl-core/jit/codegen/emitStmt.d.ts +8 -31
  58. package/dist-browser/numbl-core/jit/codegen/emitTensorFused.d.ts +10 -9
  59. package/dist-browser/numbl-core/jit/codegen/inlinePass.d.ts +39 -48
  60. package/dist-browser/numbl-core/jit/codegen/prettyIR.d.ts +1 -6
  61. package/dist-browser/numbl-core/jit/codegen/runtime.d.ts +7 -28
  62. package/dist-browser/numbl-core/jit/compileSpec.d.ts +3 -6
  63. package/dist-browser/numbl-core/jit/compileSpecC.d.ts +5 -0
  64. package/dist-browser/numbl-core/jit/lowering/assignedFlags.d.ts +24 -0
  65. package/dist-browser/numbl-core/jit/lowering/definiteAssign.d.ts +3 -1
  66. package/dist-browser/numbl-core/jit/lowering/errors.d.ts +3 -15
  67. package/dist-browser/numbl-core/jit/lowering/ir.d.ts +0 -2
  68. package/dist-browser/numbl-core/jit/lowering/lower.d.ts +4 -12
  69. package/dist-browser/numbl-core/jit/lowering/types.d.ts +2 -7
  70. package/dist-browser/numbl-core/jit/numbl/index.d.ts +5 -14
  71. package/dist-browser/numbl-core/jit/parser/index.d.ts +4 -9
  72. package/dist-browser/numbl-core/jit/workspace/workspace.d.ts +32 -136
  73. package/dist-browser/numbl-core/jitDeclineDiagnostics.d.ts +1 -1
  74. package/dist-browser/numbl-core/jsUserFunctions.d.ts +10 -12
  75. package/dist-browser/numbl-core/lowering/classInfo.d.ts +4 -1
  76. package/dist-browser/numbl-core/lowering/loweringContext.d.ts +15 -23
  77. package/dist-browser/numbl-core/native/lapack-bridge.d.ts +111 -130
  78. package/dist-browser/numbl-core/native/ts-lapack-bridge.d.ts +4 -5
  79. package/dist-browser/numbl-core/native/ts-lapack-complex.d.ts +23 -0
  80. package/dist-browser/numbl-core/native/ts-lapack-qr-lu.d.ts +37 -0
  81. package/dist-browser/numbl-core/native/wasm-lapack-bridge.d.ts +4 -5
  82. package/dist-browser/numbl-core/ops/dispatch.d.ts +4 -5
  83. package/dist-browser/numbl-core/parser/types.d.ts +1 -21
  84. package/{dist-lib/numbl-core/runtime → dist-browser/numbl-core/plotting}/axisCommand.d.ts +2 -2
  85. package/dist-browser/{graphics → numbl-core/plotting}/axisLimits.d.ts +14 -2
  86. package/dist-browser/numbl-core/plotting/builtins.d.ts +8 -0
  87. package/dist-browser/numbl-core/plotting/colormaps.d.ts +10 -0
  88. package/dist-browser/numbl-core/{runtime/plotBuiltinDispatch.d.ts → plotting/dispatch.d.ts} +14 -25
  89. package/dist-browser/numbl-core/plotting/imagescExtent.d.ts +19 -0
  90. package/dist-browser/numbl-core/{runtime/runtimePlot.d.ts → plotting/instructions.d.ts} +5 -17
  91. package/dist-browser/numbl-core/plotting/parseArgsChart.d.ts +94 -0
  92. package/dist-browser/numbl-core/plotting/parseArgsCommon.d.ts +64 -0
  93. package/dist-browser/numbl-core/plotting/parseArgsLine.d.ts +103 -0
  94. package/dist-browser/numbl-core/plotting/parseArgsPatch.d.ts +38 -0
  95. package/dist-browser/numbl-core/plotting/parseArgsQuiver.d.ts +32 -0
  96. package/dist-browser/numbl-core/plotting/parseArgsSurface.d.ts +75 -0
  97. package/dist-browser/numbl-core/plotting/streamline.d.ts +16 -0
  98. package/{dist-graphics/graphics → dist-browser/numbl-core/plotting}/types.d.ts +9 -7
  99. package/dist-browser/numbl-core/runtime/cow.d.ts +0 -8
  100. package/dist-browser/numbl-core/runtime/refcount.d.ts +0 -3
  101. package/dist-browser/numbl-core/runtime/registerSpecial.d.ts +15 -0
  102. package/dist-browser/numbl-core/runtime/runtime.d.ts +11 -35
  103. package/dist-browser/numbl-core/runtime/runtimeDispatch.d.ts +6 -0
  104. package/dist-browser/numbl-core/runtime/specialBuiltins.d.ts +3 -9
  105. package/dist-browser/numbl-core/runtime/uihtmlSession.d.ts +5 -13
  106. package/dist-browser/numbl-core/runtime/utils.d.ts +4 -1
  107. package/dist-browser/numbl-core/version.d.ts +1 -1
  108. package/dist-browser/numbl-core/workspace/workspace.d.ts +64 -0
  109. package/dist-browser/vfs/syncVfsChanges.d.ts +2 -2
  110. package/dist-cli/cli.js +74244 -80566
  111. package/dist-graphics/graphics/FigureView.d.ts +1 -1
  112. package/dist-graphics/graphics/SurfView.d.ts +3 -2
  113. package/dist-graphics/graphics/drawPlot.d.ts +1 -1
  114. package/dist-graphics/graphics/exportFigureHdf5.d.ts +1 -1
  115. package/dist-graphics/graphics/figureHashTransport.d.ts +1 -1
  116. package/dist-graphics/graphics/figureUpload.d.ts +1 -1
  117. package/dist-graphics/graphics/importFigureHdf5.d.ts +1 -1
  118. package/dist-graphics/graphics/openInFigureViewer.d.ts +1 -1
  119. package/dist-graphics/graphics/plotHelpers.d.ts +1 -1
  120. package/dist-graphics/graphics/plotLegend.d.ts +1 -1
  121. package/dist-graphics/graphics/plotMarkers.d.ts +1 -1
  122. package/dist-graphics/graphics/restoreNaNs.d.ts +1 -1
  123. package/dist-graphics/graphics/uihtmlRelay.d.ts +16 -0
  124. package/dist-graphics/graphics-lib.d.ts +3 -3
  125. package/dist-graphics/index.js +294 -328
  126. package/{dist-lib/graphics → dist-graphics/numbl-core/plotting}/axisLimits.d.ts +14 -2
  127. package/dist-graphics/numbl-core/plotting/colormaps.d.ts +10 -0
  128. package/dist-graphics/numbl-core/plotting/imagescExtent.d.ts +19 -0
  129. package/{dist-browser/graphics → dist-graphics/numbl-core/plotting}/types.d.ts +9 -7
  130. package/dist-lib/browser/mip.d.ts +17 -0
  131. package/dist-lib/cli-scan.d.ts +8 -1
  132. package/dist-lib/lib.d.ts +1 -1
  133. package/dist-lib/lib.js +29201 -35301
  134. package/dist-lib/node.js +22 -14
  135. package/dist-lib/numbl-core/execSession.d.ts +39 -0
  136. package/dist-lib/numbl-core/executeCode.d.ts +10 -1
  137. package/dist-lib/numbl-core/executors/classification.d.ts +2 -10
  138. package/dist-lib/numbl-core/executors/jit/backend.d.ts +65 -0
  139. package/dist-lib/numbl-core/executors/jit/cBackend.d.ts +22 -0
  140. package/dist-lib/numbl-core/executors/jit/callExecutor.d.ts +13 -44
  141. package/dist-lib/numbl-core/executors/jit/hostHelpers.d.ts +24 -0
  142. package/dist-lib/numbl-core/executors/jit/jsBackend.d.ts +15 -0
  143. package/dist-lib/numbl-core/executors/jit/loopExecutor.d.ts +13 -40
  144. package/dist-lib/numbl-core/executors/jit/session.d.ts +1 -1
  145. package/dist-lib/numbl-core/executors/jit/topLevelExecutor.d.ts +13 -33
  146. package/dist-lib/numbl-core/executors/jit/valueAdapterC.d.ts +32 -48
  147. package/dist-lib/numbl-core/executors/lowering.d.ts +38 -96
  148. package/dist-lib/numbl-core/executors/plugins.d.ts +14 -28
  149. package/dist-lib/numbl-core/executors/registry.d.ts +32 -133
  150. package/dist-lib/numbl-core/executors/types.d.ts +30 -92
  151. package/dist-lib/numbl-core/functionResolve.d.ts +3 -13
  152. package/dist-lib/numbl-core/helpers/check-helpers.d.ts +0 -5
  153. package/dist-lib/numbl-core/helpers/glob.d.ts +14 -0
  154. package/dist-lib/numbl-core/helpers/linsolve.d.ts +3 -13
  155. package/dist-lib/numbl-core/helpers/reduction-helpers.d.ts +2 -4
  156. package/dist-lib/numbl-core/helpers/shape-utils.d.ts +10 -0
  157. package/dist-lib/numbl-core/interpreter/builtins/index.d.ts +3 -1
  158. package/dist-lib/numbl-core/interpreter/builtins/time-system.d.ts +0 -1
  159. package/dist-lib/numbl-core/interpreter/builtins/types.d.ts +7 -7
  160. package/dist-lib/numbl-core/interpreter/interpreter.d.ts +6 -6
  161. package/dist-lib/numbl-core/interpreter/interpreterFunctions.d.ts +9 -1
  162. package/dist-lib/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +6 -3
  163. package/dist-lib/numbl-core/jit/builtins/defs/_shared.d.ts +1 -5
  164. package/dist-lib/numbl-core/jit/builtins/defs/arithmetic/_elemwise.d.ts +1 -2
  165. package/dist-lib/numbl-core/jit/builtins/defs/logical/_unary_pred.d.ts +3 -3
  166. package/dist-lib/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +1 -1
  167. package/dist-lib/numbl-core/jit/builtins/defs/logical/strcmp.d.ts +1 -1
  168. package/dist-lib/numbl-core/jit/builtins/defs/math/_unary_real.d.ts +5 -2
  169. package/dist-lib/numbl-core/jit/builtins/defs/math/realsqrt.d.ts +6 -0
  170. package/dist-lib/numbl-core/jit/builtins/defs/reduction/_shape.d.ts +0 -5
  171. package/dist-lib/numbl-core/jit/builtins/defs/shape/_construct.d.ts +0 -4
  172. package/dist-lib/numbl-core/jit/builtins/defs/shape/_triangular.d.ts +2 -8
  173. package/dist-lib/numbl-core/jit/builtins/defs/system/deal.d.ts +4 -5
  174. package/dist-lib/numbl-core/jit/builtins/defs/system/feval.d.ts +7 -29
  175. package/dist-lib/numbl-core/jit/builtins/registry.d.ts +15 -30
  176. package/dist-lib/numbl-core/jit/builtins/runtime/system/cdiv.d.ts +4 -0
  177. package/dist-lib/numbl-core/jit/builtins/runtime/system/cscalar.d.ts +4 -0
  178. package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real_fn.d.ts +45 -15
  179. package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_real.d.ts +5 -5
  180. package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_real_math.d.ts +6 -0
  181. package/dist-lib/numbl-core/jit/codegen/emit.d.ts +9 -30
  182. package/dist-lib/numbl-core/jit/codegen/emitJs.d.ts +9 -27
  183. package/dist-lib/numbl-core/jit/codegen/emitStmt.d.ts +8 -31
  184. package/dist-lib/numbl-core/jit/codegen/emitTensorFused.d.ts +10 -9
  185. package/dist-lib/numbl-core/jit/codegen/inlinePass.d.ts +39 -48
  186. package/dist-lib/numbl-core/jit/codegen/prettyIR.d.ts +1 -6
  187. package/dist-lib/numbl-core/jit/codegen/runtime.d.ts +7 -28
  188. package/dist-lib/numbl-core/jit/compileSpec.d.ts +3 -6
  189. package/dist-lib/numbl-core/jit/compileSpecC.d.ts +5 -0
  190. package/dist-lib/numbl-core/jit/lowering/assignedFlags.d.ts +24 -0
  191. package/dist-lib/numbl-core/jit/lowering/definiteAssign.d.ts +3 -1
  192. package/dist-lib/numbl-core/jit/lowering/errors.d.ts +3 -15
  193. package/dist-lib/numbl-core/jit/lowering/ir.d.ts +0 -2
  194. package/dist-lib/numbl-core/jit/lowering/lower.d.ts +4 -12
  195. package/dist-lib/numbl-core/jit/lowering/types.d.ts +2 -7
  196. package/dist-lib/numbl-core/jit/numbl/index.d.ts +5 -14
  197. package/dist-lib/numbl-core/jit/parser/index.d.ts +4 -9
  198. package/dist-lib/numbl-core/jit/workspace/workspace.d.ts +32 -136
  199. package/dist-lib/numbl-core/jitDeclineDiagnostics.d.ts +1 -1
  200. package/dist-lib/numbl-core/jsUserFunctions.d.ts +10 -12
  201. package/dist-lib/numbl-core/lowering/classInfo.d.ts +4 -1
  202. package/dist-lib/numbl-core/lowering/loweringContext.d.ts +15 -23
  203. package/dist-lib/numbl-core/native/lapack-bridge.d.ts +111 -130
  204. package/dist-lib/numbl-core/native/ts-lapack-bridge.d.ts +4 -5
  205. package/dist-lib/numbl-core/native/ts-lapack-complex.d.ts +23 -0
  206. package/dist-lib/numbl-core/native/ts-lapack-qr-lu.d.ts +37 -0
  207. package/dist-lib/numbl-core/native/wasm-lapack-bridge.d.ts +4 -5
  208. package/dist-lib/numbl-core/ops/dispatch.d.ts +4 -5
  209. package/dist-lib/numbl-core/parser/types.d.ts +1 -21
  210. package/{dist-browser/numbl-core/runtime → dist-lib/numbl-core/plotting}/axisCommand.d.ts +2 -2
  211. package/{dist-graphics/graphics → dist-lib/numbl-core/plotting}/axisLimits.d.ts +14 -2
  212. package/dist-lib/numbl-core/plotting/builtins.d.ts +8 -0
  213. package/dist-lib/numbl-core/plotting/colormaps.d.ts +10 -0
  214. package/dist-lib/numbl-core/{runtime/plotBuiltinDispatch.d.ts → plotting/dispatch.d.ts} +14 -25
  215. package/dist-lib/numbl-core/plotting/imagescExtent.d.ts +19 -0
  216. package/dist-lib/numbl-core/{runtime/runtimePlot.d.ts → plotting/instructions.d.ts} +5 -17
  217. package/dist-lib/numbl-core/plotting/parseArgsChart.d.ts +94 -0
  218. package/dist-lib/numbl-core/plotting/parseArgsCommon.d.ts +64 -0
  219. package/dist-lib/numbl-core/plotting/parseArgsLine.d.ts +103 -0
  220. package/dist-lib/numbl-core/plotting/parseArgsPatch.d.ts +38 -0
  221. package/dist-lib/numbl-core/plotting/parseArgsQuiver.d.ts +32 -0
  222. package/dist-lib/numbl-core/plotting/parseArgsSurface.d.ts +75 -0
  223. package/dist-lib/numbl-core/plotting/streamline.d.ts +16 -0
  224. package/dist-lib/{graphics → numbl-core/plotting}/types.d.ts +9 -7
  225. package/dist-lib/numbl-core/runtime/cow.d.ts +0 -8
  226. package/dist-lib/numbl-core/runtime/refcount.d.ts +0 -3
  227. package/dist-lib/numbl-core/runtime/registerSpecial.d.ts +15 -0
  228. package/dist-lib/numbl-core/runtime/runtime.d.ts +11 -35
  229. package/dist-lib/numbl-core/runtime/runtimeDispatch.d.ts +6 -0
  230. package/dist-lib/numbl-core/runtime/specialBuiltins.d.ts +3 -9
  231. package/dist-lib/numbl-core/runtime/uihtmlSession.d.ts +5 -13
  232. package/dist-lib/numbl-core/runtime/utils.d.ts +4 -1
  233. package/dist-lib/numbl-core/version.d.ts +1 -1
  234. package/dist-lib/numbl-core/workspace/workspace.d.ts +64 -0
  235. package/dist-lib/vfs/unzipToFiles.d.ts +7 -0
  236. package/dist-plot-viewer/assets/index-C0fIevlp.js +4504 -0
  237. package/dist-plot-viewer/index.html +1 -1
  238. package/dist-site-viewer/assets/index-BDaviCH6.js +4832 -0
  239. package/dist-site-viewer/assets/numbl-worker-D6m4K2PP.js +5691 -0
  240. package/dist-site-viewer/index.html +2 -2
  241. package/native/numbl_addon.cpp +2 -12
  242. package/native/numbl_addon_common.h +0 -5
  243. package/package.json +6 -5
  244. package/dist-browser/hooks/useProjectFiles.d.ts +0 -45
  245. package/dist-browser/numbl-core/executors/context.d.ts +0 -76
  246. package/dist-browser/numbl-core/executors/index.d.ts +0 -14
  247. package/dist-browser/numbl-core/executors/jit/cJitCallExecutor.d.ts +0 -35
  248. package/dist-browser/numbl-core/executors/jit/cJitLoopExecutor.d.ts +0 -31
  249. package/dist-browser/numbl-core/executors/jit/cJitTopLevelExecutor.d.ts +0 -29
  250. package/dist-browser/numbl-core/helpers/dummy.d.ts +0 -5
  251. package/dist-browser/numbl-core/jit/runtime/context.d.ts +0 -23
  252. package/dist-browser/numbl-core/jit/runtime/inferType.d.ts +0 -10
  253. package/dist-browser/numbl-core/jit/runtime/value.d.ts +0 -101
  254. package/dist-browser/numbl-core/jit/workspace/driverPrologue.d.ts +0 -59
  255. package/dist-browser/numbl-core/jit/workspace/mtoc2UserFunctionLoader.d.ts +0 -62
  256. package/dist-browser/numbl-core/native/bridge-resolve.d.ts +0 -14
  257. package/dist-browser/numbl-core/runtime/plotUtils.d.ts +0 -336
  258. package/dist-browser/numbl-core/runtime/specialBuiltinNames.d.ts +0 -2
  259. package/dist-graphics/graphics/surfColormap.d.ts +0 -2
  260. package/dist-lib/numbl-core/executors/context.d.ts +0 -76
  261. package/dist-lib/numbl-core/executors/index.d.ts +0 -14
  262. package/dist-lib/numbl-core/executors/jit/cJitCallExecutor.d.ts +0 -35
  263. package/dist-lib/numbl-core/executors/jit/cJitLoopExecutor.d.ts +0 -31
  264. package/dist-lib/numbl-core/executors/jit/cJitTopLevelExecutor.d.ts +0 -29
  265. package/dist-lib/numbl-core/helpers/dummy.d.ts +0 -5
  266. package/dist-lib/numbl-core/jit/runtime/context.d.ts +0 -23
  267. package/dist-lib/numbl-core/jit/runtime/inferType.d.ts +0 -10
  268. package/dist-lib/numbl-core/jit/runtime/value.d.ts +0 -101
  269. package/dist-lib/numbl-core/jit/workspace/driverPrologue.d.ts +0 -59
  270. package/dist-lib/numbl-core/jit/workspace/mtoc2UserFunctionLoader.d.ts +0 -62
  271. package/dist-lib/numbl-core/native/bridge-resolve.d.ts +0 -14
  272. package/dist-lib/numbl-core/runtime/plotUtils.d.ts +0 -336
  273. package/dist-lib/numbl-core/runtime/specialBuiltinNames.d.ts +0 -2
  274. package/dist-plot-viewer/assets/index-YeXWXIxH.js +0 -4504
  275. package/dist-site-viewer/assets/index-DrtkDG_M.js +0 -4832
  276. package/dist-site-viewer/assets/numbl-worker-Dz_Z8B9u.js +0 -5327
  277. package/native/elemwise.cpp +0 -360
  278. package/native/unary_elemwise.cpp +0 -67
  279. /package/dist-browser/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
  280. /package/dist-graphics/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
  281. /package/dist-lib/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
@@ -1,360 +0,0 @@
1
- /**
2
- * Element-wise binary operations on Float64Arrays.
3
- *
4
- * Real:
5
- * elemwise(a: Float64Array, b: Float64Array, op: number): Float64Array
6
- * op: 0=add, 1=sub, 2=mul, 3=div
7
- *
8
- * elemwiseScalar(scalar: number, arr: Float64Array, op: number, scalarOnLeft: boolean): Float64Array
9
- * op: 0=add, 1=sub, 2=mul, 3=div
10
- * scalarOnLeft=true: result[i] = scalar op arr[i]
11
- * scalarOnLeft=false: result[i] = arr[i] op scalar
12
- *
13
- * Complex:
14
- * elemwiseComplex(aRe: Float64Array, aIm: Float64Array,
15
- * bRe: Float64Array, bIm: Float64Array,
16
- * op: number): { re: Float64Array, im: Float64Array }
17
- * op: 0=add, 1=sub, 2=mul, 3=div
18
- * Pass null for aIm or bIm to treat as zero (mixed real/complex).
19
- *
20
- * elemwiseComplexScalar(scalarRe: number, scalarIm: number,
21
- * arrRe: Float64Array, arrIm: Float64Array|null,
22
- * op: number, scalarOnLeft: boolean)
23
- * : { re: Float64Array, im: Float64Array }
24
- * op: 0=add, 1=sub, 2=mul, 3=div
25
- * Complex scalar with a possibly-complex tensor. When scalar is purely
26
- * real (scalarIm == 0) and the tensor is real (arrIm == null), prefer
27
- * elemwiseScalar for better throughput.
28
- */
29
-
30
- #include "numbl_addon_common.h"
31
-
32
- // ── elemwise() — real element-wise binary op ────────────────────────────────
33
-
34
- Napi::Value Elemwise(const Napi::CallbackInfo& info) {
35
- Napi::Env env = info.Env();
36
-
37
- if (info.Length() < 3
38
- || !info[0].IsTypedArray()
39
- || !info[1].IsTypedArray()
40
- || !info[2].IsNumber()) {
41
- Napi::TypeError::New(env,
42
- "elemwise: expected (Float64Array a, Float64Array b, number op)")
43
- .ThrowAsJavaScriptException();
44
- return env.Null();
45
- }
46
-
47
- auto arrA = info[0].As<Napi::Float64Array>();
48
- auto arrB = info[1].As<Napi::Float64Array>();
49
- int op = info[2].As<Napi::Number>().Int32Value();
50
-
51
- size_t n = arrA.ElementLength();
52
- if (arrB.ElementLength() != n) {
53
- Napi::RangeError::New(env, "elemwise: arrays must have same length")
54
- .ThrowAsJavaScriptException();
55
- return env.Null();
56
- }
57
-
58
- auto result = Napi::Float64Array::New(env, n);
59
- const double* a = arrA.Data();
60
- const double* b = arrB.Data();
61
- double* out = result.Data();
62
-
63
- switch (op) {
64
- case 0: // add
65
- for (size_t i = 0; i < n; i++) out[i] = a[i] + b[i];
66
- break;
67
- case 1: // sub
68
- for (size_t i = 0; i < n; i++) out[i] = a[i] - b[i];
69
- break;
70
- case 2: // mul
71
- for (size_t i = 0; i < n; i++) out[i] = a[i] * b[i];
72
- break;
73
- case 3: // div
74
- for (size_t i = 0; i < n; i++) out[i] = a[i] / b[i];
75
- break;
76
- default:
77
- Napi::RangeError::New(env, "elemwise: op must be 0-3")
78
- .ThrowAsJavaScriptException();
79
- return env.Null();
80
- }
81
-
82
- return result;
83
- }
84
-
85
- // ── elemwiseComplex() — complex element-wise binary op ──────────────────────
86
-
87
- Napi::Value ElemwiseComplex(const Napi::CallbackInfo& info) {
88
- Napi::Env env = info.Env();
89
-
90
- // (aRe, aIm_or_null, bRe, bIm_or_null, op)
91
- if (info.Length() < 5 || !info[0].IsTypedArray() || !info[2].IsTypedArray()
92
- || !info[4].IsNumber()) {
93
- Napi::TypeError::New(env,
94
- "elemwiseComplex: expected (Float64Array aRe, Float64Array|null aIm, "
95
- "Float64Array bRe, Float64Array|null bIm, number op)")
96
- .ThrowAsJavaScriptException();
97
- return env.Null();
98
- }
99
-
100
- auto arrARe = info[0].As<Napi::Float64Array>();
101
- auto arrBRe = info[2].As<Napi::Float64Array>();
102
- int op = info[4].As<Napi::Number>().Int32Value();
103
-
104
- size_t n = arrARe.ElementLength();
105
- if (arrBRe.ElementLength() != n) {
106
- Napi::RangeError::New(env, "elemwiseComplex: arrays must have same length")
107
- .ThrowAsJavaScriptException();
108
- return env.Null();
109
- }
110
-
111
- const double* aRe = arrARe.Data();
112
- const double* bRe = arrBRe.Data();
113
-
114
- // aIm and bIm may be null (treat as zero)
115
- bool hasAIm = info[1].IsTypedArray();
116
- bool hasBIm = info[3].IsTypedArray();
117
- const double* aIm = hasAIm ? info[1].As<Napi::Float64Array>().Data() : nullptr;
118
- const double* bIm = hasBIm ? info[3].As<Napi::Float64Array>().Data() : nullptr;
119
-
120
- auto outRe = Napi::Float64Array::New(env, n);
121
- auto outIm = Napi::Float64Array::New(env, n);
122
- double* oRe = outRe.Data();
123
- double* oIm = outIm.Data();
124
-
125
- switch (op) {
126
- case 0: // add
127
- for (size_t i = 0; i < n; i++) {
128
- oRe[i] = aRe[i] + bRe[i];
129
- oIm[i] = (aIm ? aIm[i] : 0.0) + (bIm ? bIm[i] : 0.0);
130
- }
131
- break;
132
- case 1: // sub
133
- for (size_t i = 0; i < n; i++) {
134
- oRe[i] = aRe[i] - bRe[i];
135
- oIm[i] = (aIm ? aIm[i] : 0.0) - (bIm ? bIm[i] : 0.0);
136
- }
137
- break;
138
- case 2: { // mul: (a+bi)(c+di) = (ac-bd) + (ad+bc)i
139
- for (size_t i = 0; i < n; i++) {
140
- double ar = aRe[i], ai = aIm ? aIm[i] : 0.0;
141
- double br = bRe[i], bi = bIm ? bIm[i] : 0.0;
142
- oRe[i] = ar * br - ai * bi;
143
- oIm[i] = ar * bi + ai * br;
144
- }
145
- break;
146
- }
147
- case 3: { // div: (a+bi)/(c+di) = ((ac+bd) + (bc-ad)i) / (c²+d²)
148
- for (size_t i = 0; i < n; i++) {
149
- double ar = aRe[i], ai = aIm ? aIm[i] : 0.0;
150
- double br = bRe[i], bi = bIm ? bIm[i] : 0.0;
151
- double denom = br * br + bi * bi;
152
- if (denom == 0.0) {
153
- oRe[i] = (ar == 0.0 && ai == 0.0) ? 0.0 / 0.0 /* NaN */
154
- : (ar > 0 ? 1.0 : ar < 0 ? -1.0 : 0.0) / 0.0 /* ±Inf */;
155
- oIm[i] = (ar == 0.0 && ai == 0.0) ? 0.0
156
- : (ai > 0 ? 1.0 : ai < 0 ? -1.0 : 0.0) / 0.0;
157
- } else {
158
- oRe[i] = (ar * br + ai * bi) / denom;
159
- oIm[i] = (ai * br - ar * bi) / denom;
160
- }
161
- }
162
- break;
163
- }
164
- default:
165
- Napi::RangeError::New(env, "elemwiseComplex: op must be 0-3")
166
- .ThrowAsJavaScriptException();
167
- return env.Null();
168
- }
169
-
170
- // Check if result is purely real
171
- bool isReal = true;
172
- for (size_t i = 0; i < n; i++) {
173
- if (oIm[i] != 0.0) { isReal = false; break; }
174
- }
175
-
176
- auto result = Napi::Object::New(env);
177
- result.Set("re", outRe);
178
- if (!isReal) {
179
- result.Set("im", outIm);
180
- }
181
- return result;
182
- }
183
-
184
- // ── elemwiseScalar() — scalar-tensor element-wise binary op ────────────────
185
-
186
- Napi::Value ElemwiseScalar(const Napi::CallbackInfo& info) {
187
- Napi::Env env = info.Env();
188
-
189
- if (info.Length() < 4
190
- || !info[0].IsNumber()
191
- || !info[1].IsTypedArray()
192
- || !info[2].IsNumber()
193
- || !info[3].IsBoolean()) {
194
- Napi::TypeError::New(env,
195
- "elemwiseScalar: expected (number scalar, Float64Array arr, number op, boolean scalarOnLeft)")
196
- .ThrowAsJavaScriptException();
197
- return env.Null();
198
- }
199
-
200
- double scalar = info[0].As<Napi::Number>().DoubleValue();
201
- auto arr = info[1].As<Napi::Float64Array>();
202
- int op = info[2].As<Napi::Number>().Int32Value();
203
- bool scalarOnLeft = info[3].As<Napi::Boolean>().Value();
204
-
205
- size_t n = arr.ElementLength();
206
- auto result = Napi::Float64Array::New(env, n);
207
- const double* a = arr.Data();
208
- double* out = result.Data();
209
-
210
- if (scalarOnLeft) {
211
- switch (op) {
212
- case 0: for (size_t i = 0; i < n; i++) out[i] = scalar + a[i]; break;
213
- case 1: for (size_t i = 0; i < n; i++) out[i] = scalar - a[i]; break;
214
- case 2: for (size_t i = 0; i < n; i++) out[i] = scalar * a[i]; break;
215
- case 3: for (size_t i = 0; i < n; i++) out[i] = scalar / a[i]; break;
216
- default:
217
- Napi::RangeError::New(env, "elemwiseScalar: op must be 0-3")
218
- .ThrowAsJavaScriptException();
219
- return env.Null();
220
- }
221
- } else {
222
- switch (op) {
223
- case 0: for (size_t i = 0; i < n; i++) out[i] = a[i] + scalar; break;
224
- case 1: for (size_t i = 0; i < n; i++) out[i] = a[i] - scalar; break;
225
- case 2: for (size_t i = 0; i < n; i++) out[i] = a[i] * scalar; break;
226
- case 3: for (size_t i = 0; i < n; i++) out[i] = a[i] / scalar; break;
227
- default:
228
- Napi::RangeError::New(env, "elemwiseScalar: op must be 0-3")
229
- .ThrowAsJavaScriptException();
230
- return env.Null();
231
- }
232
- }
233
-
234
- return result;
235
- }
236
-
237
- // ── elemwiseComplexScalar() — complex-scalar-tensor element-wise binary op ──
238
-
239
- Napi::Value ElemwiseComplexScalar(const Napi::CallbackInfo& info) {
240
- Napi::Env env = info.Env();
241
-
242
- // (scalarRe, scalarIm, arrRe, arrIm_or_null, op, scalarOnLeft)
243
- if (info.Length() < 6
244
- || !info[0].IsNumber()
245
- || !info[1].IsNumber()
246
- || !info[2].IsTypedArray()
247
- || !info[4].IsNumber()
248
- || !info[5].IsBoolean()) {
249
- Napi::TypeError::New(env,
250
- "elemwiseComplexScalar: expected (number sRe, number sIm, "
251
- "Float64Array arrRe, Float64Array|null arrIm, number op, "
252
- "boolean scalarOnLeft)")
253
- .ThrowAsJavaScriptException();
254
- return env.Null();
255
- }
256
-
257
- double sRe = info[0].As<Napi::Number>().DoubleValue();
258
- double sIm = info[1].As<Napi::Number>().DoubleValue();
259
- auto arrRe = info[2].As<Napi::Float64Array>();
260
- int op = info[4].As<Napi::Number>().Int32Value();
261
- bool scalarOnLeft = info[5].As<Napi::Boolean>().Value();
262
-
263
- size_t n = arrRe.ElementLength();
264
- const double* aRe = arrRe.Data();
265
- const bool hasAIm = info[3].IsTypedArray();
266
- const double* aIm = hasAIm ? info[3].As<Napi::Float64Array>().Data() : nullptr;
267
-
268
- auto outRe = Napi::Float64Array::New(env, n);
269
- auto outIm = Napi::Float64Array::New(env, n);
270
- double* oRe = outRe.Data();
271
- double* oIm = outIm.Data();
272
-
273
- switch (op) {
274
- case 0: // add: result is (sRe + aRe) + (sIm + aIm) i
275
- for (size_t i = 0; i < n; i++) {
276
- oRe[i] = sRe + aRe[i];
277
- oIm[i] = sIm + (aIm ? aIm[i] : 0.0);
278
- }
279
- break;
280
- case 1: // sub
281
- if (scalarOnLeft) {
282
- for (size_t i = 0; i < n; i++) {
283
- oRe[i] = sRe - aRe[i];
284
- oIm[i] = sIm - (aIm ? aIm[i] : 0.0);
285
- }
286
- } else {
287
- for (size_t i = 0; i < n; i++) {
288
- oRe[i] = aRe[i] - sRe;
289
- oIm[i] = (aIm ? aIm[i] : 0.0) - sIm;
290
- }
291
- }
292
- break;
293
- case 2: // mul: (sRe + sIm i)(aRe + aIm i)
294
- for (size_t i = 0; i < n; i++) {
295
- double ar = aRe[i];
296
- double ai = aIm ? aIm[i] : 0.0;
297
- oRe[i] = sRe * ar - sIm * ai;
298
- oIm[i] = sRe * ai + sIm * ar;
299
- }
300
- break;
301
- case 3: // div
302
- if (scalarOnLeft) {
303
- // (sRe + sIm i) / (ar + ai i)
304
- for (size_t i = 0; i < n; i++) {
305
- double ar = aRe[i];
306
- double ai = aIm ? aIm[i] : 0.0;
307
- double denom = ar * ar + ai * ai;
308
- if (denom == 0.0) {
309
- // Match JS: produce Inf/NaN components.
310
- oRe[i] = (sRe == 0.0 && sIm == 0.0) ? 0.0 / 0.0
311
- : (sRe > 0 ? 1.0 : sRe < 0 ? -1.0 : 0.0) / 0.0;
312
- oIm[i] = (sRe == 0.0 && sIm == 0.0) ? 0.0
313
- : (sIm > 0 ? 1.0 : sIm < 0 ? -1.0 : 0.0) / 0.0;
314
- } else {
315
- oRe[i] = (sRe * ar + sIm * ai) / denom;
316
- oIm[i] = (sIm * ar - sRe * ai) / denom;
317
- }
318
- }
319
- } else {
320
- // (ar + ai i) / (sRe + sIm i)
321
- double denom = sRe * sRe + sIm * sIm;
322
- if (denom == 0.0) {
323
- for (size_t i = 0; i < n; i++) {
324
- double ar = aRe[i];
325
- double ai = aIm ? aIm[i] : 0.0;
326
- oRe[i] = (ar == 0.0 && ai == 0.0) ? 0.0 / 0.0
327
- : (ar > 0 ? 1.0 : ar < 0 ? -1.0 : 0.0) / 0.0;
328
- oIm[i] = (ar == 0.0 && ai == 0.0) ? 0.0
329
- : (ai > 0 ? 1.0 : ai < 0 ? -1.0 : 0.0) / 0.0;
330
- }
331
- } else {
332
- double invDenom = 1.0 / denom;
333
- for (size_t i = 0; i < n; i++) {
334
- double ar = aRe[i];
335
- double ai = aIm ? aIm[i] : 0.0;
336
- oRe[i] = (ar * sRe + ai * sIm) * invDenom;
337
- oIm[i] = (ai * sRe - ar * sIm) * invDenom;
338
- }
339
- }
340
- }
341
- break;
342
- default:
343
- Napi::RangeError::New(env, "elemwiseComplexScalar: op must be 0-3")
344
- .ThrowAsJavaScriptException();
345
- return env.Null();
346
- }
347
-
348
- // Check if result is purely real
349
- bool isReal = true;
350
- for (size_t i = 0; i < n; i++) {
351
- if (oIm[i] != 0.0) { isReal = false; break; }
352
- }
353
-
354
- auto result = Napi::Object::New(env);
355
- result.Set("re", outRe);
356
- if (!isReal) {
357
- result.Set("im", outIm);
358
- }
359
- return result;
360
- }
@@ -1,67 +0,0 @@
1
- /**
2
- * Native unary element-wise math operations on Float64Arrays.
3
- *
4
- * unaryElemwise(arr: Float64Array, op: number): Float64Array
5
- * op codes:
6
- * 0=exp, 1=log, 2=log2, 3=log10,
7
- * 4=sqrt, 5=abs, 6=floor, 7=ceil, 8=round, 9=trunc (fix),
8
- * 10=sin, 11=cos, 12=tan, 13=asin, 14=acos, 15=atan,
9
- * 16=sinh, 17=cosh, 18=tanh, 19=sign
10
- */
11
-
12
- #include "numbl_addon_common.h"
13
- #include <cmath>
14
-
15
- Napi::Value UnaryElemwise(const Napi::CallbackInfo& info) {
16
- Napi::Env env = info.Env();
17
-
18
- if (info.Length() < 2
19
- || !info[0].IsTypedArray()
20
- || !info[1].IsNumber()) {
21
- Napi::TypeError::New(env,
22
- "unaryElemwise: expected (Float64Array arr, number op)")
23
- .ThrowAsJavaScriptException();
24
- return env.Null();
25
- }
26
-
27
- auto arr = info[0].As<Napi::Float64Array>();
28
- int op = info[1].As<Napi::Number>().Int32Value();
29
-
30
- size_t n = arr.ElementLength();
31
- auto result = Napi::Float64Array::New(env, n);
32
- const double* a = arr.Data();
33
- double* out = result.Data();
34
-
35
- switch (op) {
36
- case 0: for (size_t i = 0; i < n; i++) out[i] = std::exp(a[i]); break;
37
- case 1: for (size_t i = 0; i < n; i++) out[i] = std::log(a[i]); break;
38
- case 2: for (size_t i = 0; i < n; i++) out[i] = std::log2(a[i]); break;
39
- case 3: for (size_t i = 0; i < n; i++) out[i] = std::log10(a[i]); break;
40
- case 4: for (size_t i = 0; i < n; i++) out[i] = std::sqrt(a[i]); break;
41
- case 5: for (size_t i = 0; i < n; i++) out[i] = std::abs(a[i]); break;
42
- case 6: for (size_t i = 0; i < n; i++) out[i] = std::floor(a[i]); break;
43
- case 7: for (size_t i = 0; i < n; i++) out[i] = std::ceil(a[i]); break;
44
- case 8: for (size_t i = 0; i < n; i++) out[i] = std::round(a[i]); break;
45
- case 9: for (size_t i = 0; i < n; i++) out[i] = std::trunc(a[i]); break;
46
- case 10: for (size_t i = 0; i < n; i++) out[i] = std::sin(a[i]); break;
47
- case 11: for (size_t i = 0; i < n; i++) out[i] = std::cos(a[i]); break;
48
- case 12: for (size_t i = 0; i < n; i++) out[i] = std::tan(a[i]); break;
49
- case 13: for (size_t i = 0; i < n; i++) out[i] = std::asin(a[i]); break;
50
- case 14: for (size_t i = 0; i < n; i++) out[i] = std::acos(a[i]); break;
51
- case 15: for (size_t i = 0; i < n; i++) out[i] = std::atan(a[i]); break;
52
- case 16: for (size_t i = 0; i < n; i++) out[i] = std::sinh(a[i]); break;
53
- case 17: for (size_t i = 0; i < n; i++) out[i] = std::cosh(a[i]); break;
54
- case 18: for (size_t i = 0; i < n; i++) out[i] = std::tanh(a[i]); break;
55
- case 19:
56
- for (size_t i = 0; i < n; i++) {
57
- out[i] = (a[i] > 0.0) ? 1.0 : (a[i] < 0.0) ? -1.0 : 0.0;
58
- }
59
- break;
60
- default:
61
- Napi::RangeError::New(env, "unaryElemwise: unknown op code")
62
- .ThrowAsJavaScriptException();
63
- return env.Null();
64
- }
65
-
66
- return result;
67
- }