@danielsimonjr/mathts-functions 0.2.3 → 0.2.5
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/README.md +21 -0
- package/dist/algebra/decomposition/lup.d.ts +78 -0
- package/dist/algebra/decomposition/lup.d.ts.map +1 -0
- package/dist/algebra/decomposition/qr.d.ts +60 -0
- package/dist/algebra/decomposition/qr.d.ts.map +1 -0
- package/dist/algebra/decomposition/schur.d.ts +40 -0
- package/dist/algebra/decomposition/schur.d.ts.map +1 -0
- package/dist/algebra/decomposition/slu.d.ts +37 -0
- package/dist/algebra/decomposition/slu.d.ts.map +1 -0
- package/dist/algebra/derivative.d.ts +35 -0
- package/dist/algebra/derivative.d.ts.map +1 -0
- package/dist/algebra/leafCount.d.ts +9 -0
- package/dist/algebra/leafCount.d.ts.map +1 -0
- package/dist/algebra/lyap.d.ts +14 -0
- package/dist/algebra/lyap.d.ts.map +1 -0
- package/dist/algebra/polynomialRoot.d.ts +22 -0
- package/dist/algebra/polynomialRoot.d.ts.map +1 -0
- package/dist/algebra/rationalize.d.ts +43 -0
- package/dist/algebra/rationalize.d.ts.map +1 -0
- package/dist/algebra/resolve.d.ts +25 -0
- package/dist/algebra/resolve.d.ts.map +1 -0
- package/dist/algebra/simplify/util.d.ts +35 -0
- package/dist/algebra/simplify/util.d.ts.map +1 -0
- package/dist/algebra/simplify/wildcards.d.ts +5 -0
- package/dist/algebra/simplify/wildcards.d.ts.map +1 -0
- package/dist/algebra/simplify.d.ts +57 -0
- package/dist/algebra/simplify.d.ts.map +1 -0
- package/dist/algebra/simplifyConstant.d.ts +20 -0
- package/dist/algebra/simplifyConstant.d.ts.map +1 -0
- package/dist/algebra/simplifyCore.d.ts +21 -0
- package/dist/algebra/simplifyCore.d.ts.map +1 -0
- package/dist/algebra/solver/lsolve.d.ts +46 -0
- package/dist/algebra/solver/lsolve.d.ts.map +1 -0
- package/dist/algebra/solver/lsolveAll.d.ts +53 -0
- package/dist/algebra/solver/lsolveAll.d.ts.map +1 -0
- package/dist/algebra/solver/lusolve.d.ts +62 -0
- package/dist/algebra/solver/lusolve.d.ts.map +1 -0
- package/dist/algebra/solver/usolve.d.ts +46 -0
- package/dist/algebra/solver/usolve.d.ts.map +1 -0
- package/dist/algebra/solver/usolveAll.d.ts +53 -0
- package/dist/algebra/solver/usolveAll.d.ts.map +1 -0
- package/dist/algebra/solver/utils/solveValidation.d.ts +31 -0
- package/dist/algebra/solver/utils/solveValidation.d.ts.map +1 -0
- package/dist/algebra/sparse/csAmd.d.ts +15 -0
- package/dist/algebra/sparse/csAmd.d.ts.map +1 -0
- package/dist/algebra/sparse/csChol.d.ts +39 -0
- package/dist/algebra/sparse/csChol.d.ts.map +1 -0
- package/dist/algebra/sparse/csCounts.d.ts +13 -0
- package/dist/algebra/sparse/csCounts.d.ts.map +1 -0
- package/dist/algebra/sparse/csCumsum.d.ts +9 -0
- package/dist/algebra/sparse/csCumsum.d.ts.map +1 -0
- package/dist/algebra/sparse/csDfs.d.ts +23 -0
- package/dist/algebra/sparse/csDfs.d.ts.map +1 -0
- package/dist/algebra/sparse/csEreach.d.ts +20 -0
- package/dist/algebra/sparse/csEreach.d.ts.map +1 -0
- package/dist/algebra/sparse/csEtree.d.ts +16 -0
- package/dist/algebra/sparse/csEtree.d.ts.map +1 -0
- package/dist/algebra/sparse/csFkeep.d.ts +22 -0
- package/dist/algebra/sparse/csFkeep.d.ts.map +1 -0
- package/dist/algebra/sparse/csFlip.d.ts +7 -0
- package/dist/algebra/sparse/csFlip.d.ts.map +1 -0
- package/dist/algebra/sparse/csIpvec.d.ts +10 -0
- package/dist/algebra/sparse/csIpvec.d.ts.map +1 -0
- package/dist/algebra/sparse/csLeaf.d.ts +21 -0
- package/dist/algebra/sparse/csLeaf.d.ts.map +1 -0
- package/dist/algebra/sparse/csLu.d.ts +37 -0
- package/dist/algebra/sparse/csLu.d.ts.map +1 -0
- package/dist/algebra/sparse/csMark.d.ts +8 -0
- package/dist/algebra/sparse/csMark.d.ts.map +1 -0
- package/dist/algebra/sparse/csMarked.d.ts +8 -0
- package/dist/algebra/sparse/csMarked.d.ts.map +1 -0
- package/dist/algebra/sparse/csPermute.d.ts +27 -0
- package/dist/algebra/sparse/csPermute.d.ts.map +1 -0
- package/dist/algebra/sparse/csPost.d.ts +8 -0
- package/dist/algebra/sparse/csPost.d.ts.map +1 -0
- package/dist/algebra/sparse/csReach.d.ts +23 -0
- package/dist/algebra/sparse/csReach.d.ts.map +1 -0
- package/dist/algebra/sparse/csSpsolve.d.ts +15 -0
- package/dist/algebra/sparse/csSpsolve.d.ts.map +1 -0
- package/dist/algebra/sparse/csSqr.d.ts +25 -0
- package/dist/algebra/sparse/csSqr.d.ts.map +1 -0
- package/dist/algebra/sparse/csSymperm.d.ts +22 -0
- package/dist/algebra/sparse/csSymperm.d.ts.map +1 -0
- package/dist/algebra/sparse/csTdfs.d.ts +13 -0
- package/dist/algebra/sparse/csTdfs.d.ts.map +1 -0
- package/dist/algebra/sparse/csUnflip.d.ts +7 -0
- package/dist/algebra/sparse/csUnflip.d.ts.map +1 -0
- package/dist/algebra/sylvester.d.ts +30 -0
- package/dist/algebra/sylvester.d.ts.map +1 -0
- package/dist/algebra/symbolicEqual.d.ts +18 -0
- package/dist/algebra/symbolicEqual.d.ts.map +1 -0
- package/dist/arithmetic/abs.d.ts +7 -0
- package/dist/arithmetic/abs.d.ts.map +1 -0
- package/dist/arithmetic/addScalar.d.ts +7 -0
- package/dist/arithmetic/addScalar.d.ts.map +1 -0
- package/dist/arithmetic/cbrt.d.ts +37 -0
- package/dist/arithmetic/cbrt.d.ts.map +1 -0
- package/dist/arithmetic/ceil.d.ts +22 -0
- package/dist/arithmetic/ceil.d.ts.map +1 -0
- package/dist/arithmetic/cube.d.ts +7 -0
- package/dist/arithmetic/cube.d.ts.map +1 -0
- package/dist/arithmetic/divide.d.ts +42 -0
- package/dist/arithmetic/divide.d.ts.map +1 -0
- package/dist/arithmetic/divideScalar.d.ts +8 -0
- package/dist/arithmetic/divideScalar.d.ts.map +1 -0
- package/dist/arithmetic/dotDivide.d.ts +13 -0
- package/dist/arithmetic/dotDivide.d.ts.map +1 -0
- package/dist/arithmetic/dotMultiply.d.ts +11 -0
- package/dist/arithmetic/dotMultiply.d.ts.map +1 -0
- package/dist/arithmetic/dotPow.d.ts +16 -0
- package/dist/arithmetic/dotPow.d.ts.map +1 -0
- package/dist/arithmetic/exp.d.ts +7 -0
- package/dist/arithmetic/exp.d.ts.map +1 -0
- package/dist/arithmetic/expm1.d.ts +15 -0
- package/dist/arithmetic/expm1.d.ts.map +1 -0
- package/dist/arithmetic/fix.d.ts +30 -0
- package/dist/arithmetic/fix.d.ts.map +1 -0
- package/dist/arithmetic/floor.d.ts +22 -0
- package/dist/arithmetic/floor.d.ts.map +1 -0
- package/dist/arithmetic/gcd.d.ts +25 -0
- package/dist/arithmetic/gcd.d.ts.map +1 -0
- package/dist/arithmetic/hypot.d.ts +14 -0
- package/dist/arithmetic/hypot.d.ts.map +1 -0
- package/dist/arithmetic/invmod.d.ts +19 -0
- package/dist/arithmetic/invmod.d.ts.map +1 -0
- package/dist/arithmetic/lcm.d.ts +10 -0
- package/dist/arithmetic/lcm.d.ts.map +1 -0
- package/dist/arithmetic/log.d.ts +18 -0
- package/dist/arithmetic/log.d.ts.map +1 -0
- package/dist/arithmetic/log10.d.ts +18 -0
- package/dist/arithmetic/log10.d.ts.map +1 -0
- package/dist/arithmetic/log1p.d.ts +19 -0
- package/dist/arithmetic/log1p.d.ts.map +1 -0
- package/dist/arithmetic/log2.d.ts +17 -0
- package/dist/arithmetic/log2.d.ts.map +1 -0
- package/dist/arithmetic/mod.d.ts +15 -0
- package/dist/arithmetic/mod.d.ts.map +1 -0
- package/dist/arithmetic/multiplyScalar.d.ts +7 -0
- package/dist/arithmetic/multiplyScalar.d.ts.map +1 -0
- package/dist/arithmetic/norm.d.ts +33 -0
- package/dist/arithmetic/norm.d.ts.map +1 -0
- package/dist/arithmetic/nthRoot.d.ts +38 -0
- package/dist/arithmetic/nthRoot.d.ts.map +1 -0
- package/dist/arithmetic/nthRoots.d.ts +23 -0
- package/dist/arithmetic/nthRoots.d.ts.map +1 -0
- package/dist/arithmetic/pow.d.ts +34 -0
- package/dist/arithmetic/pow.d.ts.map +1 -0
- package/dist/arithmetic/round.d.ts +27 -0
- package/dist/arithmetic/round.d.ts.map +1 -0
- package/dist/arithmetic/sign.d.ts +31 -0
- package/dist/arithmetic/sign.d.ts.map +1 -0
- package/dist/arithmetic/sqrt.d.ts +16 -0
- package/dist/arithmetic/sqrt.d.ts.map +1 -0
- package/dist/arithmetic/square.d.ts +7 -0
- package/dist/arithmetic/square.d.ts.map +1 -0
- package/dist/arithmetic/subtract.d.ts +18 -0
- package/dist/arithmetic/subtract.d.ts.map +1 -0
- package/dist/arithmetic/subtractScalar.d.ts +7 -0
- package/dist/arithmetic/subtractScalar.d.ts.map +1 -0
- package/dist/arithmetic/unaryMinus.d.ts +10 -0
- package/dist/arithmetic/unaryMinus.d.ts.map +1 -0
- package/dist/arithmetic/unaryPlus.d.ts +10 -0
- package/dist/arithmetic/unaryPlus.d.ts.map +1 -0
- package/dist/arithmetic/utils/nodeOperations.d.ts +37 -0
- package/dist/arithmetic/utils/nodeOperations.d.ts.map +1 -0
- package/dist/arithmetic/xgcd.d.ts +25 -0
- package/dist/arithmetic/xgcd.d.ts.map +1 -0
- package/dist/bitwise/bitAnd.d.ts +10 -0
- package/dist/bitwise/bitAnd.d.ts.map +1 -0
- package/dist/bitwise/bitNot.d.ts +7 -0
- package/dist/bitwise/bitNot.d.ts.map +1 -0
- package/dist/bitwise/bitOr.d.ts +11 -0
- package/dist/bitwise/bitOr.d.ts.map +1 -0
- package/dist/bitwise/bitXor.d.ts +11 -0
- package/dist/bitwise/bitXor.d.ts.map +1 -0
- package/dist/bitwise/leftShift.d.ts +17 -0
- package/dist/bitwise/leftShift.d.ts.map +1 -0
- package/dist/bitwise/rightArithShift.d.ts +17 -0
- package/dist/bitwise/rightArithShift.d.ts.map +1 -0
- package/dist/bitwise/rightLogShift.d.ts +17 -0
- package/dist/bitwise/rightLogShift.d.ts.map +1 -0
- package/dist/bitwise/useMatrixForArrayScalar.d.ts +19 -0
- package/dist/bitwise/useMatrixForArrayScalar.d.ts.map +1 -0
- package/dist/combinatorics/bellNumbers.d.ts +14 -0
- package/dist/combinatorics/bellNumbers.d.ts.map +1 -0
- package/dist/combinatorics/catalan.d.ts +16 -0
- package/dist/combinatorics/catalan.d.ts.map +1 -0
- package/dist/combinatorics/composition.d.ts +16 -0
- package/dist/combinatorics/composition.d.ts.map +1 -0
- package/dist/combinatorics/stirlingS2.d.ts +22 -0
- package/dist/combinatorics/stirlingS2.d.ts.map +1 -0
- package/dist/complex/arg.d.ts +7 -0
- package/dist/complex/arg.d.ts.map +1 -0
- package/dist/complex/conj.d.ts +7 -0
- package/dist/complex/conj.d.ts.map +1 -0
- package/dist/complex/im.d.ts +7 -0
- package/dist/complex/im.d.ts.map +1 -0
- package/dist/complex/re.d.ts +7 -0
- package/dist/complex/re.d.ts.map +1 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/create.d.ts +137 -0
- package/dist/core/create.d.ts.map +1 -0
- package/dist/core/function/config.d.ts +35 -0
- package/dist/core/function/config.d.ts.map +1 -0
- package/dist/core/function/import.d.ts +30 -0
- package/dist/core/function/import.d.ts.map +1 -0
- package/dist/core/function/typed.d.ts +127 -0
- package/dist/core/function/typed.d.ts.map +1 -0
- package/dist/error/ArgumentsError.d.ts +21 -0
- package/dist/error/ArgumentsError.d.ts.map +1 -0
- package/dist/error/DimensionError.d.ts +18 -0
- package/dist/error/DimensionError.d.ts.map +1 -0
- package/dist/error/IndexError.d.ts +24 -0
- package/dist/error/IndexError.d.ts.map +1 -0
- package/dist/error/MathjsError.d.ts +13 -0
- package/dist/error/MathjsError.d.ts.map +1 -0
- package/dist/expression/operators.d.ts +942 -0
- package/dist/expression/operators.d.ts.map +1 -0
- package/dist/factories/evaluate.d.ts +91 -0
- package/dist/factories/evaluate.d.ts.map +1 -0
- package/dist/factories/index.d.ts +317 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/matrix-bridge.d.ts +241 -0
- package/dist/factories/matrix-bridge.d.ts.map +1 -0
- package/dist/factories/scope.d.ts +12 -0
- package/dist/factories/scope.d.ts.map +1 -0
- package/dist/geometry/distance.d.ts +15 -0
- package/dist/geometry/distance.d.ts.map +1 -0
- package/dist/geometry/intersect.d.ts +26 -0
- package/dist/geometry/intersect.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -30
- package/dist/logical/and.d.ts +17 -0
- package/dist/logical/and.d.ts.map +1 -0
- package/dist/logical/not.d.ts +7 -0
- package/dist/logical/not.d.ts.map +1 -0
- package/dist/logical/nullish.d.ts +11 -0
- package/dist/logical/nullish.d.ts.map +1 -0
- package/dist/logical/or.d.ts +15 -0
- package/dist/logical/or.d.ts.map +1 -0
- package/dist/logical/xor.d.ts +15 -0
- package/dist/logical/xor.d.ts.map +1 -0
- package/dist/matrix/column.d.ts +22 -0
- package/dist/matrix/column.d.ts.map +1 -0
- package/dist/matrix/concat.d.ts +6 -0
- package/dist/matrix/concat.d.ts.map +1 -0
- package/dist/matrix/count.d.ts +9 -0
- package/dist/matrix/count.d.ts.map +1 -0
- package/dist/matrix/cross.d.ts +7 -0
- package/dist/matrix/cross.d.ts.map +1 -0
- package/dist/matrix/ctranspose.d.ts +9 -0
- package/dist/matrix/ctranspose.d.ts.map +1 -0
- package/dist/matrix/det.d.ts +42 -0
- package/dist/matrix/det.d.ts.map +1 -0
- package/dist/matrix/diag.d.ts +26 -0
- package/dist/matrix/diag.d.ts.map +1 -0
- package/dist/matrix/diff.d.ts +8 -0
- package/dist/matrix/diff.d.ts.map +1 -0
- package/dist/matrix/dot.d.ts +17 -0
- package/dist/matrix/dot.d.ts.map +1 -0
- package/dist/matrix/eigs/complexEigs.d.ts +48 -0
- package/dist/matrix/eigs/complexEigs.d.ts.map +1 -0
- package/dist/matrix/eigs/realSymmetric.d.ts +34 -0
- package/dist/matrix/eigs/realSymmetric.d.ts.map +1 -0
- package/dist/matrix/eigs.d.ts +75 -0
- package/dist/matrix/eigs.d.ts.map +1 -0
- package/dist/matrix/expm.d.ts +26 -0
- package/dist/matrix/expm.d.ts.map +1 -0
- package/dist/matrix/fft.d.ts +41 -0
- package/dist/matrix/fft.d.ts.map +1 -0
- package/dist/matrix/filter.d.ts +7 -0
- package/dist/matrix/filter.d.ts.map +1 -0
- package/dist/matrix/flatten.d.ts +7 -0
- package/dist/matrix/flatten.d.ts.map +1 -0
- package/dist/matrix/forEach.d.ts +7 -0
- package/dist/matrix/forEach.d.ts.map +1 -0
- package/dist/matrix/getMatrixDataType.d.ts +7 -0
- package/dist/matrix/getMatrixDataType.d.ts.map +1 -0
- package/dist/matrix/identity.d.ts +41 -0
- package/dist/matrix/identity.d.ts.map +1 -0
- package/dist/matrix/ifft.d.ts +33 -0
- package/dist/matrix/ifft.d.ts.map +1 -0
- package/dist/matrix/inv.d.ts +48 -0
- package/dist/matrix/inv.d.ts.map +1 -0
- package/dist/matrix/kron.d.ts +17 -0
- package/dist/matrix/kron.d.ts.map +1 -0
- package/dist/matrix/map.d.ts +7 -0
- package/dist/matrix/map.d.ts.map +1 -0
- package/dist/matrix/mapSlices.d.ts +6 -0
- package/dist/matrix/mapSlices.d.ts.map +1 -0
- package/dist/matrix/matrixFromColumns.d.ts +36 -0
- package/dist/matrix/matrixFromColumns.d.ts.map +1 -0
- package/dist/matrix/matrixFromFunction.d.ts +7 -0
- package/dist/matrix/matrixFromFunction.d.ts.map +1 -0
- package/dist/matrix/matrixFromRows.d.ts +36 -0
- package/dist/matrix/matrixFromRows.d.ts.map +1 -0
- package/dist/matrix/ones.d.ts +3 -0
- package/dist/matrix/ones.d.ts.map +1 -0
- package/dist/matrix/partitionSelect.d.ts +13 -0
- package/dist/matrix/partitionSelect.d.ts.map +1 -0
- package/dist/matrix/pinv.d.ts +51 -0
- package/dist/matrix/pinv.d.ts.map +1 -0
- package/dist/matrix/range.d.ts +27 -0
- package/dist/matrix/range.d.ts.map +1 -0
- package/dist/matrix/reshape.d.ts +8 -0
- package/dist/matrix/reshape.d.ts.map +1 -0
- package/dist/matrix/resize.d.ts +17 -0
- package/dist/matrix/resize.d.ts.map +1 -0
- package/dist/matrix/rotate.d.ts +7 -0
- package/dist/matrix/rotate.d.ts.map +1 -0
- package/dist/matrix/rotationMatrix.d.ts +17 -0
- package/dist/matrix/rotationMatrix.d.ts.map +1 -0
- package/dist/matrix/row.d.ts +22 -0
- package/dist/matrix/row.d.ts.map +1 -0
- package/dist/matrix/size.d.ts +9 -0
- package/dist/matrix/size.d.ts.map +1 -0
- package/dist/matrix/sort.d.ts +8 -0
- package/dist/matrix/sort.d.ts.map +1 -0
- package/dist/matrix/sqrtm.d.ts +33 -0
- package/dist/matrix/sqrtm.d.ts.map +1 -0
- package/dist/matrix/squeeze.d.ts +7 -0
- package/dist/matrix/squeeze.d.ts.map +1 -0
- package/dist/matrix/subset.d.ts +7 -0
- package/dist/matrix/subset.d.ts.map +1 -0
- package/dist/matrix/trace.d.ts +25 -0
- package/dist/matrix/trace.d.ts.map +1 -0
- package/dist/matrix/transpose.d.ts +45 -0
- package/dist/matrix/transpose.d.ts.map +1 -0
- package/dist/matrix/utils/zerosAndOnes.d.ts +32 -0
- package/dist/matrix/utils/zerosAndOnes.d.ts.map +1 -0
- package/dist/matrix/zeros.d.ts +3 -0
- package/dist/matrix/zeros.d.ts.map +1 -0
- package/dist/numeric/solveODE.d.ts +2 -0
- package/dist/numeric/solveODE.d.ts.map +1 -0
- package/dist/plain/number/arithmetic.d.ts +168 -0
- package/dist/plain/number/arithmetic.d.ts.map +1 -0
- package/dist/plain/number/bitwise.d.ts +29 -0
- package/dist/plain/number/bitwise.d.ts.map +1 -0
- package/dist/plain/number/combinations.d.ts +5 -0
- package/dist/plain/number/combinations.d.ts.map +1 -0
- package/dist/plain/number/constants.d.ts +5 -0
- package/dist/plain/number/constants.d.ts.map +1 -0
- package/dist/plain/number/index.d.ts +10 -0
- package/dist/plain/number/index.d.ts.map +1 -0
- package/dist/plain/number/logical.d.ts +17 -0
- package/dist/plain/number/logical.d.ts.map +1 -0
- package/dist/plain/number/probability.d.ts +15 -0
- package/dist/plain/number/probability.d.ts.map +1 -0
- package/dist/plain/number/relational.d.ts +29 -0
- package/dist/plain/number/relational.d.ts.map +1 -0
- package/dist/plain/number/trigonometry.d.ts +101 -0
- package/dist/plain/number/trigonometry.d.ts.map +1 -0
- package/dist/plain/number/utils.d.ts +21 -0
- package/dist/plain/number/utils.d.ts.map +1 -0
- package/dist/probability/bernoulli.d.ts +19 -0
- package/dist/probability/bernoulli.d.ts.map +1 -0
- package/dist/probability/combinations.d.ts +7 -0
- package/dist/probability/combinations.d.ts.map +1 -0
- package/dist/probability/combinationsWithRep.d.ts +7 -0
- package/dist/probability/combinationsWithRep.d.ts.map +1 -0
- package/dist/probability/factorial.d.ts +8 -0
- package/dist/probability/factorial.d.ts.map +1 -0
- package/dist/probability/gamma.d.ts +45 -0
- package/dist/probability/gamma.d.ts.map +1 -0
- package/dist/probability/kldivergence.d.ts +18 -0
- package/dist/probability/kldivergence.d.ts.map +1 -0
- package/dist/probability/lgamma.d.ts +24 -0
- package/dist/probability/lgamma.d.ts.map +1 -0
- package/dist/probability/multinomial.d.ts +13 -0
- package/dist/probability/multinomial.d.ts.map +1 -0
- package/dist/probability/permutations.d.ts +8 -0
- package/dist/probability/permutations.d.ts.map +1 -0
- package/dist/probability/pickRandom.d.ts +10 -0
- package/dist/probability/pickRandom.d.ts.map +1 -0
- package/dist/probability/random.d.ts +11 -0
- package/dist/probability/random.d.ts.map +1 -0
- package/dist/probability/randomInt.d.ts +11 -0
- package/dist/probability/randomInt.d.ts.map +1 -0
- package/dist/probability/util/randomMatrix.d.ts +10 -0
- package/dist/probability/util/randomMatrix.d.ts.map +1 -0
- package/dist/probability/util/seededRNG.d.ts +4 -0
- package/dist/probability/util/seededRNG.d.ts.map +1 -0
- package/dist/relational/compare.d.ts +38 -0
- package/dist/relational/compare.d.ts.map +1 -0
- package/dist/relational/compareNatural.d.ts +8 -0
- package/dist/relational/compareNatural.d.ts.map +1 -0
- package/dist/relational/compareText.d.ts +15 -0
- package/dist/relational/compareText.d.ts.map +1 -0
- package/dist/relational/compareUnits.d.ts +9 -0
- package/dist/relational/compareUnits.d.ts.map +1 -0
- package/dist/relational/deepEqual.d.ts +8 -0
- package/dist/relational/deepEqual.d.ts.map +1 -0
- package/dist/relational/equal.d.ts +26 -0
- package/dist/relational/equal.d.ts.map +1 -0
- package/dist/relational/equalScalar.d.ts +11 -0
- package/dist/relational/equalScalar.d.ts.map +1 -0
- package/dist/relational/equalText.d.ts +9 -0
- package/dist/relational/equalText.d.ts.map +1 -0
- package/dist/relational/larger.d.ts +34 -0
- package/dist/relational/larger.d.ts.map +1 -0
- package/dist/relational/largerEq.d.ts +27 -0
- package/dist/relational/largerEq.d.ts.map +1 -0
- package/dist/relational/smaller.d.ts +34 -0
- package/dist/relational/smaller.d.ts.map +1 -0
- package/dist/relational/smallerEq.d.ts +27 -0
- package/dist/relational/smallerEq.d.ts.map +1 -0
- package/dist/relational/unequal.d.ts +28 -0
- package/dist/relational/unequal.d.ts.map +1 -0
- package/dist/set/setCartesian.d.ts +15 -0
- package/dist/set/setCartesian.d.ts.map +1 -0
- package/dist/set/setDifference.d.ts +15 -0
- package/dist/set/setDifference.d.ts.map +1 -0
- package/dist/set/setDistinct.d.ts +2 -0
- package/dist/set/setDistinct.d.ts.map +1 -0
- package/dist/set/setIntersect.d.ts +15 -0
- package/dist/set/setIntersect.d.ts.map +1 -0
- package/dist/set/setIsSubset.d.ts +2 -0
- package/dist/set/setIsSubset.d.ts.map +1 -0
- package/dist/set/setMultiplicity.d.ts +2 -0
- package/dist/set/setMultiplicity.d.ts.map +1 -0
- package/dist/set/setPowerset.d.ts +2 -0
- package/dist/set/setPowerset.d.ts.map +1 -0
- package/dist/set/setSize.d.ts +2 -0
- package/dist/set/setSize.d.ts.map +1 -0
- package/dist/set/setSymDifference.d.ts +15 -0
- package/dist/set/setSymDifference.d.ts.map +1 -0
- package/dist/set/setUnion.d.ts +16 -0
- package/dist/set/setUnion.d.ts.map +1 -0
- package/dist/signal/freqz.d.ts +2 -0
- package/dist/signal/freqz.d.ts.map +1 -0
- package/dist/signal/zpk2tf.d.ts +2 -0
- package/dist/signal/zpk2tf.d.ts.map +1 -0
- package/dist/special/erf.d.ts +7 -0
- package/dist/special/erf.d.ts.map +1 -0
- package/dist/special/zeta.d.ts +38 -0
- package/dist/special/zeta.d.ts.map +1 -0
- package/dist/statistics/corr.d.ts +18 -0
- package/dist/statistics/corr.d.ts.map +1 -0
- package/dist/statistics/cumsum.d.ts +9 -0
- package/dist/statistics/cumsum.d.ts.map +1 -0
- package/dist/statistics/mad.d.ts +11 -0
- package/dist/statistics/mad.d.ts.map +1 -0
- package/dist/statistics/max.d.ts +12 -0
- package/dist/statistics/max.d.ts.map +1 -0
- package/dist/statistics/mean.d.ts +9 -0
- package/dist/statistics/mean.d.ts.map +1 -0
- package/dist/statistics/median.d.ts +11 -0
- package/dist/statistics/median.d.ts.map +1 -0
- package/dist/statistics/min.d.ts +12 -0
- package/dist/statistics/min.d.ts.map +1 -0
- package/dist/statistics/mode.d.ts +9 -0
- package/dist/statistics/mode.d.ts.map +1 -0
- package/dist/statistics/prod.d.ts +12 -0
- package/dist/statistics/prod.d.ts.map +1 -0
- package/dist/statistics/quantileSeq.d.ts +26 -0
- package/dist/statistics/quantileSeq.d.ts.map +1 -0
- package/dist/statistics/std.d.ts +10 -0
- package/dist/statistics/std.d.ts.map +1 -0
- package/dist/statistics/sum.d.ts +12 -0
- package/dist/statistics/sum.d.ts.map +1 -0
- package/dist/statistics/utils/improveErrorMessage.d.ts +18 -0
- package/dist/statistics/utils/improveErrorMessage.d.ts.map +1 -0
- package/dist/statistics/variance.d.ts +13 -0
- package/dist/statistics/variance.d.ts.map +1 -0
- package/dist/string/bin.d.ts +36 -0
- package/dist/string/bin.d.ts.map +1 -0
- package/dist/string/format.d.ts +7 -0
- package/dist/string/format.d.ts.map +1 -0
- package/dist/string/hex.d.ts +35 -0
- package/dist/string/hex.d.ts.map +1 -0
- package/dist/string/oct.d.ts +36 -0
- package/dist/string/oct.d.ts.map +1 -0
- package/dist/string/print.d.ts +7 -0
- package/dist/string/print.d.ts.map +1 -0
- package/dist/trigonometry/acos.d.ts +16 -0
- package/dist/trigonometry/acos.d.ts.map +1 -0
- package/dist/trigonometry/acosh.d.ts +14 -0
- package/dist/trigonometry/acosh.d.ts.map +1 -0
- package/dist/trigonometry/acot.d.ts +12 -0
- package/dist/trigonometry/acot.d.ts.map +1 -0
- package/dist/trigonometry/acoth.d.ts +19 -0
- package/dist/trigonometry/acoth.d.ts.map +1 -0
- package/dist/trigonometry/acsc.d.ts +19 -0
- package/dist/trigonometry/acsc.d.ts.map +1 -0
- package/dist/trigonometry/acsch.d.ts +12 -0
- package/dist/trigonometry/acsch.d.ts.map +1 -0
- package/dist/trigonometry/asec.d.ts +19 -0
- package/dist/trigonometry/asec.d.ts.map +1 -0
- package/dist/trigonometry/asech.d.ts +19 -0
- package/dist/trigonometry/asech.d.ts.map +1 -0
- package/dist/trigonometry/asin.d.ts +16 -0
- package/dist/trigonometry/asin.d.ts.map +1 -0
- package/dist/trigonometry/asinh.d.ts +5 -0
- package/dist/trigonometry/asinh.d.ts.map +1 -0
- package/dist/trigonometry/atan.d.ts +7 -0
- package/dist/trigonometry/atan.d.ts.map +1 -0
- package/dist/trigonometry/atan2.d.ts +22 -0
- package/dist/trigonometry/atan2.d.ts.map +1 -0
- package/dist/trigonometry/atanh.d.ts +14 -0
- package/dist/trigonometry/atanh.d.ts.map +1 -0
- package/dist/trigonometry/cos.d.ts +7 -0
- package/dist/trigonometry/cos.d.ts.map +1 -0
- package/dist/trigonometry/cosh.d.ts +7 -0
- package/dist/trigonometry/cosh.d.ts.map +1 -0
- package/dist/trigonometry/cot.d.ts +12 -0
- package/dist/trigonometry/cot.d.ts.map +1 -0
- package/dist/trigonometry/coth.d.ts +12 -0
- package/dist/trigonometry/coth.d.ts.map +1 -0
- package/dist/trigonometry/csc.d.ts +12 -0
- package/dist/trigonometry/csc.d.ts.map +1 -0
- package/dist/trigonometry/csch.d.ts +12 -0
- package/dist/trigonometry/csch.d.ts.map +1 -0
- package/dist/trigonometry/sec.d.ts +12 -0
- package/dist/trigonometry/sec.d.ts.map +1 -0
- package/dist/trigonometry/sech.d.ts +12 -0
- package/dist/trigonometry/sech.d.ts.map +1 -0
- package/dist/trigonometry/sin.d.ts +7 -0
- package/dist/trigonometry/sin.d.ts.map +1 -0
- package/dist/trigonometry/sinh.d.ts +7 -0
- package/dist/trigonometry/sinh.d.ts.map +1 -0
- package/dist/trigonometry/tan.d.ts +7 -0
- package/dist/trigonometry/tan.d.ts.map +1 -0
- package/dist/trigonometry/tanh.d.ts +7 -0
- package/dist/trigonometry/tanh.d.ts.map +1 -0
- package/dist/trigonometry/trigUnit.d.ts +9 -0
- package/dist/trigonometry/trigUnit.d.ts.map +1 -0
- package/dist/type/bignumber/BigNumber.d.ts +46 -0
- package/dist/type/bignumber/BigNumber.d.ts.map +1 -0
- package/dist/type/chain/Chain.d.ts +58 -0
- package/dist/type/chain/Chain.d.ts.map +1 -0
- package/dist/type/chain/function/chain.d.ts +6 -0
- package/dist/type/chain/function/chain.d.ts.map +1 -0
- package/dist/type/complex/Complex.d.ts +74 -0
- package/dist/type/complex/Complex.d.ts.map +1 -0
- package/dist/type/local/Decimal.d.ts +223 -0
- package/dist/type/local/Decimal.d.ts.map +1 -0
- package/dist/type/matrix/FibonacciHeap.d.ts +59 -0
- package/dist/type/matrix/FibonacciHeap.d.ts.map +1 -0
- package/dist/type/matrix/ImmutableDenseMatrix.d.ts +282 -0
- package/dist/type/matrix/ImmutableDenseMatrix.d.ts.map +1 -0
- package/dist/type/matrix/MatrixIndex.d.ts +386 -0
- package/dist/type/matrix/MatrixIndex.d.ts.map +1 -0
- package/dist/type/matrix/Spa.d.ts +40 -0
- package/dist/type/matrix/Spa.d.ts.map +1 -0
- package/dist/type/matrix/function/index.d.ts +11 -0
- package/dist/type/matrix/function/index.d.ts.map +1 -0
- package/dist/type/matrix/types.d.ts +435 -0
- package/dist/type/matrix/types.d.ts.map +1 -0
- package/dist/type/matrix/utils/broadcast.d.ts +18 -0
- package/dist/type/matrix/utils/broadcast.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo01xDSid.d.ts +34 -0
- package/dist/type/matrix/utils/matAlgo01xDSid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo02xDS0.d.ts +32 -0
- package/dist/type/matrix/utils/matAlgo02xDS0.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo03xDSf.d.ts +31 -0
- package/dist/type/matrix/utils/matAlgo03xDSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo04xSidSid.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo04xSidSid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo05xSfSf.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo05xSfSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo06xS0S0.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo06xS0S0.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo07xSSf.d.ts +26 -0
- package/dist/type/matrix/utils/matAlgo07xSSf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo08xS0Sid.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo08xS0Sid.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo09xS0Sf.d.ts +21 -0
- package/dist/type/matrix/utils/matAlgo09xS0Sf.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts +33 -0
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts +19 -0
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts +33 -0
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo13xDD.d.ts +20 -0
- package/dist/type/matrix/utils/matAlgo13xDD.d.ts.map +1 -0
- package/dist/type/matrix/utils/matAlgo14xDs.d.ts +19 -0
- package/dist/type/matrix/utils/matAlgo14xDs.d.ts.map +1 -0
- package/dist/type/matrix/utils/matrixAlgorithmSuite.d.ts +23 -0
- package/dist/type/matrix/utils/matrixAlgorithmSuite.d.ts.map +1 -0
- package/dist/type/resultset/ResultSet.d.ts +28 -0
- package/dist/type/resultset/ResultSet.d.ts.map +1 -0
- package/dist/type/unit/Unit.d.ts +13907 -0
- package/dist/type/unit/Unit.d.ts.map +1 -0
- package/dist/type/unit/function/createUnit.d.ts +40 -0
- package/dist/type/unit/function/createUnit.d.ts.map +1 -0
- package/dist/type/unit/function/splitUnit.d.ts +10 -0
- package/dist/type/unit/function/splitUnit.d.ts.map +1 -0
- package/dist/type/unit/function/unit.d.ts +27 -0
- package/dist/type/unit/function/unit.d.ts.map +1 -0
- package/dist/type/unit/physicalConstants.d.ts +89 -0
- package/dist/type/unit/physicalConstants.d.ts.map +1 -0
- package/dist/typed/algebra.d.ts +418 -0
- package/dist/typed/algebra.d.ts.map +1 -0
- package/dist/typed/arithmetic.d.ts +302 -0
- package/dist/typed/arithmetic.d.ts.map +1 -0
- package/dist/typed/bitwise.d.ts +48 -0
- package/dist/typed/bitwise.d.ts.map +1 -0
- package/dist/typed/cas.d.ts +691 -0
- package/dist/typed/cas.d.ts.map +1 -0
- package/dist/typed/combinatorics.d.ts +333 -0
- package/dist/typed/combinatorics.d.ts.map +1 -0
- package/dist/typed/complex.d.ts +91 -0
- package/dist/typed/complex.d.ts.map +1 -0
- package/dist/typed/dist-objects.d.ts +219 -0
- package/dist/typed/dist-objects.d.ts.map +1 -0
- package/dist/typed/distributions.d.ts +247 -0
- package/dist/typed/distributions.d.ts.map +1 -0
- package/dist/typed/geometry.d.ts +329 -0
- package/dist/typed/geometry.d.ts.map +1 -0
- package/dist/typed/gpu.d.ts +62 -0
- package/dist/typed/gpu.d.ts.map +1 -0
- package/dist/typed/graph.d.ts +339 -0
- package/dist/typed/graph.d.ts.map +1 -0
- package/dist/typed/hypothesis.d.ts +274 -0
- package/dist/typed/hypothesis.d.ts.map +1 -0
- package/dist/typed/index.d.ts +299 -0
- package/dist/typed/index.d.ts.map +1 -0
- package/dist/typed/integration.d.ts +219 -0
- package/dist/typed/integration.d.ts.map +1 -0
- package/dist/typed/interpolation.d.ts +189 -0
- package/dist/typed/interpolation.d.ts.map +1 -0
- package/dist/typed/logical.d.ts +87 -0
- package/dist/typed/logical.d.ts.map +1 -0
- package/dist/typed/matrix-ops.d.ts +303 -0
- package/dist/typed/matrix-ops.d.ts.map +1 -0
- package/dist/typed/numeric.d.ts +395 -0
- package/dist/typed/numeric.d.ts.map +1 -0
- package/dist/typed/probability.d.ts +165 -0
- package/dist/typed/probability.d.ts.map +1 -0
- package/dist/typed/relational.d.ts +136 -0
- package/dist/typed/relational.d.ts.map +1 -0
- package/dist/typed/set.d.ts +145 -0
- package/dist/typed/set.d.ts.map +1 -0
- package/dist/typed/signal.d.ts +427 -0
- package/dist/typed/signal.d.ts.map +1 -0
- package/dist/typed/special.d.ts +469 -0
- package/dist/typed/special.d.ts.map +1 -0
- package/dist/typed/statistics.d.ts +174 -0
- package/dist/typed/statistics.d.ts.map +1 -0
- package/dist/typed/string.d.ts +114 -0
- package/dist/typed/string.d.ts.map +1 -0
- package/dist/typed/trigonometry.d.ts +111 -0
- package/dist/typed/trigonometry.d.ts.map +1 -0
- package/dist/typed/typed-bridge.d.ts +6 -0
- package/dist/typed/typed-bridge.d.ts.map +1 -0
- package/dist/typed/unit.d.ts +60 -0
- package/dist/typed/unit.d.ts.map +1 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/unit/to.d.ts +13 -0
- package/dist/unit/to.d.ts.map +1 -0
- package/dist/unit/toBest.d.ts +5 -0
- package/dist/unit/toBest.d.ts.map +1 -0
- package/dist/utils/array.d.ts +249 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/bigint.d.ts +18 -0
- package/dist/utils/bigint.d.ts.map +1 -0
- package/dist/utils/bignumber/bitwise.d.ts +99 -0
- package/dist/utils/bignumber/bitwise.d.ts.map +1 -0
- package/dist/utils/bignumber/constants.d.ts +25 -0
- package/dist/utils/bignumber/constants.d.ts.map +1 -0
- package/dist/utils/bignumber/formatter.d.ts +105 -0
- package/dist/utils/bignumber/formatter.d.ts.map +1 -0
- package/dist/utils/bignumber/nearlyEqual.d.ts +18 -0
- package/dist/utils/bignumber/nearlyEqual.d.ts.map +1 -0
- package/dist/utils/clone.d.ts +7 -0
- package/dist/utils/clone.d.ts.map +1 -0
- package/dist/utils/collection.d.ts +67 -0
- package/dist/utils/collection.d.ts.map +1 -0
- package/dist/utils/complex.d.ts +11 -0
- package/dist/utils/complex.d.ts.map +1 -0
- package/dist/utils/customs.d.ts +51 -0
- package/dist/utils/customs.d.ts.map +1 -0
- package/dist/utils/emitter.d.ts +13 -0
- package/dist/utils/emitter.d.ts.map +1 -0
- package/dist/utils/factory.d.ts +112 -0
- package/dist/utils/factory.d.ts.map +1 -0
- package/dist/utils/function.d.ts +44 -0
- package/dist/utils/function.d.ts.map +1 -0
- package/dist/utils/hasNumericValue.d.ts +8 -0
- package/dist/utils/hasNumericValue.d.ts.map +1 -0
- package/dist/utils/is.d.ts +204 -0
- package/dist/utils/is.d.ts.map +1 -0
- package/dist/utils/isBounded.d.ts +6 -0
- package/dist/utils/isBounded.d.ts.map +1 -0
- package/dist/utils/isFinite.d.ts +10 -0
- package/dist/utils/isFinite.d.ts.map +1 -0
- package/dist/utils/isInteger.d.ts +8 -0
- package/dist/utils/isInteger.d.ts.map +1 -0
- package/dist/utils/isNaN.d.ts +7 -0
- package/dist/utils/isNaN.d.ts.map +1 -0
- package/dist/utils/isNegative.d.ts +9 -0
- package/dist/utils/isNegative.d.ts.map +1 -0
- package/dist/utils/isNumeric.d.ts +6 -0
- package/dist/utils/isNumeric.d.ts.map +1 -0
- package/dist/utils/isPositive.d.ts +9 -0
- package/dist/utils/isPositive.d.ts.map +1 -0
- package/dist/utils/isPrime.d.ts +7 -0
- package/dist/utils/isPrime.d.ts.map +1 -0
- package/dist/utils/isZero.d.ts +8 -0
- package/dist/utils/isZero.d.ts.map +1 -0
- package/dist/utils/log.d.ts +5 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/lruQueue.d.ts +6 -0
- package/dist/utils/lruQueue.d.ts.map +1 -0
- package/dist/utils/map.d.ts +95 -0
- package/dist/utils/map.d.ts.map +1 -0
- package/dist/utils/node.d.ts +2 -0
- package/dist/utils/node.d.ts.map +1 -0
- package/dist/utils/noop.d.ts +6 -0
- package/dist/utils/noop.d.ts.map +1 -0
- package/dist/utils/number.d.ts +314 -0
- package/dist/utils/number.d.ts.map +1 -0
- package/dist/utils/numeric.d.ts +10 -0
- package/dist/utils/numeric.d.ts.map +1 -0
- package/dist/utils/object.d.ts +123 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/optimizeCallback.d.ts +22 -0
- package/dist/utils/optimizeCallback.d.ts.map +1 -0
- package/dist/utils/parseNumber.d.ts +2 -0
- package/dist/utils/parseNumber.d.ts.map +1 -0
- package/dist/utils/print.d.ts +2 -0
- package/dist/utils/print.d.ts.map +1 -0
- package/dist/utils/product.d.ts +6 -0
- package/dist/utils/product.d.ts.map +1 -0
- package/dist/utils/string.d.ts +66 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/switch.d.ts +8 -0
- package/dist/utils/switch.d.ts.map +1 -0
- package/dist/utils/typeOf.d.ts +7 -0
- package/dist/utils/typeOf.d.ts.map +1 -0
- package/dist/wasm/WasmLoader.d.ts +395 -0
- package/dist/wasm/WasmLoader.d.ts.map +1 -0
- package/dist/wasm/bitwise/wasm-bridge.d.ts +65 -0
- package/dist/wasm/bitwise/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/integrity.d.ts +48 -0
- package/dist/wasm/integrity.d.ts.map +1 -0
- package/dist/wasm/interpolation/wasm-bridge.d.ts +95 -0
- package/dist/wasm/interpolation/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/poly/wasm-bridge.d.ts +99 -0
- package/dist/wasm/poly/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/signal/wasm-bridge.d.ts +61 -0
- package/dist/wasm/signal/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/sort/wasm-bridge.d.ts +43 -0
- package/dist/wasm/sort/wasm-bridge.d.ts.map +1 -0
- package/dist/wasm/special/wasm-bridge.d.ts +133 -0
- package/dist/wasm/special/wasm-bridge.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM Loader - Loads and manages WebAssembly modules
|
|
3
|
+
* Provides a bridge between JavaScript/TypeScript and compiled WASM
|
|
4
|
+
*
|
|
5
|
+
* Optimizations:
|
|
6
|
+
* - Singleton pattern with module caching
|
|
7
|
+
* - Streaming compilation in browsers (WebAssembly.instantiateStreaming)
|
|
8
|
+
* - Memory pooling for frequent allocations
|
|
9
|
+
* - Compiled module caching for faster re-instantiation
|
|
10
|
+
* - Configurable size thresholds for JS fallback
|
|
11
|
+
*
|
|
12
|
+
* Security:
|
|
13
|
+
* - Optional SHA-384 integrity verification against a sibling
|
|
14
|
+
* `wasm-manifest.json`. See `./integrity.ts`. When the manifest is
|
|
15
|
+
* present any tampered .wasm payload is rejected before instantiation.
|
|
16
|
+
*/
|
|
17
|
+
export interface WasmModule {
|
|
18
|
+
multiplyDense: (aPtr: number, aRows: number, aCols: number, bPtr: number, bRows: number, bCols: number, resultPtr: number) => void;
|
|
19
|
+
multiplyDenseSIMD: (aPtr: number, aRows: number, aCols: number, bPtr: number, bRows: number, bCols: number, resultPtr: number) => void;
|
|
20
|
+
multiplyVector: (aPtr: number, aRows: number, aCols: number, xPtr: number, resultPtr: number) => void;
|
|
21
|
+
transpose: (dataPtr: number, rows: number, cols: number, resultPtr: number) => void;
|
|
22
|
+
add: (aPtr: number, bPtr: number, size: number, resultPtr: number) => void;
|
|
23
|
+
subtract: (aPtr: number, bPtr: number, size: number, resultPtr: number) => void;
|
|
24
|
+
scalarMultiply: (aPtr: number, scalar: number, size: number, resultPtr: number) => void;
|
|
25
|
+
dotProduct: (aPtr: number, bPtr: number, size: number) => number;
|
|
26
|
+
luDecomposition: (aPtr: number, n: number, permPtr: number) => number;
|
|
27
|
+
qrDecomposition: (aPtr: number, m: number, n: number, qPtr: number) => void;
|
|
28
|
+
choleskyDecomposition: (aPtr: number, n: number, lPtr: number) => number;
|
|
29
|
+
schur: (aPtr: number, n: number, maxIter: number, tol: number, qPtr: number, tPtr: number, workPtr: number) => number;
|
|
30
|
+
luSolve: (luPtr: number, n: number, permPtr: number, bPtr: number, xPtr: number) => void;
|
|
31
|
+
luDeterminant: (luPtr: number, n: number, permPtr: number) => number;
|
|
32
|
+
laDet: (aPtr: number, n: number, workPtr: number) => number;
|
|
33
|
+
laInv: (aPtr: number, n: number, resultPtr: number, workPtr: number) => number;
|
|
34
|
+
laInv2x2: (aPtr: number, resultPtr: number) => number;
|
|
35
|
+
laInv3x3: (aPtr: number, resultPtr: number) => number;
|
|
36
|
+
laCond1: (aPtr: number, n: number, workPtr: number) => number;
|
|
37
|
+
laCondInf: (aPtr: number, n: number, workPtr: number) => number;
|
|
38
|
+
laKron: (aPtr: number, aRows: number, aCols: number, bPtr: number, bRows: number, bCols: number) => number;
|
|
39
|
+
laDot: (aPtr: number, bPtr: number, n: number) => number;
|
|
40
|
+
laCross: (aPtr: number, bPtr: number) => number;
|
|
41
|
+
laNorm2: (xPtr: number, n: number) => number;
|
|
42
|
+
laSolve: (aPtr: number, bPtr: number, n: number, resultPtr: number, workPtr: number) => number;
|
|
43
|
+
laLsolve: (lPtr: number, bPtr: number, n: number, resultPtr: number) => number;
|
|
44
|
+
laUsolve: (uPtr: number, bPtr: number, n: number, resultPtr: number) => number;
|
|
45
|
+
eigsSymmetric: (matrixPtr: number, n: number, precision: number, eigenvaluesPtr: number, eigenvectorsPtr: number, workPtr: number) => number;
|
|
46
|
+
powerIteration: (matrixPtr: number, n: number, eigenvaluePtr: number, eigenvectorPtr: number, workPtr: number, maxIterations: number, tolerance: number) => number;
|
|
47
|
+
spectralRadius: (matrixPtr: number, n: number, workPtr: number, maxIterations: number, tolerance: number) => number;
|
|
48
|
+
inverseIteration: (matrixPtr: number, n: number, shift: number, eigenvectorPtr: number, workPtr: number, maxIterations: number, tolerance: number) => number;
|
|
49
|
+
balanceMatrix: (matrixPtr: number, n: number, scalePtr: number, transformPtr: number) => void;
|
|
50
|
+
reduceToHessenberg: (matrixPtr: number, n: number, transformPtr: number) => void;
|
|
51
|
+
eigenvalues2x2: (a: number, b: number, c: number, d: number, realPtr: number, imagPtr: number) => void;
|
|
52
|
+
qrIterationStep: (matrixPtr: number, n: number, workPtr: number, shift: number) => void;
|
|
53
|
+
qrAlgorithm: (matrixPtr: number, n: number, eigenvaluesRealPtr: number, eigenvaluesImagPtr: number, workPtr: number, maxIterations: number, tolerance: number) => number;
|
|
54
|
+
hessenbergQRStep: (matrixPtr: number, n: number, startRow: number, endRow: number, shift: number) => void;
|
|
55
|
+
expm: (matrixPtr: number, n: number, resultPtr: number, workPtr: number) => number;
|
|
56
|
+
expmSmall: (matrixPtr: number, n: number, resultPtr: number, workPtr: number, terms: number) => void;
|
|
57
|
+
expmv: (matrixPtr: number, n: number, vectorPtr: number, resultPtr: number, workPtr: number, t: number) => void;
|
|
58
|
+
sqrtm: (matrixPtr: number, n: number, resultPtr: number, tolerance: number, maxIterations: number, workPtr: number) => number;
|
|
59
|
+
sqrtmNewtonSchulz: (matrixPtr: number, n: number, resultPtr: number, workPtr: number, maxIterations: number, tolerance: number) => number;
|
|
60
|
+
sqrtmCholesky: (matrixPtr: number, n: number, resultPtr: number, workPtr: number) => number;
|
|
61
|
+
sparseLu: (valuesPtr: number, rowIndPtr: number, colPtrPtr: number, n: number, nnz: number, lValuesPtr: number, lRowIndPtr: number, lColPtrPtr: number, uValuesPtr: number, uRowIndPtr: number, uColPtrPtr: number, permPtr: number, workPtr: number) => number;
|
|
62
|
+
sparseForwardSolve: (lValuesPtr: number, lRowIndPtr: number, lColPtrPtr: number, n: number, bPtr: number, xPtr: number) => void;
|
|
63
|
+
sparseBackwardSolve: (uValuesPtr: number, uRowIndPtr: number, uColPtrPtr: number, n: number, bPtr: number, xPtr: number) => void;
|
|
64
|
+
sparseLuSolve: (lValuesPtr: number, lRowIndPtr: number, lColPtrPtr: number, uValuesPtr: number, uRowIndPtr: number, uColPtrPtr: number, n: number, permPtr: number, bPtr: number, xPtr: number, workPtr: number) => void;
|
|
65
|
+
sparseChol: (valuesPtr: number, rowIndPtr: number, colPtrPtr: number, n: number, nnz: number, lValuesPtr: number, lRowIndPtr: number, lColPtrPtr: number, parentPtr: number, workPtr: number) => number;
|
|
66
|
+
sparseCholSolve: (lValuesPtr: number, lRowIndPtr: number, lColPtrPtr: number, n: number, bPtr: number, xPtr: number, workPtr: number) => void;
|
|
67
|
+
eliminationTree: (rowIndPtr: number, colPtrPtr: number, n: number, parentPtr: number) => void;
|
|
68
|
+
columnCounts: (rowIndPtr: number, colPtrPtr: number, n: number, parentPtr: number, countsPtr: number, workPtr: number) => void;
|
|
69
|
+
amd: (colPtrPtr: number, rowIdxPtr: number, n: number, permPtr: number, workPtr: number) => void;
|
|
70
|
+
amdAggressive: (colPtrPtr: number, rowIdxPtr: number, n: number, permPtr: number, workPtr: number) => void;
|
|
71
|
+
symbolicCholesky: (indexPtr: number, ptrPtr: number, n: number, parentPtr: number, postPtr: number, colCountPtr: number, workPtr: number) => void;
|
|
72
|
+
simdDotF64: (aPtr: number, bPtr: number, length: number) => number;
|
|
73
|
+
simdSumF64: (aPtr: number, length: number) => number;
|
|
74
|
+
simdSumSquaresF64: (aPtr: number, length: number) => number;
|
|
75
|
+
simdNormF64: (aPtr: number, length: number) => number;
|
|
76
|
+
simdMinF64: (aPtr: number, length: number) => number;
|
|
77
|
+
simdMaxF64: (aPtr: number, length: number) => number;
|
|
78
|
+
simdMeanF64: (aPtr: number, length: number) => number;
|
|
79
|
+
simdVarianceF64: (aPtr: number, length: number, ddof: number) => number;
|
|
80
|
+
simdStdF64: (aPtr: number, length: number, ddof: number) => number;
|
|
81
|
+
simdAddF64: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
82
|
+
simdSubF64: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
83
|
+
simdMulF64: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
84
|
+
simdScaleF64: (aPtr: number, scalar: number, resultPtr: number, length: number) => void;
|
|
85
|
+
simdAbsF64: (aPtr: number, resultPtr: number, length: number) => void;
|
|
86
|
+
simdMatMulF64: (aPtr: number, bPtr: number, cPtr: number, m: number, k: number, n: number) => void;
|
|
87
|
+
gcdArray: (aPtr: number, n: number) => number;
|
|
88
|
+
hypotArray: (aPtr: number, n: number) => number;
|
|
89
|
+
norm1: (aPtr: number, n: number) => number;
|
|
90
|
+
norm2: (aPtr: number, n: number) => number;
|
|
91
|
+
normInf: (aPtr: number, n: number) => number;
|
|
92
|
+
normP: (aPtr: number, n: number, p: number) => number;
|
|
93
|
+
erfArray: (aPtr: number, n: number, resultPtr: number) => void;
|
|
94
|
+
zetaArray: (aPtr: number, n: number, resultPtr: number) => void;
|
|
95
|
+
gammaArray: (aPtr: number, n: number, resultPtr: number) => void;
|
|
96
|
+
lgammaArray: (aPtr: number, n: number, resultPtr: number) => void;
|
|
97
|
+
lgamma_f64: (xsPtr: number, n: number, outPtr: number) => number;
|
|
98
|
+
partitionSelect: (dataPtr: number, n: number, k: number, workPtr: number) => number;
|
|
99
|
+
distanceND: (p1Ptr: number, p2Ptr: number, n: number) => number;
|
|
100
|
+
distance2D: (x1: number, y1: number, x2: number, y2: number) => number;
|
|
101
|
+
distance3D: (x1: number, y1: number, z1: number, x2: number, y2: number, z2: number) => number;
|
|
102
|
+
intersect2DLines: (x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number, resultPtr: number) => void;
|
|
103
|
+
intersect2DInfiniteLines: (x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number, resultPtr: number) => void;
|
|
104
|
+
distancePointToLine2D: (px: number, py: number, x1: number, y1: number, x2: number, y2: number) => number;
|
|
105
|
+
statsMean: (aPtr: number, n: number) => number;
|
|
106
|
+
statsMedian: (aPtr: number, n: number) => number;
|
|
107
|
+
statsVariance: (aPtr: number, n: number, ddof: number) => number;
|
|
108
|
+
statsStd: (aPtr: number, n: number, ddof: number) => number;
|
|
109
|
+
statsSum: (aPtr: number, n: number) => number;
|
|
110
|
+
statsProd: (aPtr: number, n: number) => number;
|
|
111
|
+
statsMin: (aPtr: number, n: number) => number;
|
|
112
|
+
statsMax: (aPtr: number, n: number) => number;
|
|
113
|
+
statsCumsum: (aPtr: number, n: number) => void;
|
|
114
|
+
statsMad: (aPtr: number, n: number) => number;
|
|
115
|
+
statsCorrelation: (aPtr: number, bPtr: number, n: number) => number;
|
|
116
|
+
statsCovariance: (aPtr: number, bPtr: number, n: number, ddof: number) => number;
|
|
117
|
+
dct_wasm: (inPtr: number, outPtr: number, n: number) => void;
|
|
118
|
+
idct_wasm: (inPtr: number, outPtr: number, n: number) => void;
|
|
119
|
+
dst_wasm: (inPtr: number, outPtr: number, n: number) => void;
|
|
120
|
+
idst_wasm: (inPtr: number, outPtr: number, n: number) => void;
|
|
121
|
+
dwt_wasm: (inPtr: number, approxPtr: number, detailPtr: number, n: number) => void;
|
|
122
|
+
hilbert_wasm: (inRe: number, inIm: number, outRe: number, outIm: number, n: number) => void;
|
|
123
|
+
spectrogram_wasm: (inPtr: number, outPtr: number, n: number, windowSize: number, hop: number) => number;
|
|
124
|
+
periodogram_wasm: (inPtr: number, outPtr: number, n: number) => void;
|
|
125
|
+
fir_filter_wasm: (inPtr: number, coeffsPtr: number, outPtr: number, n: number, numCoeffs: number) => void;
|
|
126
|
+
freqz: (bPtr: number, bLen: number, aPtr: number, aLen: number, wPtr: number, wLen: number, hRealPtr: number, hImagPtr: number) => void;
|
|
127
|
+
fft: (dataPtr: number, n: number, inverse: number) => void;
|
|
128
|
+
fft2d: (dataPtr: number, rows: number, cols: number, inverse: number) => void;
|
|
129
|
+
convolve: (signalPtr: number, n: number, kernelPtr: number, m: number, resultPtr: number) => void;
|
|
130
|
+
rfft: (dataPtr: number, n: number, resultPtr: number) => void;
|
|
131
|
+
irfft: (dataPtr: number, n: number, resultPtr: number) => void;
|
|
132
|
+
isPowerOf2: (n: number) => number;
|
|
133
|
+
vectorAdd: (aPtr: number, bPtr: number, n: number, resultPtr: number) => void;
|
|
134
|
+
vectorScale: (aPtr: number, scalar: number, n: number, resultPtr: number) => void;
|
|
135
|
+
vectorCopy: (srcPtr: number, n: number, dstPtr: number) => void;
|
|
136
|
+
maxError: (errorPtr: number, n: number) => number;
|
|
137
|
+
computeStepAdjustment: (maxErr: number, tol: number, order: number, minDelta: number, maxDelta: number) => number;
|
|
138
|
+
rk45Step: (yPtr: number, t: number, h: number, n: number, kPtr: number, yNextPtr: number, yErrorPtr: number) => void;
|
|
139
|
+
rk23Step: (yPtr: number, t: number, h: number, n: number, kPtr: number, yNextPtr: number, yErrorPtr: number) => void;
|
|
140
|
+
minimize_quadratic_wasm: (hPtr: number, fPtr: number, n: number, xPtr: number) => number;
|
|
141
|
+
least_squares_wasm: (aPtr: number, bPtr: number, m: number, n: number, xPtr: number) => number;
|
|
142
|
+
levenberg_marquardt_wasm: (jPtr: number, rPtr: number, m: number, n: number, dpPtr: number, lambda: number) => void;
|
|
143
|
+
condition_number_wasm: (aPtr: number, n: number) => number;
|
|
144
|
+
matrix_rank_wasm: (aPtr: number, m: number, n: number, tol: number) => number;
|
|
145
|
+
bezier_eval_wasm: (ctrlPtr: number, nPoints: number, dims: number, t: number, resultPtr: number) => void;
|
|
146
|
+
bspline_eval_wasm: (ctrlPtr: number, nPoints: number, degree: number, t: number, resultPtr: number) => void;
|
|
147
|
+
loess_wasm: (xsPtr: number, ysPtr: number, n: number, x: number, bandwidth: number) => number;
|
|
148
|
+
rbf_interp_wasm: (pointsPtr: number, valuesPtr: number, n: number, dims: number, xiPtr: number, ni: number, resultPtr: number) => void;
|
|
149
|
+
griddata_wasm: (pointsPtr: number, valuesPtr: number, n: number, xiPtr: number, yiPtr: number, ni: number, resultPtr: number) => void;
|
|
150
|
+
implicit_euler_step_wasm: (yPtr: number, fPtr: number, jPtr: number, h: number, n: number, resultPtr: number) => void;
|
|
151
|
+
ode_system_rk4_step_wasm: (yPtr: number, kPtrs: number, h: number, n: number, resultPtr: number) => void;
|
|
152
|
+
delaunay_wasm: (ptsPtr: number, n: number, trisPtr: number) => number;
|
|
153
|
+
voronoi_wasm: (ptsPtr: number, n: number, boundsPtr: number, vertsPtr: number, edgesPtr: number, maxVerts: number, maxEdges: number) => number;
|
|
154
|
+
kdtree_build_wasm: (ptsPtr: number, n: number, dims: number, treePtr: number) => number;
|
|
155
|
+
kdtree_nearest_wasm: (treePtr: number, queryPtr: number, dims: number, treeSize: number) => number;
|
|
156
|
+
convex_hull_3d_wasm: (ptsPtr: number, nPts: number, facesPtr: number, maxFaces: number) => number;
|
|
157
|
+
bitAndArray?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
158
|
+
bitOrArray?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
159
|
+
bitXorArray?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
160
|
+
bitNotArray?: (inputPtr: number, resultPtr: number, length: number) => void;
|
|
161
|
+
leftShiftArrayPerElement?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
162
|
+
rightArithShiftArrayPerElement?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
163
|
+
rightLogShiftArrayPerElement?: (aPtr: number, bPtr: number, resultPtr: number, length: number) => void;
|
|
164
|
+
bitAnd_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
165
|
+
bitOr_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
166
|
+
bitXor_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
167
|
+
bitNot_i32_array?: (a: Int32Array, result: Int32Array) => void;
|
|
168
|
+
leftShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
169
|
+
rightArithShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
170
|
+
rightLogShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
171
|
+
poly_mul_f64?: (aPtr: number, aLen: number, bPtr: number, bLen: number, outPtr: number) => number;
|
|
172
|
+
poly_div_mod_f64?: (numPtr: number, numLen: number, denPtr: number, denLen: number, outPtr: number) => number;
|
|
173
|
+
poly_mul_f64_as?: (a: Float64Array, b: Float64Array) => Float64Array;
|
|
174
|
+
poly_div_mod_f64_as?: (num: Float64Array, den: Float64Array) => Float64Array;
|
|
175
|
+
poly_resultant_f64?: (pPtr: number, pLen: number, qPtr: number, qLen: number) => number;
|
|
176
|
+
poly_discriminant_f64?: (pPtr: number, pLen: number) => number;
|
|
177
|
+
poly_resultant_f64_as?: (p: Float64Array, q: Float64Array) => number;
|
|
178
|
+
poly_discriminant_f64_as?: (p: Float64Array) => number;
|
|
179
|
+
poly_fit_f64?: (xsPtr: number, ysPtr: number, n: number, degree: number, outPtr: number) => number;
|
|
180
|
+
cheb_fit_f64?: (xsPtr: number, ysPtr: number, n: number, degree: number, outPtr: number) => number;
|
|
181
|
+
legendre_fit_f64?: (xsPtr: number, ysPtr: number, n: number, degree: number, outPtr: number) => number;
|
|
182
|
+
poly_fit_f64_as?: (xs: Float64Array, ys: Float64Array, degree: number) => Float64Array;
|
|
183
|
+
cheb_fit_f64_as?: (xs: Float64Array, ys: Float64Array, degree: number) => Float64Array;
|
|
184
|
+
legendre_fit_f64_as?: (xs: Float64Array, ys: Float64Array, degree: number) => Float64Array;
|
|
185
|
+
tridiag_solve_f64?: (diagPtr: number, lowerPtr: number, upperPtr: number, rhsPtr: number, n: number, outPtr: number) => number;
|
|
186
|
+
tridiag_solve_f64_as?: (diag: Float64Array, lower: Float64Array, upper: Float64Array, rhs: Float64Array) => Float64Array;
|
|
187
|
+
divided_difference_f64?: (xsPtr: number, ysPtr: number, n: number, outPtr: number) => number;
|
|
188
|
+
divided_difference_f64_as?: (xs: Float64Array, ys: Float64Array) => Float64Array;
|
|
189
|
+
bessel_j0_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
190
|
+
bessel_j1_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
191
|
+
bessel_j_f64?: (order: number, xsPtr: number, nElems: number, outPtr: number) => number;
|
|
192
|
+
bessel_y0_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
193
|
+
bessel_y1_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
194
|
+
bessel_y_f64?: (order: number, xsPtr: number, nElems: number, outPtr: number) => number;
|
|
195
|
+
airy_ai_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
196
|
+
airy_bi_f64?: (xsPtr: number, n: number, outPtr: number) => number;
|
|
197
|
+
elliptic_k_f64?: (msPtr: number, n: number, outPtr: number) => number;
|
|
198
|
+
elliptic_e_f64?: (msPtr: number, n: number, outPtr: number) => number;
|
|
199
|
+
elliptic_k_f64_as?: (ms: Float64Array) => Float64Array;
|
|
200
|
+
elliptic_e_f64_as?: (ms: Float64Array) => Float64Array;
|
|
201
|
+
carlson_rc_f64?: (xsPtr: number, ysPtr: number, n: number, outPtr: number) => number;
|
|
202
|
+
carlson_rf_f64?: (xsPtr: number, ysPtr: number, zsPtr: number, n: number, outPtr: number) => number;
|
|
203
|
+
carlson_rd_f64?: (xsPtr: number, ysPtr: number, zsPtr: number, n: number, outPtr: number) => number;
|
|
204
|
+
carlson_rj_f64?: (xsPtr: number, ysPtr: number, zsPtr: number, psPtr: number, n: number, outPtr: number) => number;
|
|
205
|
+
elliptic_f_incomplete_f64?: (phisPtr: number, msPtr: number, n: number, outPtr: number) => number;
|
|
206
|
+
elliptic_e_incomplete_f64?: (phisPtr: number, msPtr: number, n: number, outPtr: number) => number;
|
|
207
|
+
elliptic_pi_incomplete_f64?: (nsPtr: number, phisPtr: number, msPtr: number, n: number, outPtr: number) => number;
|
|
208
|
+
carlson_rc_f64_as?: (xs: Float64Array, ys: Float64Array) => Float64Array;
|
|
209
|
+
carlson_rf_f64_as?: (xs: Float64Array, ys: Float64Array, zs: Float64Array) => Float64Array;
|
|
210
|
+
carlson_rd_f64_as?: (xs: Float64Array, ys: Float64Array, zs: Float64Array) => Float64Array;
|
|
211
|
+
carlson_rj_f64_as?: (xs: Float64Array, ys: Float64Array, zs: Float64Array, ps: Float64Array) => Float64Array;
|
|
212
|
+
elliptic_f_incomplete_f64_as?: (phis: Float64Array, ms: Float64Array) => Float64Array;
|
|
213
|
+
elliptic_e_incomplete_f64_as?: (phis: Float64Array, ms: Float64Array) => Float64Array;
|
|
214
|
+
elliptic_pi_incomplete_f64_as?: (ns: Float64Array, phis: Float64Array, ms: Float64Array) => Float64Array;
|
|
215
|
+
bessel_j0_f64_as?: (xs: Float64Array) => Float64Array;
|
|
216
|
+
bessel_j1_f64_as?: (xs: Float64Array) => Float64Array;
|
|
217
|
+
bessel_jn_f64_as?: (n: number, xs: Float64Array) => Float64Array;
|
|
218
|
+
bessel_y0_f64_as?: (xs: Float64Array) => Float64Array;
|
|
219
|
+
bessel_y1_f64_as?: (xs: Float64Array) => Float64Array;
|
|
220
|
+
bessel_yn_f64_as?: (n: number, xs: Float64Array) => Float64Array;
|
|
221
|
+
airy_ai_f64_as?: (xs: Float64Array) => Float64Array;
|
|
222
|
+
airy_bi_f64_as?: (xs: Float64Array) => Float64Array;
|
|
223
|
+
apply_window_f64?: (samplesPtr: number, n: number, windowType: number) => number;
|
|
224
|
+
welch_psd_f64?: (samplesPtr: number, n: number, frameLength: number, overlap: number, windowType: number, outPtr: number) => number;
|
|
225
|
+
bartlett_psd_f64?: (samplesPtr: number, n: number, frameLength: number, outPtr: number) => number;
|
|
226
|
+
goertzel_f64?: (samplesPtr: number, n: number, targetFreq: number, sampleRate: number) => number;
|
|
227
|
+
chirp_z_transform_f64?: (samplesPtr: number, n: number, m: number, phiStartRe: number, phiStartIm: number, phiStepRe: number, phiStepIm: number, outRePtr: number, outImPtr: number) => number;
|
|
228
|
+
apply_window_f64_as?: (samples: Float64Array, windowType: number) => number;
|
|
229
|
+
welch_psd_f64_as?: (samples: Float64Array, frameLength: number, overlap: number, windowType: number) => Float64Array;
|
|
230
|
+
bartlett_psd_f64_as?: (samples: Float64Array, frameLength: number) => Float64Array;
|
|
231
|
+
goertzel_f64_as?: (samples: Float64Array, targetFreq: number, sampleRate: number) => number;
|
|
232
|
+
chirp_z_transform_f64_as?: (samples: Float64Array, m: number, phiStartRe: number, phiStartIm: number, phiStepRe: number, phiStepIm: number) => Float64Array;
|
|
233
|
+
sort_f64?: (ptr: number, n: number) => number;
|
|
234
|
+
argsort_f64?: (dataPtr: number, n: number, outPtr: number) => number;
|
|
235
|
+
rank_f64?: (dataPtr: number, n: number, outPtr: number) => number;
|
|
236
|
+
matrix_lu_decompose?: (aHdr: number, n: number, lOutHdr: number, uOutHdr: number, permOutHdr: number) => number;
|
|
237
|
+
matrix_qr_decompose?: (aHdr: number, m: number, n: number, qOutHdr: number, rOutHdr: number) => number;
|
|
238
|
+
matrix_cholesky?: (aHdr: number, n: number, lOutHdr: number) => number;
|
|
239
|
+
matrix_inverse?: (aHdr: number, n: number, resultHdr: number, workHdr: number) => number;
|
|
240
|
+
matrix_determinant?: (aHdr: number, n: number, workHdr: number) => number;
|
|
241
|
+
__new: (size: number, id: number) => number;
|
|
242
|
+
__pin: (ptr: number) => number;
|
|
243
|
+
__unpin: (ptr: number) => void;
|
|
244
|
+
__collect: () => void;
|
|
245
|
+
memory: WebAssembly.Memory;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Loading metrics for performance monitoring
|
|
249
|
+
*/
|
|
250
|
+
export interface LoadingMetrics {
|
|
251
|
+
fileReadMs: number;
|
|
252
|
+
compileMs: number;
|
|
253
|
+
instantiateMs: number;
|
|
254
|
+
totalMs: number;
|
|
255
|
+
fromCache: boolean;
|
|
256
|
+
}
|
|
257
|
+
export declare class WasmLoader {
|
|
258
|
+
private static instance;
|
|
259
|
+
private wasmModule;
|
|
260
|
+
private compiledModule;
|
|
261
|
+
private loading;
|
|
262
|
+
private isNode;
|
|
263
|
+
private lastMetrics;
|
|
264
|
+
private float64Pool;
|
|
265
|
+
private int32Pool;
|
|
266
|
+
private readonly maxPoolSize;
|
|
267
|
+
private readonly poolSizeThreshold;
|
|
268
|
+
private constructor();
|
|
269
|
+
static getInstance(): WasmLoader;
|
|
270
|
+
/**
|
|
271
|
+
* Load the WASM module
|
|
272
|
+
*/
|
|
273
|
+
load(wasmPath?: string): Promise<WasmModule>;
|
|
274
|
+
/**
|
|
275
|
+
* Precompile the WASM module without instantiation
|
|
276
|
+
* Useful for build-time or startup optimization
|
|
277
|
+
*/
|
|
278
|
+
precompile(wasmPath?: string): Promise<void>;
|
|
279
|
+
private loadModule;
|
|
280
|
+
/**
|
|
281
|
+
* Get the WASM binary path based on the selected backend.
|
|
282
|
+
* Set MATHTS_WASM_BACKEND=assemblyscript to use the AS binary.
|
|
283
|
+
* Default is Rust (after migration cutover).
|
|
284
|
+
*
|
|
285
|
+
* Filenames were renamed from mathjs.wasm / mathjs-as.wasm during the
|
|
286
|
+
* mathjs-to-MathTS rebrand; the legacy MATHJS_WASM_BACKEND env var
|
|
287
|
+
* still works for one release for backward compatibility.
|
|
288
|
+
*
|
|
289
|
+
* Returns an async result because the Node branch dynamically imports
|
|
290
|
+
* `node:url` (fileURLToPath) so the path is resolved relative to this
|
|
291
|
+
* source file's location rather than process.cwd().
|
|
292
|
+
*/
|
|
293
|
+
private getDefaultWasmPath;
|
|
294
|
+
private loadNodeWasm;
|
|
295
|
+
private loadBrowserWasm;
|
|
296
|
+
private getImports;
|
|
297
|
+
/**
|
|
298
|
+
* Get the loaded WASM module
|
|
299
|
+
*/
|
|
300
|
+
getModule(): WasmModule | null;
|
|
301
|
+
/**
|
|
302
|
+
* Get the compiled WASM module (for caching/serialization)
|
|
303
|
+
*/
|
|
304
|
+
getCompiledModule(): WebAssembly.Module | null;
|
|
305
|
+
/**
|
|
306
|
+
* Check if WASM is loaded
|
|
307
|
+
*/
|
|
308
|
+
isLoaded(): boolean;
|
|
309
|
+
/**
|
|
310
|
+
* Check if WASM is precompiled
|
|
311
|
+
*/
|
|
312
|
+
isPrecompiled(): boolean;
|
|
313
|
+
/**
|
|
314
|
+
* Get loading performance metrics
|
|
315
|
+
*/
|
|
316
|
+
getLoadingMetrics(): LoadingMetrics | null;
|
|
317
|
+
/**
|
|
318
|
+
* Allocate Float64Array in WASM memory
|
|
319
|
+
* Uses memory pooling for frequently reused sizes
|
|
320
|
+
*/
|
|
321
|
+
allocateFloat64Array(data: number[] | Float64Array): {
|
|
322
|
+
ptr: number;
|
|
323
|
+
array: Float64Array;
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* Allocate Float64Array without copying data (for output buffers)
|
|
327
|
+
*/
|
|
328
|
+
allocateFloat64ArrayEmpty(length: number): {
|
|
329
|
+
ptr: number;
|
|
330
|
+
array: Float64Array;
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* Allocate Int32Array in WASM memory
|
|
334
|
+
* Uses memory pooling for frequently reused sizes
|
|
335
|
+
*/
|
|
336
|
+
allocateInt32Array(data: number[] | Int32Array): {
|
|
337
|
+
ptr: number;
|
|
338
|
+
array: Int32Array;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Allocate Int32Array without copying data (for output buffers)
|
|
342
|
+
*/
|
|
343
|
+
allocateInt32ArrayEmpty(length: number): {
|
|
344
|
+
ptr: number;
|
|
345
|
+
array: Int32Array;
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Get a suitable entry from the memory pool
|
|
349
|
+
*/
|
|
350
|
+
private getFromPool;
|
|
351
|
+
/**
|
|
352
|
+
* Return allocation to pool for reuse
|
|
353
|
+
*/
|
|
354
|
+
release(ptr: number, isFloat64?: boolean): void;
|
|
355
|
+
/**
|
|
356
|
+
* Free allocated memory (immediate, bypasses pool)
|
|
357
|
+
*/
|
|
358
|
+
free(ptr: number): void;
|
|
359
|
+
/**
|
|
360
|
+
* Clear the memory pool
|
|
361
|
+
*/
|
|
362
|
+
clearPool(): void;
|
|
363
|
+
/**
|
|
364
|
+
* Get pool statistics
|
|
365
|
+
*/
|
|
366
|
+
getPoolStats(): {
|
|
367
|
+
float64: {
|
|
368
|
+
total: number;
|
|
369
|
+
inUse: number;
|
|
370
|
+
totalBytes: number;
|
|
371
|
+
};
|
|
372
|
+
int32: {
|
|
373
|
+
total: number;
|
|
374
|
+
inUse: number;
|
|
375
|
+
totalBytes: number;
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
/**
|
|
379
|
+
* Run garbage collection
|
|
380
|
+
*/
|
|
381
|
+
collect(): void;
|
|
382
|
+
/**
|
|
383
|
+
* Reset the loader (for testing)
|
|
384
|
+
*/
|
|
385
|
+
reset(): void;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Global WASM loader instance
|
|
389
|
+
*/
|
|
390
|
+
export declare const wasmLoader: WasmLoader;
|
|
391
|
+
/**
|
|
392
|
+
* Initialize WASM module (call once at startup)
|
|
393
|
+
*/
|
|
394
|
+
export declare function initWasm(wasmPath?: string): Promise<WasmModule>;
|
|
395
|
+
//# sourceMappingURL=WasmLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../src/wasm/WasmLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM dispatch bridge for elementwise Int32Array bitwise ops.
|
|
3
|
+
*
|
|
4
|
+
* The typed bitwise functions in `functions/src/typed/bitwise.ts` already
|
|
5
|
+
* have a `ComputePool` fallback for `Int32Array` inputs (worker-pool tier
|
|
6
|
+
* or in-process JS, depending on size). This bridge adds a *third* tier
|
|
7
|
+
* above that for very large arrays where the SIMD/native WASM kernels
|
|
8
|
+
* dominate the worker dispatch overhead.
|
|
9
|
+
*
|
|
10
|
+
* Behavior:
|
|
11
|
+
* - If `wasmLoader.getModule()` returns null (nobody called
|
|
12
|
+
* `wasmLoader.load()` yet, or load failed), every helper here returns
|
|
13
|
+
* `null` and the caller falls back to `ComputePool`.
|
|
14
|
+
* - If the loaded module has the matching export, we marshal both
|
|
15
|
+
* operand `Int32Array`s into WASM-owned memory, run the kernel, and
|
|
16
|
+
* return a JS-side copy of the result.
|
|
17
|
+
* - Any thrown error is swallowed and the helper returns `null` so the
|
|
18
|
+
* `ComputePool` fallback still runs — the WASM tier is purely an
|
|
19
|
+
* optimization, not a correctness requirement.
|
|
20
|
+
*
|
|
21
|
+
* Both backends (Rust primary, AssemblyScript legacy) are supported:
|
|
22
|
+
* - Rust exports use the `*Array` (binary) and `*ArrayPerElement`
|
|
23
|
+
* (per-element shift) names with pointer-style arguments.
|
|
24
|
+
* - AS exports use `*_i32_array` and pass high-level `Int32Array`
|
|
25
|
+
* references that the AS loader rebinds against module memory.
|
|
26
|
+
*/
|
|
27
|
+
import { type WasmModule } from '../WasmLoader.js';
|
|
28
|
+
/**
|
|
29
|
+
* Length threshold above which we attempt the WASM dispatch tier. This is
|
|
30
|
+
* deliberately conservative (64K Int32 elements = 256 KiB per operand)
|
|
31
|
+
* because the marshal cost (two memcpys in + one memcpy out) only pays
|
|
32
|
+
* off when the kernel inner loop dominates. At smaller sizes the
|
|
33
|
+
* `ComputePool` in-process path is already faster than a WASM round trip.
|
|
34
|
+
*/
|
|
35
|
+
export declare const WASM_BITWISE_THRESHOLD: number;
|
|
36
|
+
/**
|
|
37
|
+
* Names of the WASM exports we look for, ordered (Rust first, AS
|
|
38
|
+
* second). The first match wins.
|
|
39
|
+
*/
|
|
40
|
+
interface OpNames {
|
|
41
|
+
rust: keyof WasmModule;
|
|
42
|
+
as: keyof WasmModule;
|
|
43
|
+
}
|
|
44
|
+
declare const BINARY_OPS: Record<string, OpNames>;
|
|
45
|
+
declare const UNARY_OPS: Record<string, OpNames>;
|
|
46
|
+
/**
|
|
47
|
+
* Run an elementwise binary Int32Array op via WASM. Returns the result
|
|
48
|
+
* (a new `Int32Array` copy) on success, `null` if no kernel is available.
|
|
49
|
+
* Any error from the kernel is swallowed and treated as `null` so the
|
|
50
|
+
* caller falls back to `ComputePool`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function runBinaryBitwiseWasm(op: keyof typeof BINARY_OPS, a: Int32Array, b: Int32Array): Int32Array | null;
|
|
53
|
+
/**
|
|
54
|
+
* Unary variant — currently only `bitNot`.
|
|
55
|
+
*/
|
|
56
|
+
export declare function runUnaryBitwiseWasm(op: keyof typeof UNARY_OPS, a: Int32Array): Int32Array | null;
|
|
57
|
+
/**
|
|
58
|
+
* Test-only hook: force-clear any cached state. Re-runs of the typed
|
|
59
|
+
* bitwise tests rely on `wasmLoader.reset()` to drop the loaded module;
|
|
60
|
+
* this re-exports it under a stable name so the bitwise tests don't have
|
|
61
|
+
* to import the loader directly.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resetBitwiseWasm(): void;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=wasm-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/bitwise/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,QAAY,CAAC;AAUhD;;;GAGG;AACH,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,UAAU,CAAC;IACvB,EAAE,EAAE,MAAM,UAAU,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgBvC,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAEtC,CAAC;AA4CF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,OAAO,UAAU,EAC3B,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,GACZ,UAAU,GAAG,IAAI,CAgCnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,OAAO,SAAS,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAwBhG;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM integrity verification — SHA-384 manifest check.
|
|
3
|
+
*
|
|
4
|
+
* The build pipeline writes a JSON manifest beside the .wasm artefact:
|
|
5
|
+
*
|
|
6
|
+
* {
|
|
7
|
+
* "mathjs.wasm": "sha384-<base64-of-binary-digest>",
|
|
8
|
+
* "mathjs-as.wasm": "sha384-<base64-of-binary-digest>"
|
|
9
|
+
* }
|
|
10
|
+
*
|
|
11
|
+
* At load time the runtime hashes the freshly read buffer with SHA-384
|
|
12
|
+
* and compares against the manifest. A mismatch throws — preventing
|
|
13
|
+
* silent code-injection if the .wasm artefact is tampered with on disk
|
|
14
|
+
* or in transit (e.g. a CDN/MITM compromise).
|
|
15
|
+
*
|
|
16
|
+
* Browser path uses `crypto.subtle.digest('SHA-384', buf)`.
|
|
17
|
+
* Node path uses `crypto.createHash('sha384').update(buf).digest()`.
|
|
18
|
+
*
|
|
19
|
+
* If the manifest is missing or has no entry for the given file, we
|
|
20
|
+
* emit a console warning and fall through. This keeps existing
|
|
21
|
+
* unsigned builds usable while making signed builds tamper-evident.
|
|
22
|
+
*/
|
|
23
|
+
export interface WasmManifest {
|
|
24
|
+
/** Map of filename -> "sha384-<base64 digest>" */
|
|
25
|
+
[fileName: string]: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Compute the SHA-384 digest of a buffer and return base64 encoding,
|
|
29
|
+
* prefixed with "sha384-" to match SRI conventions.
|
|
30
|
+
*/
|
|
31
|
+
export declare function sha384OfBuffer(buffer: ArrayBuffer | Uint8Array): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Load the manifest sitting next to the .wasm artefact.
|
|
34
|
+
*
|
|
35
|
+
* @param wasmPath Resolved path or URL to the .wasm file.
|
|
36
|
+
* @returns parsed manifest, or `null` if the manifest cannot be located.
|
|
37
|
+
*/
|
|
38
|
+
export declare function loadWasmManifest(wasmPath: string): Promise<WasmManifest | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Verify a freshly loaded WASM buffer against the manifest.
|
|
41
|
+
*
|
|
42
|
+
* @throws Error if the buffer's SHA-384 differs from the manifest entry.
|
|
43
|
+
*/
|
|
44
|
+
export declare function verifyWasmIntegrity(buffer: ArrayBuffer | Uint8Array, wasmPath: string, options?: {
|
|
45
|
+
manifest?: WasmManifest | null;
|
|
46
|
+
required?: boolean;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
//# sourceMappingURL=integrity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/wasm/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBtF;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmBrF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,GAAG,UAAU,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnE,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|