mathjs 10.6.4 → 11.1.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/HISTORY.md +79 -1
- package/README.md +1 -1
- package/lib/browser/math.js +2 -41
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +6 -5
- package/lib/cjs/core/function/import.js +4 -14
- package/lib/cjs/core/function/typed.js +54 -12
- package/lib/cjs/defaultInstance.js +3 -3
- package/lib/cjs/entry/allFactoriesAny.js +1 -1
- package/lib/cjs/entry/allFactoriesNumber.js +1 -1
- package/lib/cjs/entry/configReadonly.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +56 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +8 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +50 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +8 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +87 -61
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +93 -69
- package/lib/cjs/entry/pureFunctionsAny.generated.js +50 -45
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +22 -19
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -5
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/cjs/expression/node/AccessorNode.js +216 -173
- package/lib/cjs/expression/node/ArrayNode.js +206 -160
- package/lib/cjs/expression/node/AssignmentNode.js +321 -270
- package/lib/cjs/expression/node/BlockNode.js +223 -172
- package/lib/cjs/expression/node/ConditionalNode.js +253 -193
- package/lib/cjs/expression/node/ConstantNode.js +216 -171
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +258 -196
- package/lib/cjs/expression/node/FunctionNode.js +456 -416
- package/lib/cjs/expression/node/IndexNode.js +256 -210
- package/lib/cjs/expression/node/Node.js +411 -378
- package/lib/cjs/expression/node/ObjectNode.js +223 -178
- package/lib/cjs/expression/node/OperatorNode.js +474 -397
- package/lib/cjs/expression/node/ParenthesisNode.js +189 -143
- package/lib/cjs/expression/node/RangeNode.js +272 -224
- package/lib/cjs/expression/node/RelationalNode.js +246 -195
- package/lib/cjs/expression/node/SymbolNode.js +219 -172
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/operators.js +117 -23
- package/lib/cjs/expression/parse.js +37 -19
- package/lib/cjs/expression/transform/std.transform.js +3 -1
- package/lib/cjs/factoriesAny.js +8 -0
- package/lib/cjs/factoriesNumber.js +10 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/derivative.js +25 -33
- package/lib/cjs/function/algebra/leafCount.js +0 -3
- package/lib/cjs/function/algebra/rationalize.js +78 -108
- package/lib/cjs/function/algebra/resolve.js +53 -16
- package/lib/cjs/function/algebra/simplify/util.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +90 -115
- package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
- package/lib/cjs/function/algebra/simplifyCore.js +196 -93
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +14 -32
- package/lib/cjs/function/arithmetic/abs.js +7 -14
- package/lib/cjs/function/arithmetic/add.js +26 -70
- package/lib/cjs/function/arithmetic/addScalar.js +17 -9
- package/lib/cjs/function/arithmetic/cbrt.js +7 -11
- package/lib/cjs/function/arithmetic/ceil.js +50 -40
- package/lib/cjs/function/arithmetic/cube.js +5 -10
- package/lib/cjs/function/arithmetic/divide.js +7 -7
- package/lib/cjs/function/arithmetic/divideScalar.js +4 -18
- package/lib/cjs/function/arithmetic/dotDivide.js +22 -65
- package/lib/cjs/function/arithmetic/dotMultiply.js +16 -61
- package/lib/cjs/function/arithmetic/dotPow.js +30 -63
- package/lib/cjs/function/arithmetic/exp.js +8 -12
- package/lib/cjs/function/arithmetic/expm1.js +10 -10
- package/lib/cjs/function/arithmetic/fix.js +34 -28
- package/lib/cjs/function/arithmetic/floor.js +51 -41
- package/lib/cjs/function/arithmetic/gcd.js +27 -68
- package/lib/cjs/function/arithmetic/hypot.js +9 -5
- package/lib/cjs/function/arithmetic/invmod.js +2 -2
- package/lib/cjs/function/arithmetic/lcm.js +27 -68
- package/lib/cjs/function/arithmetic/log.js +10 -12
- package/lib/cjs/function/arithmetic/log10.js +5 -3
- package/lib/cjs/function/arithmetic/log1p.js +11 -7
- package/lib/cjs/function/arithmetic/log2.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +22 -64
- package/lib/cjs/function/arithmetic/multiply.js +40 -35
- package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
- package/lib/cjs/function/arithmetic/norm.js +1 -5
- package/lib/cjs/function/arithmetic/nthRoot.js +83 -95
- package/lib/cjs/function/arithmetic/nthRoots.js +2 -2
- package/lib/cjs/function/arithmetic/round.js +56 -42
- package/lib/cjs/function/arithmetic/sign.js +14 -10
- package/lib/cjs/function/arithmetic/sqrt.js +5 -9
- package/lib/cjs/function/arithmetic/square.js +6 -10
- package/lib/cjs/function/arithmetic/subtract.js +44 -100
- package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
- package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
- package/lib/cjs/function/bitwise/bitAnd.js +17 -61
- package/lib/cjs/function/bitwise/bitNot.js +6 -4
- package/lib/cjs/function/bitwise/bitOr.js +16 -60
- package/lib/cjs/function/bitwise/bitXor.js +17 -61
- package/lib/cjs/function/bitwise/leftShift.js +69 -82
- package/lib/cjs/function/bitwise/rightArithShift.js +69 -82
- package/lib/cjs/function/bitwise/rightLogShift.js +69 -82
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
- package/lib/cjs/function/complex/arg.js +5 -3
- package/lib/cjs/function/complex/conj.js +6 -7
- package/lib/cjs/function/complex/im.js +7 -8
- package/lib/cjs/function/complex/re.js +6 -10
- package/lib/cjs/function/geometry/distance.js +2 -2
- package/lib/cjs/function/logical/and.js +74 -80
- package/lib/cjs/function/logical/not.js +13 -6
- package/lib/cjs/function/logical/or.js +21 -63
- package/lib/cjs/function/logical/xor.js +21 -63
- package/lib/cjs/function/matrix/diff.js +11 -8
- package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
- package/lib/cjs/function/matrix/fft.js +2 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/ones.js +2 -1
- package/lib/cjs/function/matrix/rotate.js +5 -5
- package/lib/cjs/function/matrix/sqrtm.js +3 -2
- package/lib/cjs/function/matrix/transpose.js +47 -48
- package/lib/cjs/function/matrix/zeros.js +2 -1
- package/lib/cjs/function/probability/factorial.js +5 -3
- package/lib/cjs/function/probability/gamma.js +38 -40
- package/lib/cjs/function/probability/kldivergence.js +5 -2
- package/lib/cjs/function/probability/lgamma.js +30 -30
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compare.js +21 -67
- package/lib/cjs/function/relational/compareNatural.js +59 -54
- package/lib/cjs/function/relational/compareText.js +10 -43
- package/lib/cjs/function/relational/compareUnits.js +24 -0
- package/lib/cjs/function/relational/equal.js +19 -80
- package/lib/cjs/function/relational/equalScalar.js +7 -9
- package/lib/cjs/function/relational/larger.js +21 -67
- package/lib/cjs/function/relational/largerEq.js +21 -67
- package/lib/cjs/function/relational/smaller.js +21 -67
- package/lib/cjs/function/relational/smallerEq.js +21 -67
- package/lib/cjs/function/relational/unequal.js +19 -80
- package/lib/cjs/function/special/erf.js +5 -3
- package/lib/cjs/function/statistics/std.js +11 -2
- package/lib/cjs/function/string/format.js +2 -2
- package/lib/cjs/function/string/hex.js +1 -2
- package/lib/cjs/function/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +6 -11
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +6 -11
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +6 -10
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +5 -10
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +5 -11
- package/lib/cjs/function/trigonometry/atan2.js +25 -63
- package/lib/cjs/function/trigonometry/atanh.js +4 -9
- package/lib/cjs/function/trigonometry/cos.js +11 -20
- package/lib/cjs/function/trigonometry/cosh.js +5 -19
- package/lib/cjs/function/trigonometry/cot.js +9 -15
- package/lib/cjs/function/trigonometry/coth.js +4 -15
- package/lib/cjs/function/trigonometry/csc.js +11 -17
- package/lib/cjs/function/trigonometry/csch.js +4 -15
- package/lib/cjs/function/trigonometry/sec.js +11 -17
- package/lib/cjs/function/trigonometry/sech.js +4 -15
- package/lib/cjs/function/trigonometry/sin.js +11 -21
- package/lib/cjs/function/trigonometry/sinh.js +5 -20
- package/lib/cjs/function/trigonometry/tan.js +11 -21
- package/lib/cjs/function/trigonometry/tanh.js +5 -20
- package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
- package/lib/cjs/function/unit/to.js +7 -41
- package/lib/cjs/function/utils/clone.js +1 -1
- package/lib/cjs/function/utils/hasNumericValue.js +5 -1
- package/lib/cjs/function/utils/isInteger.js +6 -4
- package/lib/cjs/function/utils/isNaN.js +1 -1
- package/lib/cjs/function/utils/isNegative.js +11 -7
- package/lib/cjs/function/utils/isNumeric.js +6 -4
- package/lib/cjs/function/utils/isPositive.js +11 -7
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +21 -17
- package/lib/cjs/function/utils/numeric.js +11 -4
- package/lib/cjs/function/utils/typeOf.js +38 -44
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
- package/lib/cjs/type/boolean.js +7 -5
- package/lib/cjs/type/chain/Chain.js +23 -3
- package/lib/cjs/type/complex/Complex.js +18 -14
- package/lib/cjs/type/complex/function/complex.js +6 -4
- package/lib/cjs/type/fraction/Fraction.js +10 -6
- package/lib/cjs/type/fraction/function/fraction.js +6 -4
- package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
- package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
- package/lib/cjs/type/number.js +6 -4
- package/lib/cjs/type/string.js +7 -5
- package/lib/cjs/type/unit/Unit.js +98 -45
- package/lib/cjs/type/unit/function/createUnit.js +2 -1
- package/lib/cjs/type/unit/function/unit.js +14 -5
- package/lib/cjs/utils/customs.js +2 -2
- package/lib/cjs/utils/emitter.js +1 -1
- package/lib/cjs/utils/function.js +2 -2
- package/lib/cjs/utils/is.js +27 -25
- package/lib/cjs/utils/latex.js +3 -3
- package/lib/cjs/utils/lruQueue.js +1 -1
- package/lib/cjs/utils/map.js +3 -3
- package/lib/cjs/utils/object.js +2 -2
- package/lib/cjs/utils/snapshot.js +30 -57
- package/lib/cjs/utils/string.js +3 -3
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +2 -1
- package/lib/esm/core/function/import.js +2 -12
- package/lib/esm/core/function/typed.js +47 -11
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny.generated.js +1 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +30 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +1 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +73 -48
- package/lib/esm/entry/impureFunctionsNumber.generated.js +81 -58
- package/lib/esm/entry/pureFunctionsAny.generated.js +39 -36
- package/lib/esm/entry/pureFunctionsNumber.generated.js +14 -13
- package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/esm/expression/node/AccessorNode.js +158 -153
- package/lib/esm/expression/node/ArrayNode.js +162 -154
- package/lib/esm/expression/node/AssignmentNode.js +257 -245
- package/lib/esm/expression/node/BlockNode.js +177 -163
- package/lib/esm/expression/node/ConditionalNode.js +197 -174
- package/lib/esm/expression/node/ConstantNode.js +171 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +205 -180
- package/lib/esm/expression/node/FunctionNode.js +407 -407
- package/lib/esm/expression/node/IndexNode.js +206 -198
- package/lib/esm/expression/node/Node.js +325 -325
- package/lib/esm/expression/node/ObjectNode.js +166 -157
- package/lib/esm/expression/node/OperatorNode.js +414 -377
- package/lib/esm/expression/node/ParenthesisNode.js +146 -138
- package/lib/esm/expression/node/RangeNode.js +221 -212
- package/lib/esm/expression/node/RelationalNode.js +190 -176
- package/lib/esm/expression/node/SymbolNode.js +161 -152
- package/lib/esm/expression/operators.js +96 -4
- package/lib/esm/expression/parse.js +25 -7
- package/lib/esm/expression/transform/std.transform.js +3 -1
- package/lib/esm/factoriesAny.js +1 -0
- package/lib/esm/factoriesNumber.js +1 -0
- package/lib/esm/function/algebra/derivative.js +25 -33
- package/lib/esm/function/algebra/leafCount.js +0 -3
- package/lib/esm/function/algebra/rationalize.js +83 -114
- package/lib/esm/function/algebra/resolve.js +25 -16
- package/lib/esm/function/algebra/simplify.js +85 -113
- package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
- package/lib/esm/function/algebra/simplifyCore.js +192 -91
- package/lib/esm/function/algebra/symbolicEqual.js +14 -32
- package/lib/esm/function/arithmetic/abs.js +3 -16
- package/lib/esm/function/arithmetic/add.js +21 -65
- package/lib/esm/function/arithmetic/addScalar.js +11 -5
- package/lib/esm/function/arithmetic/cbrt.js +7 -10
- package/lib/esm/function/arithmetic/ceil.js +25 -25
- package/lib/esm/function/arithmetic/cube.js +5 -9
- package/lib/esm/function/arithmetic/divide.js +7 -7
- package/lib/esm/function/arithmetic/divideScalar.js +2 -19
- package/lib/esm/function/arithmetic/dotDivide.js +22 -64
- package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
- package/lib/esm/function/arithmetic/dotPow.js +30 -62
- package/lib/esm/function/arithmetic/exp.js +8 -11
- package/lib/esm/function/arithmetic/expm1.js +10 -9
- package/lib/esm/function/arithmetic/fix.js +18 -18
- package/lib/esm/function/arithmetic/floor.js +26 -26
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- package/lib/esm/function/arithmetic/invmod.js +1 -1
- package/lib/esm/function/arithmetic/lcm.js +26 -70
- package/lib/esm/function/arithmetic/log.js +7 -10
- package/lib/esm/function/arithmetic/log10.js +1 -3
- package/lib/esm/function/arithmetic/log1p.js +4 -6
- package/lib/esm/function/arithmetic/log2.js +1 -3
- package/lib/esm/function/arithmetic/mod.js +21 -62
- package/lib/esm/function/arithmetic/multiply.js +23 -27
- package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
- package/lib/esm/function/arithmetic/norm.js +0 -4
- package/lib/esm/function/arithmetic/nthRoot.js +41 -76
- package/lib/esm/function/arithmetic/nthRoots.js +2 -2
- package/lib/esm/function/arithmetic/round.js +26 -28
- package/lib/esm/function/arithmetic/sign.js +5 -7
- package/lib/esm/function/arithmetic/sqrt.js +5 -8
- package/lib/esm/function/arithmetic/square.js +6 -9
- package/lib/esm/function/arithmetic/subtract.js +31 -95
- package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
- package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
- package/lib/esm/function/bitwise/bitAnd.js +16 -59
- package/lib/esm/function/bitwise/bitNot.js +2 -4
- package/lib/esm/function/bitwise/bitOr.js +16 -59
- package/lib/esm/function/bitwise/bitXor.js +16 -59
- package/lib/esm/function/bitwise/leftShift.js +39 -61
- package/lib/esm/function/bitwise/rightArithShift.js +39 -61
- package/lib/esm/function/bitwise/rightLogShift.js +39 -61
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/complex/arg.js +1 -3
- package/lib/esm/function/complex/conj.js +3 -12
- package/lib/esm/function/complex/im.js +4 -15
- package/lib/esm/function/complex/re.js +3 -15
- package/lib/esm/function/geometry/distance.js +2 -2
- package/lib/esm/function/logical/and.js +35 -57
- package/lib/esm/function/logical/not.js +3 -6
- package/lib/esm/function/logical/or.js +16 -61
- package/lib/esm/function/logical/xor.js +16 -61
- package/lib/esm/function/matrix/diff.js +3 -8
- package/lib/esm/function/matrix/ones.js +2 -1
- package/lib/esm/function/matrix/rotate.js +5 -5
- package/lib/esm/function/matrix/sqrtm.js +3 -2
- package/lib/esm/function/matrix/transpose.js +47 -50
- package/lib/esm/function/matrix/zeros.js +2 -1
- package/lib/esm/function/probability/factorial.js +1 -3
- package/lib/esm/function/probability/gamma.js +38 -39
- package/lib/esm/function/probability/kldivergence.js +3 -2
- package/lib/esm/function/probability/lgamma.js +29 -29
- package/lib/esm/function/relational/compare.js +21 -67
- package/lib/esm/function/relational/compareNatural.js +54 -49
- package/lib/esm/function/relational/compareText.js +10 -42
- package/lib/esm/function/relational/compareUnits.js +15 -0
- package/lib/esm/function/relational/equal.js +19 -79
- package/lib/esm/function/relational/equalScalar.js +6 -9
- package/lib/esm/function/relational/larger.js +23 -73
- package/lib/esm/function/relational/largerEq.js +23 -73
- package/lib/esm/function/relational/smaller.js +23 -73
- package/lib/esm/function/relational/smallerEq.js +23 -73
- package/lib/esm/function/relational/unequal.js +19 -79
- package/lib/esm/function/special/erf.js +1 -3
- package/lib/esm/function/statistics/std.js +10 -2
- package/lib/esm/function/string/format.js +2 -2
- package/lib/esm/function/string/hex.js +1 -2
- package/lib/esm/function/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +6 -10
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +6 -10
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +6 -9
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +5 -9
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +5 -10
- package/lib/esm/function/trigonometry/atan2.js +26 -65
- package/lib/esm/function/trigonometry/atanh.js +4 -8
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +5 -20
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +6 -20
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +6 -20
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +6 -20
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +5 -21
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +5 -21
- package/lib/esm/function/trigonometry/trigUnit.js +15 -0
- package/lib/esm/function/unit/to.js +8 -43
- package/lib/esm/function/utils/clone.js +1 -1
- package/lib/esm/function/utils/hasNumericValue.js +3 -1
- package/lib/esm/function/utils/isInteger.js +2 -4
- package/lib/esm/function/utils/isNaN.js +1 -1
- package/lib/esm/function/utils/isNegative.js +3 -7
- package/lib/esm/function/utils/isNumeric.js +4 -10
- package/lib/esm/function/utils/isPositive.js +3 -7
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +13 -17
- package/lib/esm/function/utils/numeric.js +11 -4
- package/lib/esm/function/utils/typeOf.js +38 -44
- package/lib/esm/type/bignumber/function/bignumber.js +1 -3
- package/lib/esm/type/boolean.js +1 -3
- package/lib/esm/type/chain/Chain.js +23 -3
- package/lib/esm/type/complex/Complex.js +4 -0
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +4 -0
- package/lib/esm/type/fraction/function/fraction.js +1 -3
- package/lib/esm/type/matrix/DenseMatrix.js +15 -1
- package/lib/esm/type/matrix/SparseMatrix.js +9 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
- package/lib/esm/type/number.js +1 -3
- package/lib/esm/type/string.js +1 -3
- package/lib/esm/type/unit/Unit.js +85 -36
- package/lib/esm/type/unit/function/createUnit.js +2 -1
- package/lib/esm/type/unit/function/unit.js +10 -5
- package/lib/esm/utils/is.js +18 -18
- package/lib/esm/utils/snapshot.js +22 -48
- package/lib/esm/version.js +1 -1
- package/package.json +22 -25
- package/types/index.d.ts +211 -180
- package/types/index.ts +358 -144
- package/types/tsconfig.json +4 -1
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
|
@@ -8,46 +8,7 @@ export var createTypeOf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
8
8
|
} = _ref;
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Determine the type of
|
|
12
|
-
*
|
|
13
|
-
* Function `typeOf` recognizes the following types of objects:
|
|
14
|
-
*
|
|
15
|
-
* Object | Returns | Example
|
|
16
|
-
* ---------------------- | ------------- | ------------------------------------------
|
|
17
|
-
* null | `'null'` | `math.typeOf(null)`
|
|
18
|
-
* number | `'number'` | `math.typeOf(3.5)`
|
|
19
|
-
* boolean | `'boolean'` | `math.typeOf(true)`
|
|
20
|
-
* string | `'string'` | `math.typeOf('hello world')`
|
|
21
|
-
* Array | `'Array'` | `math.typeOf([1, 2, 3])`
|
|
22
|
-
* Date | `'Date'` | `math.typeOf(new Date())`
|
|
23
|
-
* Function | `'Function'` | `math.typeOf(function () {})`
|
|
24
|
-
* Object | `'Object'` | `math.typeOf({a: 2, b: 3})`
|
|
25
|
-
* RegExp | `'RegExp'` | `math.typeOf(/a regexp/)`
|
|
26
|
-
* undefined | `'undefined'` | `math.typeOf(undefined)`
|
|
27
|
-
* math.BigNumber | `'BigNumber'` | `math.typeOf(math.bignumber('2.3e500'))`
|
|
28
|
-
* math.Chain | `'Chain'` | `math.typeOf(math.chain(2))`
|
|
29
|
-
* math.Complex | `'Complex'` | `math.typeOf(math.complex(2, 3))`
|
|
30
|
-
* math.Fraction | `'Fraction'` | `math.typeOf(math.fraction(1, 3))`
|
|
31
|
-
* math.Help | `'Help'` | `math.typeOf(math.help('sqrt'))`
|
|
32
|
-
* math.Help | `'Help'` | `math.typeOf(math.help('sqrt'))`
|
|
33
|
-
* math.Index | `'Index'` | `math.typeOf(math.index(1, 3))`
|
|
34
|
-
* math.Matrix | `'Matrix'` | `math.typeOf(math.matrix([[1,2], [3, 4]]))`
|
|
35
|
-
* math.Range | `'Range'` | `math.typeOf(math.range(0, 10))`
|
|
36
|
-
* math.ResultSet | `'ResultSet'` | `math.typeOf(math.evaluate('a=2\nb=3'))`
|
|
37
|
-
* math.Unit | `'Unit'` | `math.typeOf(math.unit('45 deg'))`
|
|
38
|
-
* math.AccessorNode | `'AccessorNode'` | `math.typeOf(math.parse('A[2]'))`
|
|
39
|
-
* math.ArrayNode | `'ArrayNode'` | `math.typeOf(math.parse('[1,2,3]'))`
|
|
40
|
-
* math.AssignmentNode | `'AssignmentNode'` | `math.typeOf(math.parse('x=2'))`
|
|
41
|
-
* math.BlockNode | `'BlockNode'` | `math.typeOf(math.parse('a=2; b=3'))`
|
|
42
|
-
* math.ConditionalNode | `'ConditionalNode'` | `math.typeOf(math.parse('x<0 ? -x : x'))`
|
|
43
|
-
* math.ConstantNode | `'ConstantNode'` | `math.typeOf(math.parse('2.3'))`
|
|
44
|
-
* math.FunctionAssignmentNode | `'FunctionAssignmentNode'` | `math.typeOf(math.parse('f(x)=x^2'))`
|
|
45
|
-
* math.FunctionNode | `'FunctionNode'` | `math.typeOf(math.parse('sqrt(4)'))`
|
|
46
|
-
* math.IndexNode | `'IndexNode'` | `math.typeOf(math.parse('A[2]').index)`
|
|
47
|
-
* math.ObjectNode | `'ObjectNode'` | `math.typeOf(math.parse('{a:2}'))`
|
|
48
|
-
* math.ParenthesisNode | `'ParenthesisNode'` | `math.typeOf(math.parse('(2+3)'))`
|
|
49
|
-
* math.RangeNode | `'RangeNode'` | `math.typeOf(math.parse('1:10'))`
|
|
50
|
-
* math.SymbolNode | `'SymbolNode'` | `math.typeOf(math.parse('x'))`
|
|
11
|
+
* Determine the type of an entity.
|
|
51
12
|
*
|
|
52
13
|
* Syntax:
|
|
53
14
|
*
|
|
@@ -55,10 +16,43 @@ export var createTypeOf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
55
16
|
*
|
|
56
17
|
* Examples:
|
|
57
18
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* math.typeOf(
|
|
61
|
-
* math.typeOf('
|
|
19
|
+
* // This list is intended to include all relevant types, for testing
|
|
20
|
+
* // purposes:
|
|
21
|
+
* math.typeOf(3.5) // returns 'number'
|
|
22
|
+
* math.typeOf(math.complex('2-4i')) // returns 'Complex'
|
|
23
|
+
* math.typeOf(math.unit('45 deg')) // returns 'Unit'
|
|
24
|
+
* math.typeOf('hello world') // returns 'string'
|
|
25
|
+
* math.typeOf(null) // returns 'null'
|
|
26
|
+
* math.typeOf(true) // returns 'boolean'
|
|
27
|
+
* math.typeOf([1, 2, 3]) // returns 'Array'
|
|
28
|
+
* math.typeOf(new Date()) // returns 'Date'
|
|
29
|
+
* math.typeOf(function () {}) // returns 'function'
|
|
30
|
+
* math.typeOf({a: 2, b: 3}) // returns 'Object'
|
|
31
|
+
* math.typeOf(/a regexp/) // returns 'RegExp'
|
|
32
|
+
* math.typeOf(undefined) // returns 'undefined'
|
|
33
|
+
* math.typeOf(math.bignumber('23e99')) // returns 'BigNumber'
|
|
34
|
+
* math.typeOf(math.chain(2)) // returns 'Chain'
|
|
35
|
+
* math.typeOf(math.fraction(1, 3)) // returns 'Fraction'
|
|
36
|
+
* math.typeOf(math.help('sqrt')) // returns 'Help'
|
|
37
|
+
* math.typeOf(math.index(1, 3)) // returns 'Index'
|
|
38
|
+
* math.typeOf(math.matrix([[1],[3]])) // returns 'DenseMatrix'
|
|
39
|
+
* math.typeOf(math.matrix([],'sparse')) // returns 'SparseMatrix'
|
|
40
|
+
* math.typeOf(new math.Range(0, 10)) // returns 'Range'
|
|
41
|
+
* math.typeOf(math.evaluate('a=2\na')) // returns 'ResultSet'
|
|
42
|
+
* math.typeOf(math.parse('A[2]')) // returns 'AccessorNode'
|
|
43
|
+
* math.typeOf(math.parse('[1,2,3]')) // returns 'ArrayNode'
|
|
44
|
+
* math.typeOf(math.parse('x=2')) // returns 'AssignmentNode'
|
|
45
|
+
* math.typeOf(math.parse('a=2; b=3')) // returns 'BlockNode'
|
|
46
|
+
* math.typeOf(math.parse('x<0?-1:1')) // returns 'ConditionalNode'
|
|
47
|
+
* math.typeOf(math.parse('2.3')) // returns 'ConstantNode'
|
|
48
|
+
* math.typeOf(math.parse('f(x)=x^2')) // returns 'FunctionAssignmentNode'
|
|
49
|
+
* math.typeOf(math.parse('sqrt(4)')) // returns 'FunctionNode'
|
|
50
|
+
* math.typeOf(math.parse('A[2]').index) // returns 'IndexNode'
|
|
51
|
+
* math.typeOf(math.parse('{a:2}')) // returns 'ObjectNode'
|
|
52
|
+
* math.typeOf(math.parse('(2+3)')) // returns 'ParenthesisNode'
|
|
53
|
+
* math.typeOf(math.parse('1:10')) // returns 'RangeNode'
|
|
54
|
+
* math.typeOf(math.parse('a<b<c')) // returns 'RelationalNode'
|
|
55
|
+
* math.typeOf(math.parse('x')) // returns 'SymbolNode'
|
|
62
56
|
*
|
|
63
57
|
* @param {*} x The variable for which to test the type.
|
|
64
58
|
* @return {string} Returns the name of the type. Primitive types are lower case,
|
|
@@ -75,8 +75,6 @@ export var createBignumber = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
75
75
|
null: function _null(x) {
|
|
76
76
|
return new BigNumber(0);
|
|
77
77
|
},
|
|
78
|
-
'Array | Matrix':
|
|
79
|
-
return deepMap(x, this);
|
|
80
|
-
}
|
|
78
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
81
79
|
});
|
|
82
80
|
});
|
package/lib/esm/type/boolean.js
CHANGED
|
@@ -69,8 +69,6 @@ export var createBoolean = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
69
69
|
|
|
70
70
|
throw new Error('Cannot convert "' + x + '" to a boolean');
|
|
71
71
|
},
|
|
72
|
-
'Array | Matrix':
|
|
73
|
-
return deepMap(x, this);
|
|
74
|
-
}
|
|
72
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
75
73
|
});
|
|
76
74
|
});
|
|
@@ -3,11 +3,12 @@ import { format } from '../../utils/string.js';
|
|
|
3
3
|
import { hasOwnProperty, lazy } from '../../utils/object.js';
|
|
4
4
|
import { factory } from '../../utils/factory.js';
|
|
5
5
|
var name = 'Chain';
|
|
6
|
-
var dependencies = ['?on', 'math'];
|
|
6
|
+
var dependencies = ['?on', 'math', 'typed'];
|
|
7
7
|
export var createChainClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
8
8
|
var {
|
|
9
9
|
on,
|
|
10
|
-
math
|
|
10
|
+
math,
|
|
11
|
+
typed
|
|
11
12
|
} = _ref;
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -142,12 +143,31 @@ export var createChainClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
142
143
|
|
|
143
144
|
function chainify(fn) {
|
|
144
145
|
return function () {
|
|
145
|
-
|
|
146
|
+
// Here, `this` will be the context of a Chain instance
|
|
147
|
+
if (arguments.length === 0) {
|
|
148
|
+
return new Chain(fn(this.value));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
var args = [this.value];
|
|
146
152
|
|
|
147
153
|
for (var i = 0; i < arguments.length; i++) {
|
|
148
154
|
args[i + 1] = arguments[i];
|
|
149
155
|
}
|
|
150
156
|
|
|
157
|
+
if (typed.isTypedFunction(fn)) {
|
|
158
|
+
var sigObject = typed.resolve(fn, args); // We want to detect if a rest parameter has matched across the
|
|
159
|
+
// value in the chain and the current arguments of this call.
|
|
160
|
+
// That is the case if and only if the matching signature has
|
|
161
|
+
// exactly one parameter (which then must be a rest parameter
|
|
162
|
+
// as it is matching at least two actual arguments).
|
|
163
|
+
|
|
164
|
+
if (sigObject.params.length === 1) {
|
|
165
|
+
throw new Error('chain function ' + fn.name + ' cannot match rest parameter between chain value and additional arguments.');
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return new Chain(sigObject.implementation.apply(fn, args));
|
|
169
|
+
}
|
|
170
|
+
|
|
151
171
|
return new Chain(fn.apply(fn, args));
|
|
152
172
|
};
|
|
153
173
|
}
|
|
@@ -8,6 +8,10 @@ export var createComplexClass = /* #__PURE__ */factory(name, dependencies, () =>
|
|
|
8
8
|
/**
|
|
9
9
|
* Attach type information
|
|
10
10
|
*/
|
|
11
|
+
Object.defineProperty(Complex, 'name', {
|
|
12
|
+
value: 'Complex'
|
|
13
|
+
});
|
|
14
|
+
Complex.prototype.constructor = Complex;
|
|
11
15
|
Complex.prototype.type = 'Complex';
|
|
12
16
|
Complex.prototype.isComplex = true;
|
|
13
17
|
/**
|
|
@@ -83,8 +83,6 @@ export var createComplex = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
83
83
|
|
|
84
84
|
throw new Error('Expected object with properties (re and im) or (r and phi) or (abs and arg)');
|
|
85
85
|
},
|
|
86
|
-
'Array | Matrix':
|
|
87
|
-
return deepMap(x, this);
|
|
88
|
-
}
|
|
86
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
89
87
|
});
|
|
90
88
|
});
|
|
@@ -6,6 +6,10 @@ export var createFractionClass = /* #__PURE__ */factory(name, dependencies, () =
|
|
|
6
6
|
/**
|
|
7
7
|
* Attach type information
|
|
8
8
|
*/
|
|
9
|
+
Object.defineProperty(Fraction, 'name', {
|
|
10
|
+
value: 'Fraction'
|
|
11
|
+
});
|
|
12
|
+
Fraction.prototype.constructor = Fraction;
|
|
9
13
|
Fraction.prototype.type = 'Fraction';
|
|
10
14
|
Fraction.prototype.isFraction = true;
|
|
11
15
|
/**
|
|
@@ -71,8 +71,6 @@ export var createFraction = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
71
71
|
Object: function Object(x) {
|
|
72
72
|
return new Fraction(x);
|
|
73
73
|
},
|
|
74
|
-
'Array | Matrix':
|
|
75
|
-
return deepMap(x, this);
|
|
76
|
-
}
|
|
74
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
77
75
|
});
|
|
78
76
|
});
|
|
@@ -5,6 +5,7 @@ import { isInteger } from '../../utils/number.js';
|
|
|
5
5
|
import { clone, deepStrictEqual } from '../../utils/object.js';
|
|
6
6
|
import { DimensionError } from '../../error/DimensionError.js';
|
|
7
7
|
import { factory } from '../../utils/factory.js';
|
|
8
|
+
import { maxArgumentCount } from '../../utils/function.js';
|
|
8
9
|
var name = 'DenseMatrix';
|
|
9
10
|
var dependencies = ['Matrix'];
|
|
10
11
|
export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -79,6 +80,10 @@ export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _
|
|
|
79
80
|
*/
|
|
80
81
|
|
|
81
82
|
|
|
83
|
+
Object.defineProperty(DenseMatrix, 'name', {
|
|
84
|
+
value: 'DenseMatrix'
|
|
85
|
+
});
|
|
86
|
+
DenseMatrix.prototype.constructor = DenseMatrix;
|
|
82
87
|
DenseMatrix.prototype.type = 'DenseMatrix';
|
|
83
88
|
DenseMatrix.prototype.isDenseMatrix = true;
|
|
84
89
|
/**
|
|
@@ -576,6 +581,7 @@ export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _
|
|
|
576
581
|
DenseMatrix.prototype.map = function (callback) {
|
|
577
582
|
// matrix instance
|
|
578
583
|
var me = this;
|
|
584
|
+
var args = maxArgumentCount(callback);
|
|
579
585
|
|
|
580
586
|
var recurse = function recurse(value, index) {
|
|
581
587
|
if (isArray(value)) {
|
|
@@ -583,7 +589,15 @@ export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _
|
|
|
583
589
|
return recurse(child, index.concat(i));
|
|
584
590
|
});
|
|
585
591
|
} else {
|
|
586
|
-
|
|
592
|
+
// invoke the callback function with the right number of arguments
|
|
593
|
+
if (args === 1) {
|
|
594
|
+
return callback(value);
|
|
595
|
+
} else if (args === 2) {
|
|
596
|
+
return callback(value, index);
|
|
597
|
+
} else {
|
|
598
|
+
// 3 or -1
|
|
599
|
+
return callback(value, index, me);
|
|
600
|
+
}
|
|
587
601
|
}
|
|
588
602
|
}; // determine the new datatype when the original matrix has datatype defined
|
|
589
603
|
// TODO: should be done in matrix constructor instead
|
|
@@ -5,6 +5,7 @@ import { clone, deepStrictEqual } from '../../utils/object.js';
|
|
|
5
5
|
import { arraySize, getArrayDataType, processSizesWildcard, unsqueeze, validateIndex } from '../../utils/array.js';
|
|
6
6
|
import { factory } from '../../utils/factory.js';
|
|
7
7
|
import { DimensionError } from '../../error/DimensionError.js';
|
|
8
|
+
import { maxArgumentCount } from '../../utils/function.js';
|
|
8
9
|
var name = 'SparseMatrix';
|
|
9
10
|
var dependencies = ['typed', 'equalScalar', 'Matrix'];
|
|
10
11
|
export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -166,6 +167,10 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
|
166
167
|
*/
|
|
167
168
|
|
|
168
169
|
|
|
170
|
+
Object.defineProperty(SparseMatrix, 'name', {
|
|
171
|
+
value: 'SparseMatrix'
|
|
172
|
+
});
|
|
173
|
+
SparseMatrix.prototype.constructor = SparseMatrix;
|
|
169
174
|
SparseMatrix.prototype.type = 'SparseMatrix';
|
|
170
175
|
SparseMatrix.prototype.isSparseMatrix = true;
|
|
171
176
|
/**
|
|
@@ -919,8 +924,12 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
|
919
924
|
var rows = this._size[0];
|
|
920
925
|
var columns = this._size[1]; // invoke callback
|
|
921
926
|
|
|
927
|
+
var args = maxArgumentCount(callback);
|
|
928
|
+
|
|
922
929
|
var invoke = function invoke(v, i, j) {
|
|
923
930
|
// invoke callback
|
|
931
|
+
if (args === 1) return callback(v);
|
|
932
|
+
if (args === 2) return callback(v, [i, j]);
|
|
924
933
|
return callback(v, [i, j], me);
|
|
925
934
|
}; // invoke _map
|
|
926
935
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo01xDSid';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo01xDSid = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo02xDS0';
|
|
4
4
|
var dependencies = ['typed', 'equalScalar'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo02xDS0 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
equalScalar
|
|
@@ -27,7 +27,7 @@ export var createAlgorithm02 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
27
27
|
*
|
|
28
28
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97477571
|
|
29
29
|
*/
|
|
30
|
-
return function
|
|
30
|
+
return function matAlgo02xDS0(denseMatrix, sparseMatrix, callback, inverse) {
|
|
31
31
|
// dense matrix arrays
|
|
32
32
|
var adata = denseMatrix._data;
|
|
33
33
|
var asize = denseMatrix._size;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo03xDSf';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo03xDSf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm03 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97477571
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo03xDSf(denseMatrix, sparseMatrix, callback, inverse) {
|
|
30
30
|
// dense matrix arrays
|
|
31
31
|
var adata = denseMatrix._data;
|
|
32
32
|
var asize = denseMatrix._size;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo04xSidSid';
|
|
4
4
|
var dependencies = ['typed', 'equalScalar'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo04xSidSid = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
equalScalar
|
|
@@ -14,8 +14,8 @@ export var createAlgorithm04 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
14
14
|
*
|
|
15
15
|
*
|
|
16
16
|
* ┌ f(Aij, Bij) ; A(i,j) !== 0 && B(i,j) !== 0
|
|
17
|
-
* C(i,j) = ┤ A(i,j) ; A(i,j) !== 0
|
|
18
|
-
* └ B(i,j) ;
|
|
17
|
+
* C(i,j) = ┤ A(i,j) ; A(i,j) !== 0 && B(i,j) === 0
|
|
18
|
+
* └ B(i,j) ; A(i,j) === 0
|
|
19
19
|
*
|
|
20
20
|
*
|
|
21
21
|
* @param {Matrix} a The SparseMatrix instance (A)
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm04 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo04xSidSid(a, b, callback) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = a._values;
|
|
32
32
|
var aindex = a._index;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo05xSfSf';
|
|
4
4
|
var dependencies = ['typed', 'equalScalar'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo05xSfSf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
equalScalar
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm05 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo05xSfSf(a, b, callback) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = a._values;
|
|
32
32
|
var aindex = a._index;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
3
|
import { scatter } from '../../../utils/collection.js';
|
|
4
|
-
var name = '
|
|
4
|
+
var name = 'matAlgo06xS0S0';
|
|
5
5
|
var dependencies = ['typed', 'equalScalar'];
|
|
6
|
-
export var
|
|
6
|
+
export var createMatAlgo06xS0S0 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
7
7
|
var {
|
|
8
8
|
typed,
|
|
9
9
|
equalScalar
|
|
@@ -27,7 +27,7 @@ export var createAlgorithm06 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
27
27
|
*
|
|
28
28
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
29
29
|
*/
|
|
30
|
-
return function
|
|
30
|
+
return function matAlgo06xS0S0(a, b, callback) {
|
|
31
31
|
// sparse matrix arrays
|
|
32
32
|
var avalues = a._values;
|
|
33
33
|
var asize = a._size;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo07xSSf';
|
|
4
4
|
var dependencies = ['typed', 'DenseMatrix'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo07xSSf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
DenseMatrix
|
|
@@ -22,7 +22,7 @@ export var createAlgorithm07 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
22
22
|
*
|
|
23
23
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
24
24
|
*/
|
|
25
|
-
return function
|
|
25
|
+
return function matAlgo07xSSf(a, b, callback) {
|
|
26
26
|
// sparse matrix arrays
|
|
27
27
|
var asize = a._size;
|
|
28
28
|
var adt = a._datatype; // sparse matrix arrays
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo08xS0Sid';
|
|
4
4
|
var dependencies = ['typed', 'equalScalar'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo08xS0Sid = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
equalScalar
|
|
@@ -14,7 +14,7 @@ export var createAlgorithm08 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
14
14
|
*
|
|
15
15
|
*
|
|
16
16
|
* ┌ f(Aij, Bij) ; A(i,j) !== 0 && B(i,j) !== 0
|
|
17
|
-
* C(i,j) = ┤ A(i,j) ; A(i,j) !== 0
|
|
17
|
+
* C(i,j) = ┤ A(i,j) ; A(i,j) !== 0 && B(i,j) === 0
|
|
18
18
|
* └ 0 ; otherwise
|
|
19
19
|
*
|
|
20
20
|
*
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm08 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo08xS0Sid(a, b, callback) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = a._values;
|
|
32
32
|
var aindex = a._index;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo09xS0Sf';
|
|
4
4
|
var dependencies = ['typed', 'equalScalar'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo09xS0Sf = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed,
|
|
8
8
|
equalScalar
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm09 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* see https://github.com/josdejong/mathjs/pull/346#issuecomment-97620294
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo09xS0Sf(a, b, callback) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = a._values;
|
|
32
32
|
var aindex = a._index;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
|
-
var name = '
|
|
2
|
+
var name = 'matAlgo10xSids';
|
|
3
3
|
var dependencies = ['typed', 'DenseMatrix'];
|
|
4
|
-
export var
|
|
4
|
+
export var createMatAlgo10xSids = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
5
5
|
var {
|
|
6
6
|
typed,
|
|
7
7
|
DenseMatrix
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm10 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo10xSids(s, b, callback, inverse) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = s._values;
|
|
32
32
|
var aindex = s._index;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
|
-
var name = '
|
|
2
|
+
var name = 'matAlgo11xS0s';
|
|
3
3
|
var dependencies = ['typed', 'equalScalar'];
|
|
4
|
-
export var
|
|
4
|
+
export var createMatAlgo11xS0s = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
5
5
|
var {
|
|
6
6
|
typed,
|
|
7
7
|
equalScalar
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm11 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo11xS0s(s, b, callback, inverse) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = s._values;
|
|
32
32
|
var aindex = s._index;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
|
-
var name = '
|
|
2
|
+
var name = 'matAlgo12xSfs';
|
|
3
3
|
var dependencies = ['typed', 'DenseMatrix'];
|
|
4
|
-
export var
|
|
4
|
+
export var createMatAlgo12xSfs = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
5
5
|
var {
|
|
6
6
|
typed,
|
|
7
7
|
DenseMatrix
|
|
@@ -26,7 +26,7 @@ export var createAlgorithm12 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
26
26
|
*
|
|
27
27
|
* https://github.com/josdejong/mathjs/pull/346#issuecomment-97626813
|
|
28
28
|
*/
|
|
29
|
-
return function
|
|
29
|
+
return function matAlgo12xSfs(s, b, callback, inverse) {
|
|
30
30
|
// sparse matrix arrays
|
|
31
31
|
var avalues = s._values;
|
|
32
32
|
var aindex = s._index;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { DimensionError } from '../../../error/DimensionError.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo13xDD';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo13xDD = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
@@ -21,7 +21,7 @@ export var createAlgorithm13 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
21
21
|
*
|
|
22
22
|
* https://github.com/josdejong/mathjs/pull/346#issuecomment-97658658
|
|
23
23
|
*/
|
|
24
|
-
return function
|
|
24
|
+
return function matAlgo13xDD(a, b, callback) {
|
|
25
25
|
// a arrays
|
|
26
26
|
var adata = a._data;
|
|
27
27
|
var asize = a._size;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../../utils/factory.js';
|
|
2
2
|
import { clone } from '../../../utils/object.js';
|
|
3
|
-
var name = '
|
|
3
|
+
var name = 'matAlgo14xDs';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
|
-
export var
|
|
5
|
+
export var createMatAlgo14xDs = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
@@ -22,7 +22,7 @@ export var createAlgorithm14 = /* #__PURE__ */factory(name, dependencies, _ref =
|
|
|
22
22
|
*
|
|
23
23
|
* https://github.com/josdejong/mathjs/pull/346#issuecomment-97659042
|
|
24
24
|
*/
|
|
25
|
-
return function
|
|
25
|
+
return function matAlgo14xDs(a, b, callback, inverse) {
|
|
26
26
|
// a arrays
|
|
27
27
|
var adata = a._data;
|
|
28
28
|
var asize = a._size;
|