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