mathjs 10.6.2 → 11.0.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 +74 -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/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 +22 -30
- 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 +87 -114
- 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 +9 -26
- 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 +56 -46
- 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 +33 -27
- package/lib/cjs/function/arithmetic/floor.js +56 -46
- 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 +1 -1
- 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 +80 -92
- 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 +5 -3
- 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 +68 -81
- package/lib/cjs/function/bitwise/rightArithShift.js +68 -81
- package/lib/cjs/function/bitwise/rightLogShift.js +68 -81
- 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/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 +10 -7
- 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/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/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +4 -8
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +4 -8
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +4 -8
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +4 -9
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +4 -9
- package/lib/cjs/function/trigonometry/atan2.js +24 -62
- 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/hasNumericValue.js +4 -0
- package/lib/cjs/function/utils/isInteger.js +5 -3
- package/lib/cjs/function/utils/isNegative.js +10 -6
- package/lib/cjs/function/utils/isNumeric.js +5 -3
- package/lib/cjs/function/utils/isPositive.js +10 -6
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +10 -6
- 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 +69 -21
- package/lib/cjs/type/unit/function/createUnit.js +2 -1
- package/lib/cjs/type/unit/function/unit.js +9 -3
- 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/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 +22 -30
- 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 +82 -112
- 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 +9 -26
- 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 +17 -17
- package/lib/esm/function/arithmetic/floor.js +25 -25
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- 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 +38 -73
- 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 +1 -3
- 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 +38 -60
- package/lib/esm/function/bitwise/rightArithShift.js +38 -60
- package/lib/esm/function/bitwise/rightLogShift.js +38 -60
- 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/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 +2 -7
- package/lib/esm/function/matrix/ones.js +2 -1
- 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/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +4 -7
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +4 -7
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +4 -7
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +4 -8
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +4 -8
- package/lib/esm/function/trigonometry/atan2.js +25 -64
- 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/hasNumericValue.js +2 -0
- package/lib/esm/function/utils/isInteger.js +1 -3
- package/lib/esm/function/utils/isNegative.js +2 -6
- package/lib/esm/function/utils/isNumeric.js +3 -9
- package/lib/esm/function/utils/isPositive.js +2 -6
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +2 -6
- 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 +61 -13
- package/lib/esm/type/unit/function/createUnit.js +2 -1
- package/lib/esm/type/unit/function/unit.js +5 -3
- 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 +21 -24
- package/types/index.d.ts +202 -181
- package/types/index.ts +264 -57
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
|
@@ -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;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { factory } from '../../../utils/factory.js';
|
|
2
|
+
import { extend } from '../../../utils/object.js';
|
|
3
|
+
import { createMatAlgo13xDD } from './matAlgo13xDD.js';
|
|
4
|
+
import { createMatAlgo14xDs } from './matAlgo14xDs.js';
|
|
5
|
+
var name = 'matrixAlgorithmSuite';
|
|
6
|
+
var dependencies = ['typed', 'matrix'];
|
|
7
|
+
export var createMatrixAlgorithmSuite = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
8
|
+
var {
|
|
9
|
+
typed,
|
|
10
|
+
matrix
|
|
11
|
+
} = _ref;
|
|
12
|
+
var matAlgo13xDD = createMatAlgo13xDD({
|
|
13
|
+
typed
|
|
14
|
+
});
|
|
15
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
16
|
+
typed
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* Return a signatures object with the usual boilerplate of
|
|
20
|
+
* matrix algorithms, based on a plain options object with the
|
|
21
|
+
* following properties:
|
|
22
|
+
* elop: function -- the elementwise operation to use, defaults to self
|
|
23
|
+
* SS: function -- the algorithm to apply for two sparse matrices
|
|
24
|
+
* DS: function -- the algorithm to apply for a dense and a sparse matrix
|
|
25
|
+
* SD: function -- algo for a sparse and a dense; defaults to SD flipped
|
|
26
|
+
* Ss: function -- the algorithm to apply for a sparse matrix and scalar
|
|
27
|
+
* sS: function -- algo for scalar and sparse; defaults to Ss flipped
|
|
28
|
+
* scalar: string -- typed-function type for scalars, defaults to 'any'
|
|
29
|
+
*
|
|
30
|
+
* If Ss is not specified, no matrix-scalar signatures are generated.
|
|
31
|
+
*
|
|
32
|
+
* @param {object} options
|
|
33
|
+
* @return {Object<string, function>} signatures
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
return function matrixAlgorithmSuite(options) {
|
|
37
|
+
var elop = options.elop;
|
|
38
|
+
var SD = options.SD || options.DS;
|
|
39
|
+
var matrixSignatures;
|
|
40
|
+
|
|
41
|
+
if (elop) {
|
|
42
|
+
// First the dense ones
|
|
43
|
+
matrixSignatures = {
|
|
44
|
+
'DenseMatrix, DenseMatrix': (x, y) => matAlgo13xDD(x, y, elop),
|
|
45
|
+
'Array, Array': (x, y) => matAlgo13xDD(matrix(x), matrix(y), elop).valueOf(),
|
|
46
|
+
'Array, DenseMatrix': (x, y) => matAlgo13xDD(matrix(x), y, elop),
|
|
47
|
+
'DenseMatrix, Array': (x, y) => matAlgo13xDD(x, matrix(y), elop)
|
|
48
|
+
}; // Now incorporate sparse matrices
|
|
49
|
+
|
|
50
|
+
if (options.SS) {
|
|
51
|
+
matrixSignatures['SparseMatrix, SparseMatrix'] = (x, y) => options.SS(x, y, elop, false);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (options.DS) {
|
|
55
|
+
matrixSignatures['DenseMatrix, SparseMatrix'] = (x, y) => options.DS(x, y, elop, false);
|
|
56
|
+
|
|
57
|
+
matrixSignatures['Array, SparseMatrix'] = (x, y) => options.DS(matrix(x), y, elop, false);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (SD) {
|
|
61
|
+
matrixSignatures['SparseMatrix, DenseMatrix'] = (x, y) => SD(y, x, elop, true);
|
|
62
|
+
|
|
63
|
+
matrixSignatures['SparseMatrix, Array'] = (x, y) => SD(matrix(y), x, elop, true);
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
// No elop, use this
|
|
67
|
+
// First the dense ones
|
|
68
|
+
matrixSignatures = {
|
|
69
|
+
'DenseMatrix, DenseMatrix': typed.referToSelf(self => (x, y) => {
|
|
70
|
+
return matAlgo13xDD(x, y, self);
|
|
71
|
+
}),
|
|
72
|
+
'Array, Array': typed.referToSelf(self => (x, y) => {
|
|
73
|
+
return matAlgo13xDD(matrix(x), matrix(y), self).valueOf();
|
|
74
|
+
}),
|
|
75
|
+
'Array, DenseMatrix': typed.referToSelf(self => (x, y) => {
|
|
76
|
+
return matAlgo13xDD(matrix(x), y, self);
|
|
77
|
+
}),
|
|
78
|
+
'DenseMatrix, Array': typed.referToSelf(self => (x, y) => {
|
|
79
|
+
return matAlgo13xDD(x, matrix(y), self);
|
|
80
|
+
})
|
|
81
|
+
}; // Now incorporate sparse matrices
|
|
82
|
+
|
|
83
|
+
if (options.SS) {
|
|
84
|
+
matrixSignatures['SparseMatrix, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
85
|
+
return options.SS(x, y, self, false);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (options.DS) {
|
|
90
|
+
matrixSignatures['DenseMatrix, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
91
|
+
return options.DS(x, y, self, false);
|
|
92
|
+
});
|
|
93
|
+
matrixSignatures['Array, SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
94
|
+
return options.DS(matrix(x), y, self, false);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (SD) {
|
|
99
|
+
matrixSignatures['SparseMatrix, DenseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
100
|
+
return SD(y, x, self, true);
|
|
101
|
+
});
|
|
102
|
+
matrixSignatures['SparseMatrix, Array'] = typed.referToSelf(self => (x, y) => {
|
|
103
|
+
return SD(matrix(y), x, self, true);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
} // Now add the scalars
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
var scalar = options.scalar || 'any';
|
|
110
|
+
var Ds = options.Ds || options.Ss;
|
|
111
|
+
|
|
112
|
+
if (Ds) {
|
|
113
|
+
if (elop) {
|
|
114
|
+
matrixSignatures['DenseMatrix,' + scalar] = (x, y) => matAlgo14xDs(x, y, elop, false);
|
|
115
|
+
|
|
116
|
+
matrixSignatures[scalar + ', DenseMatrix'] = (x, y) => matAlgo14xDs(y, x, elop, true);
|
|
117
|
+
|
|
118
|
+
matrixSignatures['Array,' + scalar] = (x, y) => matAlgo14xDs(matrix(x), y, elop, false).valueOf();
|
|
119
|
+
|
|
120
|
+
matrixSignatures[scalar + ', Array'] = (x, y) => matAlgo14xDs(matrix(y), x, elop, true).valueOf();
|
|
121
|
+
} else {
|
|
122
|
+
matrixSignatures['DenseMatrix,' + scalar] = typed.referToSelf(self => (x, y) => {
|
|
123
|
+
return matAlgo14xDs(x, y, self, false);
|
|
124
|
+
});
|
|
125
|
+
matrixSignatures[scalar + ', DenseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
126
|
+
return matAlgo14xDs(y, x, self, true);
|
|
127
|
+
});
|
|
128
|
+
matrixSignatures['Array,' + scalar] = typed.referToSelf(self => (x, y) => {
|
|
129
|
+
return matAlgo14xDs(matrix(x), y, self, false).valueOf();
|
|
130
|
+
});
|
|
131
|
+
matrixSignatures[scalar + ', Array'] = typed.referToSelf(self => (x, y) => {
|
|
132
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
var sS = options.sS !== undefined ? options.sS : options.Ss;
|
|
138
|
+
|
|
139
|
+
if (elop) {
|
|
140
|
+
if (options.Ss) {
|
|
141
|
+
matrixSignatures['SparseMatrix,' + scalar] = (x, y) => options.Ss(x, y, elop, false);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (sS) {
|
|
145
|
+
matrixSignatures[scalar + ', SparseMatrix'] = (x, y) => sS(y, x, elop, true);
|
|
146
|
+
}
|
|
147
|
+
} else {
|
|
148
|
+
if (options.Ss) {
|
|
149
|
+
matrixSignatures['SparseMatrix,' + scalar] = typed.referToSelf(self => (x, y) => {
|
|
150
|
+
return options.Ss(x, y, self, false);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (sS) {
|
|
155
|
+
matrixSignatures[scalar + ', SparseMatrix'] = typed.referToSelf(self => (x, y) => {
|
|
156
|
+
return sS(y, x, self, true);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
} // Also pull in the scalar signatures if the operator is a typed function
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
if (elop && elop.signatures) {
|
|
163
|
+
extend(matrixSignatures, elop.signatures);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return matrixSignatures;
|
|
167
|
+
};
|
|
168
|
+
});
|
package/lib/esm/type/number.js
CHANGED
|
@@ -146,9 +146,7 @@ export var createNumber = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
146
146
|
'Unit, string | Unit': function UnitStringUnit(unit, valuelessUnit) {
|
|
147
147
|
return unit.toNumber(valuelessUnit);
|
|
148
148
|
},
|
|
149
|
-
'Array | Matrix':
|
|
150
|
-
return deepMap(x, this);
|
|
151
|
-
}
|
|
149
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
152
150
|
}); // reviver function to parse a JSON object like:
|
|
153
151
|
//
|
|
154
152
|
// {"mathjs":"number","value":"2.3"}
|
package/lib/esm/type/string.js
CHANGED
|
@@ -47,9 +47,7 @@ export var createString = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
47
47
|
string: function string(x) {
|
|
48
48
|
return x;
|
|
49
49
|
},
|
|
50
|
-
'Array | Matrix':
|
|
51
|
-
return deepMap(x, this);
|
|
52
|
-
},
|
|
50
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self)),
|
|
53
51
|
any: function any(x) {
|
|
54
52
|
return String(x);
|
|
55
53
|
}
|