mathjs 10.6.3 → 11.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +25 -33
- package/lib/cjs/function/algebra/leafCount.js +0 -3
- package/lib/cjs/function/algebra/rationalize.js +78 -108
- package/lib/cjs/function/algebra/resolve.js +53 -16
- package/lib/cjs/function/algebra/simplify/util.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +90 -115
- package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
- package/lib/cjs/function/algebra/simplifyCore.js +196 -93
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +14 -32
- package/lib/cjs/function/arithmetic/abs.js +7 -14
- package/lib/cjs/function/arithmetic/add.js +26 -70
- package/lib/cjs/function/arithmetic/addScalar.js +17 -9
- package/lib/cjs/function/arithmetic/cbrt.js +7 -11
- package/lib/cjs/function/arithmetic/ceil.js +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 +34 -28
- package/lib/cjs/function/arithmetic/floor.js +57 -47
- package/lib/cjs/function/arithmetic/gcd.js +27 -68
- package/lib/cjs/function/arithmetic/hypot.js +9 -5
- package/lib/cjs/function/arithmetic/invmod.js +2 -2
- package/lib/cjs/function/arithmetic/lcm.js +27 -68
- package/lib/cjs/function/arithmetic/log.js +10 -12
- package/lib/cjs/function/arithmetic/log10.js +5 -3
- package/lib/cjs/function/arithmetic/log1p.js +11 -7
- package/lib/cjs/function/arithmetic/log2.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +22 -64
- package/lib/cjs/function/arithmetic/multiply.js +40 -35
- package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
- package/lib/cjs/function/arithmetic/norm.js +1 -5
- package/lib/cjs/function/arithmetic/nthRoot.js +83 -95
- package/lib/cjs/function/arithmetic/nthRoots.js +2 -2
- package/lib/cjs/function/arithmetic/round.js +56 -42
- package/lib/cjs/function/arithmetic/sign.js +14 -10
- package/lib/cjs/function/arithmetic/sqrt.js +5 -9
- package/lib/cjs/function/arithmetic/square.js +6 -10
- package/lib/cjs/function/arithmetic/subtract.js +44 -100
- package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
- package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
- package/lib/cjs/function/bitwise/bitAnd.js +17 -61
- package/lib/cjs/function/bitwise/bitNot.js +6 -4
- package/lib/cjs/function/bitwise/bitOr.js +16 -60
- package/lib/cjs/function/bitwise/bitXor.js +17 -61
- package/lib/cjs/function/bitwise/leftShift.js +69 -82
- package/lib/cjs/function/bitwise/rightArithShift.js +69 -82
- package/lib/cjs/function/bitwise/rightLogShift.js +69 -82
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
- package/lib/cjs/function/complex/arg.js +5 -3
- package/lib/cjs/function/complex/conj.js +6 -7
- package/lib/cjs/function/complex/im.js +7 -8
- package/lib/cjs/function/complex/re.js +6 -10
- package/lib/cjs/function/geometry/distance.js +2 -2
- package/lib/cjs/function/logical/and.js +74 -80
- package/lib/cjs/function/logical/not.js +13 -6
- package/lib/cjs/function/logical/or.js +21 -63
- package/lib/cjs/function/logical/xor.js +21 -63
- package/lib/cjs/function/matrix/diff.js +11 -8
- package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
- package/lib/cjs/function/matrix/fft.js +2 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/ones.js +2 -1
- package/lib/cjs/function/matrix/rotate.js +5 -5
- package/lib/cjs/function/matrix/sqrtm.js +3 -2
- package/lib/cjs/function/matrix/transpose.js +47 -48
- package/lib/cjs/function/matrix/zeros.js +2 -1
- package/lib/cjs/function/probability/factorial.js +5 -3
- package/lib/cjs/function/probability/gamma.js +38 -40
- package/lib/cjs/function/probability/kldivergence.js +5 -2
- package/lib/cjs/function/probability/lgamma.js +30 -30
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compare.js +21 -67
- package/lib/cjs/function/relational/compareNatural.js +59 -54
- package/lib/cjs/function/relational/compareText.js +10 -43
- package/lib/cjs/function/relational/compareUnits.js +24 -0
- package/lib/cjs/function/relational/equal.js +19 -80
- package/lib/cjs/function/relational/equalScalar.js +7 -9
- package/lib/cjs/function/relational/larger.js +21 -67
- package/lib/cjs/function/relational/largerEq.js +21 -67
- package/lib/cjs/function/relational/smaller.js +21 -67
- package/lib/cjs/function/relational/smallerEq.js +21 -67
- package/lib/cjs/function/relational/unequal.js +19 -80
- package/lib/cjs/function/special/erf.js +5 -3
- package/lib/cjs/function/statistics/std.js +11 -2
- package/lib/cjs/function/string/format.js +2 -2
- package/lib/cjs/function/string/hex.js +1 -2
- package/lib/cjs/function/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +6 -11
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +6 -11
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +6 -10
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +5 -10
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +5 -11
- package/lib/cjs/function/trigonometry/atan2.js +25 -63
- package/lib/cjs/function/trigonometry/atanh.js +4 -9
- package/lib/cjs/function/trigonometry/cos.js +11 -20
- package/lib/cjs/function/trigonometry/cosh.js +5 -19
- package/lib/cjs/function/trigonometry/cot.js +9 -15
- package/lib/cjs/function/trigonometry/coth.js +4 -15
- package/lib/cjs/function/trigonometry/csc.js +11 -17
- package/lib/cjs/function/trigonometry/csch.js +4 -15
- package/lib/cjs/function/trigonometry/sec.js +11 -17
- package/lib/cjs/function/trigonometry/sech.js +4 -15
- package/lib/cjs/function/trigonometry/sin.js +11 -21
- package/lib/cjs/function/trigonometry/sinh.js +5 -20
- package/lib/cjs/function/trigonometry/tan.js +11 -21
- package/lib/cjs/function/trigonometry/tanh.js +5 -20
- package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
- package/lib/cjs/function/unit/to.js +7 -41
- package/lib/cjs/function/utils/clone.js +1 -1
- package/lib/cjs/function/utils/hasNumericValue.js +5 -1
- package/lib/cjs/function/utils/isInteger.js +6 -4
- package/lib/cjs/function/utils/isNaN.js +1 -1
- package/lib/cjs/function/utils/isNegative.js +11 -7
- package/lib/cjs/function/utils/isNumeric.js +6 -4
- package/lib/cjs/function/utils/isPositive.js +11 -7
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +21 -17
- package/lib/cjs/function/utils/numeric.js +11 -4
- package/lib/cjs/function/utils/typeOf.js +38 -44
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
- package/lib/cjs/type/boolean.js +7 -5
- package/lib/cjs/type/chain/Chain.js +23 -3
- package/lib/cjs/type/complex/Complex.js +18 -14
- package/lib/cjs/type/complex/function/complex.js +6 -4
- package/lib/cjs/type/fraction/Fraction.js +10 -6
- package/lib/cjs/type/fraction/function/fraction.js +6 -4
- package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
- package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
- package/lib/cjs/type/number.js +6 -4
- package/lib/cjs/type/string.js +7 -5
- package/lib/cjs/type/unit/Unit.js +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 +25 -33
- package/lib/esm/function/algebra/leafCount.js +0 -3
- package/lib/esm/function/algebra/rationalize.js +83 -114
- package/lib/esm/function/algebra/resolve.js +25 -16
- package/lib/esm/function/algebra/simplify.js +85 -113
- package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
- package/lib/esm/function/algebra/simplifyCore.js +192 -91
- package/lib/esm/function/algebra/symbolicEqual.js +14 -32
- package/lib/esm/function/arithmetic/abs.js +3 -16
- package/lib/esm/function/arithmetic/add.js +21 -65
- package/lib/esm/function/arithmetic/addScalar.js +11 -5
- package/lib/esm/function/arithmetic/cbrt.js +7 -10
- package/lib/esm/function/arithmetic/ceil.js +25 -25
- package/lib/esm/function/arithmetic/cube.js +5 -9
- package/lib/esm/function/arithmetic/divide.js +7 -7
- package/lib/esm/function/arithmetic/divideScalar.js +2 -19
- package/lib/esm/function/arithmetic/dotDivide.js +22 -64
- package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
- package/lib/esm/function/arithmetic/dotPow.js +30 -62
- package/lib/esm/function/arithmetic/exp.js +8 -11
- package/lib/esm/function/arithmetic/expm1.js +10 -9
- package/lib/esm/function/arithmetic/fix.js +18 -18
- package/lib/esm/function/arithmetic/floor.js +26 -26
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- package/lib/esm/function/arithmetic/invmod.js +1 -1
- package/lib/esm/function/arithmetic/lcm.js +26 -70
- package/lib/esm/function/arithmetic/log.js +7 -10
- package/lib/esm/function/arithmetic/log10.js +1 -3
- package/lib/esm/function/arithmetic/log1p.js +4 -6
- package/lib/esm/function/arithmetic/log2.js +1 -3
- package/lib/esm/function/arithmetic/mod.js +21 -62
- package/lib/esm/function/arithmetic/multiply.js +23 -27
- package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
- package/lib/esm/function/arithmetic/norm.js +0 -4
- package/lib/esm/function/arithmetic/nthRoot.js +41 -76
- package/lib/esm/function/arithmetic/nthRoots.js +2 -2
- package/lib/esm/function/arithmetic/round.js +26 -28
- package/lib/esm/function/arithmetic/sign.js +5 -7
- package/lib/esm/function/arithmetic/sqrt.js +5 -8
- package/lib/esm/function/arithmetic/square.js +6 -9
- package/lib/esm/function/arithmetic/subtract.js +31 -95
- package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
- package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
- package/lib/esm/function/bitwise/bitAnd.js +16 -59
- package/lib/esm/function/bitwise/bitNot.js +2 -4
- package/lib/esm/function/bitwise/bitOr.js +16 -59
- package/lib/esm/function/bitwise/bitXor.js +16 -59
- package/lib/esm/function/bitwise/leftShift.js +39 -61
- package/lib/esm/function/bitwise/rightArithShift.js +39 -61
- package/lib/esm/function/bitwise/rightLogShift.js +39 -61
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/complex/arg.js +1 -3
- package/lib/esm/function/complex/conj.js +3 -12
- package/lib/esm/function/complex/im.js +4 -15
- package/lib/esm/function/complex/re.js +3 -15
- package/lib/esm/function/geometry/distance.js +2 -2
- package/lib/esm/function/logical/and.js +35 -57
- package/lib/esm/function/logical/not.js +3 -6
- package/lib/esm/function/logical/or.js +16 -61
- package/lib/esm/function/logical/xor.js +16 -61
- package/lib/esm/function/matrix/diff.js +3 -8
- package/lib/esm/function/matrix/ones.js +2 -1
- package/lib/esm/function/matrix/rotate.js +5 -5
- package/lib/esm/function/matrix/sqrtm.js +3 -2
- package/lib/esm/function/matrix/transpose.js +47 -50
- package/lib/esm/function/matrix/zeros.js +2 -1
- package/lib/esm/function/probability/factorial.js +1 -3
- package/lib/esm/function/probability/gamma.js +38 -39
- package/lib/esm/function/probability/kldivergence.js +3 -2
- package/lib/esm/function/probability/lgamma.js +29 -29
- package/lib/esm/function/relational/compare.js +21 -67
- package/lib/esm/function/relational/compareNatural.js +54 -49
- package/lib/esm/function/relational/compareText.js +10 -42
- package/lib/esm/function/relational/compareUnits.js +15 -0
- package/lib/esm/function/relational/equal.js +19 -79
- package/lib/esm/function/relational/equalScalar.js +6 -9
- package/lib/esm/function/relational/larger.js +23 -73
- package/lib/esm/function/relational/largerEq.js +23 -73
- package/lib/esm/function/relational/smaller.js +23 -73
- package/lib/esm/function/relational/smallerEq.js +23 -73
- package/lib/esm/function/relational/unequal.js +19 -79
- package/lib/esm/function/special/erf.js +1 -3
- package/lib/esm/function/statistics/std.js +10 -2
- package/lib/esm/function/string/format.js +2 -2
- package/lib/esm/function/string/hex.js +1 -2
- package/lib/esm/function/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +6 -10
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +6 -10
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +6 -9
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +5 -9
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +5 -10
- package/lib/esm/function/trigonometry/atan2.js +26 -65
- package/lib/esm/function/trigonometry/atanh.js +4 -8
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +5 -20
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +6 -20
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +6 -20
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +6 -20
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +5 -21
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +5 -21
- package/lib/esm/function/trigonometry/trigUnit.js +15 -0
- package/lib/esm/function/unit/to.js +8 -43
- package/lib/esm/function/utils/clone.js +1 -1
- package/lib/esm/function/utils/hasNumericValue.js +3 -1
- package/lib/esm/function/utils/isInteger.js +2 -4
- package/lib/esm/function/utils/isNaN.js +1 -1
- package/lib/esm/function/utils/isNegative.js +3 -7
- package/lib/esm/function/utils/isNumeric.js +4 -10
- package/lib/esm/function/utils/isPositive.js +3 -7
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +13 -17
- package/lib/esm/function/utils/numeric.js +11 -4
- package/lib/esm/function/utils/typeOf.js +38 -44
- package/lib/esm/type/bignumber/function/bignumber.js +1 -3
- package/lib/esm/type/boolean.js +1 -3
- package/lib/esm/type/chain/Chain.js +23 -3
- package/lib/esm/type/complex/Complex.js +4 -0
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +4 -0
- package/lib/esm/type/fraction/function/fraction.js +1 -3
- package/lib/esm/type/matrix/DenseMatrix.js +15 -1
- package/lib/esm/type/matrix/SparseMatrix.js +9 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
- package/lib/esm/type/number.js +1 -3
- package/lib/esm/type/string.js +1 -3
- package/lib/esm/type/unit/Unit.js +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 +215 -183
- package/types/index.ts +358 -144
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
@@ -27,7 +27,7 @@ var _constants = require("../../utils/bignumber/constants.js");
|
|
27
27
|
|
28
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
29
29
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
31
31
|
|
32
32
|
var name = 'Unit';
|
33
33
|
var dependencies = ['?on', 'config', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
|
@@ -88,12 +88,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
88
88
|
this.units = u.units;
|
89
89
|
this.dimensions = u.dimensions;
|
90
90
|
} else {
|
91
|
-
this.units = [
|
92
|
-
unit: UNIT_NONE,
|
93
|
-
prefix: PREFIXES.NONE,
|
94
|
-
// link to a list with supported prefixes
|
95
|
-
power: 0
|
96
|
-
}];
|
91
|
+
this.units = [];
|
97
92
|
this.dimensions = [];
|
98
93
|
|
99
94
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
@@ -115,6 +110,10 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
115
110
|
*/
|
116
111
|
|
117
112
|
|
113
|
+
Object.defineProperty(Unit, 'name', {
|
114
|
+
value: 'Unit'
|
115
|
+
});
|
116
|
+
Unit.prototype.constructor = Unit;
|
118
117
|
Unit.prototype.type = 'Unit';
|
119
118
|
Unit.prototype.isUnit = true; // private variables and functions for the Unit parser
|
120
119
|
|
@@ -477,6 +476,17 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
477
476
|
|
478
477
|
return unit;
|
479
478
|
};
|
479
|
+
/**
|
480
|
+
* Return the type of the value of this unit
|
481
|
+
*
|
482
|
+
* @memberof Unit
|
483
|
+
* @ return {string} type of the value of the unit
|
484
|
+
*/
|
485
|
+
|
486
|
+
|
487
|
+
Unit.prototype.valueType = function () {
|
488
|
+
return (0, _is.typeOf)(this.value);
|
489
|
+
};
|
480
490
|
/**
|
481
491
|
* Return whether the unit is derived (such as m/s, or cm^2, but not N)
|
482
492
|
* @memberof Unit
|
@@ -666,15 +676,16 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
666
676
|
return this.equalBase(other) && equal(this.value, other.value);
|
667
677
|
};
|
668
678
|
/**
|
669
|
-
* Multiply this unit with another one
|
679
|
+
* Multiply this unit with another one or with a scalar
|
670
680
|
* @memberof Unit
|
671
681
|
* @param {Unit} other
|
672
682
|
* @return {Unit} product of this unit and the other unit
|
673
683
|
*/
|
674
684
|
|
675
685
|
|
676
|
-
Unit.prototype.multiply = function (
|
686
|
+
Unit.prototype.multiply = function (_other) {
|
677
687
|
var res = this.clone();
|
688
|
+
var other = (0, _is.isUnit)(_other) ? _other : new Unit(_other);
|
678
689
|
|
679
690
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
680
691
|
// Dimensions arrays may be of different lengths. Default to 0.
|
@@ -698,19 +709,35 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
698
709
|
res.value = null;
|
699
710
|
}
|
700
711
|
|
701
|
-
|
712
|
+
if ((0, _is.isUnit)(_other)) {
|
713
|
+
res.skipAutomaticSimplification = false;
|
714
|
+
}
|
715
|
+
|
702
716
|
return getNumericIfUnitless(res);
|
703
717
|
};
|
718
|
+
/**
|
719
|
+
* Divide a number by this unit
|
720
|
+
*
|
721
|
+
* @memberof Unit
|
722
|
+
* @param {numeric} numerator
|
723
|
+
* @param {unit} result of dividing numerator by this unit
|
724
|
+
*/
|
725
|
+
|
726
|
+
|
727
|
+
Unit.prototype.divideInto = function (numerator) {
|
728
|
+
return new Unit(numerator).divide(this);
|
729
|
+
};
|
704
730
|
/**
|
705
731
|
* Divide this unit by another one
|
706
732
|
* @memberof Unit
|
707
|
-
* @param {Unit} other
|
733
|
+
* @param {Unit | numeric} other
|
708
734
|
* @return {Unit} result of dividing this unit by the other unit
|
709
735
|
*/
|
710
736
|
|
711
737
|
|
712
|
-
Unit.prototype.divide = function (
|
738
|
+
Unit.prototype.divide = function (_other) {
|
713
739
|
var res = this.clone();
|
740
|
+
var other = (0, _is.isUnit)(_other) ? _other : new Unit(_other);
|
714
741
|
|
715
742
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
716
743
|
// Dimensions arrays may be of different lengths. Default to 0.
|
@@ -736,7 +763,10 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
736
763
|
res.value = null;
|
737
764
|
}
|
738
765
|
|
739
|
-
|
766
|
+
if ((0, _is.isUnit)(_other)) {
|
767
|
+
res.skipAutomaticSimplification = false;
|
768
|
+
}
|
769
|
+
|
740
770
|
return getNumericIfUnitless(res);
|
741
771
|
};
|
742
772
|
/**
|
@@ -805,7 +835,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
805
835
|
// To give the correct, but unexpected, results for units with an offset.
|
806
836
|
// For example, abs(-283.15 degC) = -263.15 degC !!!
|
807
837
|
// We must take the offset into consideration here
|
808
|
-
var convert =
|
838
|
+
var convert = ret._numberConverter(); // convert to Fraction or BigNumber if needed
|
809
839
|
|
810
840
|
|
811
841
|
var unitValue = convert(ret.units[0].unit.value);
|
@@ -1939,9 +1969,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
1939
1969
|
}
|
1940
1970
|
}
|
1941
1971
|
};
|
1942
|
-
PREFIXES.SHORTLONG = (0, _extends2
|
1943
|
-
PREFIXES.BINARY_SHORT = (0, _extends2
|
1944
|
-
PREFIXES.BINARY_LONG = (0, _extends2
|
1972
|
+
PREFIXES.SHORTLONG = (0, _extends2["default"])({}, PREFIXES.SHORT, PREFIXES.LONG);
|
1973
|
+
PREFIXES.BINARY_SHORT = (0, _extends2["default"])({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);
|
1974
|
+
PREFIXES.BINARY_LONG = (0, _extends2["default"])({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);
|
1945
1975
|
/* Internally, each unit is represented by a value and a dimension array. The elements of the dimensions array have the following meaning:
|
1946
1976
|
* Index Dimension
|
1947
1977
|
* ----- ---------
|
@@ -2125,7 +2155,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
2125
2155
|
value: 1,
|
2126
2156
|
offset: 0
|
2127
2157
|
},
|
2128
|
-
in: {
|
2158
|
+
"in": {
|
2129
2159
|
name: 'in',
|
2130
2160
|
base: BASE_UNITS.LENGTH,
|
2131
2161
|
prefixes: PREFIXES.NONE,
|
@@ -3389,7 +3419,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
3389
3419
|
electronvolts: 'electronvolt',
|
3390
3420
|
moles: 'mole',
|
3391
3421
|
bit: 'bits',
|
3392
|
-
byte: 'bytes'
|
3422
|
+
"byte": 'bytes'
|
3393
3423
|
};
|
3394
3424
|
/**
|
3395
3425
|
* Calculate the values for the angle units.
|
@@ -3647,6 +3677,23 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
3647
3677
|
return x;
|
3648
3678
|
}
|
3649
3679
|
};
|
3680
|
+
/**
|
3681
|
+
* Retrieve the right converter function corresponding with this unit's
|
3682
|
+
* value
|
3683
|
+
*
|
3684
|
+
* @memberof Unit
|
3685
|
+
* @return {Function}
|
3686
|
+
*/
|
3687
|
+
|
3688
|
+
Unit.prototype._numberConverter = function () {
|
3689
|
+
var convert = Unit.typeConverters[this.valueType()];
|
3690
|
+
|
3691
|
+
if (convert) {
|
3692
|
+
return convert;
|
3693
|
+
}
|
3694
|
+
|
3695
|
+
throw new TypeError('Unsupported Unit value type "' + this.valueType() + '"');
|
3696
|
+
};
|
3650
3697
|
/**
|
3651
3698
|
* Retrieve the right convertor function corresponding with the type
|
3652
3699
|
* of provided exampleValue.
|
@@ -3656,6 +3703,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
3656
3703
|
* @return {Function}
|
3657
3704
|
*/
|
3658
3705
|
|
3706
|
+
|
3659
3707
|
Unit._getNumberConverter = function (type) {
|
3660
3708
|
if (!Unit.typeConverters[type]) {
|
3661
3709
|
throw new TypeError('Unsupported type "' + type + '"');
|
@@ -3733,7 +3781,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
3733
3781
|
|
3734
3782
|
|
3735
3783
|
Unit.createUnit = function (obj, options) {
|
3736
|
-
if ((0, _typeof2
|
3784
|
+
if ((0, _typeof2["default"])(obj) !== 'object') {
|
3737
3785
|
throw new TypeError("createUnit expects first parameter to be of type 'Object'");
|
3738
3786
|
} // Remove all units and aliases we are overriding
|
3739
3787
|
|
@@ -3823,7 +3871,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
3823
3871
|
if (obj !== '') {
|
3824
3872
|
definition = obj;
|
3825
3873
|
}
|
3826
|
-
} else if ((0, _typeof2
|
3874
|
+
} else if ((0, _typeof2["default"])(obj) === 'object') {
|
3827
3875
|
definition = obj.definition;
|
3828
3876
|
prefixes = obj.prefixes;
|
3829
3877
|
offset = obj.offset;
|
@@ -40,9 +40,10 @@ var createCreateUnit = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
40
40
|
* math.createUnit('foo')
|
41
41
|
* math.createUnit('knot', {definition: '0.514444444 m/s', aliases: ['knots', 'kt', 'kts']})
|
42
42
|
* math.createUnit('mph', '1 mile/hour')
|
43
|
+
* math.createUnit('km', math.unit(1000, 'm'))
|
43
44
|
*
|
44
45
|
* @param {string} name The name of the new unit. Must be unique. Example: 'knot'
|
45
|
-
* @param {string, Unit} definition Definition of the unit in terms of existing units. For example, '0.514444444 m / s'.
|
46
|
+
* @param {string, UnitDefinition, Unit} definition Definition of the unit in terms of existing units. For example, '0.514444444 m / s'.
|
46
47
|
* @param {Object} options (optional) An object containing any of the following properties:
|
47
48
|
* - `prefixes {string}` "none", "short", "long", "binary_short", or "binary_long". The default is "none".
|
48
49
|
* - `aliases {Array}` Array of strings. Example: ['knots', 'kt', 'kts']
|
@@ -55,9 +55,15 @@ var createUnitFunction = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
55
55
|
'number | BigNumber | Fraction | Complex, string': function numberBigNumberFractionComplexString(value, unit) {
|
56
56
|
return new Unit(value, unit);
|
57
57
|
},
|
58
|
-
'
|
59
|
-
|
60
|
-
|
58
|
+
'number | BigNumber | Fraction': function numberBigNumberFraction(value) {
|
59
|
+
// dimensionless
|
60
|
+
return new Unit(value);
|
61
|
+
},
|
62
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
63
|
+
return function (x) {
|
64
|
+
return (0, _collection.deepMap)(x, self);
|
65
|
+
};
|
66
|
+
})
|
61
67
|
});
|
62
68
|
});
|
63
69
|
exports.createUnitFunction = createUnitFunction;
|
package/lib/cjs/utils/customs.js
CHANGED
@@ -78,7 +78,7 @@ function hasSafeProperty(object, prop) {
|
|
78
78
|
|
79
79
|
|
80
80
|
function isSafeProperty(object, prop) {
|
81
|
-
if (!object || (0, _typeof2
|
81
|
+
if (!object || (0, _typeof2["default"])(object) !== 'object') {
|
82
82
|
return false;
|
83
83
|
} // SAFE: whitelisted
|
84
84
|
// e.g length
|
@@ -171,7 +171,7 @@ function isSafeMethod(object, method) {
|
|
171
171
|
}
|
172
172
|
|
173
173
|
function isPlainObject(object) {
|
174
|
-
return (0, _typeof2
|
174
|
+
return (0, _typeof2["default"])(object) === 'object' && object && object.constructor === Object;
|
175
175
|
}
|
176
176
|
|
177
177
|
var safeNativeProperties = {
|
package/lib/cjs/utils/emitter.js
CHANGED
@@ -16,7 +16,7 @@ var _tinyEmitter = _interopRequireDefault(require("tiny-emitter"));
|
|
16
16
|
*/
|
17
17
|
function mixin(obj) {
|
18
18
|
// create event emitter
|
19
|
-
var emitter = new _tinyEmitter
|
19
|
+
var emitter = new _tinyEmitter["default"](); // bind methods to obj (we don't want to expose the emitter.e Array...)
|
20
20
|
|
21
21
|
obj.on = emitter.on.bind(emitter);
|
22
22
|
obj.off = emitter.off.bind(emitter);
|
@@ -38,7 +38,7 @@ function memoize(fn) {
|
|
38
38
|
limit = limit == null ? Number.POSITIVE_INFINITY : limit;
|
39
39
|
hasher = hasher == null ? JSON.stringify : hasher;
|
40
40
|
return function memoize() {
|
41
|
-
if ((0, _typeof2
|
41
|
+
if ((0, _typeof2["default"])(memoize.cache) !== 'object') {
|
42
42
|
memoize.cache = {
|
43
43
|
values: new Map(),
|
44
44
|
lru: (0, _lruQueue.lruQueue)(limit || Number.POSITIVE_INFINITY)
|
@@ -60,7 +60,7 @@ function memoize(fn) {
|
|
60
60
|
|
61
61
|
var newVal = fn.apply(fn, args);
|
62
62
|
memoize.cache.values.set(hash, newVal);
|
63
|
-
memoize.cache.values
|
63
|
+
memoize.cache.values["delete"](memoize.cache.lru.hit(hash));
|
64
64
|
return newVal;
|
65
65
|
};
|
66
66
|
}
|
package/lib/cjs/utils/is.js
CHANGED
@@ -43,6 +43,7 @@ exports.isString = isString;
|
|
43
43
|
exports.isSymbolNode = isSymbolNode;
|
44
44
|
exports.isUndefined = isUndefined;
|
45
45
|
exports.isUnit = isUnit;
|
46
|
+
exports.rule2Node = rule2Node;
|
46
47
|
exports.typeOf = typeOf;
|
47
48
|
|
48
49
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
@@ -65,11 +66,11 @@ function isNumber(x) {
|
|
65
66
|
}
|
66
67
|
|
67
68
|
function isBigNumber(x) {
|
68
|
-
if (!x || (0, _typeof2
|
69
|
+
if (!x || (0, _typeof2["default"])(x) !== 'object' || typeof x.constructor !== 'function') {
|
69
70
|
return false;
|
70
71
|
}
|
71
72
|
|
72
|
-
if (x.isBigNumber === true && (0, _typeof2
|
73
|
+
if (x.isBigNumber === true && (0, _typeof2["default"])(x.constructor.prototype) === 'object' && x.constructor.prototype.isBigNumber === true) {
|
73
74
|
return true;
|
74
75
|
}
|
75
76
|
|
@@ -81,11 +82,11 @@ function isBigNumber(x) {
|
|
81
82
|
}
|
82
83
|
|
83
84
|
function isComplex(x) {
|
84
|
-
return x && (0, _typeof2
|
85
|
+
return x && (0, _typeof2["default"])(x) === 'object' && Object.getPrototypeOf(x).isComplex === true || false;
|
85
86
|
}
|
86
87
|
|
87
88
|
function isFraction(x) {
|
88
|
-
return x && (0, _typeof2
|
89
|
+
return x && (0, _typeof2["default"])(x) === 'object' && Object.getPrototypeOf(x).isFraction === true || false;
|
89
90
|
}
|
90
91
|
|
91
92
|
function isUnit(x) {
|
@@ -154,7 +155,7 @@ function isRegExp(x) {
|
|
154
155
|
}
|
155
156
|
|
156
157
|
function isObject(x) {
|
157
|
-
return !!(x && (0, _typeof2
|
158
|
+
return !!(x && (0, _typeof2["default"])(x) === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
|
158
159
|
}
|
159
160
|
|
160
161
|
function isNull(x) {
|
@@ -188,6 +189,21 @@ function isConditionalNode(x) {
|
|
188
189
|
function isConstantNode(x) {
|
189
190
|
return x && x.isConstantNode === true && x.constructor.prototype.isNode === true || false;
|
190
191
|
}
|
192
|
+
/* Very specialized: returns true for those nodes which in the numerator of
|
193
|
+
a fraction means that the division in that fraction has precedence over implicit
|
194
|
+
multiplication, e.g. -2/3 x parses as (-2/3) x and 3/4 x parses as (3/4) x but
|
195
|
+
6!/8 x parses as 6! / (8x). It is located here because it is shared between
|
196
|
+
parse.js and OperatorNode.js (for parsing and printing, respectively).
|
197
|
+
|
198
|
+
This should *not* be exported from mathjs, unlike most of the tests here.
|
199
|
+
Its name does not start with 'is' to prevent utils/snapshot.js from thinking
|
200
|
+
it should be exported.
|
201
|
+
*/
|
202
|
+
|
203
|
+
|
204
|
+
function rule2Node(node) {
|
205
|
+
return isConstantNode(node) || isOperatorNode(node) && node.args.length === 1 && isConstantNode(node.args[0]) && '-+~'.includes(node.op);
|
206
|
+
}
|
191
207
|
|
192
208
|
function isFunctionAssignmentNode(x) {
|
193
209
|
return x && x.isFunctionAssignmentNode === true && x.constructor.prototype.isNode === true || false;
|
@@ -230,29 +246,15 @@ function isChain(x) {
|
|
230
246
|
}
|
231
247
|
|
232
248
|
function typeOf(x) {
|
233
|
-
var t = (0, _typeof2
|
249
|
+
var t = (0, _typeof2["default"])(x);
|
234
250
|
|
235
251
|
if (t === 'object') {
|
236
|
-
// JavaScript types
|
237
252
|
if (x === null) return 'null';
|
238
|
-
if (
|
239
|
-
|
240
|
-
if (x
|
241
|
-
|
242
|
-
if (isBigNumber(x)) return 'BigNumber';
|
243
|
-
if (isComplex(x)) return 'Complex';
|
244
|
-
if (isFraction(x)) return 'Fraction';
|
245
|
-
if (isMatrix(x)) return 'Matrix';
|
246
|
-
if (isUnit(x)) return 'Unit';
|
247
|
-
if (isIndex(x)) return 'Index';
|
248
|
-
if (isRange(x)) return 'Range';
|
249
|
-
if (isResultSet(x)) return 'ResultSet';
|
250
|
-
if (isNode(x)) return x.type;
|
251
|
-
if (isChain(x)) return 'Chain';
|
252
|
-
if (isHelp(x)) return 'Help';
|
253
|
-
return 'Object';
|
253
|
+
if (isBigNumber(x)) return 'BigNumber'; // Special: weird mashup with Decimal
|
254
|
+
|
255
|
+
if (x.constructor && x.constructor.name) return x.constructor.name;
|
256
|
+
return 'Object'; // just in case
|
254
257
|
}
|
255
258
|
|
256
|
-
|
257
|
-
return t; // can be 'string', 'number', 'boolean', ...
|
259
|
+
return t; // can be 'string', 'number', 'boolean', 'function', 'bigint', ...
|
258
260
|
}
|
package/lib/cjs/utils/latex.js
CHANGED
@@ -73,8 +73,8 @@ var latexSymbols = {
|
|
73
73
|
Omega: '\\Omega',
|
74
74
|
omega: '\\omega',
|
75
75
|
// logic
|
76
|
-
true: '\\mathrm{True}',
|
77
|
-
false: '\\mathrm{False}',
|
76
|
+
"true": '\\mathrm{True}',
|
77
|
+
"false": '\\mathrm{False}',
|
78
78
|
// other
|
79
79
|
i: 'i',
|
80
80
|
// TODO use \i ??
|
@@ -481,7 +481,7 @@ var latexUnits = {
|
|
481
481
|
};
|
482
482
|
|
483
483
|
function escapeLatex(string) {
|
484
|
-
return (0, _escapeLatex
|
484
|
+
return (0, _escapeLatex["default"])(string, {
|
485
485
|
preserveFormatting: true
|
486
486
|
});
|
487
487
|
} // @param {string} name
|
package/lib/cjs/utils/map.js
CHANGED
@@ -20,7 +20,7 @@ var _customs = require("./customs.js");
|
|
20
20
|
|
21
21
|
var _is = require("./is.js");
|
22
22
|
|
23
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it
|
23
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
24
24
|
|
25
25
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
26
26
|
|
@@ -36,11 +36,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
36
36
|
*/
|
37
37
|
var ObjectWrappingMap = /*#__PURE__*/function () {
|
38
38
|
function ObjectWrappingMap(object) {
|
39
|
-
(0, _classCallCheck2
|
39
|
+
(0, _classCallCheck2["default"])(this, ObjectWrappingMap);
|
40
40
|
this.wrappedObject = object;
|
41
41
|
}
|
42
42
|
|
43
|
-
(0, _createClass2
|
43
|
+
(0, _createClass2["default"])(ObjectWrappingMap, [{
|
44
44
|
key: "keys",
|
45
45
|
value: function keys() {
|
46
46
|
return Object.keys(this.wrappedObject);
|
package/lib/cjs/utils/object.js
CHANGED
@@ -38,7 +38,7 @@ var _is = require("./is.js");
|
|
38
38
|
* @return {*} clone
|
39
39
|
*/
|
40
40
|
function clone(x) {
|
41
|
-
var type = (0, _typeof2
|
41
|
+
var type = (0, _typeof2["default"])(x); // immutable primitive types
|
42
42
|
|
43
43
|
if (type === 'number' || type === 'string' || type === 'boolean' || x === null || x === undefined) {
|
44
44
|
return x;
|
@@ -213,7 +213,7 @@ function _deepFlatten(nestedObject, flattenedObject) {
|
|
213
213
|
if (hasOwnProperty(nestedObject, prop)) {
|
214
214
|
var value = nestedObject[prop];
|
215
215
|
|
216
|
-
if ((0, _typeof2
|
216
|
+
if ((0, _typeof2["default"])(value) === 'object' && value !== null) {
|
217
217
|
_deepFlatten(value, flattenedObject);
|
218
218
|
} else {
|
219
219
|
flattenedObject[prop] = value;
|
@@ -2,19 +2,17 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
4
|
|
5
|
-
var
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
6
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
8
8
|
value: true
|
9
9
|
});
|
10
10
|
exports.createSnapshotFromFactories = createSnapshotFromFactories;
|
11
11
|
exports.validateBundle = validateBundle;
|
12
|
-
exports.validateTypeOf =
|
12
|
+
exports.validateTypeOf = void 0;
|
13
13
|
|
14
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
15
15
|
|
16
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
17
|
-
|
18
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
19
17
|
|
20
18
|
var _assert = _interopRequireDefault(require("assert"));
|
@@ -27,11 +25,14 @@ var _string = require("./string.js");
|
|
27
25
|
|
28
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
29
27
|
|
30
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
31
29
|
|
32
30
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
33
31
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
33
|
+
|
34
|
+
var validateTypeOf = allIsFunctions.typeOf;
|
35
|
+
exports.validateTypeOf = validateTypeOf;
|
35
36
|
|
36
37
|
function validateBundle(expectedBundleStructure, bundle) {
|
37
38
|
var originalWarn = console.warn;
|
@@ -101,7 +102,7 @@ function validateBundle(expectedBundleStructure, bundle) {
|
|
101
102
|
message = _issues$.message;
|
102
103
|
console.warn("".concat(issues.length, " bundle issues found"));
|
103
104
|
|
104
|
-
_assert
|
105
|
+
_assert["default"].strictEqual(actualType, expectedType, message);
|
105
106
|
}
|
106
107
|
} finally {
|
107
108
|
console.warn = originalWarn;
|
@@ -128,21 +129,21 @@ function createSnapshotFromFactories(factories) {
|
|
128
129
|
var factory = factories[factoryName];
|
129
130
|
var name = factory.fn;
|
130
131
|
var isTransformFunction = factory.meta && factory.meta.isTransformFunction;
|
131
|
-
var isClass = !isLowerCase(name[0]) && validateTypeOf(math[name]) === '
|
132
|
+
var isClass = !isLowerCase(name[0]) && validateTypeOf(math[name]) === 'function';
|
132
133
|
var dependenciesName = factory.fn + (isTransformFunction ? 'Transform' : '') + 'Dependencies';
|
133
|
-
allFactoryFunctions[factoryName] = '
|
134
|
+
allFactoryFunctions[factoryName] = 'function';
|
134
135
|
allFunctionsConstantsClasses[name] = validateTypeOf(math[name]);
|
135
136
|
allDependencyCollections[dependenciesName] = 'Object';
|
136
137
|
|
137
138
|
if (isTransformFunction) {
|
138
|
-
allTransformFunctions[name] = '
|
139
|
+
allTransformFunctions[name] = 'function';
|
139
140
|
}
|
140
141
|
|
141
142
|
if (isClass) {
|
142
143
|
if ((0, _string.endsWith)(name, 'Node')) {
|
143
|
-
allNodeClasses[name] = '
|
144
|
+
allNodeClasses[name] = 'function';
|
144
145
|
} else {
|
145
|
-
allClasses[name] = '
|
146
|
+
allClasses[name] = 'function';
|
146
147
|
}
|
147
148
|
} else {
|
148
149
|
allFunctionsConstants[name] = validateTypeOf(math[name]);
|
@@ -162,37 +163,37 @@ function createSnapshotFromFactories(factories) {
|
|
162
163
|
var allTypeChecks = {};
|
163
164
|
Object.keys(allIsFunctions).forEach(function (name) {
|
164
165
|
if (name.indexOf('is') === 0) {
|
165
|
-
allTypeChecks[name] = '
|
166
|
+
allTypeChecks[name] = 'function';
|
166
167
|
}
|
167
168
|
});
|
168
169
|
var allErrorClasses = {
|
169
|
-
ArgumentsError: '
|
170
|
-
DimensionError: '
|
171
|
-
IndexError: '
|
170
|
+
ArgumentsError: 'function',
|
171
|
+
DimensionError: 'function',
|
172
|
+
IndexError: 'function'
|
172
173
|
};
|
173
174
|
|
174
175
|
var expectedInstanceStructure = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, allFunctionsConstantsClasses), {}, {
|
175
|
-
on: '
|
176
|
-
off: '
|
177
|
-
once: '
|
178
|
-
emit: '
|
179
|
-
import: '
|
180
|
-
config: '
|
181
|
-
create: '
|
182
|
-
factory: '
|
176
|
+
on: 'function',
|
177
|
+
off: 'function',
|
178
|
+
once: 'function',
|
179
|
+
emit: 'function',
|
180
|
+
"import": 'function',
|
181
|
+
config: 'function',
|
182
|
+
create: 'function',
|
183
|
+
factory: 'function'
|
183
184
|
}, allTypeChecks), allErrorClasses), {}, {
|
184
185
|
expression: {
|
185
186
|
transform: _objectSpread({}, allTransformFunctions),
|
186
187
|
mathWithTransform: _objectSpread(_objectSpread({}, exclude(allFunctionsConstants, ['chain'])), {}, {
|
187
|
-
config: '
|
188
|
+
config: 'function'
|
188
189
|
})
|
189
190
|
}
|
190
191
|
});
|
191
192
|
|
192
193
|
var expectedES6Structure = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, exclude(allFunctionsConstantsClasses, ['E', 'false', 'Infinity', 'NaN', 'null', 'PI', 'true'])), {}, {
|
193
|
-
create: '
|
194
|
-
config: '
|
195
|
-
factory: '
|
194
|
+
create: 'function',
|
195
|
+
config: 'function',
|
196
|
+
factory: 'function',
|
196
197
|
_true: 'boolean',
|
197
198
|
_false: 'boolean',
|
198
199
|
_null: 'null',
|
@@ -208,34 +209,6 @@ function createSnapshotFromFactories(factories) {
|
|
208
209
|
};
|
209
210
|
}
|
210
211
|
|
211
|
-
function validateTypeOf(x) {
|
212
|
-
if (x && x.type === 'Unit') {
|
213
|
-
return 'Unit';
|
214
|
-
}
|
215
|
-
|
216
|
-
if (x && x.type === 'Complex') {
|
217
|
-
return 'Complex';
|
218
|
-
}
|
219
|
-
|
220
|
-
if (Array.isArray(x)) {
|
221
|
-
return 'Array';
|
222
|
-
}
|
223
|
-
|
224
|
-
if (x === null) {
|
225
|
-
return 'null';
|
226
|
-
}
|
227
|
-
|
228
|
-
if (typeof x === 'function') {
|
229
|
-
return 'Function';
|
230
|
-
}
|
231
|
-
|
232
|
-
if ((0, _typeof2.default)(x) === 'object') {
|
233
|
-
return 'Object';
|
234
|
-
}
|
235
|
-
|
236
|
-
return (0, _typeof2.default)(x);
|
237
|
-
}
|
238
|
-
|
239
212
|
function traverse(obj) {
|
240
213
|
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (value, path) {};
|
241
214
|
var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
@@ -283,7 +256,7 @@ function get(object, path) {
|
|
283
256
|
|
284
257
|
|
285
258
|
function exclude(object, excludedProperties) {
|
286
|
-
var strippedObject = (0, _extends2
|
259
|
+
var strippedObject = (0, _extends2["default"])({}, object);
|
287
260
|
excludedProperties.forEach(function (excludedProperty) {
|
288
261
|
delete strippedObject[excludedProperty];
|
289
262
|
});
|