mathjs 10.1.1 → 10.4.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 +43 -0
- package/docs/expressions/algebra.md +27 -0
- package/docs/expressions/syntax.md +31 -2
- package/docs/reference/functions/abs.md +6 -0
- package/docs/reference/functions/acos.md +6 -0
- package/docs/reference/functions/acosh.md +6 -0
- package/docs/reference/functions/acot.md +6 -0
- package/docs/reference/functions/acoth.md +6 -0
- package/docs/reference/functions/acsc.md +6 -0
- package/docs/reference/functions/acsch.md +6 -0
- package/docs/reference/functions/add.md +6 -0
- package/docs/reference/functions/and.md +6 -0
- package/docs/reference/functions/apply.md +6 -0
- package/docs/reference/functions/arg.md +6 -0
- package/docs/reference/functions/asec.md +6 -0
- package/docs/reference/functions/asech.md +6 -0
- package/docs/reference/functions/asin.md +6 -0
- package/docs/reference/functions/asinh.md +6 -0
- package/docs/reference/functions/atan.md +6 -0
- package/docs/reference/functions/atan2.md +6 -0
- package/docs/reference/functions/atanh.md +6 -0
- package/docs/reference/functions/bellNumbers.md +6 -0
- package/docs/reference/functions/bin.md +6 -0
- package/docs/reference/functions/bitAnd.md +6 -0
- package/docs/reference/functions/bitNot.md +6 -0
- package/docs/reference/functions/bitOr.md +6 -0
- package/docs/reference/functions/bitXor.md +6 -0
- package/docs/reference/functions/catalan.md +6 -0
- package/docs/reference/functions/cbrt.md +6 -0
- package/docs/reference/functions/ceil.md +6 -0
- package/docs/reference/functions/clone.md +6 -0
- package/docs/reference/functions/column.md +6 -0
- package/docs/reference/functions/combinations.md +6 -0
- package/docs/reference/functions/combinationsWithRep.md +6 -0
- package/docs/reference/functions/compare.md +6 -0
- package/docs/reference/functions/compareNatural.md +6 -0
- package/docs/reference/functions/compareText.md +6 -0
- package/docs/reference/functions/compile.md +6 -0
- package/docs/reference/functions/composition.md +6 -0
- package/docs/reference/functions/concat.md +6 -0
- package/docs/reference/functions/conj.md +6 -0
- package/docs/reference/functions/cos.md +6 -0
- package/docs/reference/functions/cosh.md +6 -0
- package/docs/reference/functions/cot.md +6 -0
- package/docs/reference/functions/coth.md +6 -0
- package/docs/reference/functions/count.md +6 -0
- package/docs/reference/functions/cross.md +6 -0
- package/docs/reference/functions/csc.md +6 -0
- package/docs/reference/functions/csch.md +6 -0
- package/docs/reference/functions/ctranspose.md +6 -0
- package/docs/reference/functions/cube.md +6 -0
- package/docs/reference/functions/cumsum.md +57 -0
- package/docs/reference/functions/deepEqual.md +6 -0
- package/docs/reference/functions/derivative.md +6 -0
- package/docs/reference/functions/det.md +6 -0
- package/docs/reference/functions/diag.md +6 -0
- package/docs/reference/functions/diff.md +6 -0
- package/docs/reference/functions/distance.md +6 -0
- package/docs/reference/functions/divide.md +6 -0
- package/docs/reference/functions/dot.md +6 -0
- package/docs/reference/functions/dotDivide.md +6 -0
- package/docs/reference/functions/dotMultiply.md +6 -0
- package/docs/reference/functions/dotPow.md +6 -0
- package/docs/reference/functions/eigs.md +6 -0
- package/docs/reference/functions/equal.md +6 -0
- package/docs/reference/functions/equalText.md +6 -0
- package/docs/reference/functions/erf.md +6 -0
- package/docs/reference/functions/evaluate.md +6 -0
- package/docs/reference/functions/exp.md +6 -0
- package/docs/reference/functions/expm.md +6 -0
- package/docs/reference/functions/expm1.md +6 -0
- package/docs/reference/functions/factorial.md +6 -0
- package/docs/reference/functions/filter.md +6 -0
- package/docs/reference/functions/fix.md +6 -0
- package/docs/reference/functions/flatten.md +6 -0
- package/docs/reference/functions/floor.md +6 -0
- package/docs/reference/functions/forEach.md +6 -0
- package/docs/reference/functions/format.md +7 -1
- package/docs/reference/functions/gamma.md +6 -0
- package/docs/reference/functions/gcd.md +6 -0
- package/docs/reference/functions/getMatrixDataType.md +6 -0
- package/docs/reference/functions/hasNumericValue.md +6 -0
- package/docs/reference/functions/help.md +6 -0
- package/docs/reference/functions/hex.md +6 -0
- package/docs/reference/functions/hypot.md +6 -0
- package/docs/reference/functions/identity.md +6 -0
- package/docs/reference/functions/im.md +6 -0
- package/docs/reference/functions/intersect.md +6 -0
- package/docs/reference/functions/inv.md +6 -0
- package/docs/reference/functions/invmod.md +6 -0
- package/docs/reference/functions/isInteger.md +6 -0
- package/docs/reference/functions/isNaN.md +6 -0
- package/docs/reference/functions/isNegative.md +6 -0
- package/docs/reference/functions/isNumeric.md +6 -0
- package/docs/reference/functions/isPositive.md +6 -0
- package/docs/reference/functions/isPrime.md +6 -0
- package/docs/reference/functions/isZero.md +6 -0
- package/docs/reference/functions/kldivergence.md +6 -0
- package/docs/reference/functions/kron.md +6 -0
- package/docs/reference/functions/larger.md +6 -0
- package/docs/reference/functions/largerEq.md +6 -0
- package/docs/reference/functions/lcm.md +6 -0
- package/docs/reference/functions/leafCount.md +52 -0
- package/docs/reference/functions/leftShift.md +6 -0
- package/docs/reference/functions/log.md +6 -0
- package/docs/reference/functions/log10.md +6 -0
- package/docs/reference/functions/log1p.md +6 -0
- package/docs/reference/functions/log2.md +6 -0
- package/docs/reference/functions/lsolve.md +6 -0
- package/docs/reference/functions/lsolveAll.md +6 -0
- package/docs/reference/functions/lup.md +6 -0
- package/docs/reference/functions/lusolve.md +6 -0
- package/docs/reference/functions/mad.md +6 -0
- package/docs/reference/functions/map.md +28 -5
- package/docs/reference/functions/matrixFromColumns.md +6 -0
- package/docs/reference/functions/matrixFromFunction.md +6 -0
- package/docs/reference/functions/matrixFromRows.md +6 -0
- package/docs/reference/functions/max.md +6 -0
- package/docs/reference/functions/mean.md +6 -0
- package/docs/reference/functions/median.md +6 -0
- package/docs/reference/functions/min.md +6 -0
- package/docs/reference/functions/mod.md +6 -0
- package/docs/reference/functions/mode.md +6 -0
- package/docs/reference/functions/multinomial.md +6 -0
- package/docs/reference/functions/multiply.md +6 -0
- package/docs/reference/functions/norm.md +6 -0
- package/docs/reference/functions/not.md +6 -0
- package/docs/reference/functions/nthRoot.md +6 -0
- package/docs/reference/functions/nthRoots.md +6 -0
- package/docs/reference/functions/numeric.md +6 -0
- package/docs/reference/functions/oct.md +6 -0
- package/docs/reference/functions/ones.md +6 -0
- package/docs/reference/functions/or.md +6 -0
- package/docs/reference/functions/parser.md +6 -0
- package/docs/reference/functions/partitionSelect.md +6 -0
- package/docs/reference/functions/permutations.md +6 -0
- package/docs/reference/functions/pickRandom.md +6 -0
- package/docs/reference/functions/pow.md +6 -0
- package/docs/reference/functions/print.md +6 -0
- package/docs/reference/functions/prod.md +6 -0
- package/docs/reference/functions/qr.md +6 -0
- package/docs/reference/functions/quantileSeq.md +6 -0
- package/docs/reference/functions/random.md +6 -0
- package/docs/reference/functions/randomInt.md +6 -0
- package/docs/reference/functions/range.md +6 -0
- package/docs/reference/functions/rationalize.md +7 -1
- package/docs/reference/functions/re.md +6 -0
- package/docs/reference/functions/reshape.md +7 -0
- package/docs/reference/functions/resize.md +6 -0
- package/docs/reference/functions/resolve.md +46 -0
- package/docs/reference/functions/rightArithShift.md +6 -0
- package/docs/reference/functions/rightLogShift.md +6 -0
- package/docs/reference/functions/rotate.md +6 -0
- package/docs/reference/functions/rotationMatrix.md +6 -0
- package/docs/reference/functions/round.md +6 -0
- package/docs/reference/functions/row.md +6 -0
- package/docs/reference/functions/sec.md +6 -0
- package/docs/reference/functions/sech.md +6 -0
- package/docs/reference/functions/setCartesian.md +6 -0
- package/docs/reference/functions/setDifference.md +6 -0
- package/docs/reference/functions/setDistinct.md +6 -0
- package/docs/reference/functions/setIntersect.md +6 -0
- package/docs/reference/functions/setIsSubset.md +6 -0
- package/docs/reference/functions/setMultiplicity.md +6 -0
- package/docs/reference/functions/setPowerset.md +6 -0
- package/docs/reference/functions/setSize.md +6 -0
- package/docs/reference/functions/setSymDifference.md +6 -0
- package/docs/reference/functions/setUnion.md +6 -0
- package/docs/reference/functions/sign.md +6 -0
- package/docs/reference/functions/simplify.md +43 -6
- package/docs/reference/functions/simplifyCore.md +50 -0
- package/docs/reference/functions/sin.md +6 -0
- package/docs/reference/functions/sinh.md +6 -0
- package/docs/reference/functions/size.md +6 -0
- package/docs/reference/functions/slu.md +6 -0
- package/docs/reference/functions/smaller.md +6 -0
- package/docs/reference/functions/smallerEq.md +6 -0
- package/docs/reference/functions/sort.md +6 -0
- package/docs/reference/functions/sqrt.md +6 -0
- package/docs/reference/functions/sqrtm.md +6 -0
- package/docs/reference/functions/square.md +6 -0
- package/docs/reference/functions/squeeze.md +6 -0
- package/docs/reference/functions/std.md +6 -0
- package/docs/reference/functions/stirlingS2.md +6 -0
- package/docs/reference/functions/subset.md +16 -2
- package/docs/reference/functions/subtract.md +6 -0
- package/docs/reference/functions/sum.md +8 -1
- package/docs/reference/functions/symbolicEqual.md +62 -0
- package/docs/reference/functions/tan.md +6 -0
- package/docs/reference/functions/tanh.md +6 -0
- package/docs/reference/functions/to.md +6 -0
- package/docs/reference/functions/trace.md +6 -0
- package/docs/reference/functions/transpose.md +6 -0
- package/docs/reference/functions/typeOf.md +6 -0
- package/docs/reference/functions/unaryMinus.md +6 -0
- package/docs/reference/functions/unaryPlus.md +6 -0
- package/docs/reference/functions/unequal.md +6 -0
- package/docs/reference/functions/usolve.md +6 -0
- package/docs/reference/functions/usolveAll.md +6 -0
- package/docs/reference/functions/variance.md +6 -0
- package/docs/reference/functions/xgcd.md +6 -0
- package/docs/reference/functions/xor.md +6 -0
- package/docs/reference/functions/zeros.md +6 -0
- package/docs/reference/functions.md +6 -1
- package/lib/browser/math.js +6 -6
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +4 -4
- package/lib/cjs/core/function/import.js +3 -3
- package/lib/cjs/core/function/typed.js +2 -2
- 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/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +48 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +6 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +32 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +85 -33
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +102 -64
- package/lib/cjs/entry/pureFunctionsAny.generated.js +68 -64
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +51 -47
- package/lib/cjs/expression/Help.js +4 -0
- package/lib/cjs/expression/Parser.js +1 -1
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +250 -235
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +15 -0
- package/lib/cjs/expression/node/FunctionNode.js +80 -61
- package/lib/cjs/expression/node/IndexNode.js +1 -1
- package/lib/cjs/expression/node/Node.js +3 -3
- package/lib/cjs/expression/node/ObjectNode.js +1 -1
- package/lib/cjs/expression/node/utils/access.js +1 -1
- package/lib/cjs/expression/node/utils/assign.js +1 -1
- package/lib/cjs/expression/parse.js +13 -13
- package/lib/cjs/expression/transform/cumsum.transform.js +57 -0
- package/lib/cjs/expression/transform/sum.transform.js +1 -1
- package/lib/cjs/factoriesAny.js +48 -0
- package/lib/cjs/factoriesNumber.js +33 -1
- package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
- package/lib/cjs/function/algebra/leafCount.js +66 -0
- package/lib/cjs/function/algebra/rationalize.js +24 -41
- package/lib/cjs/function/algebra/resolve.js +106 -0
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +5 -5
- package/lib/cjs/function/algebra/simplify/util.js +171 -33
- package/lib/cjs/function/algebra/simplify.js +562 -207
- package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +68 -44
- 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 +88 -0
- package/lib/cjs/function/arithmetic/ceil.js +3 -3
- package/lib/cjs/function/arithmetic/floor.js +3 -3
- package/lib/cjs/function/arithmetic/invmod.js +1 -1
- package/lib/cjs/function/arithmetic/norm.js +1 -1
- package/lib/cjs/function/arithmetic/round.js +1 -1
- package/lib/cjs/function/matrix/eigs/complexEigs.js +13 -11
- package/lib/cjs/function/matrix/map.js +53 -15
- package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
- package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
- package/lib/cjs/function/matrix/subset.js +15 -5
- package/lib/cjs/function/probability/util/seededRNG.js +2 -2
- package/lib/cjs/function/relational/compareNatural.js +6 -6
- package/lib/cjs/function/statistics/cumsum.js +151 -0
- package/lib/cjs/function/statistics/sum.js +1 -1
- package/lib/cjs/function/string/format.js +1 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/plain/bignumber/index.js +1 -1
- package/lib/cjs/plain/number/combinations.js +18 -6
- package/lib/cjs/type/bignumber/BigNumber.js +2 -2
- package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
- package/lib/cjs/type/boolean.js +2 -2
- package/lib/cjs/type/complex/Complex.js +14 -14
- package/lib/cjs/type/complex/function/complex.js +1 -1
- package/lib/cjs/type/fraction/Fraction.js +6 -6
- package/lib/cjs/type/fraction/function/fraction.js +21 -9
- package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
- package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
- package/lib/cjs/type/number.js +1 -1
- package/lib/cjs/type/string.js +2 -2
- package/lib/cjs/type/unit/Unit.js +8 -8
- package/lib/cjs/utils/collection.js +3 -27
- 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 +6 -6
- 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 +7 -7
- package/lib/cjs/utils/string.js +2 -2
- package/lib/cjs/utils/switch.js +31 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +6 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +4 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +74 -26
- package/lib/esm/entry/impureFunctionsNumber.generated.js +89 -53
- package/lib/esm/entry/pureFunctionsAny.generated.js +54 -49
- package/lib/esm/entry/pureFunctionsNumber.generated.js +36 -31
- package/lib/esm/expression/Help.js +4 -0
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +222 -212
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/node/FunctionNode.js +70 -53
- package/lib/esm/expression/transform/cumsum.transform.js +48 -0
- package/lib/esm/expression/transform/sum.transform.js +1 -1
- package/lib/esm/factoriesAny.js +6 -0
- package/lib/esm/factoriesNumber.js +4 -0
- package/lib/esm/function/algebra/leafCount.js +59 -0
- package/lib/esm/function/algebra/rationalize.js +24 -40
- package/lib/esm/function/algebra/resolve.js +95 -0
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +3 -3
- package/lib/esm/function/algebra/simplify/util.js +170 -34
- package/lib/esm/function/algebra/simplify.js +557 -202
- package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +61 -45
- package/lib/esm/function/algebra/symbolicEqual.js +80 -0
- package/lib/esm/function/matrix/eigs/complexEigs.js +8 -6
- package/lib/esm/function/matrix/map.js +53 -15
- package/lib/esm/function/matrix/subset.js +15 -5
- package/lib/esm/function/statistics/cumsum.js +139 -0
- package/lib/esm/function/statistics/sum.js +1 -1
- package/lib/esm/function/string/format.js +1 -1
- package/lib/esm/plain/number/combinations.js +18 -6
- package/lib/esm/type/fraction/function/fraction.js +20 -8
- package/lib/esm/utils/collection.js +1 -26
- package/lib/esm/utils/switch.js +24 -0
- package/lib/esm/version.js +1 -1
- package/package.json +15 -10
- package/types/index.d.ts +155 -13
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
- package/lib/esm/function/algebra/simplify/resolve.js +0 -67
|
@@ -131,6 +131,18 @@ Object.defineProperty(exports, "createConstantNode", {
|
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
133
|
exports.createCube = exports.createCsch = exports.createCsc = exports.createCoth = exports.createCot = exports.createCosh = exports.createCos = void 0;
|
|
134
|
+
Object.defineProperty(exports, "createCumSum", {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function get() {
|
|
137
|
+
return _cumsum.createCumSum;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
Object.defineProperty(exports, "createCumSumTransform", {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
get: function get() {
|
|
143
|
+
return _cumsumTransform.createCumSumTransform;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
134
146
|
Object.defineProperty(exports, "createDeepEqual", {
|
|
135
147
|
enumerable: true,
|
|
136
148
|
get: function get() {
|
|
@@ -325,7 +337,7 @@ Object.defineProperty(exports, "createLargerEq", {
|
|
|
325
337
|
return _largerEq.createLargerEqNumber;
|
|
326
338
|
}
|
|
327
339
|
});
|
|
328
|
-
exports.
|
|
340
|
+
exports.createLeftShift = exports.createLcm = void 0;
|
|
329
341
|
exports.createLog2 = exports.createLog1p = exports.createLog10 = exports.createLog = exports.createLeftShift = exports.createLcm = void 0;
|
|
330
342
|
Object.defineProperty(exports, "createMad", {
|
|
331
343
|
enumerable: true,
|
|
@@ -579,6 +591,12 @@ Object.defineProperty(exports, "createReplacer", {
|
|
|
579
591
|
return _replacer.createReplacer;
|
|
580
592
|
}
|
|
581
593
|
});
|
|
594
|
+
Object.defineProperty(exports, "createResolve", {
|
|
595
|
+
enumerable: true,
|
|
596
|
+
get: function get() {
|
|
597
|
+
return _resolve.createResolve;
|
|
598
|
+
}
|
|
599
|
+
});
|
|
582
600
|
Object.defineProperty(exports, "createResultSet", {
|
|
583
601
|
enumerable: true,
|
|
584
602
|
get: function get() {
|
|
@@ -617,6 +635,12 @@ Object.defineProperty(exports, "createSimplify", {
|
|
|
617
635
|
return _simplify.createSimplify;
|
|
618
636
|
}
|
|
619
637
|
});
|
|
638
|
+
Object.defineProperty(exports, "createSimplifyCore", {
|
|
639
|
+
enumerable: true,
|
|
640
|
+
get: function get() {
|
|
641
|
+
return _simplifyCore.createSimplifyCore;
|
|
642
|
+
}
|
|
643
|
+
});
|
|
620
644
|
exports.createSinh = exports.createSin = void 0;
|
|
621
645
|
Object.defineProperty(exports, "createSize", {
|
|
622
646
|
enumerable: true,
|
|
@@ -764,8 +788,12 @@ var _help = require("./expression/function/help.js");
|
|
|
764
788
|
|
|
765
789
|
var _chain = require("./type/chain/function/chain.js");
|
|
766
790
|
|
|
791
|
+
var _resolve = require("./function/algebra/resolve.js");
|
|
792
|
+
|
|
767
793
|
var _simplify = require("./function/algebra/simplify.js");
|
|
768
794
|
|
|
795
|
+
var _simplifyCore = require("./function/algebra/simplifyCore.js");
|
|
796
|
+
|
|
769
797
|
var _derivative = require("./function/algebra/derivative.js");
|
|
770
798
|
|
|
771
799
|
var _rationalize = require("./function/algebra/rationalize.js");
|
|
@@ -898,6 +926,8 @@ var _min = require("./function/statistics/min.js");
|
|
|
898
926
|
|
|
899
927
|
var _sum = require("./function/statistics/sum.js");
|
|
900
928
|
|
|
929
|
+
var _cumsum = require("./function/statistics/cumsum.js");
|
|
930
|
+
|
|
901
931
|
var _mean = require("./function/statistics/mean.js");
|
|
902
932
|
|
|
903
933
|
var _median = require("./function/statistics/median.js");
|
|
@@ -934,6 +964,8 @@ var _stdTransform = require("./expression/transform/std.transform.js");
|
|
|
934
964
|
|
|
935
965
|
var _sumTransform = require("./expression/transform/sum.transform.js");
|
|
936
966
|
|
|
967
|
+
var _cumsumTransform = require("./expression/transform/cumsum.transform.js");
|
|
968
|
+
|
|
937
969
|
var _varianceTransform = require("./expression/transform/variance.transform.js");
|
|
938
970
|
|
|
939
971
|
var _clone = require("./function/utils/clone.js");
|
|
@@ -73,7 +73,7 @@ var createQr = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function
|
|
|
73
73
|
* @return {{Q: Array | Matrix, R: Array | Matrix}} Q: the orthogonal
|
|
74
74
|
* matrix and R: the upper triangular matrix
|
|
75
75
|
*/
|
|
76
|
-
return (0, _extends2
|
|
76
|
+
return (0, _extends2.default)(typed(name, {
|
|
77
77
|
DenseMatrix: function DenseMatrix(m) {
|
|
78
78
|
return _denseQR(m);
|
|
79
79
|
},
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createLeafCount = void 0;
|
|
7
|
+
|
|
8
|
+
var _factory = require("../../utils/factory.js");
|
|
9
|
+
|
|
10
|
+
var name = 'leafCount';
|
|
11
|
+
var dependencies = ['parse', 'typed'];
|
|
12
|
+
var createLeafCount = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
13
|
+
var parse = _ref.parse,
|
|
14
|
+
typed = _ref.typed;
|
|
15
|
+
|
|
16
|
+
// This does the real work, but we don't have to recurse through
|
|
17
|
+
// a typed call if we separate it out
|
|
18
|
+
function countLeaves(node) {
|
|
19
|
+
var count = 0;
|
|
20
|
+
node.forEach(function (n) {
|
|
21
|
+
count += countLeaves(n);
|
|
22
|
+
});
|
|
23
|
+
return count || 1;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Gives the number of "leaf nodes" in the parse tree of the given expression
|
|
27
|
+
* A leaf node is one that has no subexpressions, essentially either a
|
|
28
|
+
* symbol or a constant. Note that `5!` has just one leaf, the '5'; the
|
|
29
|
+
* unary factorial operator does not add a leaf. On the other hand,
|
|
30
|
+
* function symbols do add leaves, so `sin(x)/cos(x)` has four leaves.
|
|
31
|
+
*
|
|
32
|
+
* The `simplify()` function should generally not increase the `leafCount()`
|
|
33
|
+
* of an expression, although currently there is no guarantee that it never
|
|
34
|
+
* does so. In many cases, `simplify()` reduces the leaf count.
|
|
35
|
+
*
|
|
36
|
+
* Syntax:
|
|
37
|
+
*
|
|
38
|
+
* leafCount(expr)
|
|
39
|
+
*
|
|
40
|
+
* Examples:
|
|
41
|
+
*
|
|
42
|
+
* math.leafCount('x') // 1
|
|
43
|
+
* math.leafCount(math.parse('a*d-b*c')) // 4
|
|
44
|
+
* math.leafCount('[a,b;c,d][0,1]') // 6
|
|
45
|
+
*
|
|
46
|
+
* See also:
|
|
47
|
+
*
|
|
48
|
+
* simplify
|
|
49
|
+
*
|
|
50
|
+
* @param {Node|string} expr The expression to count the leaves of
|
|
51
|
+
*
|
|
52
|
+
* @return {number} The number of leaves of `expr`
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
return typed(name, {
|
|
58
|
+
string: function string(expr) {
|
|
59
|
+
return this(parse(expr));
|
|
60
|
+
},
|
|
61
|
+
Node: function Node(expr) {
|
|
62
|
+
return countLeaves(expr);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
exports.createLeafCount = createLeafCount;
|
|
@@ -11,10 +11,8 @@ var _factory = require("../../utils/factory.js");
|
|
|
11
11
|
|
|
12
12
|
var _simplifyConstant = require("./simplify/simplifyConstant.js");
|
|
13
13
|
|
|
14
|
-
var _simplifyCore = require("./simplify/simplifyCore.js");
|
|
15
|
-
|
|
16
14
|
var name = 'rationalize';
|
|
17
|
-
var dependencies = ['config', 'typed', 'equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'parse', 'simplify', '?bignumber', '?fraction', 'mathWithTransform', 'matrix', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode', 'ParenthesisNode'];
|
|
15
|
+
var dependencies = ['config', 'typed', 'equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'parse', 'simplifyCore', 'simplify', '?bignumber', '?fraction', 'mathWithTransform', 'matrix', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'SymbolNode', 'ParenthesisNode'];
|
|
18
16
|
var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
19
17
|
var config = _ref.config,
|
|
20
18
|
typed = _ref.typed,
|
|
@@ -26,6 +24,7 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
26
24
|
divide = _ref.divide,
|
|
27
25
|
pow = _ref.pow,
|
|
28
26
|
parse = _ref.parse,
|
|
27
|
+
simplifyCore = _ref.simplifyCore,
|
|
29
28
|
simplify = _ref.simplify,
|
|
30
29
|
fraction = _ref.fraction,
|
|
31
30
|
bignumber = _ref.bignumber,
|
|
@@ -56,23 +55,6 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
56
55
|
OperatorNode: OperatorNode,
|
|
57
56
|
SymbolNode: SymbolNode
|
|
58
57
|
});
|
|
59
|
-
var simplifyCore = (0, _simplifyCore.createSimplifyCore)({
|
|
60
|
-
equal: equal,
|
|
61
|
-
isZero: isZero,
|
|
62
|
-
add: add,
|
|
63
|
-
subtract: subtract,
|
|
64
|
-
multiply: multiply,
|
|
65
|
-
divide: divide,
|
|
66
|
-
pow: pow,
|
|
67
|
-
AccessorNode: AccessorNode,
|
|
68
|
-
ArrayNode: ArrayNode,
|
|
69
|
-
ConstantNode: ConstantNode,
|
|
70
|
-
FunctionNode: FunctionNode,
|
|
71
|
-
IndexNode: IndexNode,
|
|
72
|
-
ObjectNode: ObjectNode,
|
|
73
|
-
OperatorNode: OperatorNode,
|
|
74
|
-
ParenthesisNode: ParenthesisNode
|
|
75
|
-
});
|
|
76
58
|
/**
|
|
77
59
|
* Transform a rationalizable expression in a rational fraction.
|
|
78
60
|
* If rational fraction is one variable polynomial then converts
|
|
@@ -116,13 +98,13 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
116
98
|
* @param {Object|boolean} optional scope of expression or true for already evaluated rational expression at input
|
|
117
99
|
* @param {Boolean} detailed optional True if return an object, false if return expression node (default)
|
|
118
100
|
*
|
|
119
|
-
* @return {Object | Node} The rational polynomial of `expr` or
|
|
120
|
-
* {
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
101
|
+
* @return {Object | Node} The rational polynomial of `expr` or an object
|
|
102
|
+
* `{expression, numerator, denominator, variables, coefficients}`, where
|
|
103
|
+
* `expression` is a `Node` with the node simplified expression,
|
|
104
|
+
* `numerator` is a `Node` with the simplified numerator of expression,
|
|
105
|
+
* `denominator` is a `Node` or `boolean` with the simplified denominator or `false` (if there is no denominator),
|
|
106
|
+
* `variables` is an array with variable names,
|
|
107
|
+
* and `coefficients` is an array with coefficients of numerator sorted by increased exponent
|
|
126
108
|
* {Expression Node} node simplified expression
|
|
127
109
|
*
|
|
128
110
|
*/
|
|
@@ -155,6 +137,12 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
155
137
|
var polyRet = polynomial(expr, scope, true, setRules.firstRules); // Check if expression is a rationalizable polynomial
|
|
156
138
|
|
|
157
139
|
var nVars = polyRet.variables.length;
|
|
140
|
+
var noExactFractions = {
|
|
141
|
+
exactFractions: false
|
|
142
|
+
};
|
|
143
|
+
var withExactFractions = {
|
|
144
|
+
exactFractions: true
|
|
145
|
+
};
|
|
158
146
|
expr = polyRet.expression;
|
|
159
147
|
|
|
160
148
|
if (nVars >= 1) {
|
|
@@ -165,18 +153,16 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
165
153
|
|
|
166
154
|
var rules;
|
|
167
155
|
var eDistrDiv = true;
|
|
168
|
-
var redoInic = false;
|
|
169
|
-
expr = simplify(expr, setRules.firstRules, {}, {
|
|
170
|
-
exactFractions: false
|
|
171
|
-
}); // Apply the initial rules, including succ div rules
|
|
156
|
+
var redoInic = false; // Apply the initial rules, including succ div rules:
|
|
172
157
|
|
|
158
|
+
expr = simplify(expr, setRules.firstRules, {}, noExactFractions);
|
|
173
159
|
var s;
|
|
174
160
|
|
|
175
161
|
while (true) {
|
|
176
|
-
//
|
|
162
|
+
// Alternate applying successive division rules and distr.div.rules
|
|
163
|
+
// until there are no more changes:
|
|
177
164
|
rules = eDistrDiv ? setRules.distrDivRules : setRules.sucDivRules;
|
|
178
|
-
expr = simplify(expr, rules);
|
|
179
|
-
|
|
165
|
+
expr = simplify(expr, rules, {}, withExactFractions);
|
|
180
166
|
eDistrDiv = !eDistrDiv; // Swap between Distr.Div and Succ. Div. Rules
|
|
181
167
|
|
|
182
168
|
s = expr.toString();
|
|
@@ -191,14 +177,11 @@ var createRationalize = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
|
|
|
191
177
|
|
|
192
178
|
if (redoInic) {
|
|
193
179
|
// Apply first rules again without succ div rules (if there are changes)
|
|
194
|
-
expr = simplify(expr, setRules.firstRulesAgain, {},
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
180
|
+
expr = simplify(expr, setRules.firstRulesAgain, {}, noExactFractions);
|
|
181
|
+
} // Apply final rules:
|
|
182
|
+
|
|
198
183
|
|
|
199
|
-
expr = simplify(expr, setRules.finalRules, {},
|
|
200
|
-
exactFractions: false
|
|
201
|
-
}); // Apply final rules
|
|
184
|
+
expr = simplify(expr, setRules.finalRules, {}, noExactFractions);
|
|
202
185
|
} // NVars >= 1
|
|
203
186
|
|
|
204
187
|
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createResolve = void 0;
|
|
7
|
+
|
|
8
|
+
var _map = require("../../utils/map.js");
|
|
9
|
+
|
|
10
|
+
var _is = require("../../utils/is.js");
|
|
11
|
+
|
|
12
|
+
var _factory = require("../../utils/factory.js");
|
|
13
|
+
|
|
14
|
+
var name = 'resolve';
|
|
15
|
+
var dependencies = ['parse', 'ConstantNode', 'FunctionNode', 'OperatorNode', 'ParenthesisNode'];
|
|
16
|
+
var createResolve = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
17
|
+
var parse = _ref.parse,
|
|
18
|
+
ConstantNode = _ref.ConstantNode,
|
|
19
|
+
FunctionNode = _ref.FunctionNode,
|
|
20
|
+
OperatorNode = _ref.OperatorNode,
|
|
21
|
+
ParenthesisNode = _ref.ParenthesisNode;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* resolve(expr, scope) replaces variable nodes with their scoped values
|
|
25
|
+
*
|
|
26
|
+
* Syntax:
|
|
27
|
+
*
|
|
28
|
+
* resolve(expr, scope)
|
|
29
|
+
*
|
|
30
|
+
* Examples:
|
|
31
|
+
*
|
|
32
|
+
* math.resolve('x + y', {x:1, y:2}) // Node {1 + 2}
|
|
33
|
+
* math.resolve(math.parse('x+y'), {x:1, y:2}) // Node {1 + 2}
|
|
34
|
+
* math.simplify('x+y', {x:2, y:'x+x'}).toString() // "6"
|
|
35
|
+
*
|
|
36
|
+
* See also:
|
|
37
|
+
*
|
|
38
|
+
* simplify, evaluate
|
|
39
|
+
*
|
|
40
|
+
* @param {Node} node
|
|
41
|
+
* The expression tree to be simplified
|
|
42
|
+
* @param {Object} scope
|
|
43
|
+
* Scope specifying variables to be resolved
|
|
44
|
+
* @return {Node} Returns `node` with variables recursively substituted.
|
|
45
|
+
* @throws {ReferenceError}
|
|
46
|
+
* If there is a cyclic dependency among the variables in `scope`,
|
|
47
|
+
* resolution is impossible and a ReferenceError is thrown.
|
|
48
|
+
*/
|
|
49
|
+
function resolve(node, scope) {
|
|
50
|
+
var within = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set();
|
|
51
|
+
|
|
52
|
+
// note `within`:
|
|
53
|
+
// `within` is not documented, since it is for internal cycle
|
|
54
|
+
// detection only
|
|
55
|
+
if (!scope) {
|
|
56
|
+
return node;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!(0, _map.isMap)(scope)) {
|
|
60
|
+
scope = (0, _map.createMap)(scope);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if ((0, _is.isSymbolNode)(node)) {
|
|
64
|
+
if (within.has(node.name)) {
|
|
65
|
+
var variables = Array.from(within).join(', ');
|
|
66
|
+
throw new ReferenceError("recursive loop of variable definitions among {".concat(variables, "}"));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
var value = scope.get(node.name);
|
|
70
|
+
|
|
71
|
+
if ((0, _is.isNode)(value)) {
|
|
72
|
+
var nextWithin = new Set(within);
|
|
73
|
+
nextWithin.add(node.name);
|
|
74
|
+
return resolve(value, scope, nextWithin);
|
|
75
|
+
} else if (typeof value === 'number') {
|
|
76
|
+
return parse(String(value));
|
|
77
|
+
} else if (value !== undefined) {
|
|
78
|
+
return new ConstantNode(value);
|
|
79
|
+
} else {
|
|
80
|
+
return node;
|
|
81
|
+
}
|
|
82
|
+
} else if ((0, _is.isOperatorNode)(node)) {
|
|
83
|
+
var args = node.args.map(function (arg) {
|
|
84
|
+
return resolve(arg, scope, within);
|
|
85
|
+
});
|
|
86
|
+
return new OperatorNode(node.op, node.fn, args, node.implicit);
|
|
87
|
+
} else if ((0, _is.isParenthesisNode)(node)) {
|
|
88
|
+
return new ParenthesisNode(resolve(node.content, scope, within));
|
|
89
|
+
} else if ((0, _is.isFunctionNode)(node)) {
|
|
90
|
+
var _args = node.args.map(function (arg) {
|
|
91
|
+
return resolve(arg, scope, within);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
return new FunctionNode(node.name, _args);
|
|
95
|
+
} // Otherwise just recursively resolve any children (might also work
|
|
96
|
+
// for some of the above special cases)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
return node.map(function (child) {
|
|
100
|
+
return resolve(child, scope, within);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return resolve;
|
|
105
|
+
});
|
|
106
|
+
exports.createResolve = createResolve;
|
|
@@ -17,7 +17,7 @@ var _util = require("./util.js");
|
|
|
17
17
|
|
|
18
18
|
var _noop = require("../../../utils/noop.js");
|
|
19
19
|
|
|
20
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it
|
|
20
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
21
21
|
|
|
22
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
23
|
|
|
@@ -348,7 +348,7 @@ var createSimplifyConstant = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
348
348
|
return node;
|
|
349
349
|
|
|
350
350
|
case 'ConstantNode':
|
|
351
|
-
switch ((0, _typeof2
|
|
351
|
+
switch ((0, _typeof2.default)(node.value)) {
|
|
352
352
|
case 'number':
|
|
353
353
|
return _toNumber(node.value, options);
|
|
354
354
|
|
|
@@ -419,13 +419,13 @@ var createSimplifyConstant = /* #__PURE__ */(0, _factory.factory)(name, dependen
|
|
|
419
419
|
} else {
|
|
420
420
|
res = makeNode(_args);
|
|
421
421
|
}
|
|
422
|
-
} else if (isAssociative(node)) {
|
|
423
|
-
_args = allChildren(node);
|
|
422
|
+
} else if (isAssociative(node, options.context)) {
|
|
423
|
+
_args = allChildren(node, options.context);
|
|
424
424
|
_args = _args.map(function (arg) {
|
|
425
425
|
return foldFraction(arg, options);
|
|
426
426
|
});
|
|
427
427
|
|
|
428
|
-
if (isCommutative(fn)) {
|
|
428
|
+
if (isCommutative(fn, options.context)) {
|
|
429
429
|
// commutative binary operator
|
|
430
430
|
var consts = [];
|
|
431
431
|
var vars = [];
|