mathjs 10.6.2 → 11.0.0
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 +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
package/types/index.ts
CHANGED
@@ -29,6 +29,7 @@ import {
|
|
29
29
|
OperatorNodeOp,
|
30
30
|
SymbolNode,
|
31
31
|
ParenthesisNode,
|
32
|
+
SimplifyRule,
|
32
33
|
} from 'mathjs'
|
33
34
|
import * as assert from 'assert'
|
34
35
|
import { expectTypeOf } from 'expect-type'
|
@@ -88,6 +89,22 @@ Basic usage examples
|
|
88
89
|
|
89
90
|
math.variance(math.variance(m2by3, 'uncorrected'))
|
90
91
|
|
92
|
+
// count and sum check
|
93
|
+
math.count([10, 10, 10])
|
94
|
+
math.count([
|
95
|
+
[1, 2, 3],
|
96
|
+
[4, 5, 6],
|
97
|
+
])
|
98
|
+
math.count('mathjs')
|
99
|
+
|
100
|
+
math.sum(1, 2, 3, 4)
|
101
|
+
math.sum([1, 2, 3, 4])
|
102
|
+
math.sum([
|
103
|
+
[1, 2],
|
104
|
+
[3, 4],
|
105
|
+
[5, 6],
|
106
|
+
])
|
107
|
+
|
91
108
|
// expressions
|
92
109
|
math.evaluate('1.2 * (2 + 4.5)')
|
93
110
|
|
@@ -134,6 +151,23 @@ Bignumbers examples
|
|
134
151
|
}
|
135
152
|
}
|
136
153
|
|
154
|
+
/*
|
155
|
+
Arithmetic function examples
|
156
|
+
*/
|
157
|
+
{
|
158
|
+
const math = create(all, {})
|
159
|
+
|
160
|
+
const _e: number = math.exp(1)
|
161
|
+
const _bige: BigNumber = math.exp(math.bignumber(1))
|
162
|
+
const _compe: Complex = math.exp(math.complex(1, 0))
|
163
|
+
// TODO: Typescript type declarations are not understanding typed-function's
|
164
|
+
// automatic conversions, so the following do not work:
|
165
|
+
|
166
|
+
// const _compeagain: Complex = math.exp(math.fraction(1, 1))
|
167
|
+
// const _eagain: number = math.exp('1')
|
168
|
+
// const _eanother: number = math.exp(true)
|
169
|
+
}
|
170
|
+
|
137
171
|
/*
|
138
172
|
Chaining examples
|
139
173
|
*/
|
@@ -524,21 +558,23 @@ Chaining examples
|
|
524
558
|
expectTypeOf(math.chain(math.complex(1, 2)).cbrt()).toMatchTypeOf<
|
525
559
|
MathJsChain<Complex>
|
526
560
|
>()
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
[
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
561
|
+
// @ts-expect-error ... verify cbrt does not run on arrays.
|
562
|
+
assert.throws(() => math.chain([1, 2]).cbrt(), TypeError)
|
563
|
+
assert.throws(
|
564
|
+
() =>
|
565
|
+
// @ts-expect-error ... verify cbrt does not run on matrices.
|
566
|
+
math
|
567
|
+
.chain(
|
568
|
+
math.matrix([
|
569
|
+
[1, 2],
|
570
|
+
[3, 4],
|
571
|
+
])
|
572
|
+
)
|
573
|
+
.cbrt(),
|
574
|
+
TypeError
|
575
|
+
)
|
540
576
|
|
541
|
-
//
|
577
|
+
// ceil
|
542
578
|
expectTypeOf(math.chain(1).ceil()).toMatchTypeOf<
|
543
579
|
MathJsChain<MathNumericType>
|
544
580
|
>()
|
@@ -581,19 +617,23 @@ Chaining examples
|
|
581
617
|
expectTypeOf(math.chain(math.complex(1, 2)).cube()).toMatchTypeOf<
|
582
618
|
MathJsChain<Complex>
|
583
619
|
>()
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
.
|
590
|
-
|
591
|
-
|
592
|
-
[
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
620
|
+
|
621
|
+
// @ts-expect-error ... verify cube does not run on arrays.
|
622
|
+
assert.throws(() => math.chain([1, 2]).cube(), TypeError)
|
623
|
+
assert.throws(
|
624
|
+
() =>
|
625
|
+
// @ts-expect-error ... verify cube does not run on matrices.
|
626
|
+
math
|
627
|
+
.chain(
|
628
|
+
math.matrix([
|
629
|
+
[1, 2],
|
630
|
+
[3, 4],
|
631
|
+
])
|
632
|
+
)
|
633
|
+
.cube(),
|
634
|
+
TypeError
|
635
|
+
)
|
636
|
+
|
597
637
|
expectTypeOf(math.chain(math.unit('furlong')).cube()).toMatchTypeOf<
|
598
638
|
MathJsChain<Unit>
|
599
639
|
>()
|
@@ -655,33 +695,40 @@ Chaining examples
|
|
655
695
|
|
656
696
|
// exp
|
657
697
|
expectTypeOf(math.chain(1).exp()).toMatchTypeOf<MathJsChain<MathType>>()
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
698
|
+
// @ts-expect-error ... verify exp does not run on arrays.
|
699
|
+
assert.throws(() => math.chain([1, 2]).exp(), TypeError)
|
700
|
+
assert.throws(
|
701
|
+
() =>
|
702
|
+
// @ts-expect-error ... verify exp does not run on matrices.
|
703
|
+
math
|
704
|
+
.chain(
|
705
|
+
math.matrix([
|
706
|
+
[1, 2],
|
707
|
+
[3, 4],
|
708
|
+
])
|
709
|
+
)
|
710
|
+
.exp(),
|
711
|
+
TypeError
|
712
|
+
)
|
669
713
|
|
670
714
|
// expm1
|
671
715
|
expectTypeOf(math.chain(1).expm1()).toMatchTypeOf<MathJsChain<MathType>>()
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
[
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
716
|
+
|
717
|
+
// @ts-expect-error ... verify expm1 does not run on arrays
|
718
|
+
assert.throws(() => math.chain([1, 2]).expm1(), TypeError)
|
719
|
+
assert.throws(
|
720
|
+
() =>
|
721
|
+
// @ts-expect-error ... verify expm1 does not run on arrays
|
722
|
+
math
|
723
|
+
.chain(
|
724
|
+
math.matrix([
|
725
|
+
[1, 2],
|
726
|
+
[3, 4],
|
727
|
+
])
|
728
|
+
)
|
729
|
+
.expm1(),
|
730
|
+
TypeError
|
731
|
+
)
|
685
732
|
|
686
733
|
// gcd
|
687
734
|
expectTypeOf(math.chain([1, 2]).gcd(3)).toMatchTypeOf<MathJsChain<number>>()
|
@@ -765,6 +812,11 @@ Chaining examples
|
|
765
812
|
.log10()
|
766
813
|
).toMatchTypeOf<MathJsChain<Matrix>>()
|
767
814
|
|
815
|
+
expectTypeOf(math.chain([1, 2]).count()).toMatchTypeOf<MathJsChain<number>>()
|
816
|
+
expectTypeOf(math.chain('mathjs').count()).toMatchTypeOf<
|
817
|
+
MathJsChain<number>
|
818
|
+
>()
|
819
|
+
expectTypeOf(math.chain([1, 2]).sum()).toMatchTypeOf<MathJsChain<number>>()
|
768
820
|
// TODO complete the rest of these...
|
769
821
|
}
|
770
822
|
|
@@ -775,13 +827,89 @@ Simplify examples
|
|
775
827
|
const math = create(all)
|
776
828
|
|
777
829
|
math.simplify('2 * 1 * x ^ (2 - 1)')
|
830
|
+
math.simplifyConstant('2 * 1 * x ^ (2 - 1)')
|
831
|
+
math.simplifyCore('2 * 1 * x ^ (2 - 1)')
|
778
832
|
math.simplify('2 * 3 * x', { x: 4 })
|
779
833
|
|
834
|
+
expectTypeOf(math.simplify.rules).toMatchTypeOf<Array<SimplifyRule>>()
|
835
|
+
|
780
836
|
const f = math.parse('2 * 1 * x ^ (2 - 1)')
|
781
837
|
math.simplify(f)
|
782
838
|
|
783
839
|
math.simplify('0.4 * x', {}, { exactFractions: true })
|
840
|
+
math.simplifyConstant('0.4 * x', { exactFractions: true })
|
784
841
|
math.simplify('0.4 * x', {}, { exactFractions: false })
|
842
|
+
math.simplify('0.4 * x', {}, { fractionsLimit: 2 })
|
843
|
+
math.simplify('0.4 * x', {}, { consoleDebug: false })
|
844
|
+
|
845
|
+
math.simplify(
|
846
|
+
'0.4 * x',
|
847
|
+
{},
|
848
|
+
{
|
849
|
+
context: {
|
850
|
+
xor: {
|
851
|
+
trivial: true,
|
852
|
+
total: true,
|
853
|
+
commutative: true,
|
854
|
+
associative: true,
|
855
|
+
},
|
856
|
+
},
|
857
|
+
}
|
858
|
+
)
|
859
|
+
|
860
|
+
math.simplify('0.4 * x', [])
|
861
|
+
math.simplify('0.4 * x', [
|
862
|
+
'n * n -> 2n',
|
863
|
+
{
|
864
|
+
s: 'n * n -> 2n',
|
865
|
+
repeat: true,
|
866
|
+
assuming: {
|
867
|
+
multiply: {
|
868
|
+
trivial: true,
|
869
|
+
total: true,
|
870
|
+
commutative: true,
|
871
|
+
associative: true,
|
872
|
+
},
|
873
|
+
},
|
874
|
+
imposeContext: {
|
875
|
+
multiply: {
|
876
|
+
trivial: true,
|
877
|
+
total: true,
|
878
|
+
commutative: true,
|
879
|
+
associative: true,
|
880
|
+
},
|
881
|
+
},
|
882
|
+
},
|
883
|
+
{
|
884
|
+
l: 'n * n',
|
885
|
+
r: '2n',
|
886
|
+
repeat: true,
|
887
|
+
assuming: {
|
888
|
+
multiply: {
|
889
|
+
trivial: true,
|
890
|
+
total: true,
|
891
|
+
commutative: true,
|
892
|
+
associative: true,
|
893
|
+
},
|
894
|
+
},
|
895
|
+
imposeContext: {
|
896
|
+
multiply: {
|
897
|
+
trivial: true,
|
898
|
+
total: true,
|
899
|
+
commutative: true,
|
900
|
+
associative: true,
|
901
|
+
},
|
902
|
+
},
|
903
|
+
},
|
904
|
+
(node: MathNode) => node,
|
905
|
+
])
|
906
|
+
math.simplifyCore('0.4 * x + 0', { exactFractions: false })
|
907
|
+
|
908
|
+
math
|
909
|
+
.chain('0.4 * x + 0')
|
910
|
+
.parse()
|
911
|
+
.simplifyCore({ exactFractions: false })
|
912
|
+
.simplifyConstant()
|
785
913
|
}
|
786
914
|
|
787
915
|
/*
|
@@ -816,8 +944,13 @@ Complex numbers examples
|
|
816
944
|
|
817
945
|
// create a complex number from polar coordinates
|
818
946
|
{
|
819
|
-
const p: math.PolarCoordinates = {
|
820
|
-
|
947
|
+
const p: math.PolarCoordinates = {
|
948
|
+
r: math.sqrt(2) as number, // must be real but a sqrt could be Complex
|
949
|
+
phi: math.pi / 4,
|
950
|
+
}
|
951
|
+
const c: math.Complex = math.complex(p)
|
952
|
+
assert.strictEqual(c.im, 1)
|
953
|
+
assert.ok(Math.abs(c.re - 1) < 1e-12)
|
821
954
|
}
|
822
955
|
|
823
956
|
// get polar coordinates of a complex number
|
@@ -988,6 +1121,11 @@ Matrices examples
|
|
988
1121
|
const b: math.Matrix = math.matrix(math.ones([2, 3]))
|
989
1122
|
b.size()
|
990
1123
|
|
1124
|
+
// @ts-expect-error ... ones() in a chain cannot take more dimensions
|
1125
|
+
assert.throws(() => math.chain(3).ones(2, 'dense').done(), /Error:.*ones/)
|
1126
|
+
// @ts-expect-error ... and neither can zeros()
|
1127
|
+
assert.throws(() => math.chain(3).zeros(2, 'sparse').done(), /Error:.*zeros/)
|
1128
|
+
|
991
1129
|
// the Array data of a Matrix can be retrieved using valueOf()
|
992
1130
|
const _array = a.valueOf()
|
993
1131
|
|
@@ -995,7 +1133,7 @@ Matrices examples
|
|
995
1133
|
const _clone: math.Matrix = a.clone()
|
996
1134
|
|
997
1135
|
// perform operations with matrices
|
998
|
-
math.
|
1136
|
+
math.map(a, math.sqrt)
|
999
1137
|
math.factorial(a)
|
1000
1138
|
|
1001
1139
|
// create and manipulate matrices. Arrays and Matrices can be used mixed.
|
@@ -1143,6 +1281,69 @@ Matrices examples
|
|
1143
1281
|
}
|
1144
1282
|
}
|
1145
1283
|
|
1284
|
+
/*
|
1285
|
+
Math types examples: Type results after multiplying 'MathTypes' with matrices
|
1286
|
+
*/
|
1287
|
+
{
|
1288
|
+
const math = create(all, {})
|
1289
|
+
|
1290
|
+
const abc: MathArray = [1, 2, 3, 4]
|
1291
|
+
const bcd: MathArray = [
|
1292
|
+
[1, 2, 3, 4],
|
1293
|
+
[2, 3, 4, 5],
|
1294
|
+
[4, 5, 6, 7],
|
1295
|
+
[5, 6, 7, 8],
|
1296
|
+
]
|
1297
|
+
|
1298
|
+
const Mbcd = math.matrix(bcd)
|
1299
|
+
const Mabc = math.matrix(abc)
|
1300
|
+
|
1301
|
+
// Number
|
1302
|
+
const _r1 = math.multiply(1, 2)
|
1303
|
+
|
1304
|
+
// Unit
|
1305
|
+
const a = math.unit(45, 'cm') // 450 mm
|
1306
|
+
const b = math.unit(45, 'cm') // 450 mm
|
1307
|
+
const _r2 = math.multiply(a, b)
|
1308
|
+
|
1309
|
+
// 1D JS Array
|
1310
|
+
const r3 = math.multiply(abc, bcd)
|
1311
|
+
r3[1] // By default least promised valid syntax
|
1312
|
+
|
1313
|
+
// 2D JS Array
|
1314
|
+
const r12 = math.multiply(bcd, bcd)
|
1315
|
+
// Example to sort ambiguity between multidimensional & singledimensional arrays
|
1316
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1317
|
+
const multiDimensional = (x: any): x is any[][] => x.length && x[0].length
|
1318
|
+
if (multiDimensional(r12)) {
|
1319
|
+
r12[1][1]
|
1320
|
+
}
|
1321
|
+
r12[1] // Valid syntax
|
1322
|
+
|
1323
|
+
// Matrix: matrix * vector
|
1324
|
+
const r7 = math.multiply(Mabc, bcd)
|
1325
|
+
r7.toArray() // Matrix-es have toArray function
|
1326
|
+
|
1327
|
+
// Matrix
|
1328
|
+
const _r8 = math.multiply(Mabc, 4)
|
1329
|
+
|
1330
|
+
// Matrix
|
1331
|
+
const _r11 = math.multiply(4, Mabc)
|
1332
|
+
|
1333
|
+
// Matrix of units
|
1334
|
+
const _r9 = math.multiply(Mabc, a)
|
1335
|
+
const _r10 = math.multiply(a, Mabc)
|
1336
|
+
|
1337
|
+
// Matrix
|
1338
|
+
const _r6 = math.multiply(abc, Mbcd)
|
1339
|
+
|
1340
|
+
// 2D JS Array
|
1341
|
+
const _r5 = math.multiply(bcd, abc)
|
1342
|
+
|
1343
|
+
// Number
|
1344
|
+
const _r4 = math.multiply(abc, math.transpose(abc))
|
1345
|
+
}
|
1346
|
+
|
1146
1347
|
/*
|
1147
1348
|
Sparse matrices examples
|
1148
1349
|
*/
|
@@ -1218,6 +1419,7 @@ Units examples
|
|
1218
1419
|
// use Unit as definition
|
1219
1420
|
math.createUnit('c', { definition: b })
|
1220
1421
|
math.createUnit('c', { definition: b }, { override: true })
|
1422
|
+
math.createUnit('customUnit', math.unit(0.5, 'm'))
|
1221
1423
|
|
1222
1424
|
// units can be added, subtracted, and multiplied or divided by numbers and by other units
|
1223
1425
|
math.add(a, b)
|
@@ -2020,11 +2222,16 @@ Resolve examples
|
|
2020
2222
|
{
|
2021
2223
|
const math = create(all, {})
|
2022
2224
|
|
2225
|
+
expectTypeOf(math.resolve('x + y')).toMatchTypeOf<MathNode>()
|
2023
2226
|
expectTypeOf(math.resolve(math.parse('x + y'))).toMatchTypeOf<MathNode>()
|
2024
2227
|
expectTypeOf(
|
2025
2228
|
math.resolve(math.parse('x + y'), { x: 0 })
|
2026
2229
|
).toMatchTypeOf<MathNode>()
|
2027
|
-
expectTypeOf(math.resolve(
|
2028
|
-
|
2029
|
-
|
2230
|
+
expectTypeOf(math.resolve('x + y', { x: 0 })).toMatchTypeOf<MathNode>()
|
2231
|
+
expectTypeOf(
|
2232
|
+
math.resolve([math.parse('x + y'), 'x*x'], { x: 0 })
|
2233
|
+
).toMatchTypeOf<MathNode[]>()
|
2234
|
+
expectTypeOf(
|
2235
|
+
math.resolve(math.matrix(['x', 'y']))
|
2236
|
+
).toMatchTypeOf<math.Matrix>()
|
2030
2237
|
}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
// TODO: remove these polyfills as soon as we have a build process that transpiles the code to ES5
|
4
|
-
// Polyfill for IE 11 (Number.isFinite is used in `complex.js`)
|
5
|
-
// source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite
|
6
|
-
Number.isFinite = Number.isFinite || function (value) {
|
7
|
-
return typeof value === 'number' && isFinite(value);
|
8
|
-
}; // Polyfill for IE 11
|
9
|
-
// source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
|
10
|
-
|
11
|
-
|
12
|
-
Number.isNaN = Number.isNaN || function (value) {
|
13
|
-
return value !== value; // eslint-disable-line no-self-compare
|
14
|
-
};
|
@@ -1,12 +0,0 @@
|
|
1
|
-
// TODO: remove these polyfills as soon as we have a build process that transpiles the code to ES5
|
2
|
-
// Polyfill for IE 11 (Number.isFinite is used in `complex.js`)
|
3
|
-
// source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite
|
4
|
-
Number.isFinite = Number.isFinite || function (value) {
|
5
|
-
return typeof value === 'number' && isFinite(value);
|
6
|
-
}; // Polyfill for IE 11
|
7
|
-
// source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
|
8
|
-
|
9
|
-
|
10
|
-
Number.isNaN = Number.isNaN || function (value) {
|
11
|
-
return value !== value; // eslint-disable-line no-self-compare
|
12
|
-
};
|