mathjs 10.6.4 → 11.1.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 +79 -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/construction/index.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -5
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/cjs/expression/node/AccessorNode.js +216 -173
- package/lib/cjs/expression/node/ArrayNode.js +206 -160
- package/lib/cjs/expression/node/AssignmentNode.js +321 -270
- package/lib/cjs/expression/node/BlockNode.js +223 -172
- package/lib/cjs/expression/node/ConditionalNode.js +253 -193
- package/lib/cjs/expression/node/ConstantNode.js +216 -171
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +258 -196
- package/lib/cjs/expression/node/FunctionNode.js +456 -416
- package/lib/cjs/expression/node/IndexNode.js +256 -210
- package/lib/cjs/expression/node/Node.js +411 -378
- package/lib/cjs/expression/node/ObjectNode.js +223 -178
- package/lib/cjs/expression/node/OperatorNode.js +474 -397
- package/lib/cjs/expression/node/ParenthesisNode.js +189 -143
- package/lib/cjs/expression/node/RangeNode.js +272 -224
- package/lib/cjs/expression/node/RelationalNode.js +246 -195
- package/lib/cjs/expression/node/SymbolNode.js +219 -172
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/operators.js +117 -23
- package/lib/cjs/expression/parse.js +37 -19
- package/lib/cjs/expression/transform/std.transform.js +3 -1
- package/lib/cjs/factoriesAny.js +8 -0
- package/lib/cjs/factoriesNumber.js +10 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/derivative.js +25 -33
- package/lib/cjs/function/algebra/leafCount.js +0 -3
- package/lib/cjs/function/algebra/rationalize.js +78 -108
- package/lib/cjs/function/algebra/resolve.js +53 -16
- package/lib/cjs/function/algebra/simplify/util.js +1 -1
- package/lib/cjs/function/algebra/simplify.js +90 -115
- package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
- package/lib/cjs/function/algebra/simplifyCore.js +196 -93
- package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
- package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +14 -32
- package/lib/cjs/function/arithmetic/abs.js +7 -14
- package/lib/cjs/function/arithmetic/add.js +26 -70
- package/lib/cjs/function/arithmetic/addScalar.js +17 -9
- package/lib/cjs/function/arithmetic/cbrt.js +7 -11
- package/lib/cjs/function/arithmetic/ceil.js +50 -40
- package/lib/cjs/function/arithmetic/cube.js +5 -10
- package/lib/cjs/function/arithmetic/divide.js +7 -7
- package/lib/cjs/function/arithmetic/divideScalar.js +4 -18
- package/lib/cjs/function/arithmetic/dotDivide.js +22 -65
- package/lib/cjs/function/arithmetic/dotMultiply.js +16 -61
- package/lib/cjs/function/arithmetic/dotPow.js +30 -63
- package/lib/cjs/function/arithmetic/exp.js +8 -12
- package/lib/cjs/function/arithmetic/expm1.js +10 -10
- package/lib/cjs/function/arithmetic/fix.js +34 -28
- package/lib/cjs/function/arithmetic/floor.js +51 -41
- package/lib/cjs/function/arithmetic/gcd.js +27 -68
- package/lib/cjs/function/arithmetic/hypot.js +9 -5
- package/lib/cjs/function/arithmetic/invmod.js +2 -2
- package/lib/cjs/function/arithmetic/lcm.js +27 -68
- package/lib/cjs/function/arithmetic/log.js +10 -12
- package/lib/cjs/function/arithmetic/log10.js +5 -3
- package/lib/cjs/function/arithmetic/log1p.js +11 -7
- package/lib/cjs/function/arithmetic/log2.js +5 -3
- package/lib/cjs/function/arithmetic/mod.js +22 -64
- package/lib/cjs/function/arithmetic/multiply.js +40 -35
- package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
- package/lib/cjs/function/arithmetic/norm.js +1 -5
- package/lib/cjs/function/arithmetic/nthRoot.js +83 -95
- package/lib/cjs/function/arithmetic/nthRoots.js +2 -2
- package/lib/cjs/function/arithmetic/round.js +56 -42
- package/lib/cjs/function/arithmetic/sign.js +14 -10
- package/lib/cjs/function/arithmetic/sqrt.js +5 -9
- package/lib/cjs/function/arithmetic/square.js +6 -10
- package/lib/cjs/function/arithmetic/subtract.js +44 -100
- package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
- package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
- package/lib/cjs/function/bitwise/bitAnd.js +17 -61
- package/lib/cjs/function/bitwise/bitNot.js +6 -4
- package/lib/cjs/function/bitwise/bitOr.js +16 -60
- package/lib/cjs/function/bitwise/bitXor.js +17 -61
- package/lib/cjs/function/bitwise/leftShift.js +69 -82
- package/lib/cjs/function/bitwise/rightArithShift.js +69 -82
- package/lib/cjs/function/bitwise/rightLogShift.js +69 -82
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
- package/lib/cjs/function/complex/arg.js +5 -3
- package/lib/cjs/function/complex/conj.js +6 -7
- package/lib/cjs/function/complex/im.js +7 -8
- package/lib/cjs/function/complex/re.js +6 -10
- package/lib/cjs/function/geometry/distance.js +2 -2
- package/lib/cjs/function/logical/and.js +74 -80
- package/lib/cjs/function/logical/not.js +13 -6
- package/lib/cjs/function/logical/or.js +21 -63
- package/lib/cjs/function/logical/xor.js +21 -63
- package/lib/cjs/function/matrix/diff.js +11 -8
- package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
- package/lib/cjs/function/matrix/fft.js +2 -2
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/ones.js +2 -1
- package/lib/cjs/function/matrix/rotate.js +5 -5
- package/lib/cjs/function/matrix/sqrtm.js +3 -2
- package/lib/cjs/function/matrix/transpose.js +47 -48
- package/lib/cjs/function/matrix/zeros.js +2 -1
- package/lib/cjs/function/probability/factorial.js +5 -3
- package/lib/cjs/function/probability/gamma.js +38 -40
- package/lib/cjs/function/probability/kldivergence.js +5 -2
- package/lib/cjs/function/probability/lgamma.js +30 -30
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compare.js +21 -67
- package/lib/cjs/function/relational/compareNatural.js +59 -54
- package/lib/cjs/function/relational/compareText.js +10 -43
- package/lib/cjs/function/relational/compareUnits.js +24 -0
- package/lib/cjs/function/relational/equal.js +19 -80
- package/lib/cjs/function/relational/equalScalar.js +7 -9
- package/lib/cjs/function/relational/larger.js +21 -67
- package/lib/cjs/function/relational/largerEq.js +21 -67
- package/lib/cjs/function/relational/smaller.js +21 -67
- package/lib/cjs/function/relational/smallerEq.js +21 -67
- package/lib/cjs/function/relational/unequal.js +19 -80
- package/lib/cjs/function/special/erf.js +5 -3
- package/lib/cjs/function/statistics/std.js +11 -2
- package/lib/cjs/function/string/format.js +2 -2
- package/lib/cjs/function/string/hex.js +1 -2
- package/lib/cjs/function/trigonometry/acos.js +4 -8
- package/lib/cjs/function/trigonometry/acosh.js +2 -7
- package/lib/cjs/function/trigonometry/acot.js +6 -11
- package/lib/cjs/function/trigonometry/acoth.js +4 -8
- package/lib/cjs/function/trigonometry/acsc.js +6 -11
- package/lib/cjs/function/trigonometry/acsch.js +4 -8
- package/lib/cjs/function/trigonometry/asec.js +6 -10
- package/lib/cjs/function/trigonometry/asech.js +4 -8
- package/lib/cjs/function/trigonometry/asin.js +5 -10
- package/lib/cjs/function/trigonometry/asinh.js +4 -9
- package/lib/cjs/function/trigonometry/atan.js +5 -11
- package/lib/cjs/function/trigonometry/atan2.js +25 -63
- package/lib/cjs/function/trigonometry/atanh.js +4 -9
- package/lib/cjs/function/trigonometry/cos.js +11 -20
- package/lib/cjs/function/trigonometry/cosh.js +5 -19
- package/lib/cjs/function/trigonometry/cot.js +9 -15
- package/lib/cjs/function/trigonometry/coth.js +4 -15
- package/lib/cjs/function/trigonometry/csc.js +11 -17
- package/lib/cjs/function/trigonometry/csch.js +4 -15
- package/lib/cjs/function/trigonometry/sec.js +11 -17
- package/lib/cjs/function/trigonometry/sech.js +4 -15
- package/lib/cjs/function/trigonometry/sin.js +11 -21
- package/lib/cjs/function/trigonometry/sinh.js +5 -20
- package/lib/cjs/function/trigonometry/tan.js +11 -21
- package/lib/cjs/function/trigonometry/tanh.js +5 -20
- package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
- package/lib/cjs/function/unit/to.js +7 -41
- package/lib/cjs/function/utils/clone.js +1 -1
- package/lib/cjs/function/utils/hasNumericValue.js +5 -1
- package/lib/cjs/function/utils/isInteger.js +6 -4
- package/lib/cjs/function/utils/isNaN.js +1 -1
- package/lib/cjs/function/utils/isNegative.js +11 -7
- package/lib/cjs/function/utils/isNumeric.js +6 -4
- package/lib/cjs/function/utils/isPositive.js +11 -7
- package/lib/cjs/function/utils/isPrime.js +5 -3
- package/lib/cjs/function/utils/isZero.js +21 -17
- package/lib/cjs/function/utils/numeric.js +11 -4
- package/lib/cjs/function/utils/typeOf.js +38 -44
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
- package/lib/cjs/type/boolean.js +7 -5
- package/lib/cjs/type/chain/Chain.js +23 -3
- package/lib/cjs/type/complex/Complex.js +18 -14
- package/lib/cjs/type/complex/function/complex.js +6 -4
- package/lib/cjs/type/fraction/Fraction.js +10 -6
- package/lib/cjs/type/fraction/function/fraction.js +6 -4
- package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
- package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
- package/lib/cjs/type/number.js +6 -4
- package/lib/cjs/type/string.js +7 -5
- package/lib/cjs/type/unit/Unit.js +98 -45
- package/lib/cjs/type/unit/function/createUnit.js +2 -1
- package/lib/cjs/type/unit/function/unit.js +14 -5
- 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/construction/index.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
- package/lib/esm/expression/node/AccessorNode.js +158 -153
- package/lib/esm/expression/node/ArrayNode.js +162 -154
- package/lib/esm/expression/node/AssignmentNode.js +257 -245
- package/lib/esm/expression/node/BlockNode.js +177 -163
- package/lib/esm/expression/node/ConditionalNode.js +197 -174
- package/lib/esm/expression/node/ConstantNode.js +171 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +205 -180
- package/lib/esm/expression/node/FunctionNode.js +407 -407
- package/lib/esm/expression/node/IndexNode.js +206 -198
- package/lib/esm/expression/node/Node.js +325 -325
- package/lib/esm/expression/node/ObjectNode.js +166 -157
- package/lib/esm/expression/node/OperatorNode.js +414 -377
- package/lib/esm/expression/node/ParenthesisNode.js +146 -138
- package/lib/esm/expression/node/RangeNode.js +221 -212
- package/lib/esm/expression/node/RelationalNode.js +190 -176
- package/lib/esm/expression/node/SymbolNode.js +161 -152
- package/lib/esm/expression/operators.js +96 -4
- package/lib/esm/expression/parse.js +25 -7
- package/lib/esm/expression/transform/std.transform.js +3 -1
- package/lib/esm/factoriesAny.js +1 -0
- package/lib/esm/factoriesNumber.js +1 -0
- package/lib/esm/function/algebra/derivative.js +25 -33
- package/lib/esm/function/algebra/leafCount.js +0 -3
- package/lib/esm/function/algebra/rationalize.js +83 -114
- package/lib/esm/function/algebra/resolve.js +25 -16
- package/lib/esm/function/algebra/simplify.js +85 -113
- package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
- package/lib/esm/function/algebra/simplifyCore.js +192 -91
- package/lib/esm/function/algebra/symbolicEqual.js +14 -32
- package/lib/esm/function/arithmetic/abs.js +3 -16
- package/lib/esm/function/arithmetic/add.js +21 -65
- package/lib/esm/function/arithmetic/addScalar.js +11 -5
- package/lib/esm/function/arithmetic/cbrt.js +7 -10
- package/lib/esm/function/arithmetic/ceil.js +25 -25
- package/lib/esm/function/arithmetic/cube.js +5 -9
- package/lib/esm/function/arithmetic/divide.js +7 -7
- package/lib/esm/function/arithmetic/divideScalar.js +2 -19
- package/lib/esm/function/arithmetic/dotDivide.js +22 -64
- package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
- package/lib/esm/function/arithmetic/dotPow.js +30 -62
- package/lib/esm/function/arithmetic/exp.js +8 -11
- package/lib/esm/function/arithmetic/expm1.js +10 -9
- package/lib/esm/function/arithmetic/fix.js +18 -18
- package/lib/esm/function/arithmetic/floor.js +26 -26
- package/lib/esm/function/arithmetic/gcd.js +26 -70
- package/lib/esm/function/arithmetic/hypot.js +7 -6
- package/lib/esm/function/arithmetic/invmod.js +1 -1
- package/lib/esm/function/arithmetic/lcm.js +26 -70
- package/lib/esm/function/arithmetic/log.js +7 -10
- package/lib/esm/function/arithmetic/log10.js +1 -3
- package/lib/esm/function/arithmetic/log1p.js +4 -6
- package/lib/esm/function/arithmetic/log2.js +1 -3
- package/lib/esm/function/arithmetic/mod.js +21 -62
- package/lib/esm/function/arithmetic/multiply.js +23 -27
- package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
- package/lib/esm/function/arithmetic/norm.js +0 -4
- package/lib/esm/function/arithmetic/nthRoot.js +41 -76
- package/lib/esm/function/arithmetic/nthRoots.js +2 -2
- package/lib/esm/function/arithmetic/round.js +26 -28
- package/lib/esm/function/arithmetic/sign.js +5 -7
- package/lib/esm/function/arithmetic/sqrt.js +5 -8
- package/lib/esm/function/arithmetic/square.js +6 -9
- package/lib/esm/function/arithmetic/subtract.js +31 -95
- package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
- package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
- package/lib/esm/function/bitwise/bitAnd.js +16 -59
- package/lib/esm/function/bitwise/bitNot.js +2 -4
- package/lib/esm/function/bitwise/bitOr.js +16 -59
- package/lib/esm/function/bitwise/bitXor.js +16 -59
- package/lib/esm/function/bitwise/leftShift.js +39 -61
- package/lib/esm/function/bitwise/rightArithShift.js +39 -61
- package/lib/esm/function/bitwise/rightLogShift.js +39 -61
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/complex/arg.js +1 -3
- package/lib/esm/function/complex/conj.js +3 -12
- package/lib/esm/function/complex/im.js +4 -15
- package/lib/esm/function/complex/re.js +3 -15
- package/lib/esm/function/geometry/distance.js +2 -2
- package/lib/esm/function/logical/and.js +35 -57
- package/lib/esm/function/logical/not.js +3 -6
- package/lib/esm/function/logical/or.js +16 -61
- package/lib/esm/function/logical/xor.js +16 -61
- package/lib/esm/function/matrix/diff.js +3 -8
- package/lib/esm/function/matrix/ones.js +2 -1
- package/lib/esm/function/matrix/rotate.js +5 -5
- package/lib/esm/function/matrix/sqrtm.js +3 -2
- package/lib/esm/function/matrix/transpose.js +47 -50
- package/lib/esm/function/matrix/zeros.js +2 -1
- package/lib/esm/function/probability/factorial.js +1 -3
- package/lib/esm/function/probability/gamma.js +38 -39
- package/lib/esm/function/probability/kldivergence.js +3 -2
- package/lib/esm/function/probability/lgamma.js +29 -29
- package/lib/esm/function/relational/compare.js +21 -67
- package/lib/esm/function/relational/compareNatural.js +54 -49
- package/lib/esm/function/relational/compareText.js +10 -42
- package/lib/esm/function/relational/compareUnits.js +15 -0
- package/lib/esm/function/relational/equal.js +19 -79
- package/lib/esm/function/relational/equalScalar.js +6 -9
- package/lib/esm/function/relational/larger.js +23 -73
- package/lib/esm/function/relational/largerEq.js +23 -73
- package/lib/esm/function/relational/smaller.js +23 -73
- package/lib/esm/function/relational/smallerEq.js +23 -73
- package/lib/esm/function/relational/unequal.js +19 -79
- package/lib/esm/function/special/erf.js +1 -3
- package/lib/esm/function/statistics/std.js +10 -2
- package/lib/esm/function/string/format.js +2 -2
- package/lib/esm/function/string/hex.js +1 -2
- package/lib/esm/function/trigonometry/acos.js +4 -7
- package/lib/esm/function/trigonometry/acosh.js +2 -6
- package/lib/esm/function/trigonometry/acot.js +6 -10
- package/lib/esm/function/trigonometry/acoth.js +4 -7
- package/lib/esm/function/trigonometry/acsc.js +6 -10
- package/lib/esm/function/trigonometry/acsch.js +4 -7
- package/lib/esm/function/trigonometry/asec.js +6 -9
- package/lib/esm/function/trigonometry/asech.js +4 -7
- package/lib/esm/function/trigonometry/asin.js +5 -9
- package/lib/esm/function/trigonometry/asinh.js +4 -8
- package/lib/esm/function/trigonometry/atan.js +5 -10
- package/lib/esm/function/trigonometry/atan2.js +26 -65
- package/lib/esm/function/trigonometry/atanh.js +4 -8
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +5 -20
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +6 -20
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +6 -20
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +6 -20
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +5 -21
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +5 -21
- package/lib/esm/function/trigonometry/trigUnit.js +15 -0
- package/lib/esm/function/unit/to.js +8 -43
- package/lib/esm/function/utils/clone.js +1 -1
- package/lib/esm/function/utils/hasNumericValue.js +3 -1
- package/lib/esm/function/utils/isInteger.js +2 -4
- package/lib/esm/function/utils/isNaN.js +1 -1
- package/lib/esm/function/utils/isNegative.js +3 -7
- package/lib/esm/function/utils/isNumeric.js +4 -10
- package/lib/esm/function/utils/isPositive.js +3 -7
- package/lib/esm/function/utils/isPrime.js +1 -3
- package/lib/esm/function/utils/isZero.js +13 -17
- package/lib/esm/function/utils/numeric.js +11 -4
- package/lib/esm/function/utils/typeOf.js +38 -44
- package/lib/esm/type/bignumber/function/bignumber.js +1 -3
- package/lib/esm/type/boolean.js +1 -3
- package/lib/esm/type/chain/Chain.js +23 -3
- package/lib/esm/type/complex/Complex.js +4 -0
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +4 -0
- package/lib/esm/type/fraction/function/fraction.js +1 -3
- package/lib/esm/type/matrix/DenseMatrix.js +15 -1
- package/lib/esm/type/matrix/SparseMatrix.js +9 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
- package/lib/esm/type/number.js +1 -3
- package/lib/esm/type/string.js +1 -3
- package/lib/esm/type/unit/Unit.js +85 -36
- package/lib/esm/type/unit/function/createUnit.js +2 -1
- package/lib/esm/type/unit/function/unit.js +10 -5
- 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 +22 -25
- package/types/index.d.ts +211 -180
- package/types/index.ts +358 -144
- package/types/tsconfig.json +4 -1
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/utils/polyfills.js +0 -12
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { sechNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'sech';
|
|
5
4
|
var dependencies = ['typed', 'BigNumber'];
|
|
@@ -13,7 +12,8 @@ export var createSech = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
12
|
* Calculate the hyperbolic secant of a value,
|
|
14
13
|
* defined as `sech(x) = 1 / cosh(x)`.
|
|
15
14
|
*
|
|
16
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix hyperbolic secant, this function does
|
|
16
|
+
* not apply to matrices.
|
|
17
17
|
*
|
|
18
18
|
* Syntax:
|
|
19
19
|
*
|
|
@@ -29,26 +29,12 @@ export var createSech = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* cosh, csch, coth
|
|
31
31
|
*
|
|
32
|
-
* @param {number |
|
|
33
|
-
* @return {number |
|
|
32
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
33
|
+
* @return {number | BigNumber | Complex} Hyperbolic secant of x
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
number: sechNumber,
|
|
37
|
-
Complex:
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
BigNumber: function BigNumber(x) {
|
|
41
|
-
return new _BigNumber(1).div(x.cosh());
|
|
42
|
-
},
|
|
43
|
-
Unit: function Unit(x) {
|
|
44
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
45
|
-
throw new TypeError('Unit in function sech is no angle');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return this(x.value);
|
|
49
|
-
},
|
|
50
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
51
|
-
return deepMap(x, this);
|
|
52
|
-
}
|
|
37
|
+
Complex: x => x.sech(),
|
|
38
|
+
BigNumber: x => new _BigNumber(1).div(x.cosh())
|
|
53
39
|
});
|
|
54
40
|
});
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
2
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
3
3
|
var name = 'sin';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
5
|
export var createSin = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
9
|
-
|
|
9
|
+
var trigUnit = createTrigUnit({
|
|
10
|
+
typed
|
|
11
|
+
});
|
|
10
12
|
/**
|
|
11
13
|
* Calculate the sine of a value.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix sine, this function does not apply
|
|
16
|
+
* to matrices.
|
|
14
17
|
*
|
|
15
18
|
* Syntax:
|
|
16
19
|
*
|
|
@@ -30,27 +33,12 @@ export var createSin = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
30
33
|
*
|
|
31
34
|
* cos, tan
|
|
32
35
|
*
|
|
33
|
-
* @param {number | BigNumber | Complex | Unit
|
|
34
|
-
* @return {number | BigNumber | Complex
|
|
36
|
+
* @param {number | BigNumber | Complex | Unit} x Function input
|
|
37
|
+
* @return {number | BigNumber | Complex} Sine of x
|
|
35
38
|
*/
|
|
39
|
+
|
|
36
40
|
return typed(name, {
|
|
37
41
|
number: Math.sin,
|
|
38
|
-
Complex:
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
BigNumber: function BigNumber(x) {
|
|
42
|
-
return x.sin();
|
|
43
|
-
},
|
|
44
|
-
Unit: function Unit(x) {
|
|
45
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
46
|
-
throw new TypeError('Unit in function sin is no angle');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return this(x.value);
|
|
50
|
-
},
|
|
51
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
52
|
-
// deep map collection, skip zeros since sin(0) = 0
|
|
53
|
-
return deepMap(x, this, true);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
42
|
+
'Complex | BigNumber': x => x.sin()
|
|
43
|
+
}, trigUnit);
|
|
56
44
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { sinhNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'sinh';
|
|
5
4
|
var dependencies = ['typed'];
|
|
@@ -12,7 +11,8 @@ export var createSinh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
12
11
|
* Calculate the hyperbolic sine of a value,
|
|
13
12
|
* defined as `sinh(x) = 1/2 * (exp(x) - exp(-x))`.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
14
|
+
* To avoid confusion with the matrix hyperbolic sine, this function does
|
|
15
|
+
* not apply to matrices.
|
|
16
16
|
*
|
|
17
17
|
* Syntax:
|
|
18
18
|
*
|
|
@@ -26,27 +26,11 @@ export var createSinh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
26
26
|
*
|
|
27
27
|
* cosh, tanh
|
|
28
28
|
*
|
|
29
|
-
* @param {number | BigNumber | Complex
|
|
30
|
-
* @return {number | BigNumber | Complex
|
|
29
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
30
|
+
* @return {number | BigNumber | Complex} Hyperbolic sine of x
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
33
|
number: sinhNumber,
|
|
34
|
-
Complex:
|
|
35
|
-
return x.sinh();
|
|
36
|
-
},
|
|
37
|
-
BigNumber: function BigNumber(x) {
|
|
38
|
-
return x.sinh();
|
|
39
|
-
},
|
|
40
|
-
Unit: function Unit(x) {
|
|
41
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
42
|
-
throw new TypeError('Unit in function sinh is no angle');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return this(x.value);
|
|
46
|
-
},
|
|
47
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
48
|
-
// deep map collection, skip zeros since sinh(0) = 0
|
|
49
|
-
return deepMap(x, this, true);
|
|
50
|
-
}
|
|
34
|
+
'Complex | BigNumber': x => x.sinh()
|
|
51
35
|
});
|
|
52
36
|
});
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
2
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
3
3
|
var name = 'tan';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
5
|
export var createTan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
6
6
|
var {
|
|
7
7
|
typed
|
|
8
8
|
} = _ref;
|
|
9
|
-
|
|
9
|
+
var trigUnit = createTrigUnit({
|
|
10
|
+
typed
|
|
11
|
+
});
|
|
10
12
|
/**
|
|
11
13
|
* Calculate the tangent of a value. `tan(x)` is equal to `sin(x) / cos(x)`.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix tangent, this function does not apply
|
|
16
|
+
* to matrices.
|
|
14
17
|
*
|
|
15
18
|
* Syntax:
|
|
16
19
|
*
|
|
@@ -27,27 +30,12 @@ export var createTan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
30
|
*
|
|
28
31
|
* atan, sin, cos
|
|
29
32
|
*
|
|
30
|
-
* @param {number | BigNumber | Complex | Unit
|
|
31
|
-
* @return {number | BigNumber | Complex
|
|
33
|
+
* @param {number | BigNumber | Complex | Unit} x Function input
|
|
34
|
+
* @return {number | BigNumber | Complex} Tangent of x
|
|
32
35
|
*/
|
|
36
|
+
|
|
33
37
|
return typed(name, {
|
|
34
38
|
number: Math.tan,
|
|
35
|
-
Complex:
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
BigNumber: function BigNumber(x) {
|
|
39
|
-
return x.tan();
|
|
40
|
-
},
|
|
41
|
-
Unit: function Unit(x) {
|
|
42
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
43
|
-
throw new TypeError('Unit in function tan is no angle');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return this(x.value);
|
|
47
|
-
},
|
|
48
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
49
|
-
// deep map collection, skip zeros since tan(0) = 0
|
|
50
|
-
return deepMap(x, this, true);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
39
|
+
'Complex | BigNumber': x => x.tan()
|
|
40
|
+
}, trigUnit);
|
|
53
41
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { tanh as _tanh } from '../../utils/number.js';
|
|
4
3
|
var name = 'tanh';
|
|
5
4
|
var dependencies = ['typed'];
|
|
@@ -12,7 +11,8 @@ export var createTanh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
12
11
|
* Calculate the hyperbolic tangent of a value,
|
|
13
12
|
* defined as `tanh(x) = (exp(2 * x) - 1) / (exp(2 * x) + 1)`.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
14
|
+
* To avoid confusion with matrix hyperbolic tangent, this function does
|
|
15
|
+
* not apply to matrices.
|
|
16
16
|
*
|
|
17
17
|
* Syntax:
|
|
18
18
|
*
|
|
@@ -29,27 +29,11 @@ export var createTanh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* sinh, cosh, coth
|
|
31
31
|
*
|
|
32
|
-
* @param {number | BigNumber | Complex
|
|
33
|
-
* @return {number | BigNumber | Complex
|
|
32
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
33
|
+
* @return {number | BigNumber | Complex} Hyperbolic tangent of x
|
|
34
34
|
*/
|
|
35
35
|
return typed('tanh', {
|
|
36
36
|
number: _tanh,
|
|
37
|
-
Complex:
|
|
38
|
-
return x.tanh();
|
|
39
|
-
},
|
|
40
|
-
BigNumber: function BigNumber(x) {
|
|
41
|
-
return x.tanh();
|
|
42
|
-
},
|
|
43
|
-
Unit: function Unit(x) {
|
|
44
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
45
|
-
throw new TypeError('Unit in function tanh is no angle');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return this(x.value);
|
|
49
|
-
},
|
|
50
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
51
|
-
// deep map collection, skip zeros since tanh(0) = 0
|
|
52
|
-
return deepMap(x, this, true);
|
|
53
|
-
}
|
|
37
|
+
'Complex | BigNumber': x => x.tanh()
|
|
54
38
|
});
|
|
55
39
|
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { factory } from '../../utils/factory.js';
|
|
2
|
+
export var createTrigUnit = /* #__PURE__ */factory('trigUnit', ['typed'], _ref => {
|
|
3
|
+
var {
|
|
4
|
+
typed
|
|
5
|
+
} = _ref;
|
|
6
|
+
return {
|
|
7
|
+
Unit: typed.referToSelf(self => x => {
|
|
8
|
+
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
9
|
+
throw new TypeError('Unit in function cot is no angle');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return typed.find(self, x.valueType())(x.value);
|
|
13
|
+
})
|
|
14
|
+
};
|
|
15
|
+
});
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
4
3
|
var name = 'to';
|
|
5
4
|
var dependencies = ['typed', 'matrix'];
|
|
6
5
|
export var createTo = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -8,11 +7,9 @@ export var createTo = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
8
7
|
typed,
|
|
9
8
|
matrix
|
|
10
9
|
} = _ref;
|
|
11
|
-
var
|
|
12
|
-
typed
|
|
13
|
-
|
|
14
|
-
var algorithm14 = createAlgorithm14({
|
|
15
|
-
typed
|
|
10
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
11
|
+
typed,
|
|
12
|
+
matrix
|
|
16
13
|
});
|
|
17
14
|
/**
|
|
18
15
|
* Change the unit of a value.
|
|
@@ -40,40 +37,8 @@ export var createTo = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
40
37
|
*/
|
|
41
38
|
|
|
42
39
|
return typed(name, {
|
|
43
|
-
'Unit, Unit | string':
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// SparseMatrix does not support Units
|
|
48
|
-
return algorithm13(x, y, this);
|
|
49
|
-
},
|
|
50
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
51
|
-
// use matrix implementation
|
|
52
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
53
|
-
},
|
|
54
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
55
|
-
// use matrix implementation
|
|
56
|
-
return this(matrix(x), y);
|
|
57
|
-
},
|
|
58
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
59
|
-
// use matrix implementation
|
|
60
|
-
return this(x, matrix(y));
|
|
61
|
-
},
|
|
62
|
-
'Matrix, any': function MatrixAny(x, y) {
|
|
63
|
-
// SparseMatrix does not support Units
|
|
64
|
-
return algorithm14(x, y, this, false);
|
|
65
|
-
},
|
|
66
|
-
'any, Matrix': function anyMatrix(x, y) {
|
|
67
|
-
// SparseMatrix does not support Units
|
|
68
|
-
return algorithm14(y, x, this, true);
|
|
69
|
-
},
|
|
70
|
-
'Array, any': function ArrayAny(x, y) {
|
|
71
|
-
// use matrix implementation
|
|
72
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
73
|
-
},
|
|
74
|
-
'any, Array': function anyArray(x, y) {
|
|
75
|
-
// use matrix implementation
|
|
76
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
40
|
+
'Unit, Unit | string': (x, unit) => x.to(unit)
|
|
41
|
+
}, matrixAlgorithmSuite({
|
|
42
|
+
Ds: true
|
|
43
|
+
}));
|
|
79
44
|
});
|
|
@@ -17,7 +17,7 @@ export var createClone = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
17
17
|
* Examples:
|
|
18
18
|
*
|
|
19
19
|
* math.clone(3.5) // returns number 3.5
|
|
20
|
-
* math.clone(math.complex('2-4i')
|
|
20
|
+
* math.clone(math.complex('2-4i')) // returns Complex 2 - 4i
|
|
21
21
|
* math.clone(math.unit(45, 'deg')) // returns Unit 45 deg
|
|
22
22
|
* math.clone([[1, 2], [3, 4]]) // returns Array [[1, 2], [3, 4]]
|
|
23
23
|
* math.clone("hello world") // returns string "hello world"
|
|
@@ -24,7 +24,8 @@ export var createHasNumericValue = /* #__PURE__ */factory(name, dependencies, _r
|
|
|
24
24
|
* math.hasNumericValue(0) // returns true
|
|
25
25
|
* math.hasNumericValue(math.bignumber(500)) // returns true
|
|
26
26
|
* math.hasNumericValue(math.fraction(4)) // returns true
|
|
27
|
-
* math.hasNumericValue(math.complex('2-4i')
|
|
27
|
+
* math.hasNumericValue(math.complex('2-4i')) // returns false
|
|
28
|
+
* math.hasNumericValue(false) // returns true
|
|
28
29
|
* math.hasNumericValue([2.3, 'foo', false]) // returns [true, false, true]
|
|
29
30
|
*
|
|
30
31
|
* See also:
|
|
@@ -37,6 +38,7 @@ export var createHasNumericValue = /* #__PURE__ */factory(name, dependencies, _r
|
|
|
37
38
|
* Throws an error in case of unknown types.
|
|
38
39
|
*/
|
|
39
40
|
return typed(name, {
|
|
41
|
+
boolean: () => true,
|
|
40
42
|
string: function string(x) {
|
|
41
43
|
return x.trim().length > 0 && !isNaN(Number(x));
|
|
42
44
|
},
|
|
@@ -27,7 +27,7 @@ export var createIsInteger = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
27
27
|
* math.isInteger(math.fraction(4)) // returns true
|
|
28
28
|
* math.isInteger('3') // returns true
|
|
29
29
|
* math.isInteger([3, 0.5, -2]) // returns [true, false, true]
|
|
30
|
-
* math.isInteger(math.complex('2-4i')
|
|
30
|
+
* math.isInteger(math.complex('2-4i')) // throws an error
|
|
31
31
|
*
|
|
32
32
|
* See also:
|
|
33
33
|
*
|
|
@@ -46,8 +46,6 @@ export var createIsInteger = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
46
46
|
Fraction: function Fraction(x) {
|
|
47
47
|
return x.d === 1 && isFinite(x.n);
|
|
48
48
|
},
|
|
49
|
-
'Array | Matrix':
|
|
50
|
-
return deepMap(x, this);
|
|
51
|
-
}
|
|
49
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
52
50
|
});
|
|
53
51
|
});
|
|
@@ -27,7 +27,7 @@ export var createIsNaN = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
27
|
* math.isNaN(math.bignumber(0)) // returns false
|
|
28
28
|
* math.isNaN(math.fraction(-2, 5)) // returns false
|
|
29
29
|
* math.isNaN('-2') // returns false
|
|
30
|
-
* math.isNaN([2, 0, -3, NaN]
|
|
30
|
+
* math.isNaN([2, 0, -3, NaN]) // returns [false, false, false, true]
|
|
31
31
|
*
|
|
32
32
|
* See also:
|
|
33
33
|
*
|
|
@@ -27,7 +27,7 @@ export var createIsNegative = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
27
27
|
* math.isNegative(math.bignumber(2)) // returns false
|
|
28
28
|
* math.isNegative(math.fraction(-2, 5)) // returns true
|
|
29
29
|
* math.isNegative('-2') // returns true
|
|
30
|
-
* math.isNegative([2, 0, -3]
|
|
30
|
+
* math.isNegative([2, 0, -3]) // returns [false, false, true]
|
|
31
31
|
*
|
|
32
32
|
* See also:
|
|
33
33
|
*
|
|
@@ -45,11 +45,7 @@ export var createIsNegative = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
45
45
|
Fraction: function Fraction(x) {
|
|
46
46
|
return x.s < 0; // It's enough to decide on the sign
|
|
47
47
|
},
|
|
48
|
-
Unit:
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
52
|
-
return deepMap(x, this);
|
|
53
|
-
}
|
|
48
|
+
Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),
|
|
49
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
54
50
|
});
|
|
55
51
|
});
|
|
@@ -24,7 +24,7 @@ export var createIsNumeric = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
24
24
|
* math.isNumeric(0) // returns true
|
|
25
25
|
* math.isNumeric(math.bignumber(500)) // returns true
|
|
26
26
|
* math.isNumeric(math.fraction(4)) // returns true
|
|
27
|
-
* math.isNumeric(math.complex('2-4i')
|
|
27
|
+
* math.isNumeric(math.complex('2-4i')) // returns false
|
|
28
28
|
* math.isNumeric([2.3, 'foo', false]) // returns [true, false, true]
|
|
29
29
|
*
|
|
30
30
|
* See also:
|
|
@@ -37,14 +37,8 @@ export var createIsNumeric = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
37
37
|
* Throws an error in case of unknown types.
|
|
38
38
|
*/
|
|
39
39
|
return typed(name, {
|
|
40
|
-
'number | BigNumber | Fraction | boolean':
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
'Complex | Unit | string | null | undefined | Node': function ComplexUnitStringNullUndefinedNode() {
|
|
44
|
-
return false;
|
|
45
|
-
},
|
|
46
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
47
|
-
return deepMap(x, this);
|
|
48
|
-
}
|
|
40
|
+
'number | BigNumber | Fraction | boolean': () => true,
|
|
41
|
+
'Complex | Unit | string | null | undefined | Node': () => false,
|
|
42
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
49
43
|
});
|
|
50
44
|
});
|
|
@@ -27,7 +27,7 @@ export var createIsPositive = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
27
27
|
* math.isPositive(0.5) // returns true
|
|
28
28
|
* math.isPositive(math.bignumber(2)) // returns true
|
|
29
29
|
* math.isPositive(math.fraction(-2, 5)) // returns false
|
|
30
|
-
* math.isPositive(math.fraction(1,3))
|
|
30
|
+
* math.isPositive(math.fraction(1, 3)) // returns true
|
|
31
31
|
* math.isPositive('2') // returns true
|
|
32
32
|
* math.isPositive([2, 0, -3]) // returns [true, false, false]
|
|
33
33
|
*
|
|
@@ -47,11 +47,7 @@ export var createIsPositive = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
|
47
47
|
Fraction: function Fraction(x) {
|
|
48
48
|
return x.s > 0 && x.n > 0;
|
|
49
49
|
},
|
|
50
|
-
Unit:
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
54
|
-
return deepMap(x, this);
|
|
55
|
-
}
|
|
50
|
+
Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),
|
|
51
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
56
52
|
});
|
|
57
53
|
});
|
|
@@ -135,8 +135,6 @@ export var createIsPrime = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
135
135
|
|
|
136
136
|
return true;
|
|
137
137
|
},
|
|
138
|
-
'Array | Matrix':
|
|
139
|
-
return deepMap(x, this);
|
|
140
|
-
}
|
|
138
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
141
139
|
});
|
|
142
140
|
});
|
|
@@ -21,17 +21,17 @@ export var createIsZero = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
21
21
|
*
|
|
22
22
|
* Examples:
|
|
23
23
|
*
|
|
24
|
-
* math.isZero(0)
|
|
25
|
-
* math.isZero(2)
|
|
26
|
-
* math.isZero(0.5)
|
|
27
|
-
* math.isZero(math.bignumber(0))
|
|
28
|
-
* math.isZero(math.fraction(0))
|
|
29
|
-
* math.isZero(math.fraction(1,3))
|
|
30
|
-
* math.isZero(math.complex('2 - 4i') // returns false
|
|
31
|
-
* math.isZero(math.complex('0i') // returns true
|
|
32
|
-
* math.isZero('0')
|
|
33
|
-
* math.isZero('2')
|
|
34
|
-
* math.isZero([2, 0, -3]
|
|
24
|
+
* math.isZero(0) // returns true
|
|
25
|
+
* math.isZero(2) // returns false
|
|
26
|
+
* math.isZero(0.5) // returns false
|
|
27
|
+
* math.isZero(math.bignumber(0)) // returns true
|
|
28
|
+
* math.isZero(math.fraction(0)) // returns true
|
|
29
|
+
* math.isZero(math.fraction(1,3)) // returns false
|
|
30
|
+
* math.isZero(math.complex('2 - 4i')) // returns false
|
|
31
|
+
* math.isZero(math.complex('0i')) // returns true
|
|
32
|
+
* math.isZero('0') // returns true
|
|
33
|
+
* math.isZero('2') // returns false
|
|
34
|
+
* math.isZero([2, 0, -3]) // returns [false, true, false]
|
|
35
35
|
*
|
|
36
36
|
* See also:
|
|
37
37
|
*
|
|
@@ -52,11 +52,7 @@ export var createIsZero = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
52
52
|
Fraction: function Fraction(x) {
|
|
53
53
|
return x.d === 1 && x.n === 0;
|
|
54
54
|
},
|
|
55
|
-
Unit:
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
59
|
-
return deepMap(x, this);
|
|
60
|
-
}
|
|
55
|
+
Unit: typed.referToSelf(self => x => typed.find(self, x.valueType())(x.value)),
|
|
56
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
61
57
|
});
|
|
62
58
|
});
|
|
@@ -30,12 +30,12 @@ export var createNumeric = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
30
30
|
*
|
|
31
31
|
* Examples:
|
|
32
32
|
*
|
|
33
|
-
* math.numeric('4') // returns
|
|
34
|
-
* math.numeric('4', 'number') // returns
|
|
33
|
+
* math.numeric('4') // returns 4
|
|
34
|
+
* math.numeric('4', 'number') // returns 4
|
|
35
35
|
* math.numeric('4', 'BigNumber') // returns BigNumber 4
|
|
36
36
|
* math.numeric('4', 'Fraction') // returns Fraction 4
|
|
37
37
|
* math.numeric(4, 'Fraction') // returns Fraction 4
|
|
38
|
-
* math.numeric(math.fraction(2, 5), 'number') // returns
|
|
38
|
+
* math.numeric(math.fraction(2, 5), 'number') // returns 0.4
|
|
39
39
|
*
|
|
40
40
|
* See also:
|
|
41
41
|
*
|
|
@@ -50,7 +50,14 @@ export var createNumeric = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
50
50
|
* Returns an instance of the numeric in the requested type
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
|
-
return function numeric(value
|
|
53
|
+
return function numeric(value) {
|
|
54
|
+
var outputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';
|
|
55
|
+
var check = arguments.length > 2 ? arguments[2] : undefined;
|
|
56
|
+
|
|
57
|
+
if (check !== undefined) {
|
|
58
|
+
throw new SyntaxError('numeric() takes one or two arguments');
|
|
59
|
+
}
|
|
60
|
+
|
|
54
61
|
var inputType = typeOf(value);
|
|
55
62
|
|
|
56
63
|
if (!(inputType in validInputTypes)) {
|