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
|
@@ -89,75 +89,79 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
89
89
|
*/
|
|
90
90
|
|
|
91
91
|
return typed(name, {
|
|
92
|
-
'any, any':
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
'any, any': _compareNatural
|
|
93
|
+
}); // just to check # args
|
|
94
|
+
|
|
95
|
+
function _compareNatural(x, y) {
|
|
96
|
+
var typeX = (0, _is.typeOf)(x);
|
|
97
|
+
var typeY = (0, _is.typeOf)(y);
|
|
98
|
+
var c; // numeric types
|
|
99
|
+
|
|
100
|
+
if ((typeX === 'number' || typeX === 'BigNumber' || typeX === 'Fraction') && (typeY === 'number' || typeY === 'BigNumber' || typeY === 'Fraction')) {
|
|
101
|
+
c = compare(x, y);
|
|
102
|
+
|
|
103
|
+
if (c.toString() !== '0') {
|
|
104
|
+
// c can be number, BigNumber, or Fraction
|
|
105
|
+
return c > 0 ? 1 : -1; // return a number
|
|
106
|
+
} else {
|
|
107
|
+
return (0, _javascriptNaturalSort["default"])(typeX, typeY);
|
|
108
|
+
}
|
|
109
|
+
} // matrix types
|
|
99
110
|
|
|
100
|
-
if (c.toString() !== '0') {
|
|
101
|
-
// c can be number, BigNumber, or Fraction
|
|
102
|
-
return c > 0 ? 1 : -1; // return a number
|
|
103
|
-
} else {
|
|
104
|
-
return (0, _javascriptNaturalSort.default)(typeX, typeY);
|
|
105
|
-
}
|
|
106
|
-
} // matrix types
|
|
107
111
|
|
|
112
|
+
var matTypes = ['Array', 'DenseMatrix', 'SparseMatrix'];
|
|
108
113
|
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
if (matTypes.includes(typeX) || matTypes.includes(typeY)) {
|
|
115
|
+
c = compareMatricesAndArrays(_compareNatural, x, y);
|
|
111
116
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
if (c !== 0) {
|
|
118
|
+
return c;
|
|
119
|
+
} else {
|
|
120
|
+
return (0, _javascriptNaturalSort["default"])(typeX, typeY);
|
|
121
|
+
}
|
|
122
|
+
} // in case of different types, order by name of type, i.e. 'BigNumber' < 'Complex'
|
|
118
123
|
|
|
119
124
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
125
|
+
if (typeX !== typeY) {
|
|
126
|
+
return (0, _javascriptNaturalSort["default"])(typeX, typeY);
|
|
127
|
+
}
|
|
123
128
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
129
|
+
if (typeX === 'Complex') {
|
|
130
|
+
return compareComplexNumbers(x, y);
|
|
131
|
+
}
|
|
127
132
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
if (typeX === 'Unit') {
|
|
134
|
+
if (x.equalBase(y)) {
|
|
135
|
+
return _compareNatural(x.value, y.value);
|
|
136
|
+
} // compare by units
|
|
132
137
|
|
|
133
138
|
|
|
134
|
-
|
|
135
|
-
|
|
139
|
+
return compareArrays(_compareNatural, x.formatUnits(), y.formatUnits());
|
|
140
|
+
}
|
|
136
141
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
if (typeX === 'boolean') {
|
|
143
|
+
return compareBooleans(x, y);
|
|
144
|
+
}
|
|
140
145
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
146
|
+
if (typeX === 'string') {
|
|
147
|
+
return (0, _javascriptNaturalSort["default"])(x, y);
|
|
148
|
+
}
|
|
144
149
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
150
|
+
if (typeX === 'Object') {
|
|
151
|
+
return compareObjects(_compareNatural, x, y);
|
|
152
|
+
}
|
|
148
153
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
154
|
+
if (typeX === 'null') {
|
|
155
|
+
return 0;
|
|
156
|
+
}
|
|
152
157
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
158
|
+
if (typeX === 'undefined') {
|
|
159
|
+
return 0;
|
|
160
|
+
} // this should not occur...
|
|
156
161
|
|
|
157
162
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
});
|
|
163
|
+
throw new TypeError('Unsupported type of value "' + typeX + '"');
|
|
164
|
+
}
|
|
161
165
|
/**
|
|
162
166
|
* Compare mixed matrix/array types, by converting to same-shaped array.
|
|
163
167
|
* This comparator is non-deterministic regarding input types.
|
|
@@ -166,6 +170,7 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
166
170
|
* @returns {number} Returns the comparison result: -1, 0, or 1
|
|
167
171
|
*/
|
|
168
172
|
|
|
173
|
+
|
|
169
174
|
function compareMatricesAndArrays(compareNatural, x, y) {
|
|
170
175
|
if ((0, _is.isSparseMatrix)(x) && (0, _is.isSparseMatrix)(y)) {
|
|
171
176
|
return compareArrays(compareNatural, x.toJSON().values, y.toJSON().values);
|
|
@@ -252,8 +257,8 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
|
|
|
252
257
|
var keysX = Object.keys(x);
|
|
253
258
|
var keysY = Object.keys(y); // compare keys
|
|
254
259
|
|
|
255
|
-
keysX.sort(_javascriptNaturalSort
|
|
256
|
-
keysY.sort(_javascriptNaturalSort
|
|
260
|
+
keysX.sort(_javascriptNaturalSort["default"]);
|
|
261
|
+
keysY.sort(_javascriptNaturalSort["default"]);
|
|
257
262
|
var c = compareArrays(compareNatural, keysX, keysY);
|
|
258
263
|
|
|
259
264
|
if (c !== 0) {
|
|
@@ -9,20 +9,17 @@ var _string = require("../../utils/string.js");
|
|
|
9
9
|
|
|
10
10
|
var _factory = require("../../utils/factory.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _algorithm2 = require("../../type/matrix/utils/algorithm13.js");
|
|
12
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
15
13
|
|
|
16
14
|
var name = 'compareText';
|
|
17
15
|
var dependencies = ['typed', 'matrix'];
|
|
16
|
+
_string.compareText.signature = 'any, any';
|
|
18
17
|
var createCompareText = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
19
18
|
var typed = _ref.typed,
|
|
20
19
|
matrix = _ref.matrix;
|
|
21
|
-
var
|
|
22
|
-
typed: typed
|
|
23
|
-
|
|
24
|
-
var algorithm14 = (0, _algorithm.createAlgorithm14)({
|
|
25
|
-
typed: typed
|
|
20
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
21
|
+
typed: typed,
|
|
22
|
+
matrix: matrix
|
|
26
23
|
});
|
|
27
24
|
/**
|
|
28
25
|
* Compare two strings lexically. Comparison is case sensitive.
|
|
@@ -53,44 +50,14 @@ var createCompareText = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
53
50
|
* 1 when x > y, -1 when x < y, and 0 when x == y.
|
|
54
51
|
*/
|
|
55
52
|
|
|
56
|
-
return typed(name, {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
62
|
-
// use matrix implementation
|
|
63
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
64
|
-
},
|
|
65
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
66
|
-
// use matrix implementation
|
|
67
|
-
return this(matrix(x), y);
|
|
68
|
-
},
|
|
69
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
70
|
-
// use matrix implementation
|
|
71
|
-
return this(x, matrix(y));
|
|
72
|
-
},
|
|
73
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
74
|
-
return algorithm14(x, y, _string.compareText, false);
|
|
75
|
-
},
|
|
76
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
77
|
-
return algorithm14(y, x, _string.compareText, true);
|
|
78
|
-
},
|
|
79
|
-
'Array, any': function ArrayAny(x, y) {
|
|
80
|
-
// use matrix implementation
|
|
81
|
-
return algorithm14(matrix(x), y, _string.compareText, false).valueOf();
|
|
82
|
-
},
|
|
83
|
-
'any, Array': function anyArray(x, y) {
|
|
84
|
-
// use matrix implementation
|
|
85
|
-
return algorithm14(matrix(y), x, _string.compareText, true).valueOf();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
53
|
+
return typed(name, _string.compareText, matrixAlgorithmSuite({
|
|
54
|
+
elop: _string.compareText,
|
|
55
|
+
Ds: true
|
|
56
|
+
}));
|
|
88
57
|
});
|
|
89
58
|
exports.createCompareText = createCompareText;
|
|
90
59
|
var createCompareTextNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed'], function (_ref2) {
|
|
91
60
|
var typed = _ref2.typed;
|
|
92
|
-
return typed(name,
|
|
93
|
-
'any, any': _string.compareText
|
|
94
|
-
});
|
|
61
|
+
return typed(name, _string.compareText);
|
|
95
62
|
});
|
|
96
63
|
exports.createCompareTextNumber = createCompareTextNumber;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createCompareUnits = void 0;
|
|
7
|
+
|
|
8
|
+
var _factory = require("../../utils/factory.js");
|
|
9
|
+
|
|
10
|
+
var createCompareUnits = /* #__PURE__ */(0, _factory.factory)('compareUnits', ['typed'], function (_ref) {
|
|
11
|
+
var typed = _ref.typed;
|
|
12
|
+
return {
|
|
13
|
+
'Unit, Unit': typed.referToSelf(function (self) {
|
|
14
|
+
return function (x, y) {
|
|
15
|
+
if (!x.equalBase(y)) {
|
|
16
|
+
throw new Error('Cannot compare units with different base');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return typed.find(self, [x.valueType(), y.valueType()])(x.value, y.value);
|
|
20
|
+
};
|
|
21
|
+
})
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
exports.createCompareUnits = createCompareUnits;
|
|
@@ -7,15 +7,13 @@ exports.createEqualNumber = exports.createEqual = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _factory = require("../../utils/factory.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _algorithm5 = require("../../type/matrix/utils/algorithm14.js");
|
|
16
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
19
17
|
|
|
20
18
|
var name = 'equal';
|
|
21
19
|
var dependencies = ['typed', 'matrix', 'equalScalar', 'DenseMatrix'];
|
|
@@ -24,22 +22,20 @@ var createEqual = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
24
22
|
matrix = _ref.matrix,
|
|
25
23
|
equalScalar = _ref.equalScalar,
|
|
26
24
|
DenseMatrix = _ref.DenseMatrix;
|
|
27
|
-
var
|
|
25
|
+
var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
|
|
28
26
|
typed: typed
|
|
29
27
|
});
|
|
30
|
-
var
|
|
28
|
+
var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
|
|
31
29
|
typed: typed,
|
|
32
30
|
DenseMatrix: DenseMatrix
|
|
33
31
|
});
|
|
34
|
-
var
|
|
32
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
35
33
|
typed: typed,
|
|
36
34
|
DenseMatrix: DenseMatrix
|
|
37
35
|
});
|
|
38
|
-
var
|
|
39
|
-
typed: typed
|
|
40
|
-
|
|
41
|
-
var algorithm14 = (0, _algorithm5.createAlgorithm14)({
|
|
42
|
-
typed: typed
|
|
36
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
37
|
+
typed: typed,
|
|
38
|
+
matrix: matrix
|
|
43
39
|
});
|
|
44
40
|
/**
|
|
45
41
|
* Test whether two values are equal.
|
|
@@ -86,72 +82,15 @@ var createEqual = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
|
86
82
|
* @return {boolean | Array | Matrix} Returns true when the compared values are equal, else returns false
|
|
87
83
|
*/
|
|
88
84
|
|
|
89
|
-
return typed(name, {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (x === undefined) {
|
|
101
|
-
return y === undefined;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (y === undefined) {
|
|
105
|
-
return x === undefined;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return equalScalar(x, y);
|
|
109
|
-
},
|
|
110
|
-
'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
|
|
111
|
-
return algorithm07(x, y, equalScalar);
|
|
112
|
-
},
|
|
113
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
114
|
-
return algorithm03(y, x, equalScalar, true);
|
|
115
|
-
},
|
|
116
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
117
|
-
return algorithm03(x, y, equalScalar, false);
|
|
118
|
-
},
|
|
119
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
120
|
-
return algorithm13(x, y, equalScalar);
|
|
121
|
-
},
|
|
122
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
123
|
-
// use matrix implementation
|
|
124
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
125
|
-
},
|
|
126
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
127
|
-
// use matrix implementation
|
|
128
|
-
return this(matrix(x), y);
|
|
129
|
-
},
|
|
130
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
131
|
-
// use matrix implementation
|
|
132
|
-
return this(x, matrix(y));
|
|
133
|
-
},
|
|
134
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
135
|
-
return algorithm12(x, y, equalScalar, false);
|
|
136
|
-
},
|
|
137
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
138
|
-
return algorithm14(x, y, equalScalar, false);
|
|
139
|
-
},
|
|
140
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
141
|
-
return algorithm12(y, x, equalScalar, true);
|
|
142
|
-
},
|
|
143
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
144
|
-
return algorithm14(y, x, equalScalar, true);
|
|
145
|
-
},
|
|
146
|
-
'Array, any': function ArrayAny(x, y) {
|
|
147
|
-
// use matrix implementation
|
|
148
|
-
return algorithm14(matrix(x), y, equalScalar, false).valueOf();
|
|
149
|
-
},
|
|
150
|
-
'any, Array': function anyArray(x, y) {
|
|
151
|
-
// use matrix implementation
|
|
152
|
-
return algorithm14(matrix(y), x, equalScalar, true).valueOf();
|
|
153
|
-
}
|
|
154
|
-
});
|
|
85
|
+
return typed(name, createEqualNumber({
|
|
86
|
+
typed: typed,
|
|
87
|
+
equalScalar: equalScalar
|
|
88
|
+
}), matrixAlgorithmSuite({
|
|
89
|
+
elop: equalScalar,
|
|
90
|
+
SS: matAlgo07xSSf,
|
|
91
|
+
DS: matAlgo03xDSf,
|
|
92
|
+
Ss: matAlgo12xSfs
|
|
93
|
+
}));
|
|
155
94
|
});
|
|
156
95
|
exports.createEqual = createEqual;
|
|
157
96
|
var createEqualNumber = (0, _factory.factory)(name, ['typed', 'equalScalar'], function (_ref2) {
|
|
@@ -13,12 +13,16 @@ var _factory = require("../../utils/factory.js");
|
|
|
13
13
|
|
|
14
14
|
var _complex = require("../../utils/complex.js");
|
|
15
15
|
|
|
16
|
+
var _compareUnits = require("./compareUnits.js");
|
|
17
|
+
|
|
16
18
|
var name = 'equalScalar';
|
|
17
19
|
var dependencies = ['typed', 'config'];
|
|
18
20
|
var createEqualScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
19
21
|
var typed = _ref.typed,
|
|
20
22
|
config = _ref.config;
|
|
21
|
-
|
|
23
|
+
var compareUnits = (0, _compareUnits.createCompareUnits)({
|
|
24
|
+
typed: typed
|
|
25
|
+
});
|
|
22
26
|
/**
|
|
23
27
|
* Test whether two scalar values are nearly equal.
|
|
24
28
|
*
|
|
@@ -27,6 +31,7 @@ var createEqualScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
27
31
|
* @return {boolean} Returns true when the compared values are equal, else returns false
|
|
28
32
|
* @private
|
|
29
33
|
*/
|
|
34
|
+
|
|
30
35
|
return typed(name, {
|
|
31
36
|
'boolean, boolean': function booleanBoolean(x, y) {
|
|
32
37
|
return x === y;
|
|
@@ -42,15 +47,8 @@ var createEqualScalar = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
42
47
|
},
|
|
43
48
|
'Complex, Complex': function ComplexComplex(x, y) {
|
|
44
49
|
return (0, _complex.complexEquals)(x, y, config.epsilon);
|
|
45
|
-
},
|
|
46
|
-
'Unit, Unit': function UnitUnit(x, y) {
|
|
47
|
-
if (!x.equalBase(y)) {
|
|
48
|
-
throw new Error('Cannot compare units with different base');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return this(x.value, y.value);
|
|
52
50
|
}
|
|
53
|
-
});
|
|
51
|
+
}, compareUnits);
|
|
54
52
|
});
|
|
55
53
|
exports.createEqualScalar = createEqualScalar;
|
|
56
54
|
var createEqualScalarNumber = (0, _factory.factory)(name, ['typed', 'config'], function (_ref2) {
|
|
@@ -11,15 +11,15 @@ var _number = require("../../utils/number.js");
|
|
|
11
11
|
|
|
12
12
|
var _factory = require("../../utils/factory.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _compareUnits = require("./compareUnits.js");
|
|
23
23
|
|
|
24
24
|
var name = 'larger';
|
|
25
25
|
var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
|
|
@@ -28,21 +28,22 @@ var createLarger = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
28
28
|
config = _ref.config,
|
|
29
29
|
matrix = _ref.matrix,
|
|
30
30
|
DenseMatrix = _ref.DenseMatrix;
|
|
31
|
-
var
|
|
31
|
+
var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
|
|
32
32
|
typed: typed
|
|
33
33
|
});
|
|
34
|
-
var
|
|
34
|
+
var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
|
|
35
35
|
typed: typed,
|
|
36
36
|
DenseMatrix: DenseMatrix
|
|
37
37
|
});
|
|
38
|
-
var
|
|
38
|
+
var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
|
|
39
39
|
typed: typed,
|
|
40
40
|
DenseMatrix: DenseMatrix
|
|
41
41
|
});
|
|
42
|
-
var
|
|
43
|
-
typed: typed
|
|
42
|
+
var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
|
|
43
|
+
typed: typed,
|
|
44
|
+
matrix: matrix
|
|
44
45
|
});
|
|
45
|
-
var
|
|
46
|
+
var compareUnits = (0, _compareUnits.createCompareUnits)({
|
|
46
47
|
typed: typed
|
|
47
48
|
});
|
|
48
49
|
/**
|
|
@@ -77,13 +78,13 @@ var createLarger = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
77
78
|
* @return {boolean | Array | Matrix} Returns true when the x is larger than y, else returns false
|
|
78
79
|
*/
|
|
79
80
|
|
|
80
|
-
return typed(name, {
|
|
81
|
+
return typed(name, createLargerNumber({
|
|
82
|
+
typed: typed,
|
|
83
|
+
config: config
|
|
84
|
+
}), {
|
|
81
85
|
'boolean, boolean': function booleanBoolean(x, y) {
|
|
82
86
|
return x > y;
|
|
83
87
|
},
|
|
84
|
-
'number, number': function numberNumber(x, y) {
|
|
85
|
-
return x > y && !(0, _number.nearlyEqual)(x, y, config.epsilon);
|
|
86
|
-
},
|
|
87
88
|
'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
|
|
88
89
|
return x.gt(y) && !(0, _nearlyEqual.nearlyEqual)(x, y, config.epsilon);
|
|
89
90
|
},
|
|
@@ -92,59 +93,12 @@ var createLarger = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
|
|
|
92
93
|
},
|
|
93
94
|
'Complex, Complex': function ComplexComplex() {
|
|
94
95
|
throw new TypeError('No ordering relation is defined for complex numbers');
|
|
95
|
-
},
|
|
96
|
-
'Unit, Unit': function UnitUnit(x, y) {
|
|
97
|
-
if (!x.equalBase(y)) {
|
|
98
|
-
throw new Error('Cannot compare units with different base');
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return this(x.value, y.value);
|
|
102
|
-
},
|
|
103
|
-
'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
|
|
104
|
-
return algorithm07(x, y, this);
|
|
105
|
-
},
|
|
106
|
-
'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
|
|
107
|
-
return algorithm03(y, x, this, true);
|
|
108
|
-
},
|
|
109
|
-
'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
|
|
110
|
-
return algorithm03(x, y, this, false);
|
|
111
|
-
},
|
|
112
|
-
'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
|
|
113
|
-
return algorithm13(x, y, this);
|
|
114
|
-
},
|
|
115
|
-
'Array, Array': function ArrayArray(x, y) {
|
|
116
|
-
// use matrix implementation
|
|
117
|
-
return this(matrix(x), matrix(y)).valueOf();
|
|
118
|
-
},
|
|
119
|
-
'Array, Matrix': function ArrayMatrix(x, y) {
|
|
120
|
-
// use matrix implementation
|
|
121
|
-
return this(matrix(x), y);
|
|
122
|
-
},
|
|
123
|
-
'Matrix, Array': function MatrixArray(x, y) {
|
|
124
|
-
// use matrix implementation
|
|
125
|
-
return this(x, matrix(y));
|
|
126
|
-
},
|
|
127
|
-
'SparseMatrix, any': function SparseMatrixAny(x, y) {
|
|
128
|
-
return algorithm12(x, y, this, false);
|
|
129
|
-
},
|
|
130
|
-
'DenseMatrix, any': function DenseMatrixAny(x, y) {
|
|
131
|
-
return algorithm14(x, y, this, false);
|
|
132
|
-
},
|
|
133
|
-
'any, SparseMatrix': function anySparseMatrix(x, y) {
|
|
134
|
-
return algorithm12(y, x, this, true);
|
|
135
|
-
},
|
|
136
|
-
'any, DenseMatrix': function anyDenseMatrix(x, y) {
|
|
137
|
-
return algorithm14(y, x, this, true);
|
|
138
|
-
},
|
|
139
|
-
'Array, any': function ArrayAny(x, y) {
|
|
140
|
-
// use matrix implementation
|
|
141
|
-
return algorithm14(matrix(x), y, this, false).valueOf();
|
|
142
|
-
},
|
|
143
|
-
'any, Array': function anyArray(x, y) {
|
|
144
|
-
// use matrix implementation
|
|
145
|
-
return algorithm14(matrix(y), x, this, true).valueOf();
|
|
146
96
|
}
|
|
147
|
-
}
|
|
97
|
+
}, compareUnits, matrixAlgorithmSuite({
|
|
98
|
+
SS: matAlgo07xSSf,
|
|
99
|
+
DS: matAlgo03xDSf,
|
|
100
|
+
Ss: matAlgo12xSfs
|
|
101
|
+
}));
|
|
148
102
|
});
|
|
149
103
|
exports.createLarger = createLarger;
|
|
150
104
|
var createLargerNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed', 'config'], function (_ref2) {
|