numbl 0.4.19 → 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.
- package/binding.gyp +12 -6
- package/dist-browser/browser/index.d.ts +1 -1
- package/dist-browser/browser/mip.d.ts +7 -0
- package/dist-browser/browser/protocol.d.ts +1 -1
- package/dist-browser/browser.js +1 -1
- package/dist-browser/db/operations.d.ts +0 -1
- package/dist-browser/gpuHelper.d.ts +29 -0
- package/dist-browser/hooks/projectFilesState.d.ts +37 -0
- package/dist-browser/numbl-core/execSession.d.ts +39 -0
- package/dist-browser/numbl-core/executeCode.d.ts +10 -1
- package/dist-browser/numbl-core/executors/classification.d.ts +2 -10
- package/dist-browser/numbl-core/executors/jit/backend.d.ts +65 -0
- package/dist-browser/numbl-core/executors/jit/cBackend.d.ts +22 -0
- package/dist-browser/numbl-core/executors/jit/callExecutor.d.ts +13 -44
- package/dist-browser/numbl-core/executors/jit/hostHelpers.d.ts +24 -0
- package/dist-browser/numbl-core/executors/jit/jsBackend.d.ts +15 -0
- package/dist-browser/numbl-core/executors/jit/loopExecutor.d.ts +13 -40
- package/dist-browser/numbl-core/executors/jit/session.d.ts +1 -1
- package/dist-browser/numbl-core/executors/jit/topLevelExecutor.d.ts +13 -33
- package/dist-browser/numbl-core/executors/jit/valueAdapterC.d.ts +32 -48
- package/dist-browser/numbl-core/executors/lowering.d.ts +38 -96
- package/dist-browser/numbl-core/executors/plugins.d.ts +14 -28
- package/dist-browser/numbl-core/executors/registry.d.ts +32 -133
- package/dist-browser/numbl-core/executors/types.d.ts +30 -92
- package/dist-browser/numbl-core/functionResolve.d.ts +3 -13
- package/dist-browser/numbl-core/helpers/check-helpers.d.ts +0 -5
- package/dist-browser/numbl-core/helpers/glob.d.ts +14 -0
- package/dist-browser/numbl-core/helpers/linsolve.d.ts +3 -13
- package/dist-browser/numbl-core/helpers/reduction-helpers.d.ts +2 -4
- package/dist-browser/numbl-core/helpers/shape-utils.d.ts +10 -0
- package/dist-browser/numbl-core/helpers/sparse-direct.d.ts +107 -0
- package/dist-browser/numbl-core/helpers/warn.d.ts +9 -0
- package/dist-browser/numbl-core/interpreter/builtins/index.d.ts +4 -1
- package/dist-browser/numbl-core/interpreter/builtins/sparse-solvers.d.ts +16 -0
- package/dist-browser/numbl-core/interpreter/builtins/time-system.d.ts +0 -1
- package/dist-browser/numbl-core/interpreter/builtins/types.d.ts +7 -7
- package/dist-browser/numbl-core/interpreter/interpreter.d.ts +6 -6
- package/dist-browser/numbl-core/interpreter/interpreterFunctions.d.ts +9 -1
- package/dist-browser/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +6 -3
- package/dist-browser/numbl-core/jit/builtins/defs/_shared.d.ts +1 -5
- package/dist-browser/numbl-core/jit/builtins/defs/arithmetic/_elemwise.d.ts +1 -2
- package/dist-browser/numbl-core/jit/builtins/defs/logical/_unary_pred.d.ts +3 -3
- package/dist-browser/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +1 -1
- package/dist-browser/numbl-core/jit/builtins/defs/logical/strcmp.d.ts +1 -1
- package/dist-browser/numbl-core/jit/builtins/defs/math/_unary_real.d.ts +5 -2
- package/dist-browser/numbl-core/jit/builtins/defs/math/realsqrt.d.ts +6 -0
- package/dist-browser/numbl-core/jit/builtins/defs/reduction/_shape.d.ts +0 -5
- package/dist-browser/numbl-core/jit/builtins/defs/shape/_construct.d.ts +0 -4
- package/dist-browser/numbl-core/jit/builtins/defs/shape/_triangular.d.ts +2 -8
- package/dist-browser/numbl-core/jit/builtins/defs/system/deal.d.ts +4 -5
- package/dist-browser/numbl-core/jit/builtins/defs/system/feval.d.ts +7 -29
- package/dist-browser/numbl-core/jit/builtins/registry.d.ts +15 -30
- 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 +4 -0
- package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real_fn.d.ts +45 -15
- package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_real.d.ts +5 -5
- package/dist-browser/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_real_math.d.ts +6 -0
- package/dist-browser/numbl-core/jit/codegen/emit.d.ts +9 -30
- package/dist-browser/numbl-core/jit/codegen/emitJs.d.ts +9 -27
- package/dist-browser/numbl-core/jit/codegen/emitStmt.d.ts +8 -31
- package/dist-browser/numbl-core/jit/codegen/emitTensorFused.d.ts +10 -9
- package/dist-browser/numbl-core/jit/codegen/inlinePass.d.ts +39 -48
- package/dist-browser/numbl-core/jit/codegen/prettyIR.d.ts +1 -6
- package/dist-browser/numbl-core/jit/codegen/runtime.d.ts +7 -28
- package/dist-browser/numbl-core/jit/compileSpec.d.ts +3 -6
- package/dist-browser/numbl-core/jit/compileSpecC.d.ts +5 -0
- package/dist-browser/numbl-core/jit/lowering/assignedFlags.d.ts +24 -0
- package/dist-browser/numbl-core/jit/lowering/definiteAssign.d.ts +3 -1
- package/dist-browser/numbl-core/jit/lowering/errors.d.ts +3 -15
- package/dist-browser/numbl-core/jit/lowering/ir.d.ts +0 -2
- package/dist-browser/numbl-core/jit/lowering/lower.d.ts +4 -12
- package/dist-browser/numbl-core/jit/lowering/types.d.ts +2 -7
- package/dist-browser/numbl-core/jit/numbl/index.d.ts +5 -14
- package/dist-browser/numbl-core/jit/parser/index.d.ts +4 -9
- package/dist-browser/numbl-core/jit/workspace/workspace.d.ts +32 -136
- package/dist-browser/numbl-core/jitDeclineDiagnostics.d.ts +1 -1
- package/dist-browser/numbl-core/jsUserFunctions.d.ts +10 -12
- package/dist-browser/numbl-core/lowering/classInfo.d.ts +4 -1
- package/dist-browser/numbl-core/lowering/loweringContext.d.ts +15 -23
- package/dist-browser/numbl-core/native/lapack-bridge.d.ts +137 -128
- package/dist-browser/numbl-core/native/ts-lapack-bridge.d.ts +4 -5
- package/dist-browser/numbl-core/native/ts-lapack-complex.d.ts +23 -0
- package/dist-browser/numbl-core/native/ts-lapack-eig-hermitian.d.ts +33 -0
- package/dist-browser/numbl-core/native/ts-lapack-qr-lu.d.ts +37 -0
- package/dist-browser/numbl-core/native/wasm-lapack-bridge.d.ts +4 -5
- package/dist-browser/numbl-core/ops/dispatch.d.ts +4 -5
- package/dist-browser/numbl-core/parser/types.d.ts +1 -21
- package/{dist-lib/numbl-core/runtime → dist-browser/numbl-core/plotting}/axisCommand.d.ts +2 -2
- package/dist-browser/{graphics → numbl-core/plotting}/axisLimits.d.ts +14 -2
- package/dist-browser/numbl-core/plotting/builtins.d.ts +8 -0
- package/dist-browser/numbl-core/plotting/colormaps.d.ts +10 -0
- package/dist-browser/numbl-core/{runtime/plotBuiltinDispatch.d.ts → plotting/dispatch.d.ts} +14 -25
- package/dist-browser/numbl-core/plotting/imagescExtent.d.ts +19 -0
- package/dist-browser/numbl-core/{runtime/runtimePlot.d.ts → plotting/instructions.d.ts} +5 -17
- package/dist-browser/numbl-core/plotting/parseArgsChart.d.ts +94 -0
- package/dist-browser/numbl-core/plotting/parseArgsCommon.d.ts +64 -0
- package/dist-browser/numbl-core/plotting/parseArgsLine.d.ts +103 -0
- package/dist-browser/numbl-core/plotting/parseArgsPatch.d.ts +38 -0
- package/dist-browser/numbl-core/plotting/parseArgsQuiver.d.ts +32 -0
- package/dist-browser/numbl-core/plotting/parseArgsSurface.d.ts +75 -0
- package/dist-browser/numbl-core/plotting/streamline.d.ts +16 -0
- package/{dist-graphics/graphics → dist-browser/numbl-core/plotting}/types.d.ts +9 -7
- package/dist-browser/numbl-core/runtime/cow.d.ts +0 -8
- package/dist-browser/numbl-core/runtime/refcount.d.ts +0 -3
- package/dist-browser/numbl-core/runtime/registerSpecial.d.ts +15 -0
- package/dist-browser/numbl-core/runtime/runtime.d.ts +11 -35
- package/dist-browser/numbl-core/runtime/runtimeDispatch.d.ts +6 -0
- package/dist-browser/numbl-core/runtime/specialBuiltins.d.ts +3 -9
- package/dist-browser/numbl-core/runtime/types.d.ts +12 -0
- package/dist-browser/numbl-core/runtime/uihtmlSession.d.ts +5 -13
- package/dist-browser/numbl-core/runtime/utils.d.ts +4 -1
- package/dist-browser/numbl-core/version.d.ts +1 -1
- package/dist-browser/numbl-core/workspace/workspace.d.ts +64 -0
- package/dist-browser/ts-lapack/src/BLAS/dsymv.d.ts +1 -0
- package/dist-browser/ts-lapack/src/BLAS/dsyr2.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dlae2.d.ts +4 -0
- package/dist-browser/ts-lapack/src/SRC/dlaev2.d.ts +6 -0
- package/dist-browser/ts-lapack/src/SRC/dlanst.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dlansy.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dlasrt.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dorgtr.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dsteqr.d.ts +4 -0
- package/dist-browser/ts-lapack/src/SRC/dsyev.d.ts +1 -0
- package/dist-browser/ts-lapack/src/SRC/dsytd2.d.ts +1 -0
- package/dist-browser/vfs/syncVfsChanges.d.ts +2 -2
- package/dist-cli/cli.js +74241 -77271
- package/dist-graphics/graphics/FigureView.d.ts +1 -1
- package/dist-graphics/graphics/SurfView.d.ts +3 -2
- package/dist-graphics/graphics/drawPlot.d.ts +1 -1
- package/dist-graphics/graphics/exportFigureHdf5.d.ts +1 -1
- package/dist-graphics/graphics/figureHashTransport.d.ts +1 -1
- package/dist-graphics/graphics/figureUpload.d.ts +1 -1
- package/dist-graphics/graphics/importFigureHdf5.d.ts +1 -1
- package/dist-graphics/graphics/openInFigureViewer.d.ts +1 -1
- package/dist-graphics/graphics/plotHelpers.d.ts +1 -1
- package/dist-graphics/graphics/plotLegend.d.ts +1 -1
- package/dist-graphics/graphics/plotMarkers.d.ts +1 -1
- package/dist-graphics/graphics/restoreNaNs.d.ts +1 -1
- package/dist-graphics/graphics/uihtmlRelay.d.ts +16 -0
- package/dist-graphics/graphics-lib.d.ts +3 -3
- package/dist-graphics/index.js +294 -328
- package/{dist-lib/graphics → dist-graphics/numbl-core/plotting}/axisLimits.d.ts +14 -2
- package/dist-graphics/numbl-core/plotting/colormaps.d.ts +10 -0
- package/dist-graphics/numbl-core/plotting/imagescExtent.d.ts +19 -0
- package/{dist-browser/graphics → dist-graphics/numbl-core/plotting}/types.d.ts +9 -7
- package/dist-lib/browser/mip.d.ts +17 -0
- package/dist-lib/cli-scan.d.ts +8 -1
- package/dist-lib/lib.d.ts +1 -1
- package/dist-lib/lib.js +37081 -39889
- package/dist-lib/node.js +22 -14
- package/dist-lib/numbl-core/execSession.d.ts +39 -0
- package/dist-lib/numbl-core/executeCode.d.ts +10 -1
- package/dist-lib/numbl-core/executors/classification.d.ts +2 -10
- package/dist-lib/numbl-core/executors/jit/backend.d.ts +65 -0
- package/dist-lib/numbl-core/executors/jit/cBackend.d.ts +22 -0
- package/dist-lib/numbl-core/executors/jit/callExecutor.d.ts +13 -44
- package/dist-lib/numbl-core/executors/jit/hostHelpers.d.ts +24 -0
- package/dist-lib/numbl-core/executors/jit/jsBackend.d.ts +15 -0
- package/dist-lib/numbl-core/executors/jit/loopExecutor.d.ts +13 -40
- package/dist-lib/numbl-core/executors/jit/session.d.ts +1 -1
- package/dist-lib/numbl-core/executors/jit/topLevelExecutor.d.ts +13 -33
- package/dist-lib/numbl-core/executors/jit/valueAdapterC.d.ts +32 -48
- package/dist-lib/numbl-core/executors/lowering.d.ts +38 -96
- package/dist-lib/numbl-core/executors/plugins.d.ts +14 -28
- package/dist-lib/numbl-core/executors/registry.d.ts +32 -133
- package/dist-lib/numbl-core/executors/types.d.ts +30 -92
- package/dist-lib/numbl-core/functionResolve.d.ts +3 -13
- package/dist-lib/numbl-core/helpers/check-helpers.d.ts +0 -5
- package/dist-lib/numbl-core/helpers/glob.d.ts +14 -0
- package/dist-lib/numbl-core/helpers/linsolve.d.ts +3 -13
- package/dist-lib/numbl-core/helpers/reduction-helpers.d.ts +2 -4
- package/dist-lib/numbl-core/helpers/shape-utils.d.ts +10 -0
- package/dist-lib/numbl-core/helpers/sparse-direct.d.ts +107 -0
- package/dist-lib/numbl-core/helpers/warn.d.ts +9 -0
- package/dist-lib/numbl-core/interpreter/builtins/index.d.ts +4 -1
- package/dist-lib/numbl-core/interpreter/builtins/sparse-solvers.d.ts +16 -0
- package/dist-lib/numbl-core/interpreter/builtins/time-system.d.ts +0 -1
- package/dist-lib/numbl-core/interpreter/builtins/types.d.ts +7 -7
- package/dist-lib/numbl-core/interpreter/interpreter.d.ts +6 -6
- package/dist-lib/numbl-core/interpreter/interpreterFunctions.d.ts +9 -1
- package/dist-lib/numbl-core/interpreter/interpreterSpecialBuiltins.d.ts +6 -3
- package/dist-lib/numbl-core/jit/builtins/defs/_shared.d.ts +1 -5
- package/dist-lib/numbl-core/jit/builtins/defs/arithmetic/_elemwise.d.ts +1 -2
- package/dist-lib/numbl-core/jit/builtins/defs/logical/_unary_pred.d.ts +3 -3
- package/dist-lib/numbl-core/jit/builtins/defs/logical/fieldnames.d.ts +1 -1
- package/dist-lib/numbl-core/jit/builtins/defs/logical/strcmp.d.ts +1 -1
- package/dist-lib/numbl-core/jit/builtins/defs/math/_unary_real.d.ts +5 -2
- package/dist-lib/numbl-core/jit/builtins/defs/math/realsqrt.d.ts +6 -0
- package/dist-lib/numbl-core/jit/builtins/defs/reduction/_shape.d.ts +0 -5
- package/dist-lib/numbl-core/jit/builtins/defs/shape/_construct.d.ts +0 -4
- package/dist-lib/numbl-core/jit/builtins/defs/shape/_triangular.d.ts +2 -8
- package/dist-lib/numbl-core/jit/builtins/defs/system/deal.d.ts +4 -5
- package/dist-lib/numbl-core/jit/builtins/defs/system/feval.d.ts +7 -29
- package/dist-lib/numbl-core/jit/builtins/registry.d.ts +15 -30
- package/dist-lib/numbl-core/jit/builtins/runtime/system/cdiv.d.ts +4 -0
- package/dist-lib/numbl-core/jit/builtins/runtime/system/cscalar.d.ts +4 -0
- package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_elemwise_real_fn.d.ts +45 -15
- package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_reduce_real.d.ts +5 -5
- package/dist-lib/numbl-core/jit/builtins/runtime/tensor_ops/tensor_unary_real_math.d.ts +6 -0
- package/dist-lib/numbl-core/jit/codegen/emit.d.ts +9 -30
- package/dist-lib/numbl-core/jit/codegen/emitJs.d.ts +9 -27
- package/dist-lib/numbl-core/jit/codegen/emitStmt.d.ts +8 -31
- package/dist-lib/numbl-core/jit/codegen/emitTensorFused.d.ts +10 -9
- package/dist-lib/numbl-core/jit/codegen/inlinePass.d.ts +39 -48
- package/dist-lib/numbl-core/jit/codegen/prettyIR.d.ts +1 -6
- package/dist-lib/numbl-core/jit/codegen/runtime.d.ts +7 -28
- package/dist-lib/numbl-core/jit/compileSpec.d.ts +3 -6
- package/dist-lib/numbl-core/jit/compileSpecC.d.ts +5 -0
- package/dist-lib/numbl-core/jit/lowering/assignedFlags.d.ts +24 -0
- package/dist-lib/numbl-core/jit/lowering/definiteAssign.d.ts +3 -1
- package/dist-lib/numbl-core/jit/lowering/errors.d.ts +3 -15
- package/dist-lib/numbl-core/jit/lowering/ir.d.ts +0 -2
- package/dist-lib/numbl-core/jit/lowering/lower.d.ts +4 -12
- package/dist-lib/numbl-core/jit/lowering/types.d.ts +2 -7
- package/dist-lib/numbl-core/jit/numbl/index.d.ts +5 -14
- package/dist-lib/numbl-core/jit/parser/index.d.ts +4 -9
- package/dist-lib/numbl-core/jit/workspace/workspace.d.ts +32 -136
- package/dist-lib/numbl-core/jitDeclineDiagnostics.d.ts +1 -1
- package/dist-lib/numbl-core/jsUserFunctions.d.ts +10 -12
- package/dist-lib/numbl-core/lowering/classInfo.d.ts +4 -1
- package/dist-lib/numbl-core/lowering/loweringContext.d.ts +15 -23
- package/dist-lib/numbl-core/native/lapack-bridge.d.ts +137 -128
- package/dist-lib/numbl-core/native/ts-lapack-bridge.d.ts +4 -5
- package/dist-lib/numbl-core/native/ts-lapack-complex.d.ts +23 -0
- package/dist-lib/numbl-core/native/ts-lapack-eig-hermitian.d.ts +33 -0
- package/dist-lib/numbl-core/native/ts-lapack-qr-lu.d.ts +37 -0
- package/dist-lib/numbl-core/native/wasm-lapack-bridge.d.ts +4 -5
- package/dist-lib/numbl-core/ops/dispatch.d.ts +4 -5
- package/dist-lib/numbl-core/parser/types.d.ts +1 -21
- package/{dist-browser/numbl-core/runtime → dist-lib/numbl-core/plotting}/axisCommand.d.ts +2 -2
- package/{dist-graphics/graphics → dist-lib/numbl-core/plotting}/axisLimits.d.ts +14 -2
- package/dist-lib/numbl-core/plotting/builtins.d.ts +8 -0
- package/dist-lib/numbl-core/plotting/colormaps.d.ts +10 -0
- package/dist-lib/numbl-core/{runtime/plotBuiltinDispatch.d.ts → plotting/dispatch.d.ts} +14 -25
- package/dist-lib/numbl-core/plotting/imagescExtent.d.ts +19 -0
- package/dist-lib/numbl-core/{runtime/runtimePlot.d.ts → plotting/instructions.d.ts} +5 -17
- package/dist-lib/numbl-core/plotting/parseArgsChart.d.ts +94 -0
- package/dist-lib/numbl-core/plotting/parseArgsCommon.d.ts +64 -0
- package/dist-lib/numbl-core/plotting/parseArgsLine.d.ts +103 -0
- package/dist-lib/numbl-core/plotting/parseArgsPatch.d.ts +38 -0
- package/dist-lib/numbl-core/plotting/parseArgsQuiver.d.ts +32 -0
- package/dist-lib/numbl-core/plotting/parseArgsSurface.d.ts +75 -0
- package/dist-lib/numbl-core/plotting/streamline.d.ts +16 -0
- package/dist-lib/{graphics → numbl-core/plotting}/types.d.ts +9 -7
- package/dist-lib/numbl-core/runtime/cow.d.ts +0 -8
- package/dist-lib/numbl-core/runtime/refcount.d.ts +0 -3
- package/dist-lib/numbl-core/runtime/registerSpecial.d.ts +15 -0
- package/dist-lib/numbl-core/runtime/runtime.d.ts +11 -35
- package/dist-lib/numbl-core/runtime/runtimeDispatch.d.ts +6 -0
- package/dist-lib/numbl-core/runtime/specialBuiltins.d.ts +3 -9
- package/dist-lib/numbl-core/runtime/types.d.ts +12 -0
- package/dist-lib/numbl-core/runtime/uihtmlSession.d.ts +5 -13
- package/dist-lib/numbl-core/runtime/utils.d.ts +4 -1
- package/dist-lib/numbl-core/version.d.ts +1 -1
- package/dist-lib/numbl-core/workspace/workspace.d.ts +64 -0
- package/dist-lib/ts-lapack/src/BLAS/dsymv.d.ts +1 -0
- package/dist-lib/ts-lapack/src/BLAS/dsyr2.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dlae2.d.ts +4 -0
- package/dist-lib/ts-lapack/src/SRC/dlaev2.d.ts +6 -0
- package/dist-lib/ts-lapack/src/SRC/dlanst.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dlansy.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dlasrt.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dorgtr.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dsteqr.d.ts +4 -0
- package/dist-lib/ts-lapack/src/SRC/dsyev.d.ts +1 -0
- package/dist-lib/ts-lapack/src/SRC/dsytd2.d.ts +1 -0
- package/dist-lib/vfs/unzipToFiles.d.ts +7 -0
- package/dist-plot-viewer/assets/index-C0fIevlp.js +4504 -0
- package/dist-plot-viewer/index.html +1 -1
- package/dist-site-viewer/assets/index-BDaviCH6.js +4832 -0
- package/dist-site-viewer/assets/numbl-worker-D6m4K2PP.js +5691 -0
- package/dist-site-viewer/index.html +2 -2
- package/native/lapack_eig.cpp +156 -0
- package/native/numbl_addon.cpp +8 -12
- package/native/numbl_addon_common.h +14 -5
- package/package.json +6 -5
- package/dist-browser/hooks/useProjectFiles.d.ts +0 -45
- package/dist-browser/numbl-core/executors/context.d.ts +0 -76
- package/dist-browser/numbl-core/executors/index.d.ts +0 -14
- package/dist-browser/numbl-core/executors/jit/cJitCallExecutor.d.ts +0 -35
- package/dist-browser/numbl-core/executors/jit/cJitLoopExecutor.d.ts +0 -31
- package/dist-browser/numbl-core/executors/jit/cJitTopLevelExecutor.d.ts +0 -29
- package/dist-browser/numbl-core/helpers/dummy.d.ts +0 -5
- package/dist-browser/numbl-core/jit/runtime/context.d.ts +0 -23
- package/dist-browser/numbl-core/jit/runtime/inferType.d.ts +0 -10
- package/dist-browser/numbl-core/jit/runtime/value.d.ts +0 -101
- package/dist-browser/numbl-core/jit/workspace/driverPrologue.d.ts +0 -59
- package/dist-browser/numbl-core/jit/workspace/mtoc2UserFunctionLoader.d.ts +0 -62
- package/dist-browser/numbl-core/native/bridge-resolve.d.ts +0 -14
- package/dist-browser/numbl-core/runtime/plotUtils.d.ts +0 -336
- package/dist-browser/numbl-core/runtime/specialBuiltinNames.d.ts +0 -2
- package/dist-graphics/graphics/surfColormap.d.ts +0 -2
- package/dist-lib/numbl-core/executors/context.d.ts +0 -76
- package/dist-lib/numbl-core/executors/index.d.ts +0 -14
- package/dist-lib/numbl-core/executors/jit/cJitCallExecutor.d.ts +0 -35
- package/dist-lib/numbl-core/executors/jit/cJitLoopExecutor.d.ts +0 -31
- package/dist-lib/numbl-core/executors/jit/cJitTopLevelExecutor.d.ts +0 -29
- package/dist-lib/numbl-core/helpers/dummy.d.ts +0 -5
- package/dist-lib/numbl-core/jit/runtime/context.d.ts +0 -23
- package/dist-lib/numbl-core/jit/runtime/inferType.d.ts +0 -10
- package/dist-lib/numbl-core/jit/runtime/value.d.ts +0 -101
- package/dist-lib/numbl-core/jit/workspace/driverPrologue.d.ts +0 -59
- package/dist-lib/numbl-core/jit/workspace/mtoc2UserFunctionLoader.d.ts +0 -62
- package/dist-lib/numbl-core/native/bridge-resolve.d.ts +0 -14
- package/dist-lib/numbl-core/runtime/plotUtils.d.ts +0 -336
- package/dist-lib/numbl-core/runtime/specialBuiltinNames.d.ts +0 -2
- package/dist-plot-viewer/assets/index-YeXWXIxH.js +0 -4504
- package/dist-site-viewer/assets/index-B5Y5557F.js +0 -4831
- package/dist-site-viewer/assets/numbl-worker-CtoT7C0f.js +0 -5355
- package/native/elemwise.cpp +0 -360
- package/native/unary_elemwise.cpp +0 -67
- /package/dist-browser/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
- /package/dist-graphics/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
- /package/dist-lib/{graphics → numbl-core/plotting}/figuresReducer.d.ts +0 -0
|
@@ -22,13 +22,7 @@ interface WorkspaceRegistry {
|
|
|
22
22
|
jsUserFunctionsByName: Map<string, {
|
|
23
23
|
fileName: string;
|
|
24
24
|
builtin: IBuiltin;
|
|
25
|
-
|
|
26
|
-
/** mtoc2-only user functions (.mtoc2.js): functionName → { fileName, source }.
|
|
27
|
-
* Numbl never executes these — the source text is stored for mtoc2's loader
|
|
28
|
-
* to consume. Numbl's interpreter rejects calls to them with a clear error. */
|
|
29
|
-
mtoc2UserFunctionsByName: Map<string, {
|
|
30
|
-
fileName: string;
|
|
31
|
-
source: string;
|
|
25
|
+
help?: string;
|
|
32
26
|
}>;
|
|
33
27
|
/** Per-workspace-file lowering contexts (created on demand) */
|
|
34
28
|
fileContexts: Map<string, LoweringContext>;
|
|
@@ -75,10 +69,6 @@ export interface FunctionIndex {
|
|
|
75
69
|
workspaceFunctions: Set<string>;
|
|
76
70
|
/** JS user functions (resolved at workspace-function priority, not builtin) */
|
|
77
71
|
jsUserFunctions: Set<string>;
|
|
78
|
-
/** mtoc2-only user functions (.mtoc2.js). Resolved at workspace-function
|
|
79
|
-
* priority, like jsUserFunctions. Numbl's interpreter rejects calls to
|
|
80
|
-
* these; mtoc2 routes them through its own loader. */
|
|
81
|
-
mtoc2UserFunctions: Set<string>;
|
|
82
72
|
/** Workspace classes (classdef files) */
|
|
83
73
|
workspaceClasses: Set<string>;
|
|
84
74
|
/** Local subfunctions per workspace file: primaryFuncName → Set<subfuncName> */
|
|
@@ -152,10 +142,7 @@ export declare class LoweringContext {
|
|
|
152
142
|
* Also handles @ClassName class folders.
|
|
153
143
|
*
|
|
154
144
|
* `.m` files register as workspace functions / classes / private functions
|
|
155
|
-
* (the regular MATLAB-style discovery).
|
|
156
|
-
* mtoc2-only user functions: numbl tracks the name so resolution sees
|
|
157
|
-
* them, but the body stays unparsed — mtoc2's loader evaluates them.
|
|
158
|
-
* `.mtoc2.js` files in `@ClassName/` are not yet supported.
|
|
145
|
+
* (the regular MATLAB-style discovery).
|
|
159
146
|
*/
|
|
160
147
|
registerWorkspaceFiles(files: WorkspaceFile[]): void;
|
|
161
148
|
isWorkspaceFunction(name: string): boolean;
|
|
@@ -165,14 +152,7 @@ export declare class LoweringContext {
|
|
|
165
152
|
* Register a JS user function (.numbl.js) in the workspace registry.
|
|
166
153
|
* Uses first-wins semantics so search-path priority is honored.
|
|
167
154
|
*/
|
|
168
|
-
registerJsUserFunction(funcName: string, fileName: string, builtin: IBuiltin): void;
|
|
169
|
-
/**
|
|
170
|
-
* Register an mtoc2-only user function (.mtoc2.js) in the workspace
|
|
171
|
-
* registry. Numbl stores the source text verbatim; mtoc2's loader
|
|
172
|
-
* evaluates it. Uses first-wins semantics so search-path priority is
|
|
173
|
-
* honored — same as `.numbl.js`.
|
|
174
|
-
*/
|
|
175
|
-
registerMtoc2UserFunction(funcName: string, fileName: string, source: string): void;
|
|
155
|
+
registerJsUserFunction(funcName: string, fileName: string, builtin: IBuiltin, help?: string): void;
|
|
176
156
|
/**
|
|
177
157
|
* Get the effective directory for this context's file, used for
|
|
178
158
|
* private function resolution. If the file is inside a private/ folder,
|
|
@@ -209,6 +189,18 @@ export declare class LoweringContext {
|
|
|
209
189
|
isLocalClass(name: string): boolean;
|
|
210
190
|
isClass(name: string): boolean;
|
|
211
191
|
getClassInfo(name: string): ClassInfo | null;
|
|
192
|
+
/** Ancestors of a class in method-resolution order: depth-first, left to
|
|
193
|
+
* right through each `<` list, each name once. Built-in bases such as
|
|
194
|
+
* `handle` are included even though they have no ClassInfo; a built-in
|
|
195
|
+
* handle mixin (e.g. `matlab.mixin.Copyable`) is followed by `handle`. */
|
|
196
|
+
superclassNames(info: ClassInfo): string[];
|
|
197
|
+
/** `superclassNames` by class name; empty for an unknown class. */
|
|
198
|
+
classAncestors(className: string): string[];
|
|
199
|
+
/** A class followed by its ancestors that have class definitions, in
|
|
200
|
+
* method-resolution order. */
|
|
201
|
+
classLineage(info: ClassInfo): ClassInfo[];
|
|
202
|
+
/** True if the class derives from a handle base class. */
|
|
203
|
+
isHandleClass(info: ClassInfo): boolean;
|
|
212
204
|
/** Check if a class (or any ancestor) has a given method. */
|
|
213
205
|
classHasMethod(className: string, methodName: string): boolean;
|
|
214
206
|
/** Check if a class (or any ancestor) has a given static method. */
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* LAPACK bridge
|
|
3
|
-
* native addon
|
|
2
|
+
* LAPACK bridge: one interface for the dense linear algebra and tensor-op
|
|
3
|
+
* kernels, satisfied both by the native addon and by the pure-TypeScript
|
|
4
|
+
* implementation (ts-lapack-bridge.ts).
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Usage (builtin):
|
|
13
|
-
* import { getLapackBridge } from '../native/lapack-bridge.js';
|
|
14
|
-
* const bridge = getLapackBridge();
|
|
15
|
-
* if (bridge) { ... use bridge.inv(...) ... }
|
|
6
|
+
* `getLapackBridge()` always returns a complete bridge: each entry comes from
|
|
7
|
+
* the bridge installed with `setLapackBridge` (the native addon under Node,
|
|
8
|
+
* optionally a wasm accelerator in the browser) when it provides it, and from
|
|
9
|
+
* the TypeScript implementation otherwise. Call sites therefore use
|
|
10
|
+
* `getLapackBridge().X(...)` with no availability checks. Operations the
|
|
11
|
+
* TypeScript side cannot do are listed in `TS_UNSUPPORTED` in
|
|
12
|
+
* ts-lapack-bridge.ts and throw a clear error there.
|
|
16
13
|
*/
|
|
17
14
|
/**
|
|
18
15
|
* Expected native addon version. Bump this whenever the C++ addon API changes
|
|
19
16
|
* (must match ADDON_VERSION in numbl_addon.cpp).
|
|
20
17
|
*/
|
|
21
|
-
export declare const NATIVE_ADDON_EXPECTED_VERSION =
|
|
18
|
+
export declare const NATIVE_ADDON_EXPECTED_VERSION = 10;
|
|
22
19
|
export interface LapackBridge {
|
|
23
|
-
/** Returns the native addon's version number. */
|
|
24
|
-
addonVersion?(): number;
|
|
25
20
|
/**
|
|
26
21
|
* Invert an n×n real matrix stored in column-major order (MATLAB/LAPACK convention).
|
|
27
22
|
* @param data Column-major Float64Array of length n*n (not modified).
|
|
@@ -29,7 +24,7 @@ export interface LapackBridge {
|
|
|
29
24
|
* @returns Inverted matrix as a allocFloat64Array in column-major order.
|
|
30
25
|
* @throws Error if the matrix is singular.
|
|
31
26
|
*/
|
|
32
|
-
inv
|
|
27
|
+
inv(data: Float64Array, n: number): Float64Array;
|
|
33
28
|
/**
|
|
34
29
|
* Invert an n×n complex matrix stored in column-major order (MATLAB/LAPACK convention).
|
|
35
30
|
* Complex matrices are stored with separate real and imaginary parts.
|
|
@@ -39,7 +34,7 @@ export interface LapackBridge {
|
|
|
39
34
|
* @returns Object with {re, im} - inverted matrix parts as Float64Arrays in column-major order.
|
|
40
35
|
* @throws Error if the matrix is singular.
|
|
41
36
|
*/
|
|
42
|
-
invComplex
|
|
37
|
+
invComplex(dataRe: Float64Array, dataIm: Float64Array, n: number): {
|
|
43
38
|
re: Float64Array;
|
|
44
39
|
im: Float64Array;
|
|
45
40
|
};
|
|
@@ -53,7 +48,7 @@ export interface LapackBridge {
|
|
|
53
48
|
* @param wantQ false → skip dorgqr; Q will be absent from the returned object.
|
|
54
49
|
* @returns Object with R (always present) and Q (present only when wantQ=true).
|
|
55
50
|
*/
|
|
56
|
-
qr
|
|
51
|
+
qr(data: Float64Array, m: number, n: number, econ: boolean, wantQ: boolean): {
|
|
57
52
|
Q: Float64Array;
|
|
58
53
|
R: Float64Array;
|
|
59
54
|
};
|
|
@@ -65,7 +60,7 @@ export interface LapackBridge {
|
|
|
65
60
|
* @param econ true → economy/thin QR; false → full QR.
|
|
66
61
|
* @returns Object with Q, R, and jpvt (1-based permutation vector as Int32Array).
|
|
67
62
|
*/
|
|
68
|
-
qrPivot
|
|
63
|
+
qrPivot(data: Float64Array, m: number, n: number, econ: boolean): {
|
|
69
64
|
Q: Float64Array;
|
|
70
65
|
R: Float64Array;
|
|
71
66
|
jpvt: Int32Array;
|
|
@@ -73,7 +68,7 @@ export interface LapackBridge {
|
|
|
73
68
|
/**
|
|
74
69
|
* Column-pivoted QR decomposition of an m×n complex matrix: A*P = Q*R via zgeqp3 + zungqr.
|
|
75
70
|
*/
|
|
76
|
-
qrPivotComplex
|
|
71
|
+
qrPivotComplex(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number, econ: boolean): {
|
|
77
72
|
QRe: Float64Array;
|
|
78
73
|
QIm: Float64Array;
|
|
79
74
|
RRe: Float64Array;
|
|
@@ -91,7 +86,7 @@ export interface LapackBridge {
|
|
|
91
86
|
* @param wantQ false → skip zungqr; Q properties will be absent from the returned object.
|
|
92
87
|
* @returns Object with RRe, RIm (always present) and QRe, QIm (present only when wantQ=true).
|
|
93
88
|
*/
|
|
94
|
-
qrComplex
|
|
89
|
+
qrComplex(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number, econ: boolean, wantQ: boolean): {
|
|
95
90
|
QRe?: Float64Array;
|
|
96
91
|
QIm?: Float64Array;
|
|
97
92
|
RRe: Float64Array;
|
|
@@ -107,7 +102,7 @@ export interface LapackBridge {
|
|
|
107
102
|
* @param computeUV true → compute U and V; false → compute S only.
|
|
108
103
|
* @returns Object with S (always present as vector of singular values) and optionally U and V.
|
|
109
104
|
*/
|
|
110
|
-
svd
|
|
105
|
+
svd(data: Float64Array, m: number, n: number, econ: boolean, computeUV: boolean): {
|
|
111
106
|
U?: Float64Array;
|
|
112
107
|
S: Float64Array;
|
|
113
108
|
V?: Float64Array;
|
|
@@ -123,7 +118,7 @@ export interface LapackBridge {
|
|
|
123
118
|
* @param computeUV true → compute U and V; false → compute S only.
|
|
124
119
|
* @returns Object with S (real singular values) and optionally URe, UIm, VRe, VIm.
|
|
125
120
|
*/
|
|
126
|
-
svdComplex
|
|
121
|
+
svdComplex(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number, econ: boolean, computeUV: boolean): {
|
|
127
122
|
S: Float64Array;
|
|
128
123
|
URe?: Float64Array;
|
|
129
124
|
UIm?: Float64Array;
|
|
@@ -140,7 +135,7 @@ export interface LapackBridge {
|
|
|
140
135
|
* @param n Number of columns in B and C.
|
|
141
136
|
* @returns C = A*B as a allocFloat64Array of length m*n in column-major order.
|
|
142
137
|
*/
|
|
143
|
-
matmul
|
|
138
|
+
matmul(A: Float64Array, m: number, k: number, B: Float64Array, n: number): Float64Array;
|
|
144
139
|
/**
|
|
145
140
|
* Complex matrix-matrix multiplication using BLAS zgemm.
|
|
146
141
|
* Computes C = A * B in column-major order.
|
|
@@ -153,7 +148,7 @@ export interface LapackBridge {
|
|
|
153
148
|
* @param n Number of columns in B and C.
|
|
154
149
|
* @returns Object with {re, im?} — complex result as Float64Arrays.
|
|
155
150
|
*/
|
|
156
|
-
matmulComplex
|
|
151
|
+
matmulComplex(ARe: Float64Array, AIm: Float64Array, m: number, k: number, BRe: Float64Array, BIm: Float64Array, n: number): {
|
|
157
152
|
re: Float64Array;
|
|
158
153
|
im?: Float64Array;
|
|
159
154
|
};
|
|
@@ -170,7 +165,7 @@ export interface LapackBridge {
|
|
|
170
165
|
* @param nrhs Number of right-hand sides (columns of B and X).
|
|
171
166
|
* @returns X as a allocFloat64Array of length n*nrhs in column-major order.
|
|
172
167
|
*/
|
|
173
|
-
linsolve
|
|
168
|
+
linsolve(A: Float64Array, m: number, n: number, B: Float64Array, nrhs: number): Float64Array;
|
|
174
169
|
/**
|
|
175
170
|
* Solve a complex linear system A * X = B.
|
|
176
171
|
* Input/output are column-major Float64Arrays for real and imaginary parts.
|
|
@@ -187,7 +182,7 @@ export interface LapackBridge {
|
|
|
187
182
|
* @param nrhs Number of right-hand sides (columns of B and X).
|
|
188
183
|
* @returns Object with {re, im} — X as Float64Arrays of length n*nrhs in column-major order.
|
|
189
184
|
*/
|
|
190
|
-
linsolveComplex
|
|
185
|
+
linsolveComplex(ARe: Float64Array, AIm: Float64Array, m: number, n: number, BRe: Float64Array, BIm: Float64Array, nrhs: number): {
|
|
191
186
|
re: Float64Array;
|
|
192
187
|
im: Float64Array;
|
|
193
188
|
};
|
|
@@ -201,12 +196,40 @@ export interface LapackBridge {
|
|
|
201
196
|
* @param balance true → balance matrix before computing (default); false → no balancing.
|
|
202
197
|
* @returns Object with wr/wi (real/imag parts of eigenvalues) and optionally VL/VR.
|
|
203
198
|
*/
|
|
204
|
-
eig
|
|
199
|
+
eig(data: Float64Array, n: number, computeVL: boolean, computeVR: boolean, balance: boolean): {
|
|
205
200
|
wr: Float64Array;
|
|
206
201
|
wi: Float64Array;
|
|
207
202
|
VL?: Float64Array;
|
|
208
203
|
VR?: Float64Array;
|
|
209
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Eigenvalue decomposition of an n×n real *symmetric* matrix stored in
|
|
207
|
+
* column-major order. Uses LAPACK dsyev (only the lower triangle is read).
|
|
208
|
+
* Unlike `eig`, the eigenvalues are real and returned in ascending order and
|
|
209
|
+
* the eigenvectors are orthonormal, including across repeated eigenvalues.
|
|
210
|
+
* @param data Column-major Float64Array of length n*n (not modified).
|
|
211
|
+
* @param n Matrix dimension.
|
|
212
|
+
* @param computeV true → also compute the orthonormal eigenvectors.
|
|
213
|
+
* @returns Object with w (ascending eigenvalues) and optionally V.
|
|
214
|
+
*/
|
|
215
|
+
eigSym(data: Float64Array, n: number, computeV: boolean): {
|
|
216
|
+
w: Float64Array;
|
|
217
|
+
V?: Float64Array;
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Eigenvalue decomposition of an n×n complex *Hermitian* matrix stored in
|
|
221
|
+
* column-major order. Uses LAPACK zheev (only the lower triangle is read).
|
|
222
|
+
* @param dataRe Real parts — column-major Float64Array of length n*n.
|
|
223
|
+
* @param dataIm Imaginary parts — column-major Float64Array of length n*n.
|
|
224
|
+
* @param n Matrix dimension.
|
|
225
|
+
* @param computeV true → also compute the unitary eigenvector basis.
|
|
226
|
+
* @returns Object with w (real, ascending) and optionally VRe/VIm.
|
|
227
|
+
*/
|
|
228
|
+
eigHerm(dataRe: Float64Array, dataIm: Float64Array, n: number, computeV: boolean): {
|
|
229
|
+
w: Float64Array;
|
|
230
|
+
VRe?: Float64Array;
|
|
231
|
+
VIm?: Float64Array;
|
|
232
|
+
};
|
|
210
233
|
/**
|
|
211
234
|
* Eigenvalue decomposition of an n×n complex matrix stored in column-major order.
|
|
212
235
|
* Uses LAPACK zgeev.
|
|
@@ -217,7 +240,7 @@ export interface LapackBridge {
|
|
|
217
240
|
* @param computeVR true → compute right eigenvectors.
|
|
218
241
|
* @returns Object with wRe/wIm (real/imag parts of eigenvalues) and optionally VLRe/VLIm/VRRe/VRIm.
|
|
219
242
|
*/
|
|
220
|
-
eigComplex
|
|
243
|
+
eigComplex(dataRe: Float64Array, dataIm: Float64Array, n: number, computeVL: boolean, computeVR: boolean): {
|
|
221
244
|
wRe: Float64Array;
|
|
222
245
|
wIm: Float64Array;
|
|
223
246
|
VLRe?: Float64Array;
|
|
@@ -234,7 +257,7 @@ export interface LapackBridge {
|
|
|
234
257
|
* - LU: m×n Float64Array with L (unit lower) and U (upper) packed together.
|
|
235
258
|
* - ipiv: Int32Array of length min(m,n), 1-based pivot indices from dgetrf.
|
|
236
259
|
*/
|
|
237
|
-
lu
|
|
260
|
+
lu(data: Float64Array, m: number, n: number): {
|
|
238
261
|
LU: Float64Array;
|
|
239
262
|
ipiv: Int32Array;
|
|
240
263
|
};
|
|
@@ -248,7 +271,7 @@ export interface LapackBridge {
|
|
|
248
271
|
* - LURe, LUIm: m×n Float64Arrays with L (unit lower) and U (upper) packed together.
|
|
249
272
|
* - ipiv: Int32Array of length min(m,n), 1-based pivot indices from zgetrf.
|
|
250
273
|
*/
|
|
251
|
-
luComplex
|
|
274
|
+
luComplex(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number): {
|
|
252
275
|
LURe: Float64Array;
|
|
253
276
|
LUIm: Float64Array;
|
|
254
277
|
ipiv: Int32Array;
|
|
@@ -264,7 +287,7 @@ export interface LapackBridge {
|
|
|
264
287
|
* - R: n×n Float64Array with the triangular factor (opposite triangle zeroed).
|
|
265
288
|
* - info: 0 if successful, >0 if not positive definite (index of failing pivot).
|
|
266
289
|
*/
|
|
267
|
-
chol
|
|
290
|
+
chol(data: Float64Array, n: number, upper: boolean): {
|
|
268
291
|
R: Float64Array;
|
|
269
292
|
info: number;
|
|
270
293
|
};
|
|
@@ -280,7 +303,7 @@ export interface LapackBridge {
|
|
|
280
303
|
* - RRe, RIm: n×n Float64Arrays with the triangular factor.
|
|
281
304
|
* - info: 0 if successful, >0 if not positive definite.
|
|
282
305
|
*/
|
|
283
|
-
cholComplex
|
|
306
|
+
cholComplex(dataRe: Float64Array, dataIm: Float64Array, n: number, upper: boolean): {
|
|
284
307
|
RRe: Float64Array;
|
|
285
308
|
RIm: Float64Array;
|
|
286
309
|
info: number;
|
|
@@ -301,7 +324,7 @@ export interface LapackBridge {
|
|
|
301
324
|
* - V?: n×n Float64Array, right generalized eigenvectors (packed, like dgeev format).
|
|
302
325
|
* - W?: n×n Float64Array, left generalized eigenvectors (packed, like dgeev format).
|
|
303
326
|
*/
|
|
304
|
-
qz
|
|
327
|
+
qz(dataA: Float64Array, dataB: Float64Array, n: number, computeEigvecs: boolean): {
|
|
305
328
|
AA: Float64Array;
|
|
306
329
|
BB: Float64Array;
|
|
307
330
|
Q: Float64Array;
|
|
@@ -316,48 +339,7 @@ export interface LapackBridge {
|
|
|
316
339
|
* Complex QZ factorization (generalized Schur decomposition) of an n×n complex matrix pair.
|
|
317
340
|
* Uses LAPACK zgges (and ztgevc for eigenvectors).
|
|
318
341
|
*/
|
|
319
|
-
|
|
320
|
-
* Forward/inverse 1D FFT on real input via FFTW.
|
|
321
|
-
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
322
|
-
* @param re Real input data as Float64Array of length n.
|
|
323
|
-
* @param n Transform length.
|
|
324
|
-
* @param inverse true for inverse FFT, false for forward.
|
|
325
|
-
* @returns { re, im } Float64Arrays of length n.
|
|
326
|
-
*/
|
|
327
|
-
fft1d?(re: Float64Array, n: number, inverse: boolean): {
|
|
328
|
-
re: Float64Array;
|
|
329
|
-
im: Float64Array;
|
|
330
|
-
};
|
|
331
|
-
/**
|
|
332
|
-
* Forward/inverse 1D FFT on complex input via FFTW.
|
|
333
|
-
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
334
|
-
* @param re Real part of input as Float64Array of length n.
|
|
335
|
-
* @param im Imaginary part of input as Float64Array of length n.
|
|
336
|
-
* @param n Transform length.
|
|
337
|
-
* @param inverse true for inverse FFT, false for forward.
|
|
338
|
-
* @returns { re, im } Float64Arrays of length n.
|
|
339
|
-
*/
|
|
340
|
-
fft1dComplex?(re: Float64Array, im: Float64Array, n: number, inverse: boolean): {
|
|
341
|
-
re: Float64Array;
|
|
342
|
-
im: Float64Array;
|
|
343
|
-
};
|
|
344
|
-
/**
|
|
345
|
-
* Batch FFT along a single dimension of a column-major tensor via FFTW.
|
|
346
|
-
* Transforms ALL fibers in one FFTW call using the guru split interface.
|
|
347
|
-
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
348
|
-
* @param re Real part of input tensor (column-major flat array).
|
|
349
|
-
* @param im Imaginary part, or null for real input.
|
|
350
|
-
* @param shape Tensor dimensions as a JS array of numbers.
|
|
351
|
-
* @param dim 0-based dimension to transform along.
|
|
352
|
-
* @param n FFT length (may differ from shape[dim] for pad/truncate).
|
|
353
|
-
* @param inverse true for inverse FFT, false for forward.
|
|
354
|
-
* @returns { re, im } Float64Arrays for the output tensor.
|
|
355
|
-
*/
|
|
356
|
-
fftAlongDim?(re: Float64Array, im: Float64Array | null, shape: number[], dim: number, n: number, inverse: boolean): {
|
|
357
|
-
re: Float64Array;
|
|
358
|
-
im: Float64Array;
|
|
359
|
-
};
|
|
360
|
-
qzComplex?(dataARe: Float64Array, dataAIm: Float64Array, dataBRe: Float64Array, dataBIm: Float64Array, n: number, computeEigvecs: boolean): {
|
|
342
|
+
qzComplex(dataARe: Float64Array, dataAIm: Float64Array, dataBRe: Float64Array, dataBIm: Float64Array, n: number, computeEigvecs: boolean): {
|
|
361
343
|
AARe: Float64Array;
|
|
362
344
|
AAIm: Float64Array;
|
|
363
345
|
BBRe: Float64Array;
|
|
@@ -375,26 +357,6 @@ export interface LapackBridge {
|
|
|
375
357
|
WRe?: Float64Array;
|
|
376
358
|
WIm?: Float64Array;
|
|
377
359
|
};
|
|
378
|
-
/**
|
|
379
|
-
* Bulk fill normal random values using Marsaglia polar + xoshiro128**.
|
|
380
|
-
* State is mutated in-place. Spare is passed in/out to preserve pair caching.
|
|
381
|
-
*/
|
|
382
|
-
fillRandn?(state: Uint32Array, n: number, spare: number, hasSpare: boolean): {
|
|
383
|
-
data: Float64Array;
|
|
384
|
-
spare: number;
|
|
385
|
-
hasSpare: boolean;
|
|
386
|
-
};
|
|
387
|
-
/**
|
|
388
|
-
* Unary element-wise math on a real Float64Array.
|
|
389
|
-
* op: 0=exp, 1=log, 2=log2, 3=log10, 4=sqrt, 5=abs, 6=floor, 7=ceil,
|
|
390
|
-
* 8=round, 9=trunc, 10=sin, 11=cos, 12=tan, 13=asin, 14=acos, 15=atan,
|
|
391
|
-
* 16=sinh, 17=cosh, 18=tanh, 19=sign
|
|
392
|
-
*/
|
|
393
|
-
unaryElemwise?(arr: Float64Array, op: number): Float64Array;
|
|
394
|
-
/** Element-wise binary op on real Float64Arrays. op: 0=add, 1=sub, 2=mul, 3=div */
|
|
395
|
-
elemwise?(a: Float64Array, b: Float64Array, op: number): Float64Array;
|
|
396
|
-
/** Scalar-tensor element-wise op. scalarOnLeft: true → scalar op arr[i], false → arr[i] op scalar */
|
|
397
|
-
elemwiseScalar?(scalar: number, arr: Float64Array, op: number, scalarOnLeft: boolean): Float64Array;
|
|
398
360
|
/**
|
|
399
361
|
* Restarted GMRES solver for A*x = b (real, dense matrices only).
|
|
400
362
|
* Uses BLAS dgemv for matvec and LAPACK dgetrf+dgetrs for preconditioner.
|
|
@@ -409,7 +371,7 @@ export interface LapackBridge {
|
|
|
409
371
|
* @param x0 Initial guess (length n), or null for zeros.
|
|
410
372
|
* @returns Object with x, flag, relres, iter (Int32Array[2]), resvec.
|
|
411
373
|
*/
|
|
412
|
-
gmres
|
|
374
|
+
gmres(A: Float64Array, n: number, b: Float64Array, restart: number, tol: number, maxit: number, M1: Float64Array | null, M2: Float64Array | null, x0: Float64Array | null): {
|
|
413
375
|
x: Float64Array;
|
|
414
376
|
flag: number;
|
|
415
377
|
relres: number;
|
|
@@ -419,7 +381,7 @@ export interface LapackBridge {
|
|
|
419
381
|
/**
|
|
420
382
|
* Complex restarted GMRES solver for A*x = b (split real/imag dense matrices).
|
|
421
383
|
*/
|
|
422
|
-
gmresComplex
|
|
384
|
+
gmresComplex(ARe: Float64Array, AIm: Float64Array, n: number, bRe: Float64Array, bIm: Float64Array, restart: number, tol: number, maxit: number, M1Re: Float64Array | null, M1Im: Float64Array | null, M2Re: Float64Array | null, M2Im: Float64Array | null, x0Re: Float64Array | null, x0Im: Float64Array | null): {
|
|
423
385
|
xRe: Float64Array;
|
|
424
386
|
xIm: Float64Array;
|
|
425
387
|
flag: number;
|
|
@@ -427,56 +389,103 @@ export interface LapackBridge {
|
|
|
427
389
|
iter: Int32Array;
|
|
428
390
|
resvec: Float64Array;
|
|
429
391
|
};
|
|
430
|
-
/** Element-wise binary op on complex Float64Arrays. op: 0=add, 1=sub, 2=mul, 3=div */
|
|
431
|
-
elemwiseComplex?(aRe: Float64Array, aIm: Float64Array | null, bRe: Float64Array, bIm: Float64Array | null, op: number): {
|
|
432
|
-
re: Float64Array;
|
|
433
|
-
im?: Float64Array;
|
|
434
|
-
};
|
|
435
|
-
/** Complex-scalar * (real or complex) tensor element-wise op.
|
|
436
|
-
* op: 0=add, 1=sub, 2=mul, 3=div.
|
|
437
|
-
* Pass null for arrIm to treat the tensor as purely real. */
|
|
438
|
-
elemwiseComplexScalar?(scalarRe: number, scalarIm: number, arrRe: Float64Array, arrIm: Float64Array | null, op: number, scalarOnLeft: boolean): {
|
|
439
|
-
re: Float64Array;
|
|
440
|
-
im?: Float64Array;
|
|
441
|
-
};
|
|
442
392
|
/** Real binary elemwise: out[i] = a[i] OP b[i]. op codes per OpRealBin. */
|
|
443
|
-
tensorOpRealBinary
|
|
393
|
+
tensorOpRealBinary(op: number, n: number, a: Float64Array, b: Float64Array, out: Float64Array): void;
|
|
444
394
|
/** Real scalar-tensor binary elemwise. */
|
|
445
|
-
tensorOpRealScalarBinary
|
|
395
|
+
tensorOpRealScalarBinary(op: number, n: number, scalar: number, arr: Float64Array, scalarOnLeft: boolean, out: Float64Array): void;
|
|
446
396
|
/** Complex binary elemwise (split storage). aIm/bIm may be null. */
|
|
447
|
-
tensorOpComplexBinary
|
|
397
|
+
tensorOpComplexBinary(op: number, n: number, aRe: Float64Array, aIm: Float64Array | null, bRe: Float64Array, bIm: Float64Array | null, outRe: Float64Array, outIm: Float64Array): void;
|
|
448
398
|
/** Complex scalar-tensor binary elemwise. arrIm may be null. */
|
|
449
|
-
tensorOpComplexScalarBinary
|
|
399
|
+
tensorOpComplexScalarBinary(op: number, n: number, sRe: number, sIm: number, arrRe: Float64Array, arrIm: Float64Array | null, scalarOnLeft: boolean, outRe: Float64Array, outIm: Float64Array): void;
|
|
450
400
|
/** Real unary elemwise: out[i] = OP(a[i]). op codes per OpUnary. */
|
|
451
|
-
tensorOpRealUnary
|
|
401
|
+
tensorOpRealUnary(op: number, n: number, a: Float64Array, out: Float64Array): void;
|
|
452
402
|
/** Complex unary elemwise (split storage). aIm may be null. ABS unsupported. */
|
|
453
|
-
tensorOpComplexUnary
|
|
403
|
+
tensorOpComplexUnary(op: number, n: number, aRe: Float64Array, aIm: Float64Array | null, outRe: Float64Array, outIm: Float64Array): void;
|
|
454
404
|
/** Complex absolute value (real-valued output). aIm may be null. */
|
|
455
|
-
tensorOpComplexAbs
|
|
405
|
+
tensorOpComplexAbs(n: number, aRe: Float64Array, aIm: Float64Array | null, out: Float64Array): void;
|
|
456
406
|
/** Real comparison: out[i] = (a[i] OP b[i]) ? 1 : 0. */
|
|
457
|
-
tensorOpRealComparison
|
|
407
|
+
tensorOpRealComparison(op: number, n: number, a: Float64Array, b: Float64Array, out: Float64Array): void;
|
|
458
408
|
/** Real scalar-tensor comparison. */
|
|
459
|
-
tensorOpRealScalarComparison
|
|
409
|
+
tensorOpRealScalarComparison(op: number, n: number, scalar: number, arr: Float64Array, scalarOnLeft: boolean, out: Float64Array): void;
|
|
460
410
|
/** Complex comparison. EQ/NE use both parts; LT/LE/GT/GE use real parts. */
|
|
461
|
-
tensorOpComplexComparison
|
|
411
|
+
tensorOpComplexComparison(op: number, n: number, aRe: Float64Array, aIm: Float64Array | null, bRe: Float64Array, bIm: Float64Array | null, out: Float64Array): void;
|
|
462
412
|
/** Complex scalar-tensor comparison. */
|
|
463
|
-
tensorOpComplexScalarComparison
|
|
413
|
+
tensorOpComplexScalarComparison(op: number, n: number, sRe: number, sIm: number, arrRe: Float64Array, arrIm: Float64Array | null, scalarOnLeft: boolean, out: Float64Array): void;
|
|
464
414
|
/** Flat real reduction (output is a 1-element Float64Array). */
|
|
465
|
-
tensorOpRealFlatReduce
|
|
415
|
+
tensorOpRealFlatReduce(op: number, n: number, a: Float64Array, out: Float64Array): void;
|
|
466
416
|
/** Flat complex reduction. outIm may be null for ANY/ALL. */
|
|
467
|
-
tensorOpComplexFlatReduce
|
|
417
|
+
tensorOpComplexFlatReduce(op: number, n: number, aRe: Float64Array, aIm: Float64Array | null, outRe: Float64Array, outIm: Float64Array | null): void;
|
|
468
418
|
/**
|
|
469
419
|
* Real Bessel tensor op: out[i] = besselX(nu, z[i]).
|
|
470
420
|
* op codes per OpBessel. scale: 0 unscaled, 1 scaled.
|
|
471
421
|
*/
|
|
472
|
-
tensorOpBesselReal
|
|
422
|
+
tensorOpBesselReal(op: number, nu: number, n: number, z: Float64Array, scale: number, out: Float64Array): void;
|
|
473
423
|
/**
|
|
474
424
|
* Hankel function tensor op (complex output, real input).
|
|
475
425
|
* kKind: 1 → J + i*Y; 2 → J - i*Y.
|
|
476
426
|
*/
|
|
477
|
-
tensorOpBesselH
|
|
427
|
+
tensorOpBesselH(kKind: number, nu: number, n: number, z: Float64Array, scale: number, outRe: Float64Array, outIm: Float64Array): void;
|
|
428
|
+
/** Returns the native addon's version number. */
|
|
429
|
+
addonVersion?(): number;
|
|
478
430
|
/** Dump op-code enum values as a stable string (drift detection). */
|
|
479
431
|
tensorOpDumpCodes?(): string;
|
|
432
|
+
/**
|
|
433
|
+
* Forward/inverse 1D FFT on real input via FFTW.
|
|
434
|
+
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
435
|
+
* @param re Real input data as Float64Array of length n.
|
|
436
|
+
* @param n Transform length.
|
|
437
|
+
* @param inverse true for inverse FFT, false for forward.
|
|
438
|
+
* @returns { re, im } Float64Arrays of length n.
|
|
439
|
+
*/
|
|
440
|
+
fft1d?(re: Float64Array, n: number, inverse: boolean): {
|
|
441
|
+
re: Float64Array;
|
|
442
|
+
im: Float64Array;
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* Forward/inverse 1D FFT on complex input via FFTW.
|
|
446
|
+
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
447
|
+
* @param re Real part of input as Float64Array of length n.
|
|
448
|
+
* @param im Imaginary part of input as Float64Array of length n.
|
|
449
|
+
* @param n Transform length.
|
|
450
|
+
* @param inverse true for inverse FFT, false for forward.
|
|
451
|
+
* @returns { re, im } Float64Arrays of length n.
|
|
452
|
+
*/
|
|
453
|
+
fft1dComplex?(re: Float64Array, im: Float64Array, n: number, inverse: boolean): {
|
|
454
|
+
re: Float64Array;
|
|
455
|
+
im: Float64Array;
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* Batch FFT along a single dimension of a column-major tensor via FFTW.
|
|
459
|
+
* Transforms ALL fibers in one FFTW call using the guru split interface.
|
|
460
|
+
* Does NOT normalize for inverse — caller handles 1/n scaling.
|
|
461
|
+
* @param re Real part of input tensor (column-major flat array).
|
|
462
|
+
* @param im Imaginary part, or null for real input.
|
|
463
|
+
* @param shape Tensor dimensions as a JS array of numbers.
|
|
464
|
+
* @param dim 0-based dimension to transform along.
|
|
465
|
+
* @param n FFT length (may differ from shape[dim] for pad/truncate).
|
|
466
|
+
* @param inverse true for inverse FFT, false for forward.
|
|
467
|
+
* @returns { re, im } Float64Arrays for the output tensor.
|
|
468
|
+
*/
|
|
469
|
+
fftAlongDim?(re: Float64Array, im: Float64Array | null, shape: number[], dim: number, n: number, inverse: boolean): {
|
|
470
|
+
re: Float64Array;
|
|
471
|
+
im: Float64Array;
|
|
472
|
+
};
|
|
473
|
+
/**
|
|
474
|
+
* Bulk fill normal random values using Marsaglia polar + xoshiro128**.
|
|
475
|
+
* State is mutated in-place. Spare is passed in/out to preserve pair caching.
|
|
476
|
+
*/
|
|
477
|
+
fillRandn?(state: Uint32Array, n: number, spare: number, hasSpare: boolean): {
|
|
478
|
+
data: Float64Array;
|
|
479
|
+
spare: number;
|
|
480
|
+
hasSpare: boolean;
|
|
481
|
+
};
|
|
480
482
|
}
|
|
481
|
-
|
|
482
|
-
export declare function
|
|
483
|
+
/** Set (or clear) the sink for the one-time "bridge in use" diagnostic. */
|
|
484
|
+
export declare function setBridgeLog(log: ((message: string) => void) | null): void;
|
|
485
|
+
/**
|
|
486
|
+
* Install an accelerated bridge (native addon, wasm module, test stub), or
|
|
487
|
+
* clear it with null. Entries it omits fall back to TypeScript.
|
|
488
|
+
*/
|
|
489
|
+
export declare function setLapackBridge(bridge: Partial<LapackBridge> | null): void;
|
|
490
|
+
/** The complete bridge: installed entries over the TypeScript ones. */
|
|
491
|
+
export declare function getLapackBridge(): LapackBridge;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pure-TypeScript LAPACK bridge
|
|
3
|
-
* the ts-lapack translations of LAPACK Fortran routines
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* fallback when the native C++ addon is not loaded (e.g. in the browser).
|
|
2
|
+
* Pure-TypeScript LAPACK bridge: implements the LapackBridge interface with
|
|
3
|
+
* the ts-lapack translations of LAPACK Fortran routines and the ops-layer
|
|
4
|
+
* tensor kernels. getLapackBridge() uses it for every entry the installed
|
|
5
|
+
* (native) bridge does not provide, e.g. everything in the browser.
|
|
7
6
|
*/
|
|
8
7
|
import type { LapackBridge } from "./lapack-bridge.js";
|
|
9
8
|
export declare function getTsLapackBridge(): LapackBridge;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complex scalar helpers and ZLARFG shared by the ts-lapack complex
|
|
3
|
+
* routines (eig, Hermitian eig, QR). Split real/imag storage throughout.
|
|
4
|
+
*/
|
|
5
|
+
export declare const EPS = 2.220446049250313e-16;
|
|
6
|
+
export declare const SAFMIN = 2.2250738585072014e-308;
|
|
7
|
+
/** |Re| + |Im| (LAPACK CABS1). */
|
|
8
|
+
export declare function cabs1(re: number, im: number): number;
|
|
9
|
+
/** Fortran SIGN(mag, s): |mag| with the sign of s. */
|
|
10
|
+
export declare function fsign(mag: number, s: number): number;
|
|
11
|
+
/** Robust complex divide (a/b) via Smith's algorithm (ZLADIV). */
|
|
12
|
+
export declare function cdiv(ar: number, ai: number, br: number, bi: number): [number, number];
|
|
13
|
+
/** sqrt(x^2 + y^2 + z^2) without spurious over/underflow (DLAPY3). */
|
|
14
|
+
export declare function dlapy3(x: number, y: number, z: number): number;
|
|
15
|
+
/** DZNRM2 over x(off), x(off+incx), ... (n elements). */
|
|
16
|
+
export declare function dznrm2(n: number, re: Float64Array, im: Float64Array, off: number, incx: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* ZLARFG: generate a complex elementary reflector H = I - tau*v*v^H with
|
|
19
|
+
* H^H * [alpha; x] = [beta; 0] and beta real. On entry re/im[off] = alpha and
|
|
20
|
+
* X is re/im[off + i*incx], i = 1..n-1; on exit re/im[off] = beta and the X
|
|
21
|
+
* part holds v(2:). Returns tau.
|
|
22
|
+
*/
|
|
23
|
+
export declare function zlarfg(n: number, re: Float64Array, im: Float64Array, off: number, incx: number): [number, number];
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure-TypeScript Hermitian eigensolver — a zheev-equivalent for the ts-lapack
|
|
3
|
+
* bridge (browser path, no native LAPACK addon).
|
|
4
|
+
*
|
|
5
|
+
* Ported from the netlib LAPACK reference (zheev → zhetd2 / zungtr → zsteqr).
|
|
6
|
+
* One structural deviation: zsteqr accumulates the QL/QR rotations directly
|
|
7
|
+
* into the complex matrix Q, whereas here DSTEQR is run with COMPZ = 'I' to
|
|
8
|
+
* get the real orthogonal eigenvector matrix S of the tridiagonal, and the
|
|
9
|
+
* back-transformation V = Q * S is done as one complex-times-real matrix
|
|
10
|
+
* product afterwards. Both are O(n^3); this way the tridiagonal QL/QR lives in
|
|
11
|
+
* exactly one place (src/ts-lapack/src/SRC/dsteqr.ts) instead of two.
|
|
12
|
+
*
|
|
13
|
+
* Because zlarfg produces a real beta, the tridiagonal form is real symmetric,
|
|
14
|
+
* so DSTEQR applies unchanged.
|
|
15
|
+
*
|
|
16
|
+
* Eigenvalues come back real and in ascending order; eigenvectors form a
|
|
17
|
+
* unitary basis (V^H * V = I), matching dsyev/zheev and MATLAB.
|
|
18
|
+
*
|
|
19
|
+
* All matrices are column-major with leading dimension n, split into parallel
|
|
20
|
+
* real/imag Float64Arrays — matching the bridge's eigHerm I/O shape.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* ZHEEV-equivalent. `dataRe`/`dataIm` hold the full n×n Hermitian matrix in
|
|
24
|
+
* column-major order (only the lower triangle is read); they are not modified.
|
|
25
|
+
*
|
|
26
|
+
* Returns the eigenvalues in ascending order, plus a unitary eigenvector basis
|
|
27
|
+
* when `computeV` is set.
|
|
28
|
+
*/
|
|
29
|
+
export declare function eigHermTs(dataRe: Float64Array, dataIm: Float64Array, n: number, computeV: boolean): {
|
|
30
|
+
w: Float64Array;
|
|
31
|
+
VRe?: Float64Array;
|
|
32
|
+
VIm?: Float64Array;
|
|
33
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QR and LU entry points of the ts-lapack bridge that are not plain calls
|
|
3
|
+
* into src/ts-lapack: real column-pivoted QR, and complex QR (zgeqr2/zung2r),
|
|
4
|
+
* column-pivoted QR (zlaqp2) and LU (zgetf2).
|
|
5
|
+
*
|
|
6
|
+
* The complex routines are unblocked translations that follow the LAPACK
|
|
7
|
+
* conventions (zlarfg: real diagonal of R with beta = -sign(Re(alpha))*norm;
|
|
8
|
+
* izamax pivoting by |re|+|im|) so results agree with MATLAB up to rounding.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Real column-pivoted QR, A*P = Q*R (dgeqp3 + dorgqr equivalent): Householder
|
|
12
|
+
* with greedy pivoting on downdated squared column norms. jpvt is 1-based.
|
|
13
|
+
*/
|
|
14
|
+
export declare function qrPivotTs(data: Float64Array, m: number, n: number, econ: boolean): {
|
|
15
|
+
Q: Float64Array;
|
|
16
|
+
R: Float64Array;
|
|
17
|
+
jpvt: Int32Array;
|
|
18
|
+
};
|
|
19
|
+
export declare function qrComplexTs(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number, econ: boolean, wantQ: boolean): {
|
|
20
|
+
QRe?: Float64Array;
|
|
21
|
+
QIm?: Float64Array;
|
|
22
|
+
RRe: Float64Array;
|
|
23
|
+
RIm: Float64Array;
|
|
24
|
+
};
|
|
25
|
+
export declare function qrPivotComplexTs(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number, econ: boolean): {
|
|
26
|
+
QRe: Float64Array;
|
|
27
|
+
QIm: Float64Array;
|
|
28
|
+
RRe: Float64Array;
|
|
29
|
+
RIm: Float64Array;
|
|
30
|
+
jpvt: Int32Array;
|
|
31
|
+
};
|
|
32
|
+
/** zgetf2: LU with partial pivoting, L unit lower and U packed in place. */
|
|
33
|
+
export declare function luComplexTs(dataRe: Float64Array, dataIm: Float64Array, m: number, n: number): {
|
|
34
|
+
LURe: Float64Array;
|
|
35
|
+
LUIm: Float64Array;
|
|
36
|
+
ipiv: Int32Array;
|
|
37
|
+
};
|