@danielsimonjr/mathts-functions 0.2.14 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/algebra/decomposition/lup.d.ts +19 -23
- package/dist/algebra/decomposition/lup.d.ts.map +1 -1
- package/dist/algebra/decomposition/qr.d.ts +11 -14
- package/dist/algebra/decomposition/qr.d.ts.map +1 -1
- package/dist/algebra/decomposition/schur.d.ts +7 -10
- package/dist/algebra/decomposition/schur.d.ts.map +1 -1
- package/dist/algebra/decomposition/slu.d.ts +6 -8
- package/dist/algebra/decomposition/slu.d.ts.map +1 -1
- package/dist/algebra/derivative.d.ts +6 -1
- package/dist/algebra/derivative.d.ts.map +1 -1
- package/dist/algebra/rationalize.d.ts.map +1 -1
- package/dist/algebra/resolve.d.ts.map +1 -1
- package/dist/algebra/simplify/util.d.ts +23 -12
- package/dist/algebra/simplify/util.d.ts.map +1 -1
- package/dist/algebra/simplify/wildcards.d.ts.map +1 -1
- package/dist/algebra/simplify.d.ts +27 -10
- package/dist/algebra/simplify.d.ts.map +1 -1
- package/dist/algebra/simplifyConstant.d.ts +46 -17
- package/dist/algebra/simplifyConstant.d.ts.map +1 -1
- package/dist/algebra/simplifyCore.d.ts +32 -19
- package/dist/algebra/simplifyCore.d.ts.map +1 -1
- package/dist/algebra/solver/lsolve.d.ts +9 -11
- package/dist/algebra/solver/lsolve.d.ts.map +1 -1
- package/dist/algebra/solver/lsolveAll.d.ts +1 -1
- package/dist/algebra/solver/lsolveAll.d.ts.map +1 -1
- package/dist/algebra/solver/lusolve.d.ts +12 -14
- package/dist/algebra/solver/lusolve.d.ts.map +1 -1
- package/dist/algebra/solver/usolve.d.ts +9 -11
- package/dist/algebra/solver/usolve.d.ts.map +1 -1
- package/dist/algebra/solver/usolveAll.d.ts +1 -1
- package/dist/algebra/solver/usolveAll.d.ts.map +1 -1
- package/dist/algebra/solver/utils/solveValidation.d.ts +4 -4
- package/dist/algebra/solver/utils/solveValidation.d.ts.map +1 -1
- package/dist/algebra/sparse/csAmd.d.ts +1 -1
- package/dist/algebra/sparse/csAmd.d.ts.map +1 -1
- package/dist/algebra/sparse/csChol.d.ts +2 -2
- package/dist/algebra/sparse/csChol.d.ts.map +1 -1
- package/dist/algebra/sparse/csCounts.d.ts +1 -1
- package/dist/algebra/sparse/csCounts.d.ts.map +1 -1
- package/dist/algebra/sparse/csDfs.d.ts +1 -1
- package/dist/algebra/sparse/csDfs.d.ts.map +1 -1
- package/dist/algebra/sparse/csEreach.d.ts +1 -1
- package/dist/algebra/sparse/csEreach.d.ts.map +1 -1
- package/dist/algebra/sparse/csEtree.d.ts +1 -1
- package/dist/algebra/sparse/csEtree.d.ts.map +1 -1
- package/dist/algebra/sparse/csFkeep.d.ts +1 -1
- package/dist/algebra/sparse/csFkeep.d.ts.map +1 -1
- package/dist/algebra/sparse/csLu.d.ts +2 -2
- package/dist/algebra/sparse/csLu.d.ts.map +1 -1
- package/dist/algebra/sparse/csPermute.d.ts +2 -2
- package/dist/algebra/sparse/csPermute.d.ts.map +1 -1
- package/dist/algebra/sparse/csReach.d.ts +1 -1
- package/dist/algebra/sparse/csReach.d.ts.map +1 -1
- package/dist/algebra/sparse/csSpsolve.d.ts +2 -2
- package/dist/algebra/sparse/csSpsolve.d.ts.map +1 -1
- package/dist/algebra/sparse/csSqr.d.ts +3 -3
- package/dist/algebra/sparse/csSqr.d.ts.map +1 -1
- package/dist/algebra/sparse/csSymperm.d.ts +2 -2
- package/dist/algebra/sparse/csSymperm.d.ts.map +1 -1
- package/dist/arithmetic/divide.d.ts +9 -9
- package/dist/arithmetic/divide.d.ts.map +1 -1
- package/dist/arithmetic/dotDivide.d.ts.map +1 -1
- package/dist/arithmetic/dotMultiply.d.ts.map +1 -1
- package/dist/arithmetic/dotPow.d.ts.map +1 -1
- package/dist/arithmetic/gcd.d.ts.map +1 -1
- package/dist/arithmetic/hypot.d.ts +9 -5
- package/dist/arithmetic/hypot.d.ts.map +1 -1
- package/dist/arithmetic/lcm.d.ts.map +1 -1
- package/dist/arithmetic/mod.d.ts.map +1 -1
- package/dist/arithmetic/nthRoot.d.ts.map +1 -1
- package/dist/arithmetic/nthRoots.d.ts.map +1 -1
- package/dist/arithmetic/subtract.d.ts.map +1 -1
- package/dist/bitwise/bitAnd.d.ts.map +1 -1
- package/dist/bitwise/bitOr.d.ts.map +1 -1
- package/dist/bitwise/bitXor.d.ts.map +1 -1
- package/dist/bitwise/leftShift.d.ts.map +1 -1
- package/dist/bitwise/rightArithShift.d.ts.map +1 -1
- package/dist/bitwise/rightLogShift.d.ts.map +1 -1
- package/dist/bitwise/useMatrixForArrayScalar.d.ts +4 -4
- package/dist/bitwise/useMatrixForArrayScalar.d.ts.map +1 -1
- package/dist/{chunk-KQGE5WGG.js → chunk-XDJV7IDD.js} +189 -89
- package/dist/combinatorics/bellNumbers.d.ts +2 -2
- package/dist/combinatorics/bellNumbers.d.ts.map +1 -1
- package/dist/combinatorics/catalan.d.ts +2 -2
- package/dist/combinatorics/catalan.d.ts.map +1 -1
- package/dist/combinatorics/composition.d.ts +2 -2
- package/dist/combinatorics/composition.d.ts.map +1 -1
- package/dist/combinatorics/stirlingS2.d.ts +2 -2
- package/dist/combinatorics/stirlingS2.d.ts.map +1 -1
- package/dist/complex/arg.d.ts.map +1 -1
- package/dist/complex/conj.d.ts.map +1 -1
- package/dist/complex/im.d.ts.map +1 -1
- package/dist/complex/re.d.ts.map +1 -1
- package/dist/core/create.d.ts +10 -10
- package/dist/core/create.d.ts.map +1 -1
- package/dist/core/function/config.d.ts.map +1 -1
- package/dist/core/function/import.d.ts +1 -1
- package/dist/core/function/import.d.ts.map +1 -1
- package/dist/core/function/typed.d.ts +6 -6
- package/dist/core/function/typed.d.ts.map +1 -1
- package/dist/error/ArgumentsError.d.ts.map +1 -1
- package/dist/error/DimensionError.d.ts.map +1 -1
- package/dist/error/IndexError.d.ts.map +1 -1
- package/dist/error/MathjsError.d.ts.map +1 -1
- package/dist/expression/operators.d.ts +23 -902
- package/dist/expression/operators.d.ts.map +1 -1
- package/dist/factories/evaluate.d.ts +1 -1
- package/dist/factories/evaluate.d.ts.map +1 -1
- package/dist/factories/index.d.ts +80 -40
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/matrix-bridge.d.ts +19 -19
- package/dist/factories/matrix-bridge.d.ts.map +1 -1
- package/dist/grad-forward.d.ts +31 -0
- package/dist/grad-forward.d.ts.map +1 -0
- package/dist/help.d.ts +11 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4134 -4772
- package/dist/logical/and.d.ts.map +1 -1
- package/dist/logical/or.d.ts.map +1 -1
- package/dist/logical/xor.d.ts.map +1 -1
- package/dist/matrix/column.d.ts +8 -9
- package/dist/matrix/column.d.ts.map +1 -1
- package/dist/matrix/concat.d.ts +9 -5
- package/dist/matrix/concat.d.ts.map +1 -1
- package/dist/matrix/count.d.ts.map +1 -1
- package/dist/matrix/cross.d.ts +7 -5
- package/dist/matrix/cross.d.ts.map +1 -1
- package/dist/matrix/det.d.ts +1 -0
- package/dist/matrix/det.d.ts.map +1 -1
- package/dist/matrix/diff.d.ts +9 -4
- package/dist/matrix/diff.d.ts.map +1 -1
- package/dist/matrix/dot.d.ts +2 -8
- package/dist/matrix/dot.d.ts.map +1 -1
- package/dist/matrix/eigs/complexEigs.d.ts +1 -0
- package/dist/matrix/eigs/complexEigs.d.ts.map +1 -1
- package/dist/matrix/eigs/realSymmetric.d.ts +2 -1
- package/dist/matrix/eigs/realSymmetric.d.ts.map +1 -1
- package/dist/matrix/eigs.d.ts +1 -0
- package/dist/matrix/eigs.d.ts.map +1 -1
- package/dist/matrix/expm.d.ts +1 -0
- package/dist/matrix/expm.d.ts.map +1 -1
- package/dist/matrix/fft.d.ts +19 -21
- package/dist/matrix/fft.d.ts.map +1 -1
- package/dist/matrix/filter.d.ts.map +1 -1
- package/dist/matrix/flatten.d.ts.map +1 -1
- package/dist/matrix/forEach.d.ts.map +1 -1
- package/dist/matrix/getMatrixDataType.d.ts.map +1 -1
- package/dist/matrix/identity.d.ts +6 -9
- package/dist/matrix/identity.d.ts.map +1 -1
- package/dist/matrix/ifft.d.ts +10 -10
- package/dist/matrix/ifft.d.ts.map +1 -1
- package/dist/matrix/inv.d.ts +1 -0
- package/dist/matrix/inv.d.ts.map +1 -1
- package/dist/matrix/kron.d.ts +5 -5
- package/dist/matrix/kron.d.ts.map +1 -1
- package/dist/matrix/map.d.ts.map +1 -1
- package/dist/matrix/mapSlices.d.ts +1 -1
- package/dist/matrix/mapSlices.d.ts.map +1 -1
- package/dist/matrix/matrixFromColumns.d.ts +9 -9
- package/dist/matrix/matrixFromColumns.d.ts.map +1 -1
- package/dist/matrix/matrixFromFunction.d.ts +10 -2
- package/dist/matrix/matrixFromFunction.d.ts.map +1 -1
- package/dist/matrix/matrixFromRows.d.ts +9 -9
- package/dist/matrix/matrixFromRows.d.ts.map +1 -1
- package/dist/matrix/native-accel.d.ts +21 -0
- package/dist/matrix/native-accel.d.ts.map +1 -0
- package/dist/matrix/ones.d.ts +1 -1
- package/dist/matrix/ones.d.ts.map +1 -1
- package/dist/matrix/partitionSelect.d.ts +4 -4
- package/dist/matrix/partitionSelect.d.ts.map +1 -1
- package/dist/matrix/pinv.d.ts +1 -0
- package/dist/matrix/pinv.d.ts.map +1 -1
- package/dist/matrix/reshape.d.ts.map +1 -1
- package/dist/matrix/resize.d.ts +3 -3
- package/dist/matrix/resize.d.ts.map +1 -1
- package/dist/matrix/rotate.d.ts +2 -2
- package/dist/matrix/rotate.d.ts.map +1 -1
- package/dist/matrix/rotationMatrix.d.ts +20 -11
- package/dist/matrix/rotationMatrix.d.ts.map +1 -1
- package/dist/matrix/row.d.ts +8 -9
- package/dist/matrix/row.d.ts.map +1 -1
- package/dist/matrix/size.d.ts +2 -4
- package/dist/matrix/size.d.ts.map +1 -1
- package/dist/matrix/sort.d.ts +7 -4
- package/dist/matrix/sort.d.ts.map +1 -1
- package/dist/matrix/sqrtm.d.ts +1 -0
- package/dist/matrix/sqrtm.d.ts.map +1 -1
- package/dist/matrix/squeeze.d.ts.map +1 -1
- package/dist/matrix/subset.d.ts +33 -5
- package/dist/matrix/subset.d.ts.map +1 -1
- package/dist/matrix/transpose.d.ts +8 -8
- package/dist/matrix/transpose.d.ts.map +1 -1
- package/dist/matrix/utils/zerosAndOnes.d.ts +6 -8
- package/dist/matrix/utils/zerosAndOnes.d.ts.map +1 -1
- package/dist/matrix/zeros.d.ts +1 -1
- package/dist/matrix/zeros.d.ts.map +1 -1
- package/dist/numeric/solveODE.d.ts.map +1 -1
- package/dist/probability/gamma.d.ts.map +1 -1
- package/dist/probability/util/seededRNG.d.ts.map +1 -1
- package/dist/relational/compareNatural.d.ts.map +1 -1
- package/dist/set/setCartesian.d.ts +2 -2
- package/dist/set/setCartesian.d.ts.map +1 -1
- package/dist/set/setDifference.d.ts +2 -2
- package/dist/set/setDifference.d.ts.map +1 -1
- package/dist/set/setIntersect.d.ts +2 -2
- package/dist/set/setIntersect.d.ts.map +1 -1
- package/dist/set/setSymDifference.d.ts +2 -2
- package/dist/set/setSymDifference.d.ts.map +1 -1
- package/dist/set/setUnion.d.ts +2 -2
- package/dist/set/setUnion.d.ts.map +1 -1
- package/dist/special/zeta.d.ts +12 -10
- package/dist/special/zeta.d.ts.map +1 -1
- package/dist/statistics/quantileSeq.d.ts.map +1 -1
- package/dist/statistics/std.d.ts.map +1 -1
- package/dist/statistics/utils/improveErrorMessage.d.ts +1 -7
- package/dist/statistics/utils/improveErrorMessage.d.ts.map +1 -1
- package/dist/string/bin.d.ts +2 -2
- package/dist/string/bin.d.ts.map +1 -1
- package/dist/string/hex.d.ts +2 -2
- package/dist/string/hex.d.ts.map +1 -1
- package/dist/string/oct.d.ts +2 -2
- package/dist/string/oct.d.ts.map +1 -1
- package/dist/trigonometry/acot.d.ts.map +1 -1
- package/dist/trigonometry/acoth.d.ts.map +1 -1
- package/dist/trigonometry/acsc.d.ts.map +1 -1
- package/dist/trigonometry/acsch.d.ts.map +1 -1
- package/dist/trigonometry/asec.d.ts.map +1 -1
- package/dist/trigonometry/asech.d.ts.map +1 -1
- package/dist/trigonometry/atan2.d.ts +3 -5
- package/dist/trigonometry/atan2.d.ts.map +1 -1
- package/dist/trigonometry/cot.d.ts.map +1 -1
- package/dist/trigonometry/coth.d.ts.map +1 -1
- package/dist/trigonometry/csc.d.ts.map +1 -1
- package/dist/trigonometry/csch.d.ts.map +1 -1
- package/dist/trigonometry/sec.d.ts.map +1 -1
- package/dist/trigonometry/sech.d.ts.map +1 -1
- package/dist/type/chain/function/chain.d.ts +1 -1
- package/dist/type/chain/function/chain.d.ts.map +1 -1
- package/dist/type/local/Decimal.d.ts +0 -1
- package/dist/type/local/Decimal.d.ts.map +1 -1
- package/dist/type/matrix/FibonacciHeap.d.ts +1 -1
- package/dist/type/matrix/FibonacciHeap.d.ts.map +1 -1
- package/dist/type/matrix/ImmutableDenseMatrix.d.ts.map +1 -1
- package/dist/type/matrix/MatrixIndex.d.ts +8 -8
- package/dist/type/matrix/MatrixIndex.d.ts.map +1 -1
- package/dist/type/matrix/function/index.d.ts +1 -1
- package/dist/type/matrix/function/index.d.ts.map +1 -1
- package/dist/type/matrix/types.d.ts +21 -21
- package/dist/type/matrix/types.d.ts.map +1 -1
- package/dist/type/matrix/utils/broadcast.d.ts +2 -2
- package/dist/type/matrix/utils/broadcast.d.ts.map +1 -1
- package/dist/type/matrix/utils/matAlgo06xS0S0.d.ts.map +1 -1
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts +1 -1
- package/dist/type/matrix/utils/matAlgo10xSids.d.ts.map +1 -1
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts +1 -1
- package/dist/type/matrix/utils/matAlgo11xS0s.d.ts.map +1 -1
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts +1 -1
- package/dist/type/matrix/utils/matAlgo12xSfs.d.ts.map +1 -1
- package/dist/type/matrix/utils/matrixAlgorithmSuite.d.ts.map +1 -1
- package/dist/type/unit/Unit.d.ts +2 -13906
- package/dist/type/unit/Unit.d.ts.map +1 -1
- package/dist/type/unit/unit-types.d.ts +227 -0
- package/dist/type/unit/unit-types.d.ts.map +1 -0
- package/dist/typed/algebra.d.ts.map +1 -1
- package/dist/typed/arithmetic.d.ts +14 -5
- package/dist/typed/arithmetic.d.ts.map +1 -1
- package/dist/typed/cas.d.ts.map +1 -1
- package/dist/typed/dist-objects.d.ts.map +1 -1
- package/dist/typed/distributions.d.ts.map +1 -1
- package/dist/typed/geometry.d.ts +1 -1
- package/dist/typed/hypothesis.d.ts.map +1 -1
- package/dist/typed/interpolation.d.ts +3 -3
- package/dist/typed/parallel-map.d.ts +28 -0
- package/dist/typed/parallel-map.d.ts.map +1 -0
- package/dist/typed/signal.d.ts +1 -1
- package/dist/typed/special.d.ts +10 -29
- package/dist/typed/special.d.ts.map +1 -1
- package/dist/typed/statistics.d.ts.map +1 -1
- package/dist/typed/trigonometry.d.ts.map +1 -1
- package/dist/types.d.ts +8 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/array.d.ts +4 -4
- package/dist/utils/array.d.ts.map +1 -1
- package/dist/utils/bigint.d.ts +3 -1
- package/dist/utils/bigint.d.ts.map +1 -1
- package/dist/utils/bignumber/bitwise.d.ts +41 -7
- package/dist/utils/bignumber/bitwise.d.ts.map +1 -1
- package/dist/utils/bignumber/constants.d.ts.map +1 -1
- package/dist/utils/bignumber/formatter.d.ts +35 -4
- package/dist/utils/bignumber/formatter.d.ts.map +1 -1
- package/dist/utils/bignumber/nearlyEqual.d.ts +1 -17
- package/dist/utils/bignumber/nearlyEqual.d.ts.map +1 -1
- package/dist/utils/collection.d.ts.map +1 -1
- package/dist/utils/complex.d.ts +2 -1
- package/dist/utils/complex.d.ts.map +1 -1
- package/dist/utils/customs.d.ts +6 -6
- package/dist/utils/customs.d.ts.map +1 -1
- package/dist/utils/emitter.d.ts +4 -4
- package/dist/utils/emitter.d.ts.map +1 -1
- package/dist/utils/factory.d.ts +7 -7
- package/dist/utils/factory.d.ts.map +1 -1
- package/dist/utils/function.d.ts +15 -6
- package/dist/utils/function.d.ts.map +1 -1
- package/dist/utils/is.d.ts +2 -2
- package/dist/utils/is.d.ts.map +1 -1
- package/dist/utils/log.d.ts +1 -1
- package/dist/utils/log.d.ts.map +1 -1
- package/dist/utils/lruQueue.d.ts +3 -3
- package/dist/utils/lruQueue.d.ts.map +1 -1
- package/dist/utils/map.d.ts +6 -6
- package/dist/utils/map.d.ts.map +1 -1
- package/dist/utils/noop.d.ts +5 -5
- package/dist/utils/noop.d.ts.map +1 -1
- package/dist/utils/number.d.ts.map +1 -1
- package/dist/utils/object.d.ts.map +1 -1
- package/dist/utils/optimizeCallback.d.ts +3 -1
- package/dist/utils/optimizeCallback.d.ts.map +1 -1
- package/dist/utils/parseNumber.d.ts +2 -1
- package/dist/utils/parseNumber.d.ts.map +1 -1
- package/dist/utils/product.d.ts +1 -1
- package/dist/utils/product.d.ts.map +1 -1
- package/dist/utils/string.d.ts +15 -5
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/switch.d.ts +1 -1
- package/dist/utils/switch.d.ts.map +1 -1
- package/dist/wasm/WasmLoader.d.ts +3 -38
- package/dist/wasm/WasmLoader.d.ts.map +1 -1
- package/dist/wasm/bitwise/wasm-bridge.d.ts +13 -10
- package/dist/wasm/bitwise/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/bridges/common.d.ts +99 -0
- package/dist/wasm/bridges/common.d.ts.map +1 -0
- package/dist/wasm/elementwise/wasm-bridge.d.ts +4 -5
- package/dist/wasm/elementwise/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/interpolation/wasm-bridge.d.ts +7 -8
- package/dist/wasm/interpolation/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/mathts-as.wasm +0 -0
- package/dist/wasm/poly/wasm-bridge.d.ts +6 -9
- package/dist/wasm/poly/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/signal/wasm-bridge.d.ts +6 -4
- package/dist/wasm/signal/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/sort/wasm-bridge.d.ts +21 -9
- package/dist/wasm/sort/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/special/scalars.d.ts +94 -0
- package/dist/wasm/special/scalars.d.ts.map +1 -0
- package/dist/wasm/special/wasm-bridge.d.ts +45 -34
- package/dist/wasm/special/wasm-bridge.d.ts.map +1 -1
- package/dist/wasm/wasm-manifest.json +1 -1
- package/dist/{wasm-bridge-275OBBTO.js → wasm-bridge-NI5PIJZC.js} +1 -1
- package/package.json +73 -73
- package/dist/wasm/mathts.wasm +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/** Element-count threshold above which the WASM kernel beats JS. */
|
|
2
2
|
export declare const WASM_ELEMENTWISE_THRESHOLD = 1024;
|
|
3
3
|
/**
|
|
4
|
-
* Unary ops with
|
|
4
|
+
* Unary ops with an `array_<op>_ptr` kernel that is benchmark-confirmed
|
|
5
5
|
* net-faster than JS (see tools/benchmark/wasm/{elementwise,transcendental}.bench.mjs).
|
|
6
6
|
* Excluded after measuring (JS wins): sqrt, cbrt, asin, acos, cosh, asinh, acosh.
|
|
7
7
|
*/
|
|
8
8
|
export declare const WASM_ELEMENTWISE_OPS: readonly ["abs", "sin", "cos", "tan", "exp", "log", "atan", "sinh", "tanh", "atanh", "expm1", "log1p", "log2", "log10", "sec", "csc", "cot", "erfc"];
|
|
9
9
|
export type WasmElementwiseOp = (typeof WASM_ELEMENTWISE_OPS)[number];
|
|
10
10
|
/**
|
|
11
|
-
* Apply a unary elementwise op over `xs` via the
|
|
11
|
+
* Apply a unary elementwise op over `xs` via the AS `array_<op>_ptr` kernel.
|
|
12
12
|
* Returns the result, or `null` (below threshold, wasm unavailable, kernel
|
|
13
13
|
* missing, or any failure) — in which case the caller uses its JS/parallel path.
|
|
14
14
|
* Never throws.
|
|
@@ -18,9 +18,8 @@ export declare function elementwiseUnaryDispatch(op: WasmElementwiseOp, xs: Floa
|
|
|
18
18
|
* Op-fusion (Tier 3): apply a *chain* of unary ops with the data resident in
|
|
19
19
|
* wasm memory the whole time — one copy-in, one copy-out, regardless of chain
|
|
20
20
|
* length. `fuseUnaryChain([sin, exp])` computes `exp(sin(x))` paying the JS↔wasm
|
|
21
|
-
* transfer once instead of once per op.
|
|
22
|
-
*
|
|
23
|
-
* JS) below threshold, when wasm is unavailable, or any kernel is missing.
|
|
21
|
+
* transfer once instead of once per op. Returns null (caller applies the chain
|
|
22
|
+
* in JS) below threshold, when wasm is unavailable, or any kernel is missing.
|
|
24
23
|
* Never throws.
|
|
25
24
|
*/
|
|
26
25
|
export declare function elementwiseChainDispatch(ops: WasmElementwiseOp[], xs: Float64Array): Float64Array | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/elementwise/wasm-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/elementwise/wasm-bridge.ts"],"names":[],"mappings":"AAwBA,oEAAoE;AACpE,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,sJAOvB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKtE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,iBAAiB,EACrB,EAAE,EAAE,YAAY,GACf,YAAY,GAAG,IAAI,CASrB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,iBAAiB,EAAE,EACxB,EAAE,EAAE,YAAY,GACf,YAAY,GAAG,IAAI,CAcrB"}
|
|
@@ -8,16 +8,15 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Behavior:
|
|
10
10
|
* - When `wasmLoader.getModule()` returns null (module not loaded or
|
|
11
|
-
* load failed)
|
|
12
|
-
* throwing.
|
|
13
|
-
* - When the
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* - When only the AS export is present (the AS binary is loaded), we
|
|
17
|
-
* pass the Float64Array references directly via the `_as`-named
|
|
18
|
-
* variant.
|
|
11
|
+
* load failed) or the loaded module is not the AS binary, the helper
|
|
12
|
+
* returns the JS fallback result without throwing.
|
|
13
|
+
* - When the AS binary is loaded, we marshal the Float64Array operands
|
|
14
|
+
* into AS managed arrays, run the kernel, and return a JS-side copy of
|
|
15
|
+
* the result.
|
|
19
16
|
* - Any thrown error is swallowed and the JS fallback runs — the
|
|
20
17
|
* WASM tier is an optimisation, not a correctness requirement.
|
|
18
|
+
* - The legacy native-pointer path was removed from this bridge in the
|
|
19
|
+
* migration Phase 5 functions cutover.
|
|
21
20
|
*
|
|
22
21
|
* Threshold:
|
|
23
22
|
* The marshal cost (four memcpys in + one out) pays off when the O(n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/interpolation/wasm-bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/interpolation/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAMzC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,YAAY,GAChB,YAAY,CA8Bd;AAMD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,YAAY,GAChB,YAAY,CA2Bd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,YAAY,CAepF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,YAAY,CAsB1F"}
|
|
Binary file
|
|
@@ -11,12 +11,9 @@
|
|
|
11
11
|
* - When `wasmLoader.getModule()` returns null (module not loaded or
|
|
12
12
|
* load failed), every helper here returns the JS fallback result
|
|
13
13
|
* without throwing.
|
|
14
|
-
* - When the loaded
|
|
14
|
+
* - When the loaded AS binary exposes the matching managed export, we
|
|
15
15
|
* marshal the Float64Array operands into WASM-owned memory, run
|
|
16
16
|
* the kernel, and return a JS-side copy of the result.
|
|
17
|
-
* - When only the AS export is present (the AS binary is loaded),
|
|
18
|
-
* we pass the Float64Array references directly via the `_as`-named
|
|
19
|
-
* variant (see `WasmModule` interface entries).
|
|
20
17
|
* - Any thrown error is swallowed and the JS fallback runs — the
|
|
21
18
|
* WASM tier is an optimisation, not a correctness requirement.
|
|
22
19
|
*
|
|
@@ -33,8 +30,8 @@
|
|
|
33
30
|
*/
|
|
34
31
|
export declare const WASM_POLY_THRESHOLD = 256;
|
|
35
32
|
/**
|
|
36
|
-
* Multiply two polynomials `a` and `b` via WASM when either
|
|
37
|
-
* length exceeds the threshold, otherwise falls back to inline JS.
|
|
33
|
+
* Multiply two polynomials `a` and `b` via the AS WASM kernel when either
|
|
34
|
+
* operand length exceeds the threshold, otherwise falls back to inline JS.
|
|
38
35
|
*
|
|
39
36
|
* Returns a `Float64Array` of length `a.length + b.length - 1`.
|
|
40
37
|
*/
|
|
@@ -67,7 +64,7 @@ export declare function discriminantDispatch(p: Float64Array): number;
|
|
|
67
64
|
*/
|
|
68
65
|
export declare const WASM_POLY_FIT_THRESHOLD = 1024;
|
|
69
66
|
/**
|
|
70
|
-
* Fit a polynomial via Vandermonde +
|
|
67
|
+
* Fit a polynomial via Vandermonde + normal equations (JS).
|
|
71
68
|
*
|
|
72
69
|
* Returns a `Float64Array` of length `degree + 1` with coefficients
|
|
73
70
|
* `[a0, a1, ..., a_degree]` (constant-first / power-ascending order).
|
|
@@ -76,7 +73,7 @@ export declare const WASM_POLY_FIT_THRESHOLD = 1024;
|
|
|
76
73
|
*/
|
|
77
74
|
export declare function polyFitDispatch(xs: Float64Array, ys: Float64Array, degree: number): Float64Array;
|
|
78
75
|
/**
|
|
79
|
-
* Fit a Chebyshev-series via Vandermonde +
|
|
76
|
+
* Fit a Chebyshev-series via Vandermonde + normal equations (JS).
|
|
80
77
|
*
|
|
81
78
|
* Returns a `Float64Array` of length `degree + 1` with Chebyshev coefficients.
|
|
82
79
|
*
|
|
@@ -84,7 +81,7 @@ export declare function polyFitDispatch(xs: Float64Array, ys: Float64Array, degr
|
|
|
84
81
|
*/
|
|
85
82
|
export declare function chebFitDispatch(xs: Float64Array, ys: Float64Array, degree: number): Float64Array;
|
|
86
83
|
/**
|
|
87
|
-
* Fit a Legendre-series via Vandermonde +
|
|
84
|
+
* Fit a Legendre-series via Vandermonde + normal equations (JS).
|
|
88
85
|
*
|
|
89
86
|
* Returns a `Float64Array` of length `degree + 1` with Legendre coefficients.
|
|
90
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/poly/wasm-bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/poly/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAuDvC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAiB9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,YAAY,GAChB;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CA8BrD;AA+FD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAiB1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAiB5D;AAMD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AA2K5C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,GACb,YAAY,CAEd;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
* - `goertzel_f64` — Goertzel single-bin DFT (returns |X[k]|²)
|
|
9
9
|
* - `chirp_z_transform_f64` — Bluestein chirp-Z transform
|
|
10
10
|
*
|
|
11
|
-
* Dispatch
|
|
12
|
-
* 1.
|
|
13
|
-
* 2.
|
|
14
|
-
*
|
|
11
|
+
* Dispatch (for arrays ≥ WASM_SIGNAL_THRESHOLD = 4096 samples):
|
|
12
|
+
* 1. AS managed kernel (the binary the functions package bundles).
|
|
13
|
+
* 2. Fall back to pure-JS implementation.
|
|
14
|
+
*
|
|
15
|
+
* The legacy native-pointer path was removed from this bridge in the
|
|
16
|
+
* migration Phase 5 functions cutover.
|
|
15
17
|
*
|
|
16
18
|
* Window-type encoding:
|
|
17
19
|
* 0 = Hann, 1 = Hamming, 2 = Blackman, 3 = Rectangular (no-op)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/signal/wasm-bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/signal/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAcH,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AA2B1C,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAuB7E;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAchG;AA2DD,gCAAgC;AAChC,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CA2Cd;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAEtF;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EACrB,CAAC,EAAE,MAAM,EACT,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,YAAY,CAAA;CAAE,CAiExC;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAoBnF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CA2Bd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAqB5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,CAAC,EAAE,MAAM,EACT,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,YAAY,CAAA;CAAE,CAsCxC"}
|
|
@@ -6,10 +6,14 @@
|
|
|
6
6
|
* - `argsort_f64` — return Int32Array of permutation indices (NaN-last).
|
|
7
7
|
* - `rank_f64` — return Int32Array of ranks (0-indexed, NaN-last).
|
|
8
8
|
*
|
|
9
|
-
* Dispatch
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Dispatch (for arrays ≥ WASM_SORT_THRESHOLD = 16 384 elements):
|
|
10
|
+
* - `sort_f64` uses the AS managed kernel — now an INTROSORT (3-way quicksort +
|
|
11
|
+
* median-of-3 + heapsort fallback), so duplicate-heavy input is O(n log n)
|
|
12
|
+
* (the old Lomuto quicksort degraded to O(n²)); value-sort stays bit-identical.
|
|
13
|
+
* - `argsort_f64` / `rank_f64` are repointed to AS (Phase 6): the AS
|
|
14
|
+
* index sort now uses a STABLE total-order comparator (value, then original
|
|
15
|
+
* index), so for tied values it returns the same permutation as the JS stable
|
|
16
|
+
* reference (verified Phase 6 — exact match on tie-heavy + NaN input).
|
|
13
17
|
*
|
|
14
18
|
* Any thrown error is swallowed and the JS fallback runs — WASM is an
|
|
15
19
|
* optimisation, not a correctness requirement.
|
|
@@ -29,15 +33,23 @@ export declare function rankF64JS(data: Float64Array): Int32Array;
|
|
|
29
33
|
*/
|
|
30
34
|
export declare function sortF64Dispatch(data: Float64Array): Float64Array;
|
|
31
35
|
/**
|
|
32
|
-
* Return the argsort permutation for `data` (NaN-last).
|
|
33
|
-
* After the call, `data[result[0]] ≤ data[result[1]] ≤
|
|
34
|
-
*
|
|
36
|
+
* Return the argsort permutation for `data` (NaN-last) — STABLE.
|
|
37
|
+
* After the call, `data[result[0]] ≤ data[result[1]] ≤ …`; equal values keep
|
|
38
|
+
* their original input order, matching the JS stable reference.
|
|
39
|
+
*
|
|
40
|
+
* Uses the AS managed kernel above {@link WASM_SORT_THRESHOLD}: the AS index
|
|
41
|
+
* sort now breaks value ties by original index (a strict total order), so it
|
|
42
|
+
* yields the identical permutation to the JS stable sort on tie-heavy input
|
|
43
|
+
* (verified Phase 6). Falls back to JS when wasm is unavailable / on any error.
|
|
35
44
|
*/
|
|
36
45
|
export declare function argsortF64Dispatch(data: Float64Array): Int32Array;
|
|
37
46
|
/**
|
|
38
|
-
* Return the rank array for `data` (0-indexed, NaN-last).
|
|
47
|
+
* Return the rank array for `data` (0-indexed, NaN-last) — STABLE.
|
|
39
48
|
* `result[i]` = position of `data[i]` in the sorted array.
|
|
40
|
-
*
|
|
49
|
+
*
|
|
50
|
+
* Uses the AS managed kernel above {@link WASM_SORT_THRESHOLD} (derived from the
|
|
51
|
+
* stable AS argsort, so it matches the JS stable reference on ties — verified
|
|
52
|
+
* Phase 6). Falls back to JS when wasm is unavailable / on any error.
|
|
41
53
|
*/
|
|
42
54
|
export declare function rankF64Dispatch(data: Float64Array): Int32Array;
|
|
43
55
|
//# sourceMappingURL=wasm-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/sort/wasm-bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/sort/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAiBzC,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAO1D;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAS3D;AAED,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAMxD;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAsBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAiBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAiB9D"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical special-function scalar implementations.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for the special-function scalars that are needed by
|
|
5
|
+
* BOTH the typed dispatch surface (`functions/src/typed/special.ts`) and the
|
|
6
|
+
* WASM dispatch bridge JS fallbacks (`functions/src/wasm/special/wasm-bridge.ts`).
|
|
7
|
+
* Previously each of these scalars existed in two near-identical copies, so a
|
|
8
|
+
* numeric fix to one could silently diverge `f(x)` (scalar / sub-threshold path)
|
|
9
|
+
* from `f([x])` (≥-threshold WASM-fallback path). They now live here once.
|
|
10
|
+
*
|
|
11
|
+
* Serialization invariant (do NOT regress):
|
|
12
|
+
* Every function in this module is a standalone declaration that references
|
|
13
|
+
* ONLY `Math.*`, its own arguments, and the other functions in this module.
|
|
14
|
+
* It must NOT reference module-level constants or imports. This is required
|
|
15
|
+
* because `typed/special.ts` serializes these into self-contained worker
|
|
16
|
+
* kernels via `Function.prototype.toString()` (the worker `eval`s the text in
|
|
17
|
+
* an isolated context — see `kernelSource` / `packages/workerpool/src/worker.ts`).
|
|
18
|
+
* Numeric constants are therefore inlined as literals:
|
|
19
|
+
* Euler-gamma 0.5772156649015328606, 2/pi 0.63661977236758134308,
|
|
20
|
+
* 1/pi 0.31830988618379067154, Bessel series/asymptotic split |x| = 13.
|
|
21
|
+
*
|
|
22
|
+
* @packageDocumentation
|
|
23
|
+
*/
|
|
24
|
+
/** 64-bit float (default for decimals) */
|
|
25
|
+
type f64 = number;
|
|
26
|
+
/**
|
|
27
|
+
* Log-gamma function using Lanczos approximation (g=7, n=9).
|
|
28
|
+
* Poles at non-positive integers return +Infinity; negative non-integers use
|
|
29
|
+
* the reflection formula.
|
|
30
|
+
*/
|
|
31
|
+
export declare function _lgamma(x: f64): f64;
|
|
32
|
+
export declare function besselHankel(nu: f64, x: f64, wantY: boolean): f64;
|
|
33
|
+
export declare function besselJ0Series(x: f64): f64;
|
|
34
|
+
export declare function besselJ1Series(x: f64): f64;
|
|
35
|
+
export declare function besselY0Series(x: f64): f64;
|
|
36
|
+
export declare function besselY1Series(x: f64): f64;
|
|
37
|
+
/** Bessel function of the first kind, order 0: J0(x). */
|
|
38
|
+
export declare function besselJ0Scalar(x: f64): f64;
|
|
39
|
+
/** Bessel function of the first kind, order 1: J1(x). */
|
|
40
|
+
export declare function besselJ1Scalar(x: f64): f64;
|
|
41
|
+
/** Bessel function of the second kind, order 0: Y0(x). */
|
|
42
|
+
export declare function besselY0Scalar(x: f64): f64;
|
|
43
|
+
/** Bessel function of the second kind, order 1: Y1(x). */
|
|
44
|
+
export declare function besselY1Scalar(x: f64): f64;
|
|
45
|
+
/** Bessel function of the first kind, general integer order n: J_n(x). */
|
|
46
|
+
export declare function besselJScalar(n: f64, x: f64): f64;
|
|
47
|
+
/**
|
|
48
|
+
* Bessel function of the second kind, general integer order n: Y_n(x).
|
|
49
|
+
*
|
|
50
|
+
* Negative orders use the parity identity Y_{-n}(x) = (-1)^n Y_n(x). (The
|
|
51
|
+
* earlier `typed/special.ts` copy omitted this and returned Y_1 for any
|
|
52
|
+
* negative order; the WASM-bridge fallback copy applied it. Reconciled here to
|
|
53
|
+
* the mathematically correct form so the scalar and array paths agree.)
|
|
54
|
+
*/
|
|
55
|
+
export declare function besselYScalar(n: f64, x: f64): f64;
|
|
56
|
+
/** Complete elliptic integral of the first kind K(m) via AGM. */
|
|
57
|
+
export declare function ellipticKScalar(m: f64): f64;
|
|
58
|
+
/** Complete elliptic integral of the second kind E(m) via Carlson-Bulirsch AGM. */
|
|
59
|
+
export declare function ellipticECompleteScalar(m: f64): f64;
|
|
60
|
+
/**
|
|
61
|
+
* Airy asymptotic coefficients u_k (DLMF 9.7.2):
|
|
62
|
+
* u_0 = 1, u_k = u_{k-1} (6k-5)(6k-3)(6k-1) / ((2k-1) · 216 · k).
|
|
63
|
+
* A function (not a module const) so it stays self-contained when serialized
|
|
64
|
+
* into a worker kernel.
|
|
65
|
+
*/
|
|
66
|
+
export declare function airyUCoeffs(): number[];
|
|
67
|
+
/**
|
|
68
|
+
* Evaluate the two alternating asymptotic sums used by Ai(-z)/Bi(-z):
|
|
69
|
+
* P(ζ) = Σ_k (-1)^k u_{2k} / ζ^{2k} (even-index coefficients)
|
|
70
|
+
* Q(ζ) = Σ_k (-1)^k u_{2k+1} / ζ^{2k+1} (odd-index coefficients)
|
|
71
|
+
* Both series are divergent — each is summed only to its smallest term.
|
|
72
|
+
*/
|
|
73
|
+
export declare function airyAsymPQ(zeta: f64): {
|
|
74
|
+
p: f64;
|
|
75
|
+
q: f64;
|
|
76
|
+
};
|
|
77
|
+
/** Airy function of the first kind Ai(x). */
|
|
78
|
+
export declare function airyAiScalar(x: f64): f64;
|
|
79
|
+
/** Airy function of the second kind Bi(x). */
|
|
80
|
+
export declare function airyBiScalar(x: f64): f64;
|
|
81
|
+
/** Factorial of a non-negative integer. */
|
|
82
|
+
export declare function factorial(n: number): number;
|
|
83
|
+
/** Beta function B(a, b) = Gamma(a) Gamma(b) / Gamma(a + b). */
|
|
84
|
+
export declare function betaScalar(a: f64, b: f64): f64;
|
|
85
|
+
/** Regularized lower incomplete gamma function P(a, x). */
|
|
86
|
+
export declare function gammaincScalar(a: f64, x: f64): f64;
|
|
87
|
+
/** Upper regularized incomplete gamma Q(a, x) = 1 - P(a, x). */
|
|
88
|
+
export declare function gammaincpScalar(a: f64, x: f64): f64;
|
|
89
|
+
/** Regularized incomplete beta function I_x(a, b). */
|
|
90
|
+
export declare function betaincScalar(a: f64, b: f64, x: f64): f64;
|
|
91
|
+
/** Modified Bessel function of the first kind, I_n(x). */
|
|
92
|
+
export declare function besselIScalar(n: f64, x: f64): f64;
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=scalars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../../../src/wasm/special/scalars.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,0CAA0C;AAC1C,KAAK,GAAG,GAAG,MAAM,CAAC;AAMlB;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAwBnC;AAWD,wBAAgB,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAuBjE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAU1C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAU1C;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAe1C;AAID,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAmB1C;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAG1C;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAK1C;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAG1C;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAG1C;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAoCjD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAejD;AAMD,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAmB3C;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAyBnD;AASD;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAMtC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG;IAAE,CAAC,EAAE,GAAG,CAAC;IAAC,CAAC,EAAE,GAAG,CAAA;CAAE,CAsBxD;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CA0DxC;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAqDxC;AAYD,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAE9C;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAkClD;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAEnD;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAyCzD;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAYjD"}
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
* - `airy_bi_f64` — Bi(x) applied element-wise
|
|
13
13
|
*
|
|
14
14
|
* Dispatch order (for arrays ≥ WASM_SPECIAL_THRESHOLD = 1024 elements):
|
|
15
|
-
* 1.
|
|
16
|
-
* 2.
|
|
17
|
-
* 3. Fall back to pure-JS implementation.
|
|
15
|
+
* 1. AS managed kernel (the binary the functions package bundles).
|
|
16
|
+
* 2. Fall back to pure-JS implementation.
|
|
18
17
|
*
|
|
19
|
-
* AS parity (Slice 4.9): `assembly/src/special.ts` implements
|
|
20
|
-
* with the same algorithms
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* AS parity (Slice 4.9): `assembly/src/special.ts` implements the Bessel/Y and
|
|
19
|
+
* lgamma/elliptic kernels with the same algorithms, validated ≤1e-12 vs the JS
|
|
20
|
+
* reference. (Airy is the exception — see `airyAiDispatch`/`airyBiDispatch`,
|
|
21
|
+
* which stay on JS pending a Phase 6 AS asymptotic fix.) The legacy
|
|
22
|
+
* native-pointer path was removed from this bridge in the Phase 5 AS cutover.
|
|
23
23
|
*
|
|
24
24
|
* Any thrown error is swallowed and the JS fallback runs — the WASM tier
|
|
25
25
|
* is an optimisation, not a correctness requirement.
|
|
@@ -49,33 +49,44 @@ export declare function besselYnJS(n: number, xs: Float64Array): Float64Array;
|
|
|
49
49
|
export declare function airyAiJS(xs: Float64Array): Float64Array;
|
|
50
50
|
/** JS fallback: Bi(x) for all x. */
|
|
51
51
|
export declare function airyBiJS(xs: Float64Array): Float64Array;
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Dispatch J0/J1/Y0/Y1 — and the order-fixed J_n/Y_n — over an array.
|
|
54
|
+
* AS managed kernel → JS. All AS special kernels here bit-/tol-match the JS
|
|
55
|
+
* reference to ≤1e-12 (verified Phase 3b), so they are repointed via the shared
|
|
56
|
+
* `makeUnaryArrayDispatch` factory.
|
|
57
|
+
*/
|
|
58
|
+
export declare const besselJ0Dispatch: (xs: Float64Array) => Float64Array;
|
|
59
|
+
export declare const besselJ1Dispatch: (xs: Float64Array) => Float64Array;
|
|
60
|
+
/** Dispatch J_order over an array — AS managed, then JS. */
|
|
57
61
|
export declare function besselJDispatch(order: number, xs: Float64Array): Float64Array;
|
|
58
|
-
|
|
59
|
-
export declare
|
|
60
|
-
/** Dispatch
|
|
61
|
-
export declare function besselY1Dispatch(xs: Float64Array): Float64Array;
|
|
62
|
-
/** Dispatch Y_order over an array — Rust WASM, then AS, then JS. */
|
|
62
|
+
export declare const besselY0Dispatch: (xs: Float64Array) => Float64Array;
|
|
63
|
+
export declare const besselY1Dispatch: (xs: Float64Array) => Float64Array;
|
|
64
|
+
/** Dispatch Y_order over an array — AS managed, then JS. */
|
|
63
65
|
export declare function besselYDispatch(order: number, xs: Float64Array): Float64Array;
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Dispatch Ai(x) / Bi(x) over an array — AS managed → JS (Phase 6).
|
|
68
|
+
*
|
|
69
|
+
* The AS Airy asymptotic kernel now mirrors the JS reference exactly: its
|
|
70
|
+
* asymptotic sum is capped at the same 13-term (u_0..u_12) truncation as the
|
|
71
|
+
* JS `_airyAsymPos` / `_airyAsymNeg` table (see `AIRY_U_MAX` in
|
|
72
|
+
* assembly/src/special.ts). Previously the AS kernel generated u_k by recurrence
|
|
73
|
+
* and ran to its own optimal truncation (k≈15 near x≈5), diverging ~1e-7 from
|
|
74
|
+
* the JS value it is meant to match. With the cap, AS vs JS agree to ≈4e-16
|
|
75
|
+
* (relative) across the |x|>5 region (verified Phase 6), so these are repointed
|
|
76
|
+
* via the shared `makeUnaryArrayDispatch` factory (JS fallback retained).
|
|
77
|
+
*/
|
|
78
|
+
export declare const airyAiDispatch: (xs: Float64Array) => Float64Array;
|
|
79
|
+
export declare const airyBiDispatch: (xs: Float64Array) => Float64Array;
|
|
80
|
+
/** JS fallback: lgamma(x) applied element-wise (canonical `_lgamma`). */
|
|
69
81
|
export declare function lgammaJS(xs: Float64Array): Float64Array;
|
|
70
82
|
/**
|
|
71
|
-
* Dispatch lgamma over an array —
|
|
83
|
+
* Dispatch lgamma over an array — AS managed above threshold, then JS.
|
|
72
84
|
*
|
|
73
85
|
* For arrays ≥ WASM_SPECIAL_THRESHOLD (1024):
|
|
74
|
-
* 1.
|
|
75
|
-
* 2.
|
|
76
|
-
* 3. Fall back to pure-JS `lgammaJS`.
|
|
86
|
+
* 1. AS managed `lgamma_f64` kernel (the binary the functions package bundles).
|
|
87
|
+
* 2. Fall back to pure-JS `lgammaJS`.
|
|
77
88
|
*/
|
|
78
|
-
export declare
|
|
89
|
+
export declare const lgammaDispatch: (xs: Float64Array) => Float64Array;
|
|
79
90
|
export declare function carlsonRCJS(xs: Float64Array, ys: Float64Array): Float64Array;
|
|
80
91
|
export declare function carlsonRFJS(xs: Float64Array, ys: Float64Array, zs: Float64Array): Float64Array;
|
|
81
92
|
export declare function carlsonRDJS(xs: Float64Array, ys: Float64Array, zs: Float64Array): Float64Array;
|
|
@@ -90,7 +101,7 @@ export declare function carlsonRJScalar(x: number, y: number, z: number, p: numb
|
|
|
90
101
|
export declare function ellipticFIncompleteScalar(phi: number, m: number): number;
|
|
91
102
|
export declare function ellipticEIncompleteScalar(phi: number, m: number): number;
|
|
92
103
|
export declare function ellipticPiIncompleteScalar(n: number, phi: number, m: number): number;
|
|
93
|
-
/** Dispatch RC(x, y) element-wise —
|
|
104
|
+
/** Dispatch RC(x, y) element-wise — AS managed → JS. */
|
|
94
105
|
export declare function carlsonRCDispatch(xs: Float64Array, ys: Float64Array): Float64Array;
|
|
95
106
|
/** Dispatch RF(x, y, z) element-wise. */
|
|
96
107
|
export declare function carlsonRFDispatch(xs: Float64Array, ys: Float64Array, zs: Float64Array): Float64Array;
|
|
@@ -122,12 +133,12 @@ export declare function resetEllipticWasm(): void;
|
|
|
122
133
|
* Test-only alias for lgamma reset (uses same singleton).
|
|
123
134
|
*/
|
|
124
135
|
export declare function resetLgammaWasm(): void;
|
|
125
|
-
/** JS fallback: K(m) applied element-wise. */
|
|
136
|
+
/** JS fallback: K(m) applied element-wise (canonical `ellipticKScalar`). */
|
|
126
137
|
export declare function ellipticKJS(ms: Float64Array): Float64Array;
|
|
127
|
-
/** JS fallback: E(m) applied element-wise. */
|
|
138
|
+
/** JS fallback: E(m) applied element-wise (canonical `ellipticECompleteScalar`). */
|
|
128
139
|
export declare function ellipticEJS(ms: Float64Array): Float64Array;
|
|
129
|
-
/** Dispatch K(m) over an array —
|
|
130
|
-
export declare
|
|
131
|
-
/** Dispatch E(m) over an array —
|
|
132
|
-
export declare
|
|
140
|
+
/** Dispatch K(m) over an array — AS managed → JS. */
|
|
141
|
+
export declare const ellipticKDispatch: (xs: Float64Array) => Float64Array;
|
|
142
|
+
/** Dispatch E(m) over an array — AS managed → JS. */
|
|
143
|
+
export declare const ellipticEDispatch: (xs: Float64Array) => Float64Array;
|
|
133
144
|
//# sourceMappingURL=wasm-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/special/wasm-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"wasm-bridge.d.ts","sourceRoot":"","sources":["../../../src/wasm/special/wasm-bridge.ts"],"names":[],"mappings":"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"}
|