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
|
@@ -7,17 +7,13 @@ exports.createAdd = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _matAlgo01xDSid = require("../../type/matrix/utils/matAlgo01xDSid.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo04xSidSid = require("../../type/matrix/utils/matAlgo04xSidSid.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo10xSids = require("../../type/matrix/utils/matAlgo10xSids.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _algorithm4 = require("../../type/matrix/utils/algorithm13.js");
|
|
19
|
-
|
|
20
|
-
var _algorithm5 = require("../../type/matrix/utils/algorithm14.js");
|
|
16
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
21
17
|
|
|
22
18
|
var name = 'add';
|
|
23
19
|
var dependencies = ['typed', 'matrix', 'addScalar', 'equalScalar', 'DenseMatrix', 'SparseMatrix'];
|
|
@@ -28,22 +24,20 @@ var createAdd = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
28
24
|
equalScalar = _ref.equalScalar,
|
|
29
25
|
DenseMatrix = _ref.DenseMatrix,
|
|
30
26
|
SparseMatrix = _ref.SparseMatrix;
|
|
31
|
-
var
|
|
27
|
+
var matAlgo01xDSid = (0, _matAlgo01xDSid.createMatAlgo01xDSid)({
|
|
32
28
|
typed: typed
|
|
33
29
|
});
|
|
34
|
-
var
|
|
30
|
+
var matAlgo04xSidSid = (0, _matAlgo04xSidSid.createMatAlgo04xSidSid)({
|
|
35
31
|
typed: typed,
|
|
36
32
|
equalScalar: equalScalar
|
|
37
33
|
});
|
|
38
|
-
var
|
|
34
|
+
var matAlgo10xSids = (0, _matAlgo10xSids.createMatAlgo10xSids)({
|
|
39
35
|
typed: typed,
|
|
40
36
|
DenseMatrix: DenseMatrix
|
|
41
37
|
});
|
|
42
|
-
var
|
|
43
|
-
typed: typed
|
|
44
|
-
|
|
45
|
-
var algorithm14 = (0, _algorithm5.createAlgorithm14)({
|
|
46
|
-
typed: typed
|
|
38
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
39
|
+
typed: typed,
|
|
40
|
+
matrix: matrix
|
|
47
41
|
});
|
|
48
42
|
/**
|
|
49
43
|
* Add two or more values, `x + y`.
|
|
@@ -80,62 +74,24 @@ var createAdd = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
80
74
|
* @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`
|
|
81
75
|
*/
|
|
82
76
|
|
|
83
|
-
return typed(name,
|
|
84
|
-
// we extend the signatures of addScalar with signatures dealing with matrices
|
|
85
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
86
|
-
return algorithm13(x, y, addScalar);
|
|
87
|
-
},
|
|
88
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
89
|
-
return algorithm01(x, y, addScalar, false);
|
|
90
|
-
},
|
|
91
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
92
|
-
return algorithm01(y, x, addScalar, true);
|
|
93
|
-
},
|
|
94
|
-
'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
|
|
95
|
-
return algorithm04(x, y, addScalar);
|
|
96
|
-
},
|
|
97
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
98
|
-
// use matrix implementation
|
|
99
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
100
|
-
},
|
|
101
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
102
|
-
// use matrix implementation
|
|
103
|
-
return this(matrix(x), y);
|
|
104
|
-
},
|
|
105
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
106
|
-
// use matrix implementation
|
|
107
|
-
return this(x, matrix(y));
|
|
108
|
-
},
|
|
109
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
110
|
-
return algorithm14(x, y, addScalar, false);
|
|
111
|
-
},
|
|
112
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
113
|
-
return algorithm10(x, y, addScalar, false);
|
|
114
|
-
},
|
|
115
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
116
|
-
return algorithm14(y, x, addScalar, true);
|
|
117
|
-
},
|
|
118
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
119
|
-
return algorithm10(y, x, addScalar, true);
|
|
120
|
-
},
|
|
121
|
-
'Array, any': function ArrayAny(x, y) {
|
|
122
|
-
// use matrix implementation
|
|
123
|
-
return algorithm14(matrix(x), y, addScalar, false).valueOf();
|
|
124
|
-
},
|
|
125
|
-
'any, Array': function anyArray(x, y) {
|
|
126
|
-
// use matrix implementation
|
|
127
|
-
return algorithm14(matrix(y), x, addScalar, true).valueOf();
|
|
128
|
-
},
|
|
77
|
+
return typed(name, {
|
|
129
78
|
'any, any': addScalar,
|
|
130
|
-
'any, any, ...any': function
|
|
131
|
-
|
|
79
|
+
'any, any, ...any': typed.referToSelf(function (self) {
|
|
80
|
+
return function (x, y, rest) {
|
|
81
|
+
var result = self(x, y);
|
|
132
82
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
83
|
+
for (var i = 0; i < rest.length; i++) {
|
|
84
|
+
result = self(result, rest[i]);
|
|
85
|
+
}
|
|
136
86
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
87
|
+
return result;
|
|
88
|
+
};
|
|
89
|
+
})
|
|
90
|
+
}, matrixAlgorithmSuite({
|
|
91
|
+
elop: addScalar,
|
|
92
|
+
DS: matAlgo01xDSid,
|
|
93
|
+
SS: matAlgo04xSidSid,
|
|
94
|
+
Ss: matAlgo10xSids
|
|
95
|
+
}));
|
|
140
96
|
});
|
|
141
97
|
exports.createAdd = createAdd;
|
|
@@ -37,15 +37,23 @@ var createAddScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
37
37
|
'Fraction, Fraction': function FractionFraction(x, y) {
|
|
38
38
|
return x.add(y);
|
|
39
39
|
},
|
|
40
|
-
'Unit, Unit': function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
'Unit, Unit': typed.referToSelf(function (self) {
|
|
41
|
+
return function (x, y) {
|
|
42
|
+
if (x.value === null || x.value === undefined) {
|
|
43
|
+
throw new Error('Parameter x contains a unit with undefined value');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (y.value === null || y.value === undefined) {
|
|
47
|
+
throw new Error('Parameter y contains a unit with undefined value');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!x.equalBase(y)) throw new Error('Units do not match');
|
|
51
|
+
var res = x.clone();
|
|
52
|
+
res.value = typed.find(self, [res.valueType(), y.valueType()])(res.value, y.value);
|
|
53
|
+
res.fixPrefix = false;
|
|
54
|
+
return res;
|
|
55
|
+
};
|
|
56
|
+
})
|
|
49
57
|
});
|
|
50
58
|
});
|
|
51
59
|
exports.createAddScalar = createAddScalar;
|
|
@@ -9,8 +9,6 @@ var _factory = require("../../utils/factory.js");
|
|
|
9
9
|
|
|
10
10
|
var _is = require("../../utils/is.js");
|
|
11
11
|
|
|
12
|
-
var _collection = require("../../utils/collection.js");
|
|
13
|
-
|
|
14
12
|
var _index = require("../../plain/number/index.js");
|
|
15
13
|
|
|
16
14
|
var name = 'cbrt';
|
|
@@ -28,7 +26,9 @@ var createCbrt = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
28
26
|
/**
|
|
29
27
|
* Calculate the cubic root of a value.
|
|
30
28
|
*
|
|
31
|
-
*
|
|
29
|
+
* To avoid confusion with the matrix cube root, this function does not
|
|
30
|
+
* apply to matrices. For a matrix, to take the cube root elementwise,
|
|
31
|
+
* see the examples.
|
|
32
32
|
*
|
|
33
33
|
* Syntax:
|
|
34
34
|
*
|
|
@@ -41,7 +41,7 @@ var createCbrt = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
41
41
|
* math.cube(3) // returns 27
|
|
42
42
|
* math.cbrt(-64) // returns -4
|
|
43
43
|
* math.cbrt(math.unit('27 m^3')) // returns Unit 3 m
|
|
44
|
-
* math.
|
|
44
|
+
* math.map([27, 64, 125], x => math.cbrt(x)) // returns [3, 4, 5]
|
|
45
45
|
*
|
|
46
46
|
* const x = math.complex('8i')
|
|
47
47
|
* math.cbrt(x) // returns Complex 1.7320508075689 + i
|
|
@@ -55,13 +55,13 @@ var createCbrt = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
55
55
|
*
|
|
56
56
|
* square, sqrt, cube
|
|
57
57
|
*
|
|
58
|
-
* @param {number | BigNumber | Complex | Unit
|
|
58
|
+
* @param {number | BigNumber | Complex | Unit} x
|
|
59
59
|
* Value for which to calculate the cubic root.
|
|
60
60
|
* @param {boolean} [allRoots] Optional, false by default. Only applicable
|
|
61
61
|
* when `x` is a number or complex number. If true, all complex
|
|
62
62
|
* roots are returned, if false (default) the principal root is
|
|
63
63
|
* returned.
|
|
64
|
-
* @return {number | BigNumber | Complex | Unit
|
|
64
|
+
* @return {number | BigNumber | Complex | Unit}
|
|
65
65
|
* Returns the cubic root of `x`
|
|
66
66
|
*/
|
|
67
67
|
return typed(name, {
|
|
@@ -73,11 +73,7 @@ var createCbrt = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
73
73
|
BigNumber: function BigNumber(x) {
|
|
74
74
|
return x.cbrt();
|
|
75
75
|
},
|
|
76
|
-
Unit: _cbrtUnit
|
|
77
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
78
|
-
// deep map collection, skip zeros since cbrt(0) = 0
|
|
79
|
-
return (0, _collection.deepMap)(x, this, true);
|
|
80
|
-
}
|
|
76
|
+
Unit: _cbrtUnit
|
|
81
77
|
});
|
|
82
78
|
/**
|
|
83
79
|
* Calculate the cubic root for a complex number
|
|
@@ -19,11 +19,11 @@ var _number = require("../../utils/number.js");
|
|
|
19
19
|
|
|
20
20
|
var _nearlyEqual = require("../../utils/bignumber/nearlyEqual.js");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
|
|
27
27
|
|
|
28
28
|
var name = 'ceil';
|
|
29
29
|
var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
@@ -43,19 +43,19 @@ var createCeilNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed', 'con
|
|
|
43
43
|
if ((0, _number.nearlyEqual)(x, round(x, n), config.epsilon)) {
|
|
44
44
|
return round(x, n);
|
|
45
45
|
} else {
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
number =
|
|
49
|
-
exponent =
|
|
46
|
+
var _split = "".concat(x, "e").split('e'),
|
|
47
|
+
_split2 = (0, _slicedToArray2["default"])(_split, 2),
|
|
48
|
+
number = _split2[0],
|
|
49
|
+
exponent = _split2[1];
|
|
50
50
|
|
|
51
51
|
var result = Math.ceil(Number("".concat(number, "e").concat(Number(exponent) + n)));
|
|
52
52
|
|
|
53
|
-
var
|
|
53
|
+
var _split3 = "".concat(result, "e").split('e');
|
|
54
54
|
|
|
55
|
-
var
|
|
55
|
+
var _split4 = (0, _slicedToArray2["default"])(_split3, 2);
|
|
56
56
|
|
|
57
|
-
number =
|
|
58
|
-
exponent =
|
|
57
|
+
number = _split4[0];
|
|
58
|
+
exponent = _split4[1];
|
|
59
59
|
return Number("".concat(number, "e").concat(Number(exponent) - n));
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -70,15 +70,15 @@ var createCeil = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
70
70
|
equalScalar = _ref2.equalScalar,
|
|
71
71
|
zeros = _ref2.zeros,
|
|
72
72
|
DenseMatrix = _ref2.DenseMatrix;
|
|
73
|
-
var
|
|
73
|
+
var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
|
|
74
74
|
typed: typed,
|
|
75
75
|
equalScalar: equalScalar
|
|
76
76
|
});
|
|
77
|
-
var
|
|
77
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
78
78
|
typed: typed,
|
|
79
79
|
DenseMatrix: DenseMatrix
|
|
80
80
|
});
|
|
81
|
-
var
|
|
81
|
+
var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
|
|
82
82
|
typed: typed
|
|
83
83
|
});
|
|
84
84
|
var ceilNumber = createCeilNumber({
|
|
@@ -147,7 +147,7 @@ var createCeil = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
147
147
|
if ((0, _nearlyEqual.nearlyEqual)(x, round(x, n), config.epsilon)) {
|
|
148
148
|
return round(x, n);
|
|
149
149
|
} else {
|
|
150
|
-
return x.toDecimalPlaces(n.toNumber(), _decimal
|
|
150
|
+
return x.toDecimalPlaces(n.toNumber(), _decimal["default"].ROUND_CEIL);
|
|
151
151
|
}
|
|
152
152
|
},
|
|
153
153
|
Fraction: function Fraction(x) {
|
|
@@ -159,37 +159,47 @@ var createCeil = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
159
159
|
'Fraction, BigNumber': function FractionBigNumber(x, n) {
|
|
160
160
|
return x.ceil(n.toNumber());
|
|
161
161
|
},
|
|
162
|
-
'Array | Matrix': function
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
return
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
162
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
163
|
+
return function (x) {
|
|
164
|
+
// deep map collection, skip zeros since ceil(0) = 0
|
|
165
|
+
return (0, _collection.deepMap)(x, self, true);
|
|
166
|
+
};
|
|
167
|
+
}),
|
|
168
|
+
'Array, number | BigNumber': typed.referToSelf(function (self) {
|
|
169
|
+
return function (x, n) {
|
|
170
|
+
// deep map collection, skip zeros since ceil(0) = 0
|
|
171
|
+
return (0, _collection.deepMap)(x, function (i) {
|
|
172
|
+
return self(i, n);
|
|
173
|
+
}, true);
|
|
174
|
+
};
|
|
175
|
+
}),
|
|
176
|
+
'SparseMatrix, number | BigNumber': typed.referToSelf(function (self) {
|
|
177
|
+
return function (x, y) {
|
|
178
|
+
return matAlgo11xS0s(x, y, self, false);
|
|
179
|
+
};
|
|
180
|
+
}),
|
|
181
|
+
'DenseMatrix, number | BigNumber': typed.referToSelf(function (self) {
|
|
182
|
+
return function (x, y) {
|
|
183
|
+
return matAlgo14xDs(x, y, self, false);
|
|
184
|
+
};
|
|
185
|
+
}),
|
|
186
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(function (self) {
|
|
187
|
+
return function (x, y) {
|
|
188
|
+
// use matrix implementation
|
|
189
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
190
|
+
};
|
|
191
|
+
}),
|
|
192
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(function (self) {
|
|
193
|
+
return function (x, y) {
|
|
194
|
+
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
195
|
+
|
|
196
|
+
if (y.storage() === 'dense') {
|
|
197
|
+
return matAlgo14xDs(y, x, self, true);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
201
|
+
};
|
|
202
|
+
})
|
|
193
203
|
});
|
|
194
204
|
});
|
|
195
205
|
exports.createCeil = createCeil;
|
|
@@ -7,8 +7,6 @@ exports.createCube = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var _collection = require("../../utils/collection.js");
|
|
11
|
-
|
|
12
10
|
var _index = require("../../plain/number/index.js");
|
|
13
11
|
|
|
14
12
|
var name = 'cube';
|
|
@@ -18,7 +16,8 @@ var createCube = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Compute the cube of a value, `x * x * x`.
|
|
21
|
-
*
|
|
19
|
+
* To avoid confusion with `pow(M,3)`, this function does not apply to matrices.
|
|
20
|
+
* If you wish to cube every entry of a matrix, see the examples.
|
|
22
21
|
*
|
|
23
22
|
* Syntax:
|
|
24
23
|
*
|
|
@@ -31,14 +30,14 @@ var createCube = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
31
30
|
* math.cube(4) // returns number 64
|
|
32
31
|
* 4 * 4 * 4 // returns number 64
|
|
33
32
|
*
|
|
34
|
-
* math.
|
|
33
|
+
* math.map([1, 2, 3, 4], math.cube) // returns Array [1, 8, 27, 64]
|
|
35
34
|
*
|
|
36
35
|
* See also:
|
|
37
36
|
*
|
|
38
37
|
* multiply, square, pow, cbrt
|
|
39
38
|
*
|
|
40
|
-
* @param {number | BigNumber | Fraction | Complex |
|
|
41
|
-
* @return {number | BigNumber | Fraction | Complex |
|
|
39
|
+
* @param {number | BigNumber | Fraction | Complex | Unit} x Number for which to calculate the cube
|
|
40
|
+
* @return {number | BigNumber | Fraction | Complex | Unit} Cube of x
|
|
42
41
|
*/
|
|
43
42
|
return typed(name, {
|
|
44
43
|
number: _index.cubeNumber,
|
|
@@ -51,10 +50,6 @@ var createCube = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
|
|
|
51
50
|
Fraction: function Fraction(x) {
|
|
52
51
|
return x.pow(3); // Is faster than mul()mul()mul()
|
|
53
52
|
},
|
|
54
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
55
|
-
// deep map collection, skip zeros since cube(0) = 0
|
|
56
|
-
return (0, _collection.deepMap)(x, this, true);
|
|
57
|
-
},
|
|
58
53
|
Unit: function Unit(x) {
|
|
59
54
|
return x.pow(3);
|
|
60
55
|
}
|
|
@@ -9,9 +9,9 @@ var _factory = require("../../utils/factory.js");
|
|
|
9
9
|
|
|
10
10
|
var _object = require("../../utils/object.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
|
|
15
15
|
|
|
16
16
|
var name = 'divide';
|
|
17
17
|
var dependencies = ['typed', 'matrix', 'multiply', 'equalScalar', 'divideScalar', 'inv'];
|
|
@@ -22,11 +22,11 @@ var createDivide = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
22
22
|
equalScalar = _ref.equalScalar,
|
|
23
23
|
divideScalar = _ref.divideScalar,
|
|
24
24
|
inv = _ref.inv;
|
|
25
|
-
var
|
|
25
|
+
var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
|
|
26
26
|
typed: typed,
|
|
27
27
|
equalScalar: equalScalar
|
|
28
28
|
});
|
|
29
|
-
var
|
|
29
|
+
var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
|
|
30
30
|
typed: typed
|
|
31
31
|
});
|
|
32
32
|
/**
|
|
@@ -71,14 +71,14 @@ var createDivide = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
71
71
|
return multiply(x, inv(y));
|
|
72
72
|
},
|
|
73
73
|
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
74
|
-
return
|
|
74
|
+
return matAlgo14xDs(x, y, divideScalar, false);
|
|
75
75
|
},
|
|
76
76
|
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
77
|
-
return
|
|
77
|
+
return matAlgo11xS0s(x, y, divideScalar, false);
|
|
78
78
|
},
|
|
79
79
|
'Array, any': function ArrayAny(x, y) {
|
|
80
80
|
// use matrix implementation
|
|
81
|
-
return
|
|
81
|
+
return matAlgo14xDs(matrix(x), y, divideScalar, false).valueOf();
|
|
82
82
|
},
|
|
83
83
|
'any, Array | Matrix': function anyArrayMatrix(x, y) {
|
|
84
84
|
return multiply(x, inv(y));
|
|
@@ -7,8 +7,6 @@ exports.createDivideScalar = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var _is = require("../../utils/is.js");
|
|
11
|
-
|
|
12
10
|
var name = 'divideScalar';
|
|
13
11
|
var dependencies = ['typed', 'numeric'];
|
|
14
12
|
var createDivideScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
@@ -40,23 +38,11 @@ var createDivideScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
40
38
|
'Fraction, Fraction': function FractionFraction(x, y) {
|
|
41
39
|
return x.div(y);
|
|
42
40
|
},
|
|
43
|
-
'Unit, number | Fraction | BigNumber': function
|
|
44
|
-
var res = x.clone(); // TODO: move the divide function to Unit.js, it uses internals of Unit
|
|
45
|
-
|
|
46
|
-
var one = numeric(1, (0, _is.typeOf)(y));
|
|
47
|
-
res.value = this(res.value === null ? res._normalize(one) : res.value, y);
|
|
48
|
-
return res;
|
|
49
|
-
},
|
|
50
|
-
'number | Fraction | BigNumber, Unit': function numberFractionBigNumberUnit(x, y) {
|
|
51
|
-
var res = y.clone();
|
|
52
|
-
res = res.pow(-1); // TODO: move the divide function to Unit.js, it uses internals of Unit
|
|
53
|
-
|
|
54
|
-
var one = numeric(1, (0, _is.typeOf)(x));
|
|
55
|
-
res.value = this(x, y.value === null ? y._normalize(one) : y.value);
|
|
56
|
-
return res;
|
|
57
|
-
},
|
|
58
|
-
'Unit, Unit': function UnitUnit(x, y) {
|
|
41
|
+
'Unit, number | Complex | Fraction | BigNumber | Unit': function UnitNumberComplexFractionBigNumberUnit(x, y) {
|
|
59
42
|
return x.divide(y);
|
|
43
|
+
},
|
|
44
|
+
'number | Fraction | Complex | BigNumber, Unit': function numberFractionComplexBigNumberUnit(x, y) {
|
|
45
|
+
return y.divideInto(x);
|
|
60
46
|
}
|
|
61
47
|
});
|
|
62
48
|
});
|
|
@@ -7,19 +7,17 @@ exports.createDotDivide = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _algorithm7 = require("../../type/matrix/utils/algorithm14.js");
|
|
20
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
23
21
|
|
|
24
22
|
var name = 'dotDivide';
|
|
25
23
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix'];
|
|
@@ -29,30 +27,28 @@ var createDotDivide = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
29
27
|
equalScalar = _ref.equalScalar,
|
|
30
28
|
divideScalar = _ref.divideScalar,
|
|
31
29
|
DenseMatrix = _ref.DenseMatrix;
|
|
32
|
-
var
|
|
30
|
+
var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
|
|
33
31
|
typed: typed,
|
|
34
32
|
equalScalar: equalScalar
|
|
35
33
|
});
|
|
36
|
-
var
|
|
34
|
+
var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
|
|
37
35
|
typed: typed
|
|
38
36
|
});
|
|
39
|
-
var
|
|
37
|
+
var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
|
|
40
38
|
typed: typed,
|
|
41
39
|
DenseMatrix: DenseMatrix
|
|
42
40
|
});
|
|
43
|
-
var
|
|
41
|
+
var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
|
|
44
42
|
typed: typed,
|
|
45
43
|
equalScalar: equalScalar
|
|
46
44
|
});
|
|
47
|
-
var
|
|
45
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
48
46
|
typed: typed,
|
|
49
47
|
DenseMatrix: DenseMatrix
|
|
50
48
|
});
|
|
51
|
-
var
|
|
52
|
-
typed: typed
|
|
53
|
-
|
|
54
|
-
var algorithm14 = (0, _algorithm7.createAlgorithm14)({
|
|
55
|
-
typed: typed
|
|
49
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
50
|
+
typed: typed,
|
|
51
|
+
matrix: matrix
|
|
56
52
|
});
|
|
57
53
|
/**
|
|
58
54
|
* Divide two matrices element wise. The function accepts both matrices and
|
|
@@ -81,52 +77,13 @@ var createDotDivide = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
81
77
|
* @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Quotient, `x ./ y`
|
|
82
78
|
*/
|
|
83
79
|
|
|
84
|
-
return typed(name, {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
93
|
-
return algorithm03(x, y, divideScalar, false);
|
|
94
|
-
},
|
|
95
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
96
|
-
return algorithm13(x, y, divideScalar);
|
|
97
|
-
},
|
|
98
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
99
|
-
// use matrix implementation
|
|
100
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
101
|
-
},
|
|
102
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
103
|
-
// use matrix implementation
|
|
104
|
-
return this(matrix(x), y);
|
|
105
|
-
},
|
|
106
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
107
|
-
// use matrix implementation
|
|
108
|
-
return this(x, matrix(y));
|
|
109
|
-
},
|
|
110
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
111
|
-
return algorithm11(x, y, divideScalar, false);
|
|
112
|
-
},
|
|
113
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
114
|
-
return algorithm14(x, y, divideScalar, false);
|
|
115
|
-
},
|
|
116
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
117
|
-
return algorithm12(y, x, divideScalar, true);
|
|
118
|
-
},
|
|
119
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
120
|
-
return algorithm14(y, x, divideScalar, true);
|
|
121
|
-
},
|
|
122
|
-
'Array, any': function ArrayAny(x, y) {
|
|
123
|
-
// use matrix implementation
|
|
124
|
-
return algorithm14(matrix(x), y, divideScalar, false).valueOf();
|
|
125
|
-
},
|
|
126
|
-
'any, Array': function anyArray(x, y) {
|
|
127
|
-
// use matrix implementation
|
|
128
|
-
return algorithm14(matrix(y), x, divideScalar, true).valueOf();
|
|
129
|
-
}
|
|
130
|
-
});
|
|
80
|
+
return typed(name, matrixAlgorithmSuite({
|
|
81
|
+
elop: divideScalar,
|
|
82
|
+
SS: matAlgo07xSSf,
|
|
83
|
+
DS: matAlgo03xDSf,
|
|
84
|
+
SD: matAlgo02xDS0,
|
|
85
|
+
Ss: matAlgo11xS0s,
|
|
86
|
+
sS: matAlgo12xSfs
|
|
87
|
+
}));
|
|
131
88
|
});
|
|
132
89
|
exports.createDotDivide = createDotDivide;
|