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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
2
|
import { deepMap } from '../../utils/collection.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
4
|
+
import { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';
|
|
5
5
|
var name = 'fix';
|
|
6
6
|
var dependencies = ['typed', 'Complex', 'matrix', 'ceil', 'floor', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
7
7
|
export var createFixNumber = /* #__PURE__ */factory(name, ['typed', 'ceil', 'floor'], _ref => {
|
|
@@ -30,11 +30,11 @@ export var createFix = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
30
30
|
zeros,
|
|
31
31
|
DenseMatrix
|
|
32
32
|
} = _ref2;
|
|
33
|
-
var
|
|
33
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
34
34
|
typed,
|
|
35
35
|
DenseMatrix
|
|
36
36
|
});
|
|
37
|
-
var
|
|
37
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
38
38
|
typed
|
|
39
39
|
});
|
|
40
40
|
var fixNumber = createFixNumber({
|
|
@@ -104,26 +104,26 @@ export var createFix = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
104
104
|
'Fraction, number | BigNumber': function FractionNumberBigNumber(x, n) {
|
|
105
105
|
return x.s < 0 ? ceil(x, n) : floor(x, n);
|
|
106
106
|
},
|
|
107
|
-
'Array | Matrix':
|
|
107
|
+
'Array | Matrix': typed.referToSelf(self => x => {
|
|
108
108
|
// deep map collection, skip zeros since fix(0) = 0
|
|
109
|
-
return deepMap(x,
|
|
110
|
-
},
|
|
111
|
-
'Array | Matrix, number | BigNumber':
|
|
109
|
+
return deepMap(x, self, true);
|
|
110
|
+
}),
|
|
111
|
+
'Array | Matrix, number | BigNumber': typed.referToSelf(self => (x, n) => {
|
|
112
112
|
// deep map collection, skip zeros since fix(0) = 0
|
|
113
|
-
return deepMap(x, i =>
|
|
114
|
-
},
|
|
115
|
-
'number | Complex | Fraction | BigNumber, Array':
|
|
113
|
+
return deepMap(x, i => self(i, n), true);
|
|
114
|
+
}),
|
|
115
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(self => (x, y) => {
|
|
116
116
|
// use matrix implementation
|
|
117
|
-
return
|
|
118
|
-
},
|
|
119
|
-
'number | Complex | Fraction | BigNumber, Matrix':
|
|
117
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
118
|
+
}),
|
|
119
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(self => (x, y) => {
|
|
120
120
|
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
121
121
|
|
|
122
122
|
if (y.storage() === 'dense') {
|
|
123
|
-
return
|
|
123
|
+
return matAlgo14xDs(y, x, self, true);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
return
|
|
127
|
-
}
|
|
126
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
127
|
+
})
|
|
128
128
|
});
|
|
129
129
|
});
|
|
@@ -3,9 +3,9 @@ import { factory } from '../../utils/factory.js';
|
|
|
3
3
|
import { deepMap } from '../../utils/collection.js';
|
|
4
4
|
import { nearlyEqual } from '../../utils/number.js';
|
|
5
5
|
import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
7
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
8
|
+
import { createMatAlgo14xDs } from '../../type/matrix/utils/matAlgo14xDs.js';
|
|
9
9
|
var name = 'floor';
|
|
10
10
|
var dependencies = ['typed', 'config', 'round', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
|
|
11
11
|
export var createFloorNumber = /* #__PURE__ */factory(name, ['typed', 'config', 'round'], _ref => {
|
|
@@ -44,15 +44,15 @@ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
44
44
|
zeros,
|
|
45
45
|
DenseMatrix
|
|
46
46
|
} = _ref2;
|
|
47
|
-
var
|
|
47
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
48
48
|
typed,
|
|
49
49
|
equalScalar
|
|
50
50
|
});
|
|
51
|
-
var
|
|
51
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
52
52
|
typed,
|
|
53
53
|
DenseMatrix
|
|
54
54
|
});
|
|
55
|
-
var
|
|
55
|
+
var matAlgo14xDs = createMatAlgo14xDs({
|
|
56
56
|
typed
|
|
57
57
|
});
|
|
58
58
|
var floorNumber = createFloorNumber({
|
|
@@ -136,32 +136,32 @@ export var createFloor = /* #__PURE__ */factory(name, dependencies, _ref2 => {
|
|
|
136
136
|
'Fraction, BigNumber': function FractionBigNumber(x, n) {
|
|
137
137
|
return x.floor(n.toNumber());
|
|
138
138
|
},
|
|
139
|
-
'Array | Matrix':
|
|
139
|
+
'Array | Matrix': typed.referToSelf(self => x => {
|
|
140
140
|
// deep map collection, skip zeros since floor(0) = 0
|
|
141
|
-
return deepMap(x,
|
|
142
|
-
},
|
|
143
|
-
'Array, number | BigNumber':
|
|
141
|
+
return deepMap(x, self, true);
|
|
142
|
+
}),
|
|
143
|
+
'Array, number | BigNumber': typed.referToSelf(self => (x, n) => {
|
|
144
144
|
// deep map collection, skip zeros since ceil(0) = 0
|
|
145
|
-
return deepMap(x, i =>
|
|
146
|
-
},
|
|
147
|
-
'SparseMatrix, number | BigNumber':
|
|
148
|
-
return
|
|
149
|
-
},
|
|
150
|
-
'DenseMatrix, number | BigNumber':
|
|
151
|
-
return
|
|
152
|
-
},
|
|
153
|
-
'number | Complex | Fraction | BigNumber, Array':
|
|
145
|
+
return deepMap(x, i => self(i, n), true);
|
|
146
|
+
}),
|
|
147
|
+
'SparseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {
|
|
148
|
+
return matAlgo11xS0s(x, y, self, false);
|
|
149
|
+
}),
|
|
150
|
+
'DenseMatrix, number | BigNumber': typed.referToSelf(self => (x, y) => {
|
|
151
|
+
return matAlgo14xDs(x, y, self, false);
|
|
152
|
+
}),
|
|
153
|
+
'number | Complex | Fraction | BigNumber, Array': typed.referToSelf(self => (x, y) => {
|
|
154
154
|
// use matrix implementation
|
|
155
|
-
return
|
|
156
|
-
},
|
|
157
|
-
'number | Complex | Fraction | BigNumber, Matrix':
|
|
155
|
+
return matAlgo14xDs(matrix(y), x, self, true).valueOf();
|
|
156
|
+
}),
|
|
157
|
+
'number | Complex | Fraction | BigNumber, Matrix': typed.referToSelf(self => (x, y) => {
|
|
158
158
|
if (equalScalar(x, 0)) return zeros(y.size(), y.storage());
|
|
159
159
|
|
|
160
160
|
if (y.storage() === 'dense') {
|
|
161
|
-
return
|
|
161
|
+
return matAlgo14xDs(y, x, self, true);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
return
|
|
165
|
-
}
|
|
164
|
+
return matAlgo12xSfs(y, x, self, true);
|
|
165
|
+
})
|
|
166
166
|
});
|
|
167
167
|
});
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo01xDSid } from '../../type/matrix/utils/matAlgo01xDSid.js';
|
|
3
|
+
import { createMatAlgo04xSidSid } from '../../type/matrix/utils/matAlgo04xSidSid.js';
|
|
4
|
+
import { createMatAlgo10xSids } from '../../type/matrix/utils/matAlgo10xSids.js';
|
|
5
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
6
|
import { gcdNumber } from '../../plain/number/index.js';
|
|
8
7
|
var name = 'gcd';
|
|
9
8
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix'];
|
|
@@ -15,22 +14,31 @@ export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
15
14
|
BigNumber,
|
|
16
15
|
DenseMatrix
|
|
17
16
|
} = _ref;
|
|
18
|
-
var
|
|
17
|
+
var matAlgo01xDSid = createMatAlgo01xDSid({
|
|
19
18
|
typed
|
|
20
19
|
});
|
|
21
|
-
var
|
|
20
|
+
var matAlgo04xSidSid = createMatAlgo04xSidSid({
|
|
22
21
|
typed,
|
|
23
22
|
equalScalar
|
|
24
23
|
});
|
|
25
|
-
var
|
|
24
|
+
var matAlgo10xSids = createMatAlgo10xSids({
|
|
26
25
|
typed,
|
|
27
26
|
DenseMatrix
|
|
28
27
|
});
|
|
29
|
-
var
|
|
30
|
-
typed
|
|
28
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
29
|
+
typed,
|
|
30
|
+
matrix
|
|
31
31
|
});
|
|
32
|
-
var
|
|
33
|
-
|
|
32
|
+
var gcdTypes = 'number | BigNumber | Fraction | Matrix | Array';
|
|
33
|
+
var gcdManySignature = {};
|
|
34
|
+
gcdManySignature["".concat(gcdTypes, ", ").concat(gcdTypes, ", ...").concat(gcdTypes)] = typed.referToSelf(self => (a, b, args) => {
|
|
35
|
+
var res = self(a, b);
|
|
36
|
+
|
|
37
|
+
for (var i = 0; i < args.length; i++) {
|
|
38
|
+
res = self(res, args[i]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return res;
|
|
34
42
|
});
|
|
35
43
|
/**
|
|
36
44
|
* Calculate the greatest common divisor for two or more values or arrays.
|
|
@@ -61,64 +69,12 @@ export var createGcd = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
61
69
|
return typed(name, {
|
|
62
70
|
'number, number': gcdNumber,
|
|
63
71
|
'BigNumber, BigNumber': _gcdBigNumber,
|
|
64
|
-
'Fraction, Fraction':
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
71
|
-
return algorithm01(y, x, this, true);
|
|
72
|
-
},
|
|
73
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
74
|
-
return algorithm01(x, y, this, false);
|
|
75
|
-
},
|
|
76
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
77
|
-
return algorithm13(x, y, this);
|
|
78
|
-
},
|
|
79
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
80
|
-
// use matrix implementation
|
|
81
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
82
|
-
},
|
|
83
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
84
|
-
// use matrix implementation
|
|
85
|
-
return this(matrix(x), y);
|
|
86
|
-
},
|
|
87
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
88
|
-
// use matrix implementation
|
|
89
|
-
return this(x, matrix(y));
|
|
90
|
-
},
|
|
91
|
-
'SparseMatrix, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
|
|
92
|
-
return algorithm10(x, y, this, false);
|
|
93
|
-
},
|
|
94
|
-
'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
|
|
95
|
-
return algorithm14(x, y, this, false);
|
|
96
|
-
},
|
|
97
|
-
'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
|
|
98
|
-
return algorithm10(y, x, this, true);
|
|
99
|
-
},
|
|
100
|
-
'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
|
|
101
|
-
return algorithm14(y, x, this, true);
|
|
102
|
-
},
|
|
103
|
-
'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
|
|
104
|
-
// use matrix implementation
|
|
105
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
106
|
-
},
|
|
107
|
-
'number | BigNumber, Array': function numberBigNumberArray(x, y) {
|
|
108
|
-
// use matrix implementation
|
|
109
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
110
|
-
},
|
|
111
|
-
// TODO: need a smarter notation here
|
|
112
|
-
'Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber': function ArrayMatrixNumberBigNumberArrayMatrixNumberBigNumberArrayMatrixNumberBigNumber(a, b, args) {
|
|
113
|
-
var res = this(a, b);
|
|
114
|
-
|
|
115
|
-
for (var i = 0; i < args.length; i++) {
|
|
116
|
-
res = this(res, args[i]);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return res;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
72
|
+
'Fraction, Fraction': (x, y) => x.gcd(y)
|
|
73
|
+
}, matrixAlgorithmSuite({
|
|
74
|
+
SS: matAlgo04xSidSid,
|
|
75
|
+
DS: matAlgo01xDSid,
|
|
76
|
+
Ss: matAlgo10xSids
|
|
77
|
+
}), gcdManySignature);
|
|
122
78
|
/**
|
|
123
79
|
* Calculate gcd for BigNumbers
|
|
124
80
|
* @param {BigNumber} a
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
2
|
import { flatten } from '../../utils/array.js';
|
|
3
|
+
import { isComplex } from '../../utils/is.js';
|
|
3
4
|
var name = 'hypot';
|
|
4
5
|
var dependencies = ['typed', 'abs', 'addScalar', 'divideScalar', 'multiplyScalar', 'sqrt', 'smaller', 'isPositive'];
|
|
5
6
|
export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -44,12 +45,8 @@ export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
44
45
|
*/
|
|
45
46
|
return typed(name, {
|
|
46
47
|
'... number | BigNumber': _hypot,
|
|
47
|
-
Array:
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
Matrix: function Matrix(x) {
|
|
51
|
-
return this.apply(this, flatten(x.toArray()));
|
|
52
|
-
}
|
|
48
|
+
Array: _hypot,
|
|
49
|
+
Matrix: M => _hypot(flatten(M.toArray()))
|
|
53
50
|
});
|
|
54
51
|
/**
|
|
55
52
|
* Calculate the hypotenusa for an Array with values
|
|
@@ -65,6 +62,10 @@ export var createHypot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
65
62
|
var largest = 0;
|
|
66
63
|
|
|
67
64
|
for (var i = 0; i < args.length; i++) {
|
|
65
|
+
if (isComplex(args[i])) {
|
|
66
|
+
throw new TypeError('Unexpected type of argument to hypot');
|
|
67
|
+
}
|
|
68
|
+
|
|
68
69
|
var value = abs(args[i]);
|
|
69
70
|
|
|
70
71
|
if (smaller(largest, value)) {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
|
|
3
|
+
import { createMatAlgo06xS0S0 } from '../../type/matrix/utils/matAlgo06xS0S0.js';
|
|
4
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
5
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
7
6
|
import { lcmNumber } from '../../plain/number/index.js';
|
|
8
7
|
var name = 'lcm';
|
|
9
8
|
var dependencies = ['typed', 'matrix', 'equalScalar'];
|
|
@@ -13,23 +12,32 @@ export var createLcm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
12
|
matrix,
|
|
14
13
|
equalScalar
|
|
15
14
|
} = _ref;
|
|
16
|
-
var
|
|
15
|
+
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
17
16
|
typed,
|
|
18
17
|
equalScalar
|
|
19
18
|
});
|
|
20
|
-
var
|
|
19
|
+
var matAlgo06xS0S0 = createMatAlgo06xS0S0({
|
|
21
20
|
typed,
|
|
22
21
|
equalScalar
|
|
23
22
|
});
|
|
24
|
-
var
|
|
23
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
25
24
|
typed,
|
|
26
25
|
equalScalar
|
|
27
26
|
});
|
|
28
|
-
var
|
|
29
|
-
typed
|
|
27
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
28
|
+
typed,
|
|
29
|
+
matrix
|
|
30
30
|
});
|
|
31
|
-
var
|
|
32
|
-
|
|
31
|
+
var lcmTypes = 'number | BigNumber | Fraction | Matrix | Array';
|
|
32
|
+
var lcmManySignature = {};
|
|
33
|
+
lcmManySignature["".concat(lcmTypes, ", ").concat(lcmTypes, ", ...").concat(lcmTypes)] = typed.referToSelf(self => (a, b, args) => {
|
|
34
|
+
var res = self(a, b);
|
|
35
|
+
|
|
36
|
+
for (var i = 0; i < args.length; i++) {
|
|
37
|
+
res = self(res, args[i]);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return res;
|
|
33
41
|
});
|
|
34
42
|
/**
|
|
35
43
|
* Calculate the least common multiple for two or more values or arrays.
|
|
@@ -64,64 +72,12 @@ export var createLcm = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
64
72
|
return typed(name, {
|
|
65
73
|
'number, number': lcmNumber,
|
|
66
74
|
'BigNumber, BigNumber': _lcmBigNumber,
|
|
67
|
-
'Fraction, Fraction':
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
74
|
-
return algorithm02(y, x, this, true);
|
|
75
|
-
},
|
|
76
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
77
|
-
return algorithm02(x, y, this, false);
|
|
78
|
-
},
|
|
79
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
80
|
-
return algorithm13(x, y, this);
|
|
81
|
-
},
|
|
82
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
83
|
-
// use matrix implementation
|
|
84
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
85
|
-
},
|
|
86
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
87
|
-
// use matrix implementation
|
|
88
|
-
return this(matrix(x), y);
|
|
89
|
-
},
|
|
90
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
91
|
-
// use matrix implementation
|
|
92
|
-
return this(x, matrix(y));
|
|
93
|
-
},
|
|
94
|
-
'SparseMatrix, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
|
|
95
|
-
return algorithm11(x, y, this, false);
|
|
96
|
-
},
|
|
97
|
-
'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
|
|
98
|
-
return algorithm14(x, y, this, false);
|
|
99
|
-
},
|
|
100
|
-
'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
|
|
101
|
-
return algorithm11(y, x, this, true);
|
|
102
|
-
},
|
|
103
|
-
'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
|
|
104
|
-
return algorithm14(y, x, this, true);
|
|
105
|
-
},
|
|
106
|
-
'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
|
|
107
|
-
// use matrix implementation
|
|
108
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
109
|
-
},
|
|
110
|
-
'number | BigNumber, Array': function numberBigNumberArray(x, y) {
|
|
111
|
-
// use matrix implementation
|
|
112
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
113
|
-
},
|
|
114
|
-
// TODO: need a smarter notation here
|
|
115
|
-
'Array | Matrix | number | BigNumber, Array | Matrix | number | BigNumber, ...Array | Matrix | number | BigNumber': function ArrayMatrixNumberBigNumberArrayMatrixNumberBigNumberArrayMatrixNumberBigNumber(a, b, args) {
|
|
116
|
-
var res = this(a, b);
|
|
117
|
-
|
|
118
|
-
for (var i = 0; i < args.length; i++) {
|
|
119
|
-
res = this(res, args[i]);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return res;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
75
|
+
'Fraction, Fraction': (x, y) => x.lcm(y)
|
|
76
|
+
}, matrixAlgorithmSuite({
|
|
77
|
+
SS: matAlgo06xS0S0,
|
|
78
|
+
DS: matAlgo02xDS0,
|
|
79
|
+
Ss: matAlgo11xS0s
|
|
80
|
+
}), lcmManySignature);
|
|
125
81
|
/**
|
|
126
82
|
* Calculate lcm for two BigNumbers
|
|
127
83
|
* @param {BigNumber} a
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { logNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'log';
|
|
5
4
|
var dependencies = ['config', 'typed', 'divideScalar', 'Complex'];
|
|
@@ -14,7 +13,8 @@ export var createLog = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
14
13
|
/**
|
|
15
14
|
* Calculate the logarithm of a value.
|
|
16
15
|
*
|
|
17
|
-
*
|
|
16
|
+
* To avoid confusion with the matrix logarithm, this function does not
|
|
17
|
+
* apply to matrices.
|
|
18
18
|
*
|
|
19
19
|
* Syntax:
|
|
20
20
|
*
|
|
@@ -37,12 +37,12 @@ export var createLog = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
37
37
|
*
|
|
38
38
|
* exp, log2, log10, log1p
|
|
39
39
|
*
|
|
40
|
-
* @param {number | BigNumber | Complex
|
|
40
|
+
* @param {number | BigNumber | Complex} x
|
|
41
41
|
* Value for which to calculate the logarithm.
|
|
42
42
|
* @param {number | BigNumber | Complex} [base=e]
|
|
43
43
|
* Optional base for the logarithm. If not provided, the natural
|
|
44
44
|
* logarithm of `x` is calculated.
|
|
45
|
-
* @return {number | BigNumber | Complex
|
|
45
|
+
* @return {number | BigNumber | Complex}
|
|
46
46
|
* Returns the logarithm of `x`
|
|
47
47
|
*/
|
|
48
48
|
return typed(name, {
|
|
@@ -65,12 +65,9 @@ export var createLog = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
65
65
|
return new Complex(x.toNumber(), 0).log();
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
'
|
|
69
|
-
return deepMap(x, this);
|
|
70
|
-
},
|
|
71
|
-
'any, any': function anyAny(x, base) {
|
|
68
|
+
'any, any': typed.referToSelf(self => (x, base) => {
|
|
72
69
|
// calculate logarithm for a specified base, log(x, base)
|
|
73
|
-
return divideScalar(
|
|
74
|
-
}
|
|
70
|
+
return divideScalar(self(x), self(base));
|
|
71
|
+
})
|
|
75
72
|
});
|
|
76
73
|
});
|
|
@@ -55,8 +55,6 @@ export var createLog10 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
55
55
|
return new _Complex(x.toNumber(), 0).log().div(Math.LN10);
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
'Array | Matrix':
|
|
59
|
-
return deepMap(x, this);
|
|
60
|
-
}
|
|
58
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
61
59
|
});
|
|
62
60
|
});
|
|
@@ -63,13 +63,11 @@ export var createLog1p = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
63
63
|
return _log1pComplex(new Complex(x.toNumber(), 0));
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
'Array | Matrix':
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
'any, any': function anyAny(x, base) {
|
|
66
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self)),
|
|
67
|
+
'any, any': typed.referToSelf(self => (x, base) => {
|
|
70
68
|
// calculate logarithm for a specified base, log1p(x, base)
|
|
71
|
-
return divideScalar(
|
|
72
|
-
}
|
|
69
|
+
return divideScalar(self(x), log(base));
|
|
70
|
+
})
|
|
73
71
|
});
|
|
74
72
|
/**
|
|
75
73
|
* Calculate the natural logarithm of a complex number + 1
|
|
@@ -53,9 +53,7 @@ export var createLog2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
53
53
|
return _log2Complex(new Complex(x.toNumber(), 0));
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
-
'Array | Matrix':
|
|
57
|
-
return deepMap(x, this);
|
|
58
|
-
}
|
|
56
|
+
'Array | Matrix': typed.referToSelf(self => x => deepMap(x, self))
|
|
59
57
|
});
|
|
60
58
|
/**
|
|
61
59
|
* Calculate log2 for a complex value
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
|
|
8
|
-
import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
|
|
2
|
+
import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
|
|
3
|
+
import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
|
|
4
|
+
import { createMatAlgo05xSfSf } from '../../type/matrix/utils/matAlgo05xSfSf.js';
|
|
5
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
6
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
9
7
|
import { modNumber } from '../../plain/number/index.js';
|
|
8
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
10
9
|
var name = 'mod';
|
|
11
10
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
|
|
12
11
|
export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -16,30 +15,28 @@ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
16
15
|
equalScalar,
|
|
17
16
|
DenseMatrix
|
|
18
17
|
} = _ref;
|
|
19
|
-
var
|
|
18
|
+
var matAlgo02xDS0 = createMatAlgo02xDS0({
|
|
20
19
|
typed,
|
|
21
20
|
equalScalar
|
|
22
21
|
});
|
|
23
|
-
var
|
|
22
|
+
var matAlgo03xDSf = createMatAlgo03xDSf({
|
|
24
23
|
typed
|
|
25
24
|
});
|
|
26
|
-
var
|
|
25
|
+
var matAlgo05xSfSf = createMatAlgo05xSfSf({
|
|
27
26
|
typed,
|
|
28
27
|
equalScalar
|
|
29
28
|
});
|
|
30
|
-
var
|
|
29
|
+
var matAlgo11xS0s = createMatAlgo11xS0s({
|
|
31
30
|
typed,
|
|
32
31
|
equalScalar
|
|
33
32
|
});
|
|
34
|
-
var
|
|
33
|
+
var matAlgo12xSfs = createMatAlgo12xSfs({
|
|
35
34
|
typed,
|
|
36
35
|
DenseMatrix
|
|
37
36
|
});
|
|
38
|
-
var
|
|
39
|
-
typed
|
|
40
|
-
|
|
41
|
-
var algorithm14 = createAlgorithm14({
|
|
42
|
-
typed
|
|
37
|
+
var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
|
|
38
|
+
typed,
|
|
39
|
+
matrix
|
|
43
40
|
});
|
|
44
41
|
/**
|
|
45
42
|
* Calculates the modulus, the remainder of an integer division.
|
|
@@ -93,50 +90,12 @@ export var createMod = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
93
90
|
|
|
94
91
|
|
|
95
92
|
return x.compare(0) >= 0 ? x.mod(y) : x.mod(y).add(y).mod(y);
|
|
96
|
-
},
|
|
97
|
-
'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
|
|
98
|
-
return algorithm05(x, y, this, false);
|
|
99
|
-
},
|
|
100
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
101
|
-
return algorithm02(y, x, this, true);
|
|
102
|
-
},
|
|
103
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
104
|
-
return algorithm03(x, y, this, false);
|
|
105
|
-
},
|
|
106
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
107
|
-
return algorithm13(x, y, this);
|
|
108
|
-
},
|
|
109
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
110
|
-
// use matrix implementation
|
|
111
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
112
|
-
},
|
|
113
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
114
|
-
// use matrix implementation
|
|
115
|
-
return this(matrix(x), y);
|
|
116
|
-
},
|
|
117
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
118
|
-
// use matrix implementation
|
|
119
|
-
return this(x, matrix(y));
|
|
120
|
-
},
|
|
121
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
122
|
-
return algorithm11(x, y, this, false);
|
|
123
|
-
},
|
|
124
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
125
|
-
return algorithm14(x, y, this, false);
|
|
126
|
-
},
|
|
127
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
128
|
-
return algorithm12(y, x, this, true);
|
|
129
|
-
},
|
|
130
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
131
|
-
return algorithm14(y, x, this, true);
|
|
132
|
-
},
|
|
133
|
-
'Array, any': function ArrayAny(x, y) {
|
|
134
|
-
// use matrix implementation
|
|
135
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
136
|
-
},
|
|
137
|
-
'any, Array': function anyArray(x, y) {
|
|
138
|
-
// use matrix implementation
|
|
139
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
140
93
|
}
|
|
141
|
-
}
|
|
94
|
+
}, matrixAlgorithmSuite({
|
|
95
|
+
SS: matAlgo05xSfSf,
|
|
96
|
+
DS: matAlgo03xDSf,
|
|
97
|
+
SD: matAlgo02xDS0,
|
|
98
|
+
Ss: matAlgo11xS0s,
|
|
99
|
+
sS: matAlgo12xSfs
|
|
100
|
+
}));
|
|
142
101
|
});
|