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,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
var name = 'atan';
|
|
4
3
|
var dependencies = ['typed'];
|
|
5
4
|
export var createAtan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -10,7 +9,8 @@ export var createAtan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
10
9
|
/**
|
|
11
10
|
* Calculate the inverse tangent of a value.
|
|
12
11
|
*
|
|
13
|
-
*
|
|
12
|
+
* To avoid confusion with matrix arctangent, this function does not apply
|
|
13
|
+
* to matrices.
|
|
14
14
|
*
|
|
15
15
|
* Syntax:
|
|
16
16
|
*
|
|
@@ -27,8 +27,8 @@ export var createAtan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
27
|
*
|
|
28
28
|
* tan, asin, acos
|
|
29
29
|
*
|
|
30
|
-
* @param {number | BigNumber | Complex
|
|
31
|
-
* @return {number | BigNumber | Complex
|
|
30
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
31
|
+
* @return {number | BigNumber | Complex} The arc tangent of x
|
|
32
32
|
*/
|
|
33
33
|
return typed('atan', {
|
|
34
34
|
number: function number(x) {
|
|
@@ -39,10 +39,6 @@ export var createAtan = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
39
39
|
},
|
|
40
40
|
BigNumber: function BigNumber(x) {
|
|
41
41
|
return x.atan();
|
|
42
|
-
},
|
|
43
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
44
|
-
// deep map collection, skip zeros since atan(0) = 0
|
|
45
|
-
return deepMap(x, this, true);
|
|
46
42
|
}
|
|
47
43
|
});
|
|
48
44
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
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 { createMatAlgo09xS0Sf } from '../../type/matrix/utils/matAlgo09xS0Sf.js';
|
|
5
|
+
import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
|
|
6
|
+
import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
|
|
7
|
+
import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
|
|
9
8
|
var name = 'atan2';
|
|
10
9
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'BigNumber', 'DenseMatrix'];
|
|
11
10
|
export var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -16,30 +15,28 @@ export var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
16
15
|
BigNumber,
|
|
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 matAlgo09xS0Sf = createMatAlgo09xS0Sf({
|
|
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
|
* Calculate the inverse tangent function with two arguments, y/x.
|
|
@@ -75,51 +72,15 @@ export var createAtan2 = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
75
72
|
'number, number': Math.atan2,
|
|
76
73
|
// Complex numbers doesn't seem to have a reasonable implementation of
|
|
77
74
|
// atan2(). Even Matlab removed the support, after they only calculated
|
|
78
|
-
// the atan only on base of the real part of the numbers and ignored
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
90
|
-
return algorithm03(x, y, this, false);
|
|
91
|
-
},
|
|
92
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
93
|
-
return algorithm13(x, y, this);
|
|
94
|
-
},
|
|
95
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
96
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
97
|
-
},
|
|
98
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
99
|
-
return this(matrix(x), y);
|
|
100
|
-
},
|
|
101
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
102
|
-
return this(x, matrix(y));
|
|
103
|
-
},
|
|
104
|
-
'SparseMatrix, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
|
|
105
|
-
return algorithm11(x, y, this, false);
|
|
106
|
-
},
|
|
107
|
-
'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
|
|
108
|
-
return algorithm14(x, y, this, false);
|
|
109
|
-
},
|
|
110
|
-
'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
|
|
111
|
-
// mind the order of y and x
|
|
112
|
-
return algorithm12(y, x, this, true);
|
|
113
|
-
},
|
|
114
|
-
'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
|
|
115
|
-
// mind the order of y and x
|
|
116
|
-
return algorithm14(y, x, this, true);
|
|
117
|
-
},
|
|
118
|
-
'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
|
|
119
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
120
|
-
},
|
|
121
|
-
'number | BigNumber, Array': function numberBigNumberArray(x, y) {
|
|
122
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
123
|
-
}
|
|
124
|
-
});
|
|
75
|
+
// the atan only on base of the real part of the numbers and ignored
|
|
76
|
+
// the imaginary.
|
|
77
|
+
'BigNumber, BigNumber': (y, x) => BigNumber.atan2(y, x)
|
|
78
|
+
}, matrixAlgorithmSuite({
|
|
79
|
+
scalar: 'number | BigNumber',
|
|
80
|
+
SS: matAlgo09xS0Sf,
|
|
81
|
+
DS: matAlgo03xDSf,
|
|
82
|
+
SD: matAlgo02xDS0,
|
|
83
|
+
Ss: matAlgo11xS0s,
|
|
84
|
+
sS: matAlgo12xSfs
|
|
85
|
+
}));
|
|
125
86
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { atanhNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'atanh';
|
|
5
4
|
var dependencies = ['typed', 'config', 'Complex'];
|
|
@@ -14,7 +13,8 @@ export var createAtanh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
14
13
|
* Calculate the hyperbolic arctangent of a value,
|
|
15
14
|
* defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.
|
|
16
15
|
*
|
|
17
|
-
*
|
|
16
|
+
* To avoid confusion with the matrix hyperbolic arctangent, this function
|
|
17
|
+
* does not apply to matrices.
|
|
18
18
|
*
|
|
19
19
|
* Syntax:
|
|
20
20
|
*
|
|
@@ -28,8 +28,8 @@ export var createAtanh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
28
28
|
*
|
|
29
29
|
* acosh, asinh
|
|
30
30
|
*
|
|
31
|
-
* @param {number |
|
|
32
|
-
* @return {number |
|
|
31
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
32
|
+
* @return {number | BigNumber | Complex} Hyperbolic arctangent of x
|
|
33
33
|
*/
|
|
34
34
|
return typed(name, {
|
|
35
35
|
number: function number(x) {
|
|
@@ -44,10 +44,6 @@ export var createAtanh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
44
44
|
},
|
|
45
45
|
BigNumber: function BigNumber(x) {
|
|
46
46
|
return x.atanh();
|
|
47
|
-
},
|
|
48
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
49
|
-
// deep map collection, skip zeros since atanh(0) = 0
|
|
50
|
-
return deepMap(x, this, true);
|
|
51
47
|
}
|
|
52
48
|
});
|
|
53
49
|
});
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import {
|
|
2
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
3
3
|
var name = 'cos';
|
|
4
4
|
var dependencies = ['typed'];
|
|
5
5
|
export var createCos = /* #__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 cosine of a value.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix cosine, this function does not
|
|
16
|
+
* apply to matrices.
|
|
14
17
|
*
|
|
15
18
|
* Syntax:
|
|
16
19
|
*
|
|
@@ -30,26 +33,12 @@ export var createCos = /* #__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} Cosine of x
|
|
35
38
|
*/
|
|
39
|
+
|
|
36
40
|
return typed(name, {
|
|
37
41
|
number: Math.cos,
|
|
38
|
-
Complex:
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
BigNumber: function BigNumber(x) {
|
|
42
|
-
return x.cos();
|
|
43
|
-
},
|
|
44
|
-
Unit: function Unit(x) {
|
|
45
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
46
|
-
throw new TypeError('Unit in function cos is no angle');
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return this(x.value);
|
|
50
|
-
},
|
|
51
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
52
|
-
return deepMap(x, this);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
42
|
+
'Complex | BigNumber': x => x.cos()
|
|
43
|
+
}, trigUnit);
|
|
55
44
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cosh as coshNumber } from '../../utils/number.js';
|
|
4
3
|
var name = 'cosh';
|
|
5
4
|
var dependencies = ['typed'];
|
|
@@ -12,7 +11,8 @@ export var createCosh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
12
11
|
* Calculate the hyperbolic cosine of a value,
|
|
13
12
|
* defined as `cosh(x) = 1/2 * (exp(x) + exp(-x))`.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
14
|
+
* To avoid confusion with the matrix hyperbolic cosine, this function does
|
|
15
|
+
* not apply to matrices.
|
|
16
16
|
*
|
|
17
17
|
* Syntax:
|
|
18
18
|
*
|
|
@@ -26,26 +26,11 @@ export var createCosh = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
26
26
|
*
|
|
27
27
|
* sinh, 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 cosine of x
|
|
31
31
|
*/
|
|
32
32
|
return typed(name, {
|
|
33
33
|
number: coshNumber,
|
|
34
|
-
Complex:
|
|
35
|
-
return x.cosh();
|
|
36
|
-
},
|
|
37
|
-
BigNumber: function BigNumber(x) {
|
|
38
|
-
return x.cosh();
|
|
39
|
-
},
|
|
40
|
-
Unit: function Unit(x) {
|
|
41
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
42
|
-
throw new TypeError('Unit in function cosh is no angle');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return this(x.value);
|
|
46
|
-
},
|
|
47
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
48
|
-
return deepMap(x, this);
|
|
49
|
-
}
|
|
34
|
+
'Complex | BigNumber': x => x.cosh()
|
|
50
35
|
});
|
|
51
36
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cotNumber } from '../../plain/number/index.js';
|
|
3
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
4
4
|
var name = 'cot';
|
|
5
5
|
var dependencies = ['typed', 'BigNumber'];
|
|
6
6
|
export var createCot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -8,11 +8,14 @@ export var createCot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
8
8
|
typed,
|
|
9
9
|
BigNumber: _BigNumber
|
|
10
10
|
} = _ref;
|
|
11
|
-
|
|
11
|
+
var trigUnit = createTrigUnit({
|
|
12
|
+
typed
|
|
13
|
+
});
|
|
12
14
|
/**
|
|
13
15
|
* Calculate the cotangent of a value. Defined as `cot(x) = 1 / tan(x)`.
|
|
14
16
|
*
|
|
15
|
-
*
|
|
17
|
+
* To avoid confusion with the matrix cotangent, this function does not
|
|
18
|
+
* apply to matrices.
|
|
16
19
|
*
|
|
17
20
|
* Syntax:
|
|
18
21
|
*
|
|
@@ -30,23 +33,10 @@ export var createCot = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
30
33
|
* @param {number | Complex | Unit | Array | Matrix} x Function input
|
|
31
34
|
* @return {number | Complex | Array | Matrix} Cotangent of x
|
|
32
35
|
*/
|
|
36
|
+
|
|
33
37
|
return typed(name, {
|
|
34
38
|
number: cotNumber,
|
|
35
|
-
Complex:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
BigNumber: function BigNumber(x) {
|
|
39
|
-
return new _BigNumber(1).div(x.tan());
|
|
40
|
-
},
|
|
41
|
-
Unit: function Unit(x) {
|
|
42
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
43
|
-
throw new TypeError('Unit in function cot is no angle');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return this(x.value);
|
|
47
|
-
},
|
|
48
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
49
|
-
return deepMap(x, this);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
39
|
+
Complex: x => x.cot(),
|
|
40
|
+
BigNumber: x => new _BigNumber(1).div(x.tan())
|
|
41
|
+
}, trigUnit);
|
|
52
42
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cothNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'coth';
|
|
5
4
|
var dependencies = ['typed', 'BigNumber'];
|
|
@@ -13,7 +12,8 @@ export var createCoth = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
12
|
* Calculate the hyperbolic cotangent of a value,
|
|
14
13
|
* defined as `coth(x) = 1 / tanh(x)`.
|
|
15
14
|
*
|
|
16
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix hyperbolic cotangent, this function
|
|
16
|
+
* does not apply to matrices.
|
|
17
17
|
*
|
|
18
18
|
* Syntax:
|
|
19
19
|
*
|
|
@@ -29,26 +29,12 @@ export var createCoth = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* sinh, tanh, cosh
|
|
31
31
|
*
|
|
32
|
-
* @param {number |
|
|
33
|
-
* @return {number |
|
|
32
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
33
|
+
* @return {number | BigNumber | Complex} Hyperbolic cotangent of x
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
number: cothNumber,
|
|
37
|
-
Complex:
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
BigNumber: function BigNumber(x) {
|
|
41
|
-
return new _BigNumber(1).div(x.tanh());
|
|
42
|
-
},
|
|
43
|
-
Unit: function Unit(x) {
|
|
44
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
45
|
-
throw new TypeError('Unit in function coth 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.coth(),
|
|
38
|
+
BigNumber: x => new _BigNumber(1).div(x.tanh())
|
|
53
39
|
});
|
|
54
40
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cscNumber } from '../../plain/number/index.js';
|
|
3
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
4
4
|
var name = 'csc';
|
|
5
5
|
var dependencies = ['typed', 'BigNumber'];
|
|
6
6
|
export var createCsc = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -8,11 +8,14 @@ export var createCsc = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
8
8
|
typed,
|
|
9
9
|
BigNumber: _BigNumber
|
|
10
10
|
} = _ref;
|
|
11
|
-
|
|
11
|
+
var trigUnit = createTrigUnit({
|
|
12
|
+
typed
|
|
13
|
+
});
|
|
12
14
|
/**
|
|
13
15
|
* Calculate the cosecant of a value, defined as `csc(x) = 1/sin(x)`.
|
|
14
16
|
*
|
|
15
|
-
*
|
|
17
|
+
* To avoid confusion with the matrix cosecant, this function does not
|
|
18
|
+
* apply to matrices.
|
|
16
19
|
*
|
|
17
20
|
* Syntax:
|
|
18
21
|
*
|
|
@@ -27,26 +30,13 @@ export var createCsc = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
30
|
*
|
|
28
31
|
* sin, sec, cot
|
|
29
32
|
*
|
|
30
|
-
* @param {number |
|
|
31
|
-
* @return {number |
|
|
33
|
+
* @param {number | BigNumber | Complex | Unit} x Function input
|
|
34
|
+
* @return {number | BigNumber | Complex} Cosecant of x
|
|
32
35
|
*/
|
|
36
|
+
|
|
33
37
|
return typed(name, {
|
|
34
38
|
number: cscNumber,
|
|
35
|
-
Complex:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
BigNumber: function BigNumber(x) {
|
|
39
|
-
return new _BigNumber(1).div(x.sin());
|
|
40
|
-
},
|
|
41
|
-
Unit: function Unit(x) {
|
|
42
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
43
|
-
throw new TypeError('Unit in function csc is no angle');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return this(x.value);
|
|
47
|
-
},
|
|
48
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
49
|
-
return deepMap(x, this);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
39
|
+
Complex: x => x.csc(),
|
|
40
|
+
BigNumber: x => new _BigNumber(1).div(x.sin())
|
|
41
|
+
}, trigUnit);
|
|
52
42
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { cschNumber } from '../../plain/number/index.js';
|
|
4
3
|
var name = 'csch';
|
|
5
4
|
var dependencies = ['typed', 'BigNumber'];
|
|
@@ -13,7 +12,8 @@ export var createCsch = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
13
12
|
* Calculate the hyperbolic cosecant of a value,
|
|
14
13
|
* defined as `csch(x) = 1 / sinh(x)`.
|
|
15
14
|
*
|
|
16
|
-
*
|
|
15
|
+
* To avoid confusion with the matrix hyperbolic cosecant, this function
|
|
16
|
+
* does not apply to matrices.
|
|
17
17
|
*
|
|
18
18
|
* Syntax:
|
|
19
19
|
*
|
|
@@ -29,26 +29,12 @@ export var createCsch = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* sinh, sech, coth
|
|
31
31
|
*
|
|
32
|
-
* @param {number |
|
|
33
|
-
* @return {number |
|
|
32
|
+
* @param {number | BigNumber | Complex} x Function input
|
|
33
|
+
* @return {number | BigNumber | Complex} Hyperbolic cosecant of x
|
|
34
34
|
*/
|
|
35
35
|
return typed(name, {
|
|
36
36
|
number: cschNumber,
|
|
37
|
-
Complex:
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
BigNumber: function BigNumber(x) {
|
|
41
|
-
return new _BigNumber(1).div(x.sinh());
|
|
42
|
-
},
|
|
43
|
-
Unit: function Unit(x) {
|
|
44
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
45
|
-
throw new TypeError('Unit in function csch 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.csch(),
|
|
38
|
+
BigNumber: x => new _BigNumber(1).div(x.sinh())
|
|
53
39
|
});
|
|
54
40
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { factory } from '../../utils/factory.js';
|
|
2
|
-
import { deepMap } from '../../utils/collection.js';
|
|
3
2
|
import { secNumber } from '../../plain/number/index.js';
|
|
3
|
+
import { createTrigUnit } from './trigUnit.js';
|
|
4
4
|
var name = 'sec';
|
|
5
5
|
var dependencies = ['typed', 'BigNumber'];
|
|
6
6
|
export var createSec = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
@@ -8,11 +8,14 @@ export var createSec = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
8
8
|
typed,
|
|
9
9
|
BigNumber: _BigNumber
|
|
10
10
|
} = _ref;
|
|
11
|
-
|
|
11
|
+
var trigUnit = createTrigUnit({
|
|
12
|
+
typed
|
|
13
|
+
});
|
|
12
14
|
/**
|
|
13
15
|
* Calculate the secant of a value, defined as `sec(x) = 1/cos(x)`.
|
|
14
16
|
*
|
|
15
|
-
*
|
|
17
|
+
* To avoid confusion with the matrix secant, this function does not
|
|
18
|
+
* apply to matrices.
|
|
16
19
|
*
|
|
17
20
|
* Syntax:
|
|
18
21
|
*
|
|
@@ -27,26 +30,13 @@ export var createSec = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
27
30
|
*
|
|
28
31
|
* cos, csc, cot
|
|
29
32
|
*
|
|
30
|
-
* @param {number |
|
|
31
|
-
* @return {number |
|
|
33
|
+
* @param {number | BigNumber | Complex | Unit} x Function input
|
|
34
|
+
* @return {number | BigNumber | Complex} Secant of x
|
|
32
35
|
*/
|
|
36
|
+
|
|
33
37
|
return typed(name, {
|
|
34
38
|
number: secNumber,
|
|
35
|
-
Complex:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
BigNumber: function BigNumber(x) {
|
|
39
|
-
return new _BigNumber(1).div(x.cos());
|
|
40
|
-
},
|
|
41
|
-
Unit: function Unit(x) {
|
|
42
|
-
if (!x.hasBase(x.constructor.BASE_UNITS.ANGLE)) {
|
|
43
|
-
throw new TypeError('Unit in function sec is no angle');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return this(x.value);
|
|
47
|
-
},
|
|
48
|
-
'Array | Matrix': function ArrayMatrix(x) {
|
|
49
|
-
return deepMap(x, this);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
39
|
+
Complex: x => x.sec(),
|
|
40
|
+
BigNumber: x => new _BigNumber(1).div(x.cos())
|
|
41
|
+
}, trigUnit);
|
|
52
42
|
});
|
|
@@ -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
|
});
|