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,15 +7,13 @@ exports.createDotMultiply = 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 _matAlgo09xS0Sf = require("../../type/matrix/utils/matAlgo09xS0Sf.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _algorithm5 = require("../../type/matrix/utils/algorithm14.js");
|
|
16
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
19
17
|
|
|
20
18
|
var name = 'dotMultiply';
|
|
21
19
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar'];
|
|
@@ -24,23 +22,21 @@ var createDotMultiply = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
24
22
|
matrix = _ref.matrix,
|
|
25
23
|
equalScalar = _ref.equalScalar,
|
|
26
24
|
multiplyScalar = _ref.multiplyScalar;
|
|
27
|
-
var
|
|
25
|
+
var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
|
|
28
26
|
typed: typed,
|
|
29
27
|
equalScalar: equalScalar
|
|
30
28
|
});
|
|
31
|
-
var
|
|
29
|
+
var matAlgo09xS0Sf = (0, _matAlgo09xS0Sf.createMatAlgo09xS0Sf)({
|
|
32
30
|
typed: typed,
|
|
33
31
|
equalScalar: equalScalar
|
|
34
32
|
});
|
|
35
|
-
var
|
|
33
|
+
var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
|
|
36
34
|
typed: typed,
|
|
37
35
|
equalScalar: equalScalar
|
|
38
36
|
});
|
|
39
|
-
var
|
|
40
|
-
typed: typed
|
|
41
|
-
|
|
42
|
-
var algorithm14 = (0, _algorithm5.createAlgorithm14)({
|
|
43
|
-
typed: typed
|
|
37
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
38
|
+
typed: typed,
|
|
39
|
+
matrix: matrix
|
|
44
40
|
});
|
|
45
41
|
/**
|
|
46
42
|
* Multiply two matrices element wise. The function accepts both matrices and
|
|
@@ -69,52 +65,11 @@ var createDotMultiply = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
69
65
|
* @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`
|
|
70
66
|
*/
|
|
71
67
|
|
|
72
|
-
return typed(name, {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return algorithm02(y, x, multiplyScalar, true);
|
|
79
|
-
},
|
|
80
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
81
|
-
return algorithm02(x, y, multiplyScalar, false);
|
|
82
|
-
},
|
|
83
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
84
|
-
return algorithm13(x, y, multiplyScalar);
|
|
85
|
-
},
|
|
86
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
87
|
-
// use matrix implementation
|
|
88
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
89
|
-
},
|
|
90
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
91
|
-
// use matrix implementation
|
|
92
|
-
return this(matrix(x), y);
|
|
93
|
-
},
|
|
94
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
95
|
-
// use matrix implementation
|
|
96
|
-
return this(x, matrix(y));
|
|
97
|
-
},
|
|
98
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
99
|
-
return algorithm11(x, y, multiplyScalar, false);
|
|
100
|
-
},
|
|
101
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
102
|
-
return algorithm14(x, y, multiplyScalar, false);
|
|
103
|
-
},
|
|
104
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
105
|
-
return algorithm11(y, x, multiplyScalar, true);
|
|
106
|
-
},
|
|
107
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
108
|
-
return algorithm14(y, x, multiplyScalar, true);
|
|
109
|
-
},
|
|
110
|
-
'Array, any': function ArrayAny(x, y) {
|
|
111
|
-
// use matrix implementation
|
|
112
|
-
return algorithm14(matrix(x), y, multiplyScalar, false).valueOf();
|
|
113
|
-
},
|
|
114
|
-
'any, Array': function anyArray(x, y) {
|
|
115
|
-
// use matrix implementation
|
|
116
|
-
return algorithm14(matrix(y), x, multiplyScalar, true).valueOf();
|
|
117
|
-
}
|
|
118
|
-
});
|
|
68
|
+
return typed(name, matrixAlgorithmSuite({
|
|
69
|
+
elop: multiplyScalar,
|
|
70
|
+
SS: matAlgo09xS0Sf,
|
|
71
|
+
DS: matAlgo02xDS0,
|
|
72
|
+
Ss: matAlgo11xS0s
|
|
73
|
+
}));
|
|
119
74
|
});
|
|
120
75
|
exports.createDotMultiply = createDotMultiply;
|
|
@@ -7,17 +7,15 @@ exports.createDotPow = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var _algorithm6 = require("../../type/matrix/utils/algorithm14.js");
|
|
18
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
21
19
|
|
|
22
20
|
var name = 'dotPow';
|
|
23
21
|
var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix'];
|
|
@@ -27,27 +25,36 @@ var createDotPow = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
27
25
|
matrix = _ref.matrix,
|
|
28
26
|
pow = _ref.pow,
|
|
29
27
|
DenseMatrix = _ref.DenseMatrix;
|
|
30
|
-
var
|
|
28
|
+
var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
|
|
31
29
|
typed: typed
|
|
32
30
|
});
|
|
33
|
-
var
|
|
31
|
+
var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
|
|
34
32
|
typed: typed,
|
|
35
33
|
DenseMatrix: DenseMatrix
|
|
36
34
|
});
|
|
37
|
-
var
|
|
35
|
+
var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
|
|
38
36
|
typed: typed,
|
|
39
37
|
equalScalar: equalScalar
|
|
40
38
|
});
|
|
41
|
-
var
|
|
39
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
42
40
|
typed: typed,
|
|
43
41
|
DenseMatrix: DenseMatrix
|
|
44
42
|
});
|
|
45
|
-
var
|
|
46
|
-
typed: typed
|
|
47
|
-
|
|
48
|
-
var algorithm14 = (0, _algorithm6.createAlgorithm14)({
|
|
49
|
-
typed: typed
|
|
43
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
44
|
+
typed: typed,
|
|
45
|
+
matrix: matrix
|
|
50
46
|
});
|
|
47
|
+
var powScalarSignatures = {};
|
|
48
|
+
|
|
49
|
+
for (var signature in pow.signatures) {
|
|
50
|
+
if (Object.prototype.hasOwnProperty.call(pow.signatures, signature)) {
|
|
51
|
+
if (!signature.includes('Matrix') && !signature.includes('Array')) {
|
|
52
|
+
powScalarSignatures[signature] = pow.signatures[signature];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var powScalar = typed(powScalarSignatures);
|
|
51
58
|
/**
|
|
52
59
|
* Calculates the power of x to y element wise.
|
|
53
60
|
*
|
|
@@ -72,52 +79,12 @@ var createDotPow = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
72
79
|
* @return {number | BigNumber | Complex | Unit | Array | Matrix} The value of `x` to the power `y`
|
|
73
80
|
*/
|
|
74
81
|
|
|
75
|
-
return typed(name, {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
84
|
-
return algorithm03(x, y, pow, false);
|
|
85
|
-
},
|
|
86
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
87
|
-
return algorithm13(x, y, pow);
|
|
88
|
-
},
|
|
89
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
90
|
-
// use matrix implementation
|
|
91
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
92
|
-
},
|
|
93
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
94
|
-
// use matrix implementation
|
|
95
|
-
return this(matrix(x), y);
|
|
96
|
-
},
|
|
97
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
98
|
-
// use matrix implementation
|
|
99
|
-
return this(x, matrix(y));
|
|
100
|
-
},
|
|
101
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
102
|
-
return algorithm11(x, y, this, false);
|
|
103
|
-
},
|
|
104
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
105
|
-
return algorithm14(x, y, this, false);
|
|
106
|
-
},
|
|
107
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
108
|
-
return algorithm12(y, x, this, true);
|
|
109
|
-
},
|
|
110
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
111
|
-
return algorithm14(y, x, this, true);
|
|
112
|
-
},
|
|
113
|
-
'Array, any': function ArrayAny(x, y) {
|
|
114
|
-
// use matrix implementation
|
|
115
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
116
|
-
},
|
|
117
|
-
'any, Array': function anyArray(x, y) {
|
|
118
|
-
// use matrix implementation
|
|
119
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
120
|
-
}
|
|
121
|
-
});
|
|
82
|
+
return typed(name, matrixAlgorithmSuite({
|
|
83
|
+
elop: powScalar,
|
|
84
|
+
SS: matAlgo07xSSf,
|
|
85
|
+
DS: matAlgo03xDSf,
|
|
86
|
+
Ss: matAlgo11xS0s,
|
|
87
|
+
sS: matAlgo12xSfs
|
|
88
|
+
}));
|
|
122
89
|
});
|
|
123
90
|
exports.createDotPow = createDotPow;
|
|
@@ -7,8 +7,6 @@ exports.createExp = 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 = 'exp';
|
|
@@ -17,8 +15,10 @@ var createExp = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
17
15
|
var typed = _ref.typed;
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
|
-
* Calculate the
|
|
21
|
-
* For matrices, the
|
|
18
|
+
* Calculate the exponential of a value.
|
|
19
|
+
* For matrices, if you want the matrix exponential of square matrix, use
|
|
20
|
+
* the `expm` function; if you want to take the exponential of each element,
|
|
21
|
+
* see the examples.
|
|
22
22
|
*
|
|
23
23
|
* Syntax:
|
|
24
24
|
*
|
|
@@ -30,7 +30,7 @@ var createExp = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
30
30
|
* math.pow(math.e, 2) // returns number 7.3890560989306495
|
|
31
31
|
* math.log(math.exp(2)) // returns number 2
|
|
32
32
|
*
|
|
33
|
-
* math.
|
|
33
|
+
* math.map([1, 2, 3], math.exp)
|
|
34
34
|
* // returns Array [
|
|
35
35
|
* // 2.718281828459045,
|
|
36
36
|
* // 7.3890560989306495,
|
|
@@ -39,10 +39,10 @@ var createExp = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
39
39
|
*
|
|
40
40
|
* See also:
|
|
41
41
|
*
|
|
42
|
-
* expm1, log, pow
|
|
42
|
+
* expm1, expm, log, pow
|
|
43
43
|
*
|
|
44
|
-
* @param {number | BigNumber | Complex
|
|
45
|
-
* @return {number | BigNumber | Complex
|
|
44
|
+
* @param {number | BigNumber | Complex} x A number to exponentiate
|
|
45
|
+
* @return {number | BigNumber | Complex} Exponential of `x`
|
|
46
46
|
*/
|
|
47
47
|
return typed(name, {
|
|
48
48
|
number: _index.expNumber,
|
|
@@ -51,10 +51,6 @@ var createExp = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
51
51
|
},
|
|
52
52
|
BigNumber: function BigNumber(x) {
|
|
53
53
|
return x.exp();
|
|
54
|
-
},
|
|
55
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
56
|
-
// TODO: exp(sparse) should return a dense matrix since exp(0)==1
|
|
57
|
-
return (0, _collection.deepMap)(x, this);
|
|
58
54
|
}
|
|
59
55
|
});
|
|
60
56
|
});
|
|
@@ -7,8 +7,6 @@ exports.createExpm1 = 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 = 'expm1';
|
|
@@ -19,7 +17,10 @@ var createExpm1 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* Calculate the value of subtracting 1 from the exponential value.
|
|
22
|
-
*
|
|
20
|
+
* This function is more accurate than `math.exp(x)-1` when `x` is near 0
|
|
21
|
+
* To avoid ambiguity with the matrix exponential `expm`, this function
|
|
22
|
+
* does not operate on matrices; if you wish to apply it elementwise, see
|
|
23
|
+
* the examples.
|
|
23
24
|
*
|
|
24
25
|
* Syntax:
|
|
25
26
|
*
|
|
@@ -29,9 +30,11 @@ var createExpm1 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
29
30
|
*
|
|
30
31
|
* math.expm1(2) // returns number 6.38905609893065
|
|
31
32
|
* math.pow(math.e, 2) - 1 // returns number 6.3890560989306495
|
|
33
|
+
* math.expm1(1e-8) // returns number 1.0000000050000001e-8
|
|
34
|
+
* math.exp(1e-8) - 1 // returns number 9.9999999392253e-9
|
|
32
35
|
* math.log(math.expm1(2) + 1) // returns number 2
|
|
33
36
|
*
|
|
34
|
-
* math.
|
|
37
|
+
* math.map([1, 2, 3], math.expm1)
|
|
35
38
|
* // returns Array [
|
|
36
39
|
* // 1.718281828459045,
|
|
37
40
|
* // 6.3890560989306495,
|
|
@@ -40,10 +43,10 @@ var createExpm1 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
40
43
|
*
|
|
41
44
|
* See also:
|
|
42
45
|
*
|
|
43
|
-
* exp, log, pow
|
|
46
|
+
* exp, expm, log, pow
|
|
44
47
|
*
|
|
45
|
-
* @param {number | BigNumber | Complex
|
|
46
|
-
* @return {number | BigNumber | Complex
|
|
48
|
+
* @param {number | BigNumber | Complex} x A number or matrix to apply expm1
|
|
49
|
+
* @return {number | BigNumber | Complex} Exponential of `x`, minus one
|
|
47
50
|
*/
|
|
48
51
|
return typed(name, {
|
|
49
52
|
number: _index.expm1Number,
|
|
@@ -53,9 +56,6 @@ var createExpm1 = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
53
56
|
},
|
|
54
57
|
BigNumber: function BigNumber(x) {
|
|
55
58
|
return x.exp().minus(1);
|
|
56
|
-
},
|
|
57
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
58
|
-
return (0, _collection.deepMap)(x, this);
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
|
@@ -9,9 +9,9 @@ var _factory = require("../../utils/factory.js");
|
|
|
9
9
|
|
|
10
10
|
var _collection = require("../../utils/collection.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
|
|
15
15
|
|
|
16
16
|
var name = 'fix';
|
|
17
17
|
var dependencies = ['typed', 'Complex', 'matrix', 'ceil', 'floor', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
@@ -38,11 +38,11 @@ var createFix = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
38
38
|
equalScalar = _ref2.equalScalar,
|
|
39
39
|
zeros = _ref2.zeros,
|
|
40
40
|
DenseMatrix = _ref2.DenseMatrix;
|
|
41
|
-
var
|
|
41
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
42
42
|
typed: typed,
|
|
43
43
|
DenseMatrix: DenseMatrix
|
|
44
44
|
});
|
|
45
|
-
var
|
|
45
|
+
var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
|
|
46
46
|
typed: typed
|
|
47
47
|
});
|
|
48
48
|
var fixNumber = createFixNumber({
|
|
@@ -112,31 +112,37 @@ var createFix = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functio
|
|
|
112
112
|
'Fraction, number | BigNumber': function FractionNumberBigNumber(x, n) {
|
|
113
113
|
return x.s < 0 ? ceil(x, n) : floor(x, n);
|
|
114
114
|
},
|
|
115
|
-
'Array | Matrix': function
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
116
|
+
return function (x) {
|
|
117
|
+
// deep map collection, skip zeros since fix(0) = 0
|
|
118
|
+
return (0, _collection.deepMap)(x, self, true);
|
|
119
|
+
};
|
|
120
|
+
}),
|
|
121
|
+
'Array | Matrix, number | BigNumber': typed.referToSelf(function (self) {
|
|
122
|
+
return function (x, n) {
|
|
123
|
+
// deep map collection, skip zeros since fix(0) = 0
|
|
124
|
+
return (0, _collection.deepMap)(x, function (i) {
|
|
125
|
+
return self(i, n);
|
|
126
|
+
}, true);
|
|
127
|
+
};
|
|
128
|
+
}),
|
|
129
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(function (self) {
|
|
130
|
+
return function (x, y) {
|
|
131
|
+
// use matrix implementation
|
|
132
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
133
|
+
};
|
|
134
|
+
}),
|
|
135
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(function (self) {
|
|
136
|
+
return function (x, y) {
|
|
137
|
+
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
121
138
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}, true);
|
|
126
|
-
},
|
|
127
|
-
'number | Complex | Fraction | BigNumber, Array': function numberComplexFractionBigNumberArray(x, y) {
|
|
128
|
-
// use matrix implementation
|
|
129
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
130
|
-
},
|
|
131
|
-
'number | Complex | Fraction | BigNumber, Matrix': function numberComplexFractionBigNumberMatrix(x, y) {
|
|
132
|
-
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
139
|
+
if (y.storage() === 'dense') {
|
|
140
|
+
return matAlgo14xDs(y, x, self, true);
|
|
141
|
+
}
|
|
133
142
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return algorithm12(y, x, this, true);
|
|
139
|
-
}
|
|
143
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
144
|
+
};
|
|
145
|
+
})
|
|
140
146
|
});
|
|
141
147
|
});
|
|
142
148
|
exports.createFix = createFix;
|
|
@@ -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 = 'floor';
|
|
29
29
|
var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
@@ -43,19 +43,19 @@ var createFloorNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed', 'co
|
|
|
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.floor(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 createFloor = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
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 floorNumber = createFloorNumber({
|
|
@@ -150,7 +150,7 @@ var createFloor = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
150
150
|
if ((0, _nearlyEqual.nearlyEqual)(x, round(x, n), config.epsilon)) {
|
|
151
151
|
return round(x, n);
|
|
152
152
|
} else {
|
|
153
|
-
return x.toDecimalPlaces(n.toNumber(), _decimal
|
|
153
|
+
return x.toDecimalPlaces(n.toNumber(), _decimal["default"].ROUND_FLOOR);
|
|
154
154
|
}
|
|
155
155
|
},
|
|
156
156
|
Fraction: function Fraction(x) {
|
|
@@ -162,37 +162,47 @@ var createFloor = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
162
162
|
'Fraction, BigNumber': function FractionBigNumber(x, n) {
|
|
163
163
|
return x.floor(n.toNumber());
|
|
164
164
|
},
|
|
165
|
-
'Array | Matrix': function
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
return
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
165
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
166
|
+
return function (x) {
|
|
167
|
+
// deep map collection, skip zeros since floor(0) = 0
|
|
168
|
+
return (0, _collection.deepMap)(x, self, true);
|
|
169
|
+
};
|
|
170
|
+
}),
|
|
171
|
+
'Array, number | BigNumber': typed.referToSelf(function (self) {
|
|
172
|
+
return function (x, n) {
|
|
173
|
+
// deep map collection, skip zeros since ceil(0) = 0
|
|
174
|
+
return (0, _collection.deepMap)(x, function (i) {
|
|
175
|
+
return self(i, n);
|
|
176
|
+
}, true);
|
|
177
|
+
};
|
|
178
|
+
}),
|
|
179
|
+
'SparseMatrix, number | BigNumber': typed.referToSelf(function (self) {
|
|
180
|
+
return function (x, y) {
|
|
181
|
+
return matAlgo11xS0s(x, y, self, false);
|
|
182
|
+
};
|
|
183
|
+
}),
|
|
184
|
+
'DenseMatrix, number | BigNumber': typed.referToSelf(function (self) {
|
|
185
|
+
return function (x, y) {
|
|
186
|
+
return matAlgo14xDs(x, y, self, false);
|
|
187
|
+
};
|
|
188
|
+
}),
|
|
189
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(function (self) {
|
|
190
|
+
return function (x, y) {
|
|
191
|
+
// use matrix implementation
|
|
192
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
193
|
+
};
|
|
194
|
+
}),
|
|
195
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(function (self) {
|
|
196
|
+
return function (x, y) {
|
|
197
|
+
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
198
|
+
|
|
199
|
+
if (y.storage() === 'dense') {
|
|
200
|
+
return matAlgo14xDs(y, x, self, true);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
204
|
+
};
|
|
205
|
+
})
|
|
196
206
|
});
|
|
197
207
|
});
|
|
198
208
|
exports.createFloor = createFloor;
|