mathjs 10.6.2 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +74 -1
- package/README.md +1 -1
- package/lib/browser/math.js +2 -41
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +6 -5
- package/lib/cjs/core/function/import.js +4 -14
- package/lib/cjs/core/function/typed.js +54 -12
- package/lib/cjs/defaultInstance.js +3 -3
- package/lib/cjs/entry/allFactoriesAny.js +1 -1
- package/lib/cjs/entry/allFactoriesNumber.js +1 -1
- package/lib/cjs/entry/configReadonly.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +56 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +8 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +50 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +8 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +87 -61
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +93 -69
- package/lib/cjs/entry/pureFunctionsAny.generated.js +50 -45
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +22 -19
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -5
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/cjs/expression/node/AccessorNode.js +216 -173
- package/lib/cjs/expression/node/ArrayNode.js +206 -160
- package/lib/cjs/expression/node/AssignmentNode.js +321 -270
- package/lib/cjs/expression/node/BlockNode.js +223 -172
- package/lib/cjs/expression/node/ConditionalNode.js +253 -193
- package/lib/cjs/expression/node/ConstantNode.js +216 -171
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +258 -196
- package/lib/cjs/expression/node/FunctionNode.js +456 -416
- package/lib/cjs/expression/node/IndexNode.js +256 -210
- package/lib/cjs/expression/node/Node.js +411 -378
- package/lib/cjs/expression/node/ObjectNode.js +223 -178
- package/lib/cjs/expression/node/OperatorNode.js +474 -397
- package/lib/cjs/expression/node/ParenthesisNode.js +189 -143
- package/lib/cjs/expression/node/RangeNode.js +272 -224
- package/lib/cjs/expression/node/RelationalNode.js +246 -195
- package/lib/cjs/expression/node/SymbolNode.js +219 -172
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/operators.js +117 -23
- package/lib/cjs/expression/parse.js +37 -19
- package/lib/cjs/expression/transform/std.transform.js +3 -1
- package/lib/cjs/factoriesAny.js +8 -0
- package/lib/cjs/factoriesNumber.js +10 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/derivative.js +22 -30
- package/lib/cjs/function/algebra/leafCount.js +0 -3
- package/lib/cjs/function/algebra/rationalize.js +78 -108
- package/lib/cjs/function/algebra/resolve.js +53 -16
- package/lib/cjs/function/algebra/simplify/util.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +87 -114
- package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
- package/lib/cjs/function/algebra/simplifyCore.js +196 -93
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +9 -26
- package/lib/cjs/function/arithmetic/abs.js +7 -14
- package/lib/cjs/function/arithmetic/add.js +26 -70
- package/lib/cjs/function/arithmetic/addScalar.js +17 -9
- package/lib/cjs/function/arithmetic/cbrt.js +7 -11
- package/lib/cjs/function/arithmetic/ceil.js +56 -46
- package/lib/cjs/function/arithmetic/cube.js +5 -10
- package/lib/cjs/function/arithmetic/divide.js +7 -7
- package/lib/cjs/function/arithmetic/divideScalar.js +4 -18
- package/lib/cjs/function/arithmetic/dotDivide.js +22 -65
- package/lib/cjs/function/arithmetic/dotMultiply.js +16 -61
- package/lib/cjs/function/arithmetic/dotPow.js +30 -63
- package/lib/cjs/function/arithmetic/exp.js +8 -12
- package/lib/cjs/function/arithmetic/expm1.js +10 -10
- package/lib/cjs/function/arithmetic/fix.js +33 -27
- package/lib/cjs/function/arithmetic/floor.js +56 -46
- package/lib/cjs/function/arithmetic/gcd.js +27 -68
- package/lib/cjs/function/arithmetic/hypot.js +9 -5
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/lcm.js +27 -68
- package/lib/cjs/function/arithmetic/log.js +10 -12
- package/lib/cjs/function/arithmetic/log10.js +5 -3
- package/lib/cjs/function/arithmetic/log1p.js +11 -7
- package/lib/cjs/function/arithmetic/log2.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +22 -64
- package/lib/cjs/function/arithmetic/multiply.js +40 -35
- package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
- package/lib/cjs/function/arithmetic/norm.js +1 -5
- package/lib/cjs/function/arithmetic/nthRoot.js +80 -92
- package/lib/cjs/function/arithmetic/round.js +56 -42
- package/lib/cjs/function/arithmetic/sign.js +14 -10
- package/lib/cjs/function/arithmetic/sqrt.js +5 -9
- package/lib/cjs/function/arithmetic/square.js +6 -10
- package/lib/cjs/function/arithmetic/subtract.js +44 -100
- package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
- package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
- package/lib/cjs/function/bitwise/bitAnd.js +17 -61
- package/lib/cjs/function/bitwise/bitNot.js +5 -3
- package/lib/cjs/function/bitwise/bitOr.js +16 -60
- package/lib/cjs/function/bitwise/bitXor.js +17 -61
- package/lib/cjs/function/bitwise/leftShift.js +68 -81
- package/lib/cjs/function/bitwise/rightArithShift.js +68 -81
- package/lib/cjs/function/bitwise/rightLogShift.js +68 -81
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
- package/lib/cjs/function/complex/arg.js +5 -3
- package/lib/cjs/function/complex/conj.js +6 -7
- package/lib/cjs/function/complex/im.js +7 -8
- package/lib/cjs/function/complex/re.js +6 -10
- package/lib/cjs/function/logical/and.js +74 -80
- package/lib/cjs/function/logical/not.js +13 -6
- package/lib/cjs/function/logical/or.js +21 -63
- package/lib/cjs/function/logical/xor.js +21 -63
- package/lib/cjs/function/matrix/diff.js +10 -7
- package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
- package/lib/cjs/function/matrix/fft.js +2 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/ones.js +2 -1
- package/lib/cjs/function/matrix/sqrtm.js +3 -2
- package/lib/cjs/function/matrix/transpose.js +47 -48
- package/lib/cjs/function/matrix/zeros.js +2 -1
- package/lib/cjs/function/probability/factorial.js +5 -3
- package/lib/cjs/function/probability/gamma.js +38 -40
- package/lib/cjs/function/probability/kldivergence.js +5 -2
- package/lib/cjs/function/probability/lgamma.js +30 -30
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compare.js +21 -67
- package/lib/cjs/function/relational/compareNatural.js +59 -54
- package/lib/cjs/function/relational/compareText.js +10 -43
- package/lib/cjs/function/relational/compareUnits.js +24 -0
- package/lib/cjs/function/relational/equal.js +19 -80
- package/lib/cjs/function/relational/equalScalar.js +7 -9
- package/lib/cjs/function/relational/larger.js +21 -67
- package/lib/cjs/function/relational/largerEq.js +21 -67
- package/lib/cjs/function/relational/smaller.js +21 -67
- package/lib/cjs/function/relational/smallerEq.js +21 -67
- package/lib/cjs/function/relational/unequal.js +19 -80
- package/lib/cjs/function/special/erf.js +5 -3
- package/lib/cjs/function/statistics/std.js +11 -2
- package/lib/cjs/function/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +4 -8
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +4 -8
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +4 -8
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +4 -9
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +4 -9
- package/lib/cjs/function/trigonometry/atan2.js +24 -62
- package/lib/cjs/function/trigonometry/atanh.js +4 -9
- package/lib/cjs/function/trigonometry/cos.js +11 -20
- package/lib/cjs/function/trigonometry/cosh.js +5 -19
- package/lib/cjs/function/trigonometry/cot.js +9 -15
- package/lib/cjs/function/trigonometry/coth.js +4 -15
- package/lib/cjs/function/trigonometry/csc.js +11 -17
- package/lib/cjs/function/trigonometry/csch.js +4 -15
- package/lib/cjs/function/trigonometry/sec.js +11 -17
- package/lib/cjs/function/trigonometry/sech.js +4 -15
- package/lib/cjs/function/trigonometry/sin.js +11 -21
- package/lib/cjs/function/trigonometry/sinh.js +5 -20
- package/lib/cjs/function/trigonometry/tan.js +11 -21
- package/lib/cjs/function/trigonometry/tanh.js +5 -20
- package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
- package/lib/cjs/function/unit/to.js +7 -41
- package/lib/cjs/function/utils/hasNumericValue.js +4 -0
- package/lib/cjs/function/utils/isInteger.js +5 -3
- package/lib/cjs/function/utils/isNegative.js +10 -6
- package/lib/cjs/function/utils/isNumeric.js +5 -3
- package/lib/cjs/function/utils/isPositive.js +10 -6
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +10 -6
- package/lib/cjs/function/utils/numeric.js +11 -4
- package/lib/cjs/function/utils/typeOf.js +38 -44
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
- package/lib/cjs/type/boolean.js +7 -5
- package/lib/cjs/type/chain/Chain.js +23 -3
- package/lib/cjs/type/complex/Complex.js +18 -14
- package/lib/cjs/type/complex/function/complex.js +6 -4
- package/lib/cjs/type/fraction/Fraction.js +10 -6
- package/lib/cjs/type/fraction/function/fraction.js +6 -4
- package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
- package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
- package/lib/cjs/type/number.js +6 -4
- package/lib/cjs/type/string.js +7 -5
- package/lib/cjs/type/unit/Unit.js +69 -21
- package/lib/cjs/type/unit/function/createUnit.js +2 -1
- package/lib/cjs/type/unit/function/unit.js +9 -3
- package/lib/cjs/utils/customs.js +2 -2
- package/lib/cjs/utils/emitter.js +1 -1
- package/lib/cjs/utils/function.js +2 -2
- package/lib/cjs/utils/is.js +27 -25
- package/lib/cjs/utils/latex.js +3 -3
- package/lib/cjs/utils/lruQueue.js +1 -1
- package/lib/cjs/utils/map.js +3 -3
- package/lib/cjs/utils/object.js +2 -2
- package/lib/cjs/utils/snapshot.js +30 -57
- package/lib/cjs/utils/string.js +3 -3
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +2 -1
- package/lib/esm/core/function/import.js +2 -12
- package/lib/esm/core/function/typed.js +47 -11
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny.generated.js +1 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +30 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +1 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +73 -48
- package/lib/esm/entry/impureFunctionsNumber.generated.js +81 -58
- package/lib/esm/entry/pureFunctionsAny.generated.js +39 -36
- package/lib/esm/entry/pureFunctionsNumber.generated.js +14 -13
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/esm/expression/node/AccessorNode.js +158 -153
- package/lib/esm/expression/node/ArrayNode.js +162 -154
- package/lib/esm/expression/node/AssignmentNode.js +257 -245
- package/lib/esm/expression/node/BlockNode.js +177 -163
- package/lib/esm/expression/node/ConditionalNode.js +197 -174
- package/lib/esm/expression/node/ConstantNode.js +171 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +205 -180
- package/lib/esm/expression/node/FunctionNode.js +407 -407
- package/lib/esm/expression/node/IndexNode.js +206 -198
- package/lib/esm/expression/node/Node.js +325 -325
- package/lib/esm/expression/node/ObjectNode.js +166 -157
- package/lib/esm/expression/node/OperatorNode.js +414 -377
- package/lib/esm/expression/node/ParenthesisNode.js +146 -138
- package/lib/esm/expression/node/RangeNode.js +221 -212
- package/lib/esm/expression/node/RelationalNode.js +190 -176
- package/lib/esm/expression/node/SymbolNode.js +161 -152
- package/lib/esm/expression/operators.js +96 -4
- package/lib/esm/expression/parse.js +25 -7
- package/lib/esm/expression/transform/std.transform.js +3 -1
- package/lib/esm/factoriesAny.js +1 -0
- package/lib/esm/factoriesNumber.js +1 -0
- package/lib/esm/function/algebra/derivative.js +22 -30
- package/lib/esm/function/algebra/leafCount.js +0 -3
- package/lib/esm/function/algebra/rationalize.js +83 -114
- package/lib/esm/function/algebra/resolve.js +25 -16
- package/lib/esm/function/algebra/simplify.js +82 -112
- package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
- package/lib/esm/function/algebra/simplifyCore.js +192 -91
- package/lib/esm/function/algebra/symbolicEqual.js +9 -26
- package/lib/esm/function/arithmetic/abs.js +3 -16
- package/lib/esm/function/arithmetic/add.js +21 -65
- package/lib/esm/function/arithmetic/addScalar.js +11 -5
- package/lib/esm/function/arithmetic/cbrt.js +7 -10
- package/lib/esm/function/arithmetic/ceil.js +25 -25
- package/lib/esm/function/arithmetic/cube.js +5 -9
- package/lib/esm/function/arithmetic/divide.js +7 -7
- package/lib/esm/function/arithmetic/divideScalar.js +2 -19
- package/lib/esm/function/arithmetic/dotDivide.js +22 -64
- package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
- package/lib/esm/function/arithmetic/dotPow.js +30 -62
- package/lib/esm/function/arithmetic/exp.js +8 -11
- package/lib/esm/function/arithmetic/expm1.js +10 -9
- package/lib/esm/function/arithmetic/fix.js +17 -17
- package/lib/esm/function/arithmetic/floor.js +25 -25
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- package/lib/esm/function/arithmetic/lcm.js +26 -70
- package/lib/esm/function/arithmetic/log.js +7 -10
- package/lib/esm/function/arithmetic/log10.js +1 -3
- package/lib/esm/function/arithmetic/log1p.js +4 -6
- package/lib/esm/function/arithmetic/log2.js +1 -3
- package/lib/esm/function/arithmetic/mod.js +21 -62
- package/lib/esm/function/arithmetic/multiply.js +23 -27
- package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
- package/lib/esm/function/arithmetic/norm.js +0 -4
- package/lib/esm/function/arithmetic/nthRoot.js +38 -73
- package/lib/esm/function/arithmetic/round.js +26 -28
- package/lib/esm/function/arithmetic/sign.js +5 -7
- package/lib/esm/function/arithmetic/sqrt.js +5 -8
- package/lib/esm/function/arithmetic/square.js +6 -9
- package/lib/esm/function/arithmetic/subtract.js +31 -95
- package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
- package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
- package/lib/esm/function/bitwise/bitAnd.js +16 -59
- package/lib/esm/function/bitwise/bitNot.js +1 -3
- package/lib/esm/function/bitwise/bitOr.js +16 -59
- package/lib/esm/function/bitwise/bitXor.js +16 -59
- package/lib/esm/function/bitwise/leftShift.js +38 -60
- package/lib/esm/function/bitwise/rightArithShift.js +38 -60
- package/lib/esm/function/bitwise/rightLogShift.js +38 -60
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/complex/arg.js +1 -3
- package/lib/esm/function/complex/conj.js +3 -12
- package/lib/esm/function/complex/im.js +4 -15
- package/lib/esm/function/complex/re.js +3 -15
- package/lib/esm/function/logical/and.js +35 -57
- package/lib/esm/function/logical/not.js +3 -6
- package/lib/esm/function/logical/or.js +16 -61
- package/lib/esm/function/logical/xor.js +16 -61
- package/lib/esm/function/matrix/diff.js +2 -7
- package/lib/esm/function/matrix/ones.js +2 -1
- package/lib/esm/function/matrix/sqrtm.js +3 -2
- package/lib/esm/function/matrix/transpose.js +47 -50
- package/lib/esm/function/matrix/zeros.js +2 -1
- package/lib/esm/function/probability/factorial.js +1 -3
- package/lib/esm/function/probability/gamma.js +38 -39
- package/lib/esm/function/probability/kldivergence.js +3 -2
- package/lib/esm/function/probability/lgamma.js +29 -29
- package/lib/esm/function/relational/compare.js +21 -67
- package/lib/esm/function/relational/compareNatural.js +54 -49
- package/lib/esm/function/relational/compareText.js +10 -42
- package/lib/esm/function/relational/compareUnits.js +15 -0
- package/lib/esm/function/relational/equal.js +19 -79
- package/lib/esm/function/relational/equalScalar.js +6 -9
- package/lib/esm/function/relational/larger.js +23 -73
- package/lib/esm/function/relational/largerEq.js +23 -73
- package/lib/esm/function/relational/smaller.js +23 -73
- package/lib/esm/function/relational/smallerEq.js +23 -73
- package/lib/esm/function/relational/unequal.js +19 -79
- package/lib/esm/function/special/erf.js +1 -3
- package/lib/esm/function/statistics/std.js +10 -2
- package/lib/esm/function/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +4 -7
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +4 -7
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +4 -7
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +4 -8
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +4 -8
- package/lib/esm/function/trigonometry/atan2.js +25 -64
- package/lib/esm/function/trigonometry/atanh.js +4 -8
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +5 -20
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +6 -20
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +6 -20
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +6 -20
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +5 -21
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +5 -21
- package/lib/esm/function/trigonometry/trigUnit.js +15 -0
- package/lib/esm/function/unit/to.js +8 -43
- package/lib/esm/function/utils/hasNumericValue.js +2 -0
- package/lib/esm/function/utils/isInteger.js +1 -3
- package/lib/esm/function/utils/isNegative.js +2 -6
- package/lib/esm/function/utils/isNumeric.js +3 -9
- package/lib/esm/function/utils/isPositive.js +2 -6
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +2 -6
- package/lib/esm/function/utils/numeric.js +11 -4
- package/lib/esm/function/utils/typeOf.js +38 -44
- package/lib/esm/type/bignumber/function/bignumber.js +1 -3
- package/lib/esm/type/boolean.js +1 -3
- package/lib/esm/type/chain/Chain.js +23 -3
- package/lib/esm/type/complex/Complex.js +4 -0
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +4 -0
- package/lib/esm/type/fraction/function/fraction.js +1 -3
- package/lib/esm/type/matrix/DenseMatrix.js +15 -1
- package/lib/esm/type/matrix/SparseMatrix.js +9 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
- package/lib/esm/type/number.js +1 -3
- package/lib/esm/type/string.js +1 -3
- package/lib/esm/type/unit/Unit.js +61 -13
- package/lib/esm/type/unit/function/createUnit.js +2 -1
- package/lib/esm/type/unit/function/unit.js +5 -3
- package/lib/esm/utils/is.js +18 -18
- package/lib/esm/utils/snapshot.js +22 -48
- package/lib/esm/version.js +1 -1
- package/package.json +21 -24
- package/types/index.d.ts +202 -181
- package/types/index.ts +264 -57
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
|
@@ -53,12 +53,16 @@ var createIsNegative = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
53
53
|
Fraction: function Fraction(x) {
|
|
54
54
|
return x.s < 0; // It's enough to decide on the sign
|
|
55
55
|
},
|
|
56
|
-
Unit: function
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
Unit: typed.referToSelf(function (self) {
|
|
57
|
+
return function (x) {
|
|
58
|
+
return typed.find(self, x.valueType())(x.value);
|
|
59
|
+
};
|
|
60
|
+
}),
|
|
61
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
62
|
+
return function (x) {
|
|
63
|
+
return (0, _collection.deepMap)(x, self);
|
|
64
|
+
};
|
|
65
|
+
})
|
|
62
66
|
});
|
|
63
67
|
});
|
|
64
68
|
exports.createIsNegative = createIsNegative;
|
|
@@ -50,9 +50,11 @@ var createIsNumeric = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
50
50
|
'Complex | Unit | string | null | undefined | Node': function ComplexUnitStringNullUndefinedNode() {
|
|
51
51
|
return false;
|
|
52
52
|
},
|
|
53
|
-
'Array | Matrix': function
|
|
54
|
-
return
|
|
55
|
-
|
|
53
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
54
|
+
return function (x) {
|
|
55
|
+
return (0, _collection.deepMap)(x, self);
|
|
56
|
+
};
|
|
57
|
+
})
|
|
56
58
|
});
|
|
57
59
|
});
|
|
58
60
|
exports.createIsNumeric = createIsNumeric;
|
|
@@ -55,12 +55,16 @@ var createIsPositive = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
55
55
|
Fraction: function Fraction(x) {
|
|
56
56
|
return x.s > 0 && x.n > 0;
|
|
57
57
|
},
|
|
58
|
-
Unit: function
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
Unit: typed.referToSelf(function (self) {
|
|
59
|
+
return function (x) {
|
|
60
|
+
return typed.find(self, x.valueType())(x.value);
|
|
61
|
+
};
|
|
62
|
+
}),
|
|
63
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
64
|
+
return function (x) {
|
|
65
|
+
return (0, _collection.deepMap)(x, self);
|
|
66
|
+
};
|
|
67
|
+
})
|
|
64
68
|
});
|
|
65
69
|
});
|
|
66
70
|
exports.createIsPositive = createIsPositive;
|
|
@@ -144,9 +144,11 @@ var createIsPrime = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
144
144
|
|
|
145
145
|
return true;
|
|
146
146
|
},
|
|
147
|
-
'Array | Matrix': function
|
|
148
|
-
return
|
|
149
|
-
|
|
147
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
148
|
+
return function (x) {
|
|
149
|
+
return (0, _collection.deepMap)(x, self);
|
|
150
|
+
};
|
|
151
|
+
})
|
|
150
152
|
});
|
|
151
153
|
});
|
|
152
154
|
exports.createIsPrime = createIsPrime;
|
|
@@ -60,12 +60,16 @@ var createIsZero = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
60
60
|
Fraction: function Fraction(x) {
|
|
61
61
|
return x.d === 1 && x.n === 0;
|
|
62
62
|
},
|
|
63
|
-
Unit: function
|
|
64
|
-
return
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
Unit: typed.referToSelf(function (self) {
|
|
64
|
+
return function (x) {
|
|
65
|
+
return typed.find(self, x.valueType())(x.value);
|
|
66
|
+
};
|
|
67
|
+
}),
|
|
68
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
69
|
+
return function (x) {
|
|
70
|
+
return (0, _collection.deepMap)(x, self);
|
|
71
|
+
};
|
|
72
|
+
})
|
|
69
73
|
});
|
|
70
74
|
});
|
|
71
75
|
exports.createIsZero = createIsZero;
|
|
@@ -44,12 +44,12 @@ var createNumeric = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
44
44
|
*
|
|
45
45
|
* Examples:
|
|
46
46
|
*
|
|
47
|
-
* math.numeric('4') // returns
|
|
48
|
-
* math.numeric('4', 'number') // returns
|
|
47
|
+
* math.numeric('4') // returns 4
|
|
48
|
+
* math.numeric('4', 'number') // returns 4
|
|
49
49
|
* math.numeric('4', 'BigNumber') // returns BigNumber 4
|
|
50
50
|
* math.numeric('4', 'Fraction') // returns Fraction 4
|
|
51
51
|
* math.numeric(4, 'Fraction') // returns Fraction 4
|
|
52
|
-
* math.numeric(math.fraction(2, 5), 'number') // returns
|
|
52
|
+
* math.numeric(math.fraction(2, 5), 'number') // returns 0.4
|
|
53
53
|
*
|
|
54
54
|
* See also:
|
|
55
55
|
*
|
|
@@ -64,7 +64,14 @@ var createNumeric = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
64
64
|
* Returns an instance of the numeric in the requested type
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
|
-
return function numeric(value
|
|
67
|
+
return function numeric(value) {
|
|
68
|
+
var outputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';
|
|
69
|
+
var check = arguments.length > 2 ? arguments[2] : undefined;
|
|
70
|
+
|
|
71
|
+
if (check !== undefined) {
|
|
72
|
+
throw new SyntaxError('numeric() takes one or two arguments');
|
|
73
|
+
}
|
|
74
|
+
|
|
68
75
|
var inputType = (0, _is.typeOf)(value);
|
|
69
76
|
|
|
70
77
|
if (!(inputType in validInputTypes)) {
|
|
@@ -15,46 +15,7 @@ var createTypeOf = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
15
15
|
var typed = _ref.typed;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* Determine the type of
|
|
19
|
-
*
|
|
20
|
-
* Function `typeOf` recognizes the following types of objects:
|
|
21
|
-
*
|
|
22
|
-
* Object | Returns | Example
|
|
23
|
-
* ---------------------- | ------------- | ------------------------------------------
|
|
24
|
-
* null | `'null'` | `math.typeOf(null)`
|
|
25
|
-
* number | `'number'` | `math.typeOf(3.5)`
|
|
26
|
-
* boolean | `'boolean'` | `math.typeOf(true)`
|
|
27
|
-
* string | `'string'` | `math.typeOf('hello world')`
|
|
28
|
-
* Array | `'Array'` | `math.typeOf([1, 2, 3])`
|
|
29
|
-
* Date | `'Date'` | `math.typeOf(new Date())`
|
|
30
|
-
* Function | `'Function'` | `math.typeOf(function () {})`
|
|
31
|
-
* Object | `'Object'` | `math.typeOf({a: 2, b: 3})`
|
|
32
|
-
* RegExp | `'RegExp'` | `math.typeOf(/a regexp/)`
|
|
33
|
-
* undefined | `'undefined'` | `math.typeOf(undefined)`
|
|
34
|
-
* math.BigNumber | `'BigNumber'` | `math.typeOf(math.bignumber('2.3e500'))`
|
|
35
|
-
* math.Chain | `'Chain'` | `math.typeOf(math.chain(2))`
|
|
36
|
-
* math.Complex | `'Complex'` | `math.typeOf(math.complex(2, 3))`
|
|
37
|
-
* math.Fraction | `'Fraction'` | `math.typeOf(math.fraction(1, 3))`
|
|
38
|
-
* math.Help | `'Help'` | `math.typeOf(math.help('sqrt'))`
|
|
39
|
-
* math.Help | `'Help'` | `math.typeOf(math.help('sqrt'))`
|
|
40
|
-
* math.Index | `'Index'` | `math.typeOf(math.index(1, 3))`
|
|
41
|
-
* math.Matrix | `'Matrix'` | `math.typeOf(math.matrix([[1,2], [3, 4]]))`
|
|
42
|
-
* math.Range | `'Range'` | `math.typeOf(math.range(0, 10))`
|
|
43
|
-
* math.ResultSet | `'ResultSet'` | `math.typeOf(math.evaluate('a=2\nb=3'))`
|
|
44
|
-
* math.Unit | `'Unit'` | `math.typeOf(math.unit('45 deg'))`
|
|
45
|
-
* math.AccessorNode | `'AccessorNode'` | `math.typeOf(math.parse('A[2]'))`
|
|
46
|
-
* math.ArrayNode | `'ArrayNode'` | `math.typeOf(math.parse('[1,2,3]'))`
|
|
47
|
-
* math.AssignmentNode | `'AssignmentNode'` | `math.typeOf(math.parse('x=2'))`
|
|
48
|
-
* math.BlockNode | `'BlockNode'` | `math.typeOf(math.parse('a=2; b=3'))`
|
|
49
|
-
* math.ConditionalNode | `'ConditionalNode'` | `math.typeOf(math.parse('x<0 ? -x : x'))`
|
|
50
|
-
* math.ConstantNode | `'ConstantNode'` | `math.typeOf(math.parse('2.3'))`
|
|
51
|
-
* math.FunctionAssignmentNode | `'FunctionAssignmentNode'` | `math.typeOf(math.parse('f(x)=x^2'))`
|
|
52
|
-
* math.FunctionNode | `'FunctionNode'` | `math.typeOf(math.parse('sqrt(4)'))`
|
|
53
|
-
* math.IndexNode | `'IndexNode'` | `math.typeOf(math.parse('A[2]').index)`
|
|
54
|
-
* math.ObjectNode | `'ObjectNode'` | `math.typeOf(math.parse('{a:2}'))`
|
|
55
|
-
* math.ParenthesisNode | `'ParenthesisNode'` | `math.typeOf(math.parse('(2+3)'))`
|
|
56
|
-
* math.RangeNode | `'RangeNode'` | `math.typeOf(math.parse('1:10'))`
|
|
57
|
-
* math.SymbolNode | `'SymbolNode'` | `math.typeOf(math.parse('x'))`
|
|
18
|
+
* Determine the type of an entity.
|
|
58
19
|
*
|
|
59
20
|
* Syntax:
|
|
60
21
|
*
|
|
@@ -62,10 +23,43 @@ var createTypeOf = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
62
23
|
*
|
|
63
24
|
* Examples:
|
|
64
25
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* math.typeOf(
|
|
68
|
-
* math.typeOf('
|
|
26
|
+
* // This list is intended to include all relevant types, for testing
|
|
27
|
+
* // purposes:
|
|
28
|
+
* math.typeOf(3.5) // returns 'number'
|
|
29
|
+
* math.typeOf(math.complex('2-4i')) // returns 'Complex'
|
|
30
|
+
* math.typeOf(math.unit('45 deg')) // returns 'Unit'
|
|
31
|
+
* math.typeOf('hello world') // returns 'string'
|
|
32
|
+
* math.typeOf(null) // returns 'null'
|
|
33
|
+
* math.typeOf(true) // returns 'boolean'
|
|
34
|
+
* math.typeOf([1, 2, 3]) // returns 'Array'
|
|
35
|
+
* math.typeOf(new Date()) // returns 'Date'
|
|
36
|
+
* math.typeOf(function () {}) // returns 'function'
|
|
37
|
+
* math.typeOf({a: 2, b: 3}) // returns 'Object'
|
|
38
|
+
* math.typeOf(/a regexp/) // returns 'RegExp'
|
|
39
|
+
* math.typeOf(undefined) // returns 'undefined'
|
|
40
|
+
* math.typeOf(math.bignumber('23e99')) // returns 'BigNumber'
|
|
41
|
+
* math.typeOf(math.chain(2)) // returns 'Chain'
|
|
42
|
+
* math.typeOf(math.fraction(1, 3)) // returns 'Fraction'
|
|
43
|
+
* math.typeOf(math.help('sqrt')) // returns 'Help'
|
|
44
|
+
* math.typeOf(math.index(1, 3)) // returns 'Index'
|
|
45
|
+
* math.typeOf(math.matrix([[1],[3]])) // returns 'DenseMatrix'
|
|
46
|
+
* math.typeOf(math.matrix([],'sparse')) // returns 'SparseMatrix'
|
|
47
|
+
* math.typeOf(new math.Range(0, 10)) // returns 'Range'
|
|
48
|
+
* math.typeOf(math.evaluate('a=2\na')) // returns 'ResultSet'
|
|
49
|
+
* math.typeOf(math.parse('A[2]')) // returns 'AccessorNode'
|
|
50
|
+
* math.typeOf(math.parse('[1,2,3]')) // returns 'ArrayNode'
|
|
51
|
+
* math.typeOf(math.parse('x=2')) // returns 'AssignmentNode'
|
|
52
|
+
* math.typeOf(math.parse('a=2; b=3')) // returns 'BlockNode'
|
|
53
|
+
* math.typeOf(math.parse('x<0?-1:1')) // returns 'ConditionalNode'
|
|
54
|
+
* math.typeOf(math.parse('2.3')) // returns 'ConstantNode'
|
|
55
|
+
* math.typeOf(math.parse('f(x)=x^2')) // returns 'FunctionAssignmentNode'
|
|
56
|
+
* math.typeOf(math.parse('sqrt(4)')) // returns 'FunctionNode'
|
|
57
|
+
* math.typeOf(math.parse('A[2]').index) // returns 'IndexNode'
|
|
58
|
+
* math.typeOf(math.parse('{a:2}')) // returns 'ObjectNode'
|
|
59
|
+
* math.typeOf(math.parse('(2+3)')) // returns 'ParenthesisNode'
|
|
60
|
+
* math.typeOf(math.parse('1:10')) // returns 'RangeNode'
|
|
61
|
+
* math.typeOf(math.parse('a<b<c')) // returns 'RelationalNode'
|
|
62
|
+
* math.typeOf(math.parse('x')) // returns 'SymbolNode'
|
|
69
63
|
*
|
|
70
64
|
* @param {*} x The variable for which to test the type.
|
|
71
65
|
* @return {string} Returns the name of the type. Primitive types are lower case,
|
package/lib/cjs/header.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* It features real and complex numbers, units, matrices, a large set of
|
|
7
7
|
* mathematical functions, and a flexible expression parser.
|
|
8
8
|
*
|
|
9
|
-
* @version
|
|
10
|
-
* @date 2022-
|
|
9
|
+
* @version 11.0.0
|
|
10
|
+
* @date 2022-07-23
|
|
11
11
|
*
|
|
12
12
|
* @license
|
|
13
13
|
* Copyright (C) 2013-2022 Jos de Jong <wjosdejong@gmail.com>
|
|
@@ -27,7 +27,7 @@ Object.keys(_arithmetic).forEach(function (key) {
|
|
|
27
27
|
});
|
|
28
28
|
|
|
29
29
|
// TODO: this is ugly. Instead, be able to pass your own isBigNumber function to typed?
|
|
30
|
-
var BigNumber = _decimal
|
|
30
|
+
var BigNumber = _decimal["default"].clone();
|
|
31
31
|
|
|
32
32
|
BigNumber.prototype.isBigNumber = true;
|
|
33
33
|
|
|
@@ -17,9 +17,9 @@ var createBigNumberClass = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
17
17
|
var on = _ref.on,
|
|
18
18
|
config = _ref.config;
|
|
19
19
|
|
|
20
|
-
var BigNumber = _decimal
|
|
20
|
+
var BigNumber = _decimal["default"].clone({
|
|
21
21
|
precision: config.precision,
|
|
22
|
-
modulo: _decimal
|
|
22
|
+
modulo: _decimal["default"].EUCLID
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
BigNumber.prototype = Object.create(BigNumber.prototype);
|
|
@@ -79,12 +79,14 @@ var createBignumber = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
79
79
|
Fraction: function Fraction(x) {
|
|
80
80
|
return new BigNumber(x.n).div(x.d).times(x.s);
|
|
81
81
|
},
|
|
82
|
-
null: function _null(x) {
|
|
82
|
+
"null": function _null(x) {
|
|
83
83
|
return new BigNumber(0);
|
|
84
84
|
},
|
|
85
|
-
'Array | Matrix': function
|
|
86
|
-
return
|
|
87
|
-
|
|
85
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
86
|
+
return function (x) {
|
|
87
|
+
return (0, _collection.deepMap)(x, self);
|
|
88
|
+
};
|
|
89
|
+
})
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
92
|
exports.createBignumber = createBignumber;
|
package/lib/cjs/type/boolean.js
CHANGED
|
@@ -45,13 +45,13 @@ var createBoolean = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
45
45
|
'': function _() {
|
|
46
46
|
return false;
|
|
47
47
|
},
|
|
48
|
-
boolean: function boolean(x) {
|
|
48
|
+
"boolean": function boolean(x) {
|
|
49
49
|
return x;
|
|
50
50
|
},
|
|
51
51
|
number: function number(x) {
|
|
52
52
|
return !!x;
|
|
53
53
|
},
|
|
54
|
-
null: function _null(x) {
|
|
54
|
+
"null": function _null(x) {
|
|
55
55
|
return false;
|
|
56
56
|
},
|
|
57
57
|
BigNumber: function BigNumber(x) {
|
|
@@ -76,9 +76,11 @@ var createBoolean = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
76
76
|
|
|
77
77
|
throw new Error('Cannot convert "' + x + '" to a boolean');
|
|
78
78
|
},
|
|
79
|
-
'Array | Matrix': function
|
|
80
|
-
return
|
|
81
|
-
|
|
79
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
80
|
+
return function (x) {
|
|
81
|
+
return (0, _collection.deepMap)(x, self);
|
|
82
|
+
};
|
|
83
|
+
})
|
|
82
84
|
});
|
|
83
85
|
});
|
|
84
86
|
exports.createBoolean = createBoolean;
|
|
@@ -14,10 +14,11 @@ var _object = require("../../utils/object.js");
|
|
|
14
14
|
var _factory = require("../../utils/factory.js");
|
|
15
15
|
|
|
16
16
|
var name = 'Chain';
|
|
17
|
-
var dependencies = ['?on', 'math'];
|
|
17
|
+
var dependencies = ['?on', 'math', 'typed'];
|
|
18
18
|
var createChainClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
19
19
|
var on = _ref.on,
|
|
20
|
-
math = _ref.math
|
|
20
|
+
math = _ref.math,
|
|
21
|
+
typed = _ref.typed;
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* @constructor Chain
|
|
@@ -151,12 +152,31 @@ var createChainClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
151
152
|
|
|
152
153
|
function chainify(fn) {
|
|
153
154
|
return function () {
|
|
154
|
-
|
|
155
|
+
// Here, `this` will be the context of a Chain instance
|
|
156
|
+
if (arguments.length === 0) {
|
|
157
|
+
return new Chain(fn(this.value));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
var args = [this.value];
|
|
155
161
|
|
|
156
162
|
for (var i = 0; i < arguments.length; i++) {
|
|
157
163
|
args[i + 1] = arguments[i];
|
|
158
164
|
}
|
|
159
165
|
|
|
166
|
+
if (typed.isTypedFunction(fn)) {
|
|
167
|
+
var sigObject = typed.resolve(fn, args); // We want to detect if a rest parameter has matched across the
|
|
168
|
+
// value in the chain and the current arguments of this call.
|
|
169
|
+
// That is the case if and only if the matching signature has
|
|
170
|
+
// exactly one parameter (which then must be a rest parameter
|
|
171
|
+
// as it is matching at least two actual arguments).
|
|
172
|
+
|
|
173
|
+
if (sigObject.params.length === 1) {
|
|
174
|
+
throw new Error('chain function ' + fn.name + ' cannot match rest parameter between chain value and additional arguments.');
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
return new Chain(sigObject.implementation.apply(fn, args));
|
|
178
|
+
}
|
|
179
|
+
|
|
160
180
|
return new Chain(fn.apply(fn, args));
|
|
161
181
|
};
|
|
162
182
|
}
|
|
@@ -23,15 +23,19 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
23
23
|
/**
|
|
24
24
|
* Attach type information
|
|
25
25
|
*/
|
|
26
|
-
_complex
|
|
27
|
-
|
|
26
|
+
Object.defineProperty(_complex["default"], 'name', {
|
|
27
|
+
value: 'Complex'
|
|
28
|
+
});
|
|
29
|
+
_complex["default"].prototype.constructor = _complex["default"];
|
|
30
|
+
_complex["default"].prototype.type = 'Complex';
|
|
31
|
+
_complex["default"].prototype.isComplex = true;
|
|
28
32
|
/**
|
|
29
33
|
* Get a JSON representation of the complex number
|
|
30
34
|
* @returns {Object} Returns a JSON object structured as:
|
|
31
35
|
* `{"mathjs": "Complex", "re": 2, "im": 3}`
|
|
32
36
|
*/
|
|
33
37
|
|
|
34
|
-
_complex
|
|
38
|
+
_complex["default"].prototype.toJSON = function () {
|
|
35
39
|
return {
|
|
36
40
|
mathjs: 'Complex',
|
|
37
41
|
re: this.re,
|
|
@@ -45,7 +49,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
45
49
|
*/
|
|
46
50
|
|
|
47
51
|
|
|
48
|
-
_complex
|
|
52
|
+
_complex["default"].prototype.toPolar = function () {
|
|
49
53
|
return {
|
|
50
54
|
r: this.abs(),
|
|
51
55
|
phi: this.arg()
|
|
@@ -62,7 +66,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
62
66
|
*/
|
|
63
67
|
|
|
64
68
|
|
|
65
|
-
_complex
|
|
69
|
+
_complex["default"].prototype.format = function (options) {
|
|
66
70
|
var str = '';
|
|
67
71
|
var im = this.im;
|
|
68
72
|
var re = this.re;
|
|
@@ -127,14 +131,14 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
127
131
|
*/
|
|
128
132
|
|
|
129
133
|
|
|
130
|
-
_complex
|
|
134
|
+
_complex["default"].fromPolar = function (args) {
|
|
131
135
|
switch (arguments.length) {
|
|
132
136
|
case 1:
|
|
133
137
|
{
|
|
134
138
|
var arg = arguments[0];
|
|
135
139
|
|
|
136
|
-
if ((0, _typeof2
|
|
137
|
-
return (0, _complex
|
|
140
|
+
if ((0, _typeof2["default"])(arg) === 'object') {
|
|
141
|
+
return (0, _complex["default"])(arg);
|
|
138
142
|
} else {
|
|
139
143
|
throw new TypeError('Input has to be an object with r and phi keys.');
|
|
140
144
|
}
|
|
@@ -152,7 +156,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
if ((0, _is.isNumber)(phi)) {
|
|
155
|
-
return new _complex
|
|
159
|
+
return new _complex["default"]({
|
|
156
160
|
r: r,
|
|
157
161
|
phi: phi
|
|
158
162
|
});
|
|
@@ -169,7 +173,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
169
173
|
}
|
|
170
174
|
};
|
|
171
175
|
|
|
172
|
-
_complex
|
|
176
|
+
_complex["default"].prototype.valueOf = _complex["default"].prototype.toString;
|
|
173
177
|
/**
|
|
174
178
|
* Create a Complex number from a JSON object
|
|
175
179
|
* @param {Object} json A JSON Object structured as
|
|
@@ -179,8 +183,8 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
179
183
|
* @return {Complex} Returns a new Complex number
|
|
180
184
|
*/
|
|
181
185
|
|
|
182
|
-
_complex
|
|
183
|
-
return new _complex
|
|
186
|
+
_complex["default"].fromJSON = function (json) {
|
|
187
|
+
return new _complex["default"](json);
|
|
184
188
|
};
|
|
185
189
|
/**
|
|
186
190
|
* Compare two complex numbers, `a` and `b`:
|
|
@@ -199,7 +203,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
199
203
|
*/
|
|
200
204
|
|
|
201
205
|
|
|
202
|
-
_complex
|
|
206
|
+
_complex["default"].compare = function (a, b) {
|
|
203
207
|
if (a.re > b.re) {
|
|
204
208
|
return 1;
|
|
205
209
|
}
|
|
@@ -219,7 +223,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
|
|
|
219
223
|
return 0;
|
|
220
224
|
};
|
|
221
225
|
|
|
222
|
-
return _complex
|
|
226
|
+
return _complex["default"];
|
|
223
227
|
}, {
|
|
224
228
|
isClass: true
|
|
225
229
|
});
|
|
@@ -76,7 +76,7 @@ var createComplex = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
76
76
|
string: function string(x) {
|
|
77
77
|
return Complex(x); // for example '2 + 3i'
|
|
78
78
|
},
|
|
79
|
-
null: function _null(x) {
|
|
79
|
+
"null": function _null(x) {
|
|
80
80
|
return Complex(0);
|
|
81
81
|
},
|
|
82
82
|
Object: function Object(x) {
|
|
@@ -90,9 +90,11 @@ var createComplex = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
|
|
|
90
90
|
|
|
91
91
|
throw new Error('Expected object with properties (re and im) or (r and phi) or (abs and arg)');
|
|
92
92
|
},
|
|
93
|
-
'Array | Matrix': function
|
|
94
|
-
return
|
|
95
|
-
|
|
93
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
94
|
+
return function (x) {
|
|
95
|
+
return (0, _collection.deepMap)(x, self);
|
|
96
|
+
};
|
|
97
|
+
})
|
|
96
98
|
});
|
|
97
99
|
});
|
|
98
100
|
exports.createComplex = createComplex;
|
|
@@ -17,15 +17,19 @@ var createFractionClass = /* #__PURE__ */(0, _factory.factory)(name, dependencie
|
|
|
17
17
|
/**
|
|
18
18
|
* Attach type information
|
|
19
19
|
*/
|
|
20
|
-
_fraction
|
|
21
|
-
|
|
20
|
+
Object.defineProperty(_fraction["default"], 'name', {
|
|
21
|
+
value: 'Fraction'
|
|
22
|
+
});
|
|
23
|
+
_fraction["default"].prototype.constructor = _fraction["default"];
|
|
24
|
+
_fraction["default"].prototype.type = 'Fraction';
|
|
25
|
+
_fraction["default"].prototype.isFraction = true;
|
|
22
26
|
/**
|
|
23
27
|
* Get a JSON representation of a Fraction containing type information
|
|
24
28
|
* @returns {Object} Returns a JSON object structured as:
|
|
25
29
|
* `{"mathjs": "Fraction", "n": 3, "d": 8}`
|
|
26
30
|
*/
|
|
27
31
|
|
|
28
|
-
_fraction
|
|
32
|
+
_fraction["default"].prototype.toJSON = function () {
|
|
29
33
|
return {
|
|
30
34
|
mathjs: 'Fraction',
|
|
31
35
|
n: this.s * this.n,
|
|
@@ -40,11 +44,11 @@ var createFractionClass = /* #__PURE__ */(0, _factory.factory)(name, dependencie
|
|
|
40
44
|
*/
|
|
41
45
|
|
|
42
46
|
|
|
43
|
-
_fraction
|
|
44
|
-
return new _fraction
|
|
47
|
+
_fraction["default"].fromJSON = function (json) {
|
|
48
|
+
return new _fraction["default"](json);
|
|
45
49
|
};
|
|
46
50
|
|
|
47
|
-
return _fraction
|
|
51
|
+
return _fraction["default"];
|
|
48
52
|
}, {
|
|
49
53
|
isClass: true
|
|
50
54
|
});
|
|
@@ -66,7 +66,7 @@ var createFraction = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
66
66
|
'number, number': function numberNumber(numerator, denominator) {
|
|
67
67
|
return new Fraction(numerator, denominator);
|
|
68
68
|
},
|
|
69
|
-
null: function _null(x) {
|
|
69
|
+
"null": function _null(x) {
|
|
70
70
|
return new Fraction(0);
|
|
71
71
|
},
|
|
72
72
|
BigNumber: function BigNumber(x) {
|
|
@@ -78,9 +78,11 @@ var createFraction = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
|
|
|
78
78
|
Object: function Object(x) {
|
|
79
79
|
return new Fraction(x);
|
|
80
80
|
},
|
|
81
|
-
'Array | Matrix': function
|
|
82
|
-
return
|
|
83
|
-
|
|
81
|
+
'Array | Matrix': typed.referToSelf(function (self) {
|
|
82
|
+
return function (x) {
|
|
83
|
+
return (0, _collection.deepMap)(x, self);
|
|
84
|
+
};
|
|
85
|
+
})
|
|
84
86
|
});
|
|
85
87
|
});
|
|
86
88
|
exports.createFraction = createFraction;
|
|
@@ -23,7 +23,9 @@ var _DimensionError = require("../../error/DimensionError.js");
|
|
|
23
23
|
|
|
24
24
|
var _factory = require("../../utils/factory.js");
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
var _function = require("../../utils/function.js");
|
|
27
|
+
|
|
28
|
+
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; } } }; }
|
|
27
29
|
|
|
28
30
|
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); }
|
|
29
31
|
|
|
@@ -101,6 +103,10 @@ var createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
101
103
|
*/
|
|
102
104
|
|
|
103
105
|
|
|
106
|
+
Object.defineProperty(DenseMatrix, 'name', {
|
|
107
|
+
value: 'DenseMatrix'
|
|
108
|
+
});
|
|
109
|
+
DenseMatrix.prototype.constructor = DenseMatrix;
|
|
104
110
|
DenseMatrix.prototype.type = 'DenseMatrix';
|
|
105
111
|
DenseMatrix.prototype.isDenseMatrix = true;
|
|
106
112
|
/**
|
|
@@ -600,6 +606,7 @@ var createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
600
606
|
DenseMatrix.prototype.map = function (callback) {
|
|
601
607
|
// matrix instance
|
|
602
608
|
var me = this;
|
|
609
|
+
var args = (0, _function.maxArgumentCount)(callback);
|
|
603
610
|
|
|
604
611
|
var recurse = function recurse(value, index) {
|
|
605
612
|
if ((0, _is.isArray)(value)) {
|
|
@@ -607,7 +614,15 @@ var createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
607
614
|
return recurse(child, index.concat(i));
|
|
608
615
|
});
|
|
609
616
|
} else {
|
|
610
|
-
|
|
617
|
+
// invoke the callback function with the right number of arguments
|
|
618
|
+
if (args === 1) {
|
|
619
|
+
return callback(value);
|
|
620
|
+
} else if (args === 2) {
|
|
621
|
+
return callback(value, index);
|
|
622
|
+
} else {
|
|
623
|
+
// 3 or -1
|
|
624
|
+
return callback(value, index, me);
|
|
625
|
+
}
|
|
611
626
|
}
|
|
612
627
|
}; // determine the new datatype when the original matrix has datatype defined
|
|
613
628
|
// TODO: should be done in matrix constructor instead
|
|
@@ -648,15 +663,15 @@ var createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
648
663
|
*/
|
|
649
664
|
|
|
650
665
|
|
|
651
|
-
DenseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator
|
|
666
|
+
DenseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
652
667
|
var recurse;
|
|
653
|
-
return _regenerator
|
|
668
|
+
return _regenerator["default"].wrap(function _callee$(_context2) {
|
|
654
669
|
while (1) {
|
|
655
670
|
switch (_context2.prev = _context2.next) {
|
|
656
671
|
case 0:
|
|
657
|
-
recurse = /*#__PURE__*/_regenerator
|
|
672
|
+
recurse = /*#__PURE__*/_regenerator["default"].mark(function recurse(value, index) {
|
|
658
673
|
var i;
|
|
659
|
-
return _regenerator
|
|
674
|
+
return _regenerator["default"].wrap(function recurse$(_context) {
|
|
660
675
|
while (1) {
|
|
661
676
|
switch (_context.prev = _context.next) {
|
|
662
677
|
case 0:
|