mathjs 8.1.0 → 12.2.1
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/CONTRIBUTING.md +11 -10
- package/HISTORY.md +772 -1
- package/NOTICE +1 -1
- package/README.md +33 -16
- package/bin/cli.js +12 -12
- package/lib/browser/math.js +2 -40
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +40 -61
- package/lib/cjs/core/config.js +2 -3
- package/lib/cjs/core/create.js +31 -46
- package/lib/cjs/core/function/config.js +15 -20
- package/lib/cjs/core/function/import.js +28 -82
- package/lib/cjs/core/function/typed.js +71 -49
- package/lib/cjs/defaultInstance.js +4 -12
- package/lib/cjs/entry/allFactoriesAny.js +5 -10
- package/lib/cjs/entry/allFactoriesNumber.js +5 -10
- package/lib/cjs/entry/configReadonly.js +4 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +9 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +7 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +39 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFreqz.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +9 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +3 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +31 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +5 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +5 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesLyap.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +9 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +3 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +5 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPrintTransform.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +17 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +17 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +4 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSchur.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +19 -21
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +3 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSolveODE.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +5 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +9 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +7 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSylvester.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeta.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesZpk2tf.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +1150 -1256
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +7 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +15 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +17 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +19 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +7 -18
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesZeta.generated.js +41 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +627 -760
- package/lib/cjs/entry/impureFunctionsAny.generated.js +446 -323
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +299 -260
- package/lib/cjs/entry/mainAny.js +8 -24
- package/lib/cjs/entry/mainNumber.js +8 -24
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1038 -1058
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +296 -407
- package/lib/cjs/entry/typeChecks.js +18 -13
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +10 -30
- package/lib/cjs/expression/Parser.js +37 -43
- package/lib/cjs/expression/embeddedDocs/constants/Infinity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG10E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG2E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/NaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT1_2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/e.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/false.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/i.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/null.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/phi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/pi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/tau.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/true.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/version.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/bignumber.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/boolean.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/complex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/createUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +5 -6
- package/lib/cjs/expression/embeddedDocs/construction/index.js +3 -4
- package/lib/cjs/expression/embeddedDocs/construction/matrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/number.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/sparse.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/splitUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/string.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/unit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/config.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/import.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/typed.js +3 -4
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +272 -440
- package/lib/cjs/expression/embeddedDocs/function/algebra/derivative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lup.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lusolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lyap.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/qr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/rationalize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/schur.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/slu.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/sylvester.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/abs.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/add.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cbrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/ceil.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cube.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/divide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotDivide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotMultiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotPow.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/exp.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm1.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/fix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/floor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/gcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/lcm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log1p.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/mod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/multiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/norm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoots.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/pow.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/round.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sign.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrtm.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/square.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/subtract.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryMinus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryPlus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/xgcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitAnd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitNot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitOr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitXor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/leftShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightArithShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightLogShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/bellNumbers.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/catalan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/composition.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/arg.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/conj.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/im.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/re.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/expression/help.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/distance.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/intersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/and.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/not.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/or.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/xor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/concat.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/count.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/cross.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ctranspose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/det.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diag.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/dot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/filter.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/flatten.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/getMatrixDataType.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/identity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/inv.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/ones.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/partitionSelect.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/pinv.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/range.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/reshape.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/resize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotate.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotationMatrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/size.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/squeeze.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/trace.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/transpose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/zeros.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/numeric/solveODE.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/combinations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/combinationsWithRep.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/distribution.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/factorial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/gamma.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/kldivergence.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/lgamma.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/multinomial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/permutations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/pickRandom.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/random.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/randomInt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compare.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareNatural.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/deepEqual.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equalText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/larger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/largerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smaller.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smallerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/unequal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setCartesian.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/set/setDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setDistinct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIntersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIsSubset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setMultiplicity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setPowerset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSymDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setUnion.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/signal/freqz.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/signal/zpk2tf.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/special/erf.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/corr.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/mad.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/max.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mean.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/median.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/min.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mode.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/prod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/std.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/sum.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/variance.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/coth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/units/to.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/bin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/format.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hasNumericValue.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isInteger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNegative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNumeric.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPositive.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPrime.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isZero.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/numeric.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/oct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/print.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/typeOf.js +2 -3
- package/lib/cjs/expression/function/compile.js +3 -8
- package/lib/cjs/expression/function/evaluate.js +8 -12
- package/lib/cjs/expression/function/help.js +5 -16
- package/lib/cjs/expression/function/parser.js +8 -12
- package/lib/cjs/expression/keywords.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +193 -180
- package/lib/cjs/expression/node/ArrayNode.js +199 -177
- package/lib/cjs/expression/node/AssignmentNode.js +301 -288
- package/lib/cjs/expression/node/BlockNode.js +207 -183
- package/lib/cjs/expression/node/ConditionalNode.js +224 -207
- package/lib/cjs/expression/node/ConstantNode.js +194 -181
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +257 -218
- package/lib/cjs/expression/node/FunctionNode.js +424 -367
- package/lib/cjs/expression/node/IndexNode.js +241 -268
- package/lib/cjs/expression/node/Node.js +385 -393
- package/lib/cjs/expression/node/ObjectNode.js +200 -194
- package/lib/cjs/expression/node/OperatorNode.js +447 -470
- package/lib/cjs/expression/node/ParenthesisNode.js +179 -156
- package/lib/cjs/expression/node/RangeNode.js +249 -253
- package/lib/cjs/expression/node/RelationalNode.js +218 -204
- package/lib/cjs/expression/node/SymbolNode.js +210 -191
- package/lib/cjs/expression/node/utils/access.js +3 -8
- package/lib/cjs/expression/node/utils/assign.js +11 -11
- package/lib/cjs/expression/operators.js +116 -42
- package/lib/cjs/expression/parse.js +292 -412
- package/lib/cjs/expression/transform/and.transform.js +39 -0
- package/lib/cjs/expression/transform/apply.transform.js +6 -13
- package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
- package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
- package/lib/cjs/expression/transform/column.transform.js +8 -15
- package/lib/cjs/expression/transform/concat.transform.js +5 -13
- package/lib/cjs/expression/transform/cumsum.transform.js +49 -0
- package/lib/cjs/expression/transform/diff.transform.js +9 -25
- package/lib/cjs/expression/transform/filter.transform.js +8 -29
- package/lib/cjs/expression/transform/forEach.transform.js +7 -30
- package/lib/cjs/expression/transform/index.transform.js +14 -17
- package/lib/cjs/expression/transform/map.transform.js +8 -31
- package/lib/cjs/expression/transform/max.transform.js +8 -24
- package/lib/cjs/expression/transform/mean.transform.js +7 -23
- package/lib/cjs/expression/transform/min.transform.js +8 -24
- package/lib/cjs/expression/transform/or.transform.js +37 -0
- package/lib/cjs/expression/transform/print.transform.js +46 -0
- package/lib/cjs/expression/transform/quantileSeq.transform.js +71 -0
- package/lib/cjs/expression/transform/range.transform.js +16 -18
- package/lib/cjs/expression/transform/row.transform.js +8 -15
- package/lib/cjs/expression/transform/std.transform.js +10 -24
- package/lib/cjs/expression/transform/subset.transform.js +10 -11
- package/lib/cjs/expression/transform/sum.transform.js +8 -24
- package/lib/cjs/expression/transform/utils/compileInlineExpression.js +6 -9
- package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +22 -0
- package/lib/cjs/expression/transform/variance.transform.js +11 -27
- package/lib/cjs/factoriesAny.js +877 -915
- package/lib/cjs/factoriesNumber.js +443 -495
- package/lib/cjs/function/algebra/decomposition/lup.js +140 -178
- package/lib/cjs/function/algebra/decomposition/qr.js +44 -61
- package/lib/cjs/function/algebra/decomposition/schur.js +74 -0
- package/lib/cjs/function/algebra/decomposition/slu.js +20 -25
- package/lib/cjs/function/algebra/derivative.js +75 -180
- package/lib/cjs/function/algebra/leafCount.js +58 -0
- package/lib/cjs/function/algebra/lyap.js +56 -0
- package/lib/cjs/function/algebra/polynomialRoot.js +138 -0
- package/lib/cjs/function/algebra/rationalize.js +238 -294
- package/lib/cjs/function/algebra/resolve.js +131 -0
- package/lib/cjs/function/algebra/simplify/util.js +151 -74
- package/lib/cjs/function/algebra/simplify/wildcards.js +38 -0
- package/lib/cjs/function/algebra/simplify.js +855 -419
- package/lib/cjs/function/algebra/simplifyConstant.js +488 -0
- package/lib/cjs/function/algebra/simplifyCore.js +299 -0
- package/lib/cjs/function/algebra/solver/lsolve.js +33 -41
- package/lib/cjs/function/algebra/solver/lsolveAll.js +42 -59
- package/lib/cjs/function/algebra/solver/lusolve.js +17 -28
- package/lib/cjs/function/algebra/solver/usolve.js +37 -46
- package/lib/cjs/function/algebra/solver/usolveAll.js +46 -59
- package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
- package/lib/cjs/function/algebra/sparse/csAmd.js +252 -307
- package/lib/cjs/function/algebra/sparse/csChol.js +74 -91
- package/lib/cjs/function/algebra/sparse/csCounts.js +39 -58
- package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
- package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
- package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
- package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
- package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
- package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
- package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
- package/lib/cjs/function/algebra/sparse/csLeaf.js +13 -16
- package/lib/cjs/function/algebra/sparse/csLu.js +73 -95
- package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
- package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
- package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
- package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +34 -43
- package/lib/cjs/function/algebra/sparse/csSqr.js +64 -89
- package/lib/cjs/function/algebra/sparse/csSymperm.js +35 -47
- package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
- package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
- package/lib/cjs/function/algebra/sylvester.js +126 -0
- package/lib/cjs/function/algebra/symbolicEqual.js +64 -0
- package/lib/cjs/function/arithmetic/abs.js +9 -22
- package/lib/cjs/function/arithmetic/add.js +69 -121
- package/lib/cjs/function/arithmetic/addScalar.js +17 -16
- package/lib/cjs/function/arithmetic/cbrt.js +24 -40
- package/lib/cjs/function/arithmetic/ceil.js +102 -86
- package/lib/cjs/function/arithmetic/cube.js +7 -17
- package/lib/cjs/function/arithmetic/divide.js +16 -21
- package/lib/cjs/function/arithmetic/divideScalar.js +7 -25
- package/lib/cjs/function/arithmetic/dotDivide.js +32 -82
- package/lib/cjs/function/arithmetic/dotMultiply.js +25 -75
- package/lib/cjs/function/arithmetic/dotPow.js +38 -79
- package/lib/cjs/function/arithmetic/exp.js +10 -19
- package/lib/cjs/function/arithmetic/expm1.js +13 -18
- package/lib/cjs/function/arithmetic/fix.js +75 -41
- package/lib/cjs/function/arithmetic/floor.js +107 -85
- package/lib/cjs/function/arithmetic/gcd.js +97 -90
- package/lib/cjs/function/arithmetic/hypot.js +17 -23
- package/lib/cjs/function/arithmetic/invmod.js +64 -0
- package/lib/cjs/function/arithmetic/lcm.js +37 -90
- package/lib/cjs/function/arithmetic/log.js +15 -22
- package/lib/cjs/function/arithmetic/log10.js +9 -13
- package/lib/cjs/function/arithmetic/log1p.js +18 -21
- package/lib/cjs/function/arithmetic/log2.js +10 -14
- package/lib/cjs/function/arithmetic/mod.js +62 -92
- package/lib/cjs/function/arithmetic/multiply.js +352 -371
- package/lib/cjs/function/arithmetic/multiplyScalar.js +4 -16
- package/lib/cjs/function/arithmetic/norm.js +45 -78
- package/lib/cjs/function/arithmetic/nthRoot.js +98 -128
- package/lib/cjs/function/arithmetic/nthRoots.js +13 -22
- package/lib/cjs/function/arithmetic/pow.js +52 -51
- package/lib/cjs/function/arithmetic/round.js +122 -100
- package/lib/cjs/function/arithmetic/sign.js +20 -19
- package/lib/cjs/function/arithmetic/sqrt.js +10 -18
- package/lib/cjs/function/arithmetic/square.js +8 -17
- package/lib/cjs/function/arithmetic/subtract.js +40 -135
- package/lib/cjs/function/arithmetic/subtractScalar.js +52 -0
- package/lib/cjs/function/arithmetic/unaryMinus.js +17 -24
- package/lib/cjs/function/arithmetic/unaryPlus.js +10 -14
- package/lib/cjs/function/arithmetic/xgcd.js +14 -21
- package/lib/cjs/function/bitwise/bitAnd.js +24 -75
- package/lib/cjs/function/bitwise/bitNot.js +8 -13
- package/lib/cjs/function/bitwise/bitOr.js +25 -76
- package/lib/cjs/function/bitwise/bitXor.js +24 -75
- package/lib/cjs/function/bitwise/leftShift.js +73 -101
- package/lib/cjs/function/bitwise/rightArithShift.js +74 -102
- package/lib/cjs/function/bitwise/rightLogShift.js +73 -98
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +33 -0
- package/lib/cjs/function/combinatorics/bellNumbers.js +8 -14
- package/lib/cjs/function/combinatorics/catalan.js +8 -13
- package/lib/cjs/function/combinatorics/composition.js +8 -13
- package/lib/cjs/function/combinatorics/stirlingS2.js +49 -31
- package/lib/cjs/function/complex/arg.js +8 -10
- package/lib/cjs/function/complex/conj.js +8 -14
- package/lib/cjs/function/complex/im.js +9 -12
- package/lib/cjs/function/complex/re.js +8 -14
- package/lib/cjs/function/geometry/distance.js +44 -91
- package/lib/cjs/function/geometry/intersect.js +100 -102
- package/lib/cjs/function/logical/and.js +83 -100
- package/lib/cjs/function/logical/not.js +15 -14
- package/lib/cjs/function/logical/or.js +29 -77
- package/lib/cjs/function/logical/xor.js +28 -76
- package/lib/cjs/function/matrix/apply.js +4 -25
- package/lib/cjs/function/matrix/column.js +9 -14
- package/lib/cjs/function/matrix/concat.js +11 -56
- package/lib/cjs/function/matrix/count.js +43 -0
- package/lib/cjs/function/matrix/cross.js +6 -14
- package/lib/cjs/function/matrix/ctranspose.js +4 -8
- package/lib/cjs/function/matrix/det.js +48 -57
- package/lib/cjs/function/matrix/diag.js +23 -38
- package/lib/cjs/function/matrix/diff.js +23 -40
- package/lib/cjs/function/matrix/dot.js +24 -49
- package/lib/cjs/function/matrix/eigs/complexEigs.js +744 -0
- package/lib/cjs/function/matrix/eigs/realSymmetric.js +303 -0
- package/lib/cjs/function/matrix/eigs.js +271 -379
- package/lib/cjs/function/matrix/expm.js +28 -45
- package/lib/cjs/function/matrix/fft.js +152 -0
- package/lib/cjs/function/matrix/filter.js +4 -20
- package/lib/cjs/function/matrix/flatten.js +8 -14
- package/lib/cjs/function/matrix/forEach.js +6 -24
- package/lib/cjs/function/matrix/getMatrixDataType.js +3 -9
- package/lib/cjs/function/matrix/identity.js +16 -33
- package/lib/cjs/function/matrix/ifft.js +43 -0
- package/lib/cjs/function/matrix/inv.js +22 -47
- package/lib/cjs/function/matrix/kron.js +5 -13
- package/lib/cjs/function/matrix/map.js +23 -28
- package/lib/cjs/function/matrix/matrixFromColumns.js +106 -0
- package/lib/cjs/function/matrix/matrixFromFunction.js +78 -0
- package/lib/cjs/function/matrix/matrixFromRows.js +94 -0
- package/lib/cjs/function/matrix/ones.js +12 -26
- package/lib/cjs/function/matrix/partitionSelect.js +24 -32
- package/lib/cjs/function/matrix/pinv.js +190 -0
- package/lib/cjs/function/matrix/range.js +45 -148
- package/lib/cjs/function/matrix/reshape.js +9 -15
- package/lib/cjs/function/matrix/resize.js +8 -31
- package/lib/cjs/function/matrix/rotate.js +9 -22
- package/lib/cjs/function/matrix/rotationMatrix.js +16 -36
- package/lib/cjs/function/matrix/row.js +9 -14
- package/lib/cjs/function/matrix/size.js +5 -11
- package/lib/cjs/function/matrix/sort.js +9 -23
- package/lib/cjs/function/matrix/sqrtm.js +18 -31
- package/lib/cjs/function/matrix/squeeze.js +5 -11
- package/lib/cjs/function/matrix/subset.js +114 -66
- package/lib/cjs/function/matrix/trace.js +24 -39
- package/lib/cjs/function/matrix/transpose.js +81 -99
- package/lib/cjs/function/matrix/zeros.js +13 -26
- package/lib/cjs/function/numeric/solveODE.js +314 -0
- package/lib/cjs/function/probability/combinations.js +4 -14
- package/lib/cjs/function/probability/combinationsWithRep.js +2 -19
- package/lib/cjs/function/probability/factorial.js +8 -13
- package/lib/cjs/function/probability/gamma.js +52 -68
- package/lib/cjs/function/probability/kldivergence.js +16 -26
- package/lib/cjs/function/probability/lgamma.js +141 -0
- package/lib/cjs/function/probability/multinomial.js +8 -14
- package/lib/cjs/function/probability/permutations.js +7 -21
- package/lib/cjs/function/probability/pickRandom.js +12 -34
- package/lib/cjs/function/probability/random.js +12 -25
- package/lib/cjs/function/probability/randomInt.js +5 -15
- package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
- package/lib/cjs/function/probability/util/seededRNG.js +7 -10
- package/lib/cjs/function/relational/compare.js +35 -90
- package/lib/cjs/function/relational/compareNatural.js +75 -102
- package/lib/cjs/function/relational/compareText.js +18 -55
- package/lib/cjs/function/relational/compareUnits.js +20 -0
- package/lib/cjs/function/relational/deepEqual.js +4 -11
- package/lib/cjs/function/relational/equal.js +30 -101
- package/lib/cjs/function/relational/equalScalar.js +10 -20
- package/lib/cjs/function/relational/equalText.js +4 -8
- package/lib/cjs/function/relational/larger.js +32 -87
- package/lib/cjs/function/relational/largerEq.js +32 -87
- package/lib/cjs/function/relational/smaller.js +32 -87
- package/lib/cjs/function/relational/smallerEq.js +32 -87
- package/lib/cjs/function/relational/unequal.js +31 -103
- package/lib/cjs/function/set/setCartesian.js +14 -21
- package/lib/cjs/function/set/setDifference.js +11 -22
- package/lib/cjs/function/set/setDistinct.js +11 -20
- package/lib/cjs/function/set/setIntersect.js +11 -20
- package/lib/cjs/function/set/setIsSubset.js +7 -17
- package/lib/cjs/function/set/setMultiplicity.js +6 -14
- package/lib/cjs/function/set/setPowerset.js +12 -23
- package/lib/cjs/function/set/setSize.js +6 -12
- package/lib/cjs/function/set/setSymDifference.js +7 -13
- package/lib/cjs/function/set/setUnion.js +8 -14
- package/lib/cjs/function/signal/freqz.js +116 -0
- package/lib/cjs/function/signal/zpk2tf.js +94 -0
- package/lib/cjs/function/special/erf.js +20 -31
- package/lib/cjs/function/special/zeta.js +170 -0
- package/lib/cjs/function/statistics/corr.js +94 -0
- package/lib/cjs/function/statistics/cumsum.js +127 -0
- package/lib/cjs/function/statistics/mad.js +6 -15
- package/lib/cjs/function/statistics/max.js +12 -22
- package/lib/cjs/function/statistics/mean.js +8 -19
- package/lib/cjs/function/statistics/median.js +15 -24
- package/lib/cjs/function/statistics/min.js +11 -21
- package/lib/cjs/function/statistics/mode.js +6 -19
- package/lib/cjs/function/statistics/prod.js +11 -17
- package/lib/cjs/function/statistics/quantileSeq.js +108 -209
- package/lib/cjs/function/statistics/std.js +13 -12
- package/lib/cjs/function/statistics/sum.js +12 -20
- package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
- package/lib/cjs/function/statistics/variance.js +14 -28
- package/lib/cjs/function/string/bin.js +21 -4
- package/lib/cjs/function/string/format.js +40 -28
- package/lib/cjs/function/string/hex.js +22 -6
- package/lib/cjs/function/string/oct.js +24 -6
- package/lib/cjs/function/string/print.js +7 -13
- package/lib/cjs/function/trigonometry/acos.js +8 -16
- package/lib/cjs/function/trigonometry/acosh.js +6 -18
- package/lib/cjs/function/trigonometry/acot.js +9 -19
- package/lib/cjs/function/trigonometry/acoth.js +9 -19
- package/lib/cjs/function/trigonometry/acsc.js +11 -22
- package/lib/cjs/function/trigonometry/acsch.js +7 -16
- package/lib/cjs/function/trigonometry/asec.js +11 -21
- package/lib/cjs/function/trigonometry/asech.js +9 -21
- package/lib/cjs/function/trigonometry/asin.js +9 -18
- package/lib/cjs/function/trigonometry/asinh.js +6 -16
- package/lib/cjs/function/trigonometry/atan.js +7 -17
- package/lib/cjs/function/trigonometry/atan2.js +36 -80
- package/lib/cjs/function/trigonometry/atanh.js +8 -19
- package/lib/cjs/function/trigonometry/cos.js +12 -25
- package/lib/cjs/function/trigonometry/cosh.js +7 -26
- package/lib/cjs/function/trigonometry/cot.js +10 -21
- package/lib/cjs/function/trigonometry/coth.js +7 -23
- package/lib/cjs/function/trigonometry/csc.js +12 -23
- package/lib/cjs/function/trigonometry/csch.js +7 -23
- package/lib/cjs/function/trigonometry/sec.js +12 -23
- package/lib/cjs/function/trigonometry/sech.js +7 -23
- package/lib/cjs/function/trigonometry/sin.js +12 -26
- package/lib/cjs/function/trigonometry/sinh.js +7 -27
- package/lib/cjs/function/trigonometry/tan.js +12 -26
- package/lib/cjs/function/trigonometry/tanh.js +7 -27
- package/lib/cjs/function/trigonometry/trigUnit.js +20 -0
- package/lib/cjs/function/unit/to.js +17 -53
- package/lib/cjs/function/utils/clone.js +3 -8
- package/lib/cjs/function/utils/hasNumericValue.js +8 -8
- package/lib/cjs/function/utils/isInteger.js +9 -12
- package/lib/cjs/function/utils/isNaN.js +3 -9
- package/lib/cjs/function/utils/isNegative.js +13 -15
- package/lib/cjs/function/utils/isNumeric.js +8 -11
- package/lib/cjs/function/utils/isPositive.js +13 -15
- package/lib/cjs/function/utils/isPrime.js +63 -19
- package/lib/cjs/function/utils/isZero.js +23 -25
- package/lib/cjs/function/utils/numeric.js +16 -18
- package/lib/cjs/function/utils/typeOf.js +40 -51
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/json/replacer.js +2 -6
- package/lib/cjs/json/reviver.js +2 -8
- package/lib/cjs/number.js +0 -2
- package/lib/cjs/plain/bignumber/arithmetic.js +2 -12
- package/lib/cjs/plain/bignumber/index.js +1 -8
- package/lib/cjs/plain/number/arithmetic.js +47 -131
- package/lib/cjs/plain/number/bitwise.js +0 -23
- package/lib/cjs/plain/number/combinations.js +17 -15
- package/lib/cjs/plain/number/constants.js +5 -10
- package/lib/cjs/plain/number/index.js +0 -18
- package/lib/cjs/plain/number/logical.js +1 -9
- package/lib/cjs/plain/number/probability.js +41 -18
- package/lib/cjs/plain/number/trigonometry.js +1 -53
- package/lib/cjs/plain/number/utils.js +1 -13
- package/lib/cjs/type/bignumber/BigNumber.js +9 -19
- package/lib/cjs/type/bignumber/function/bignumber.js +31 -11
- package/lib/cjs/type/boolean.js +9 -15
- package/lib/cjs/type/chain/Chain.js +36 -42
- package/lib/cjs/type/chain/function/chain.js +3 -7
- package/lib/cjs/type/complex/Complex.js +17 -41
- package/lib/cjs/type/complex/function/complex.js +8 -13
- package/lib/cjs/type/fraction/Fraction.js +9 -12
- package/lib/cjs/type/fraction/function/fraction.js +36 -21
- package/lib/cjs/type/matrix/DenseMatrix.js +288 -227
- package/lib/cjs/type/matrix/FibonacciHeap.js +121 -162
- package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +22 -46
- package/lib/cjs/type/matrix/Matrix.js +28 -39
- package/lib/cjs/type/matrix/MatrixIndex.js +62 -72
- package/lib/cjs/type/matrix/Range.js +16 -53
- package/lib/cjs/type/matrix/Spa.js +36 -57
- package/lib/cjs/type/matrix/SparseMatrix.js +524 -551
- package/lib/cjs/type/matrix/function/index.js +9 -12
- package/lib/cjs/type/matrix/function/matrix.js +8 -13
- package/lib/cjs/type/matrix/function/sparse.js +9 -7
- package/lib/cjs/type/matrix/utils/broadcast.js +77 -0
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +40 -41
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +48 -49
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +45 -46
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +78 -79
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +78 -80
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +66 -67
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +52 -55
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +73 -74
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +62 -62
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +44 -44
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +31 -34
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +23 -25
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +222 -0
- package/lib/cjs/type/number.js +83 -25
- package/lib/cjs/type/resultset/ResultSet.js +7 -16
- package/lib/cjs/type/string.js +7 -11
- package/lib/cjs/type/unit/Unit.js +382 -515
- package/lib/cjs/type/unit/function/createUnit.js +5 -8
- package/lib/cjs/type/unit/function/splitUnit.js +3 -7
- package/lib/cjs/type/unit/function/unit.js +20 -15
- package/lib/cjs/type/unit/physicalConstants.js +66 -114
- package/lib/cjs/utils/applyCallback.js +73 -0
- package/lib/cjs/utils/array.js +368 -174
- package/lib/cjs/utils/bignumber/bitwise.js +14 -97
- package/lib/cjs/utils/bignumber/constants.js +20 -19
- package/lib/cjs/utils/bignumber/formatter.js +92 -31
- package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
- package/lib/cjs/utils/collection.js +25 -68
- package/lib/cjs/utils/complex.js +0 -2
- package/lib/cjs/utils/customs.js +39 -48
- package/lib/cjs/utils/emitter.js +3 -5
- package/lib/cjs/utils/factory.js +14 -31
- package/lib/cjs/utils/function.js +31 -27
- package/lib/cjs/utils/is.js +64 -92
- package/lib/cjs/utils/latex.js +17 -24
- package/lib/cjs/utils/log.js +2 -9
- package/lib/cjs/utils/lruQueue.js +57 -0
- package/lib/cjs/utils/map.js +166 -0
- package/lib/cjs/utils/noop.js +1 -6
- package/lib/cjs/utils/number.js +176 -167
- package/lib/cjs/utils/object.js +43 -98
- package/lib/cjs/utils/print.js +7 -0
- package/lib/cjs/utils/product.js +0 -4
- package/lib/cjs/utils/scope.js +29 -0
- package/lib/cjs/utils/snapshot.js +53 -108
- package/lib/cjs/utils/string.js +41 -61
- package/lib/cjs/utils/switch.js +26 -0
- package/lib/cjs/version.js +3 -4
- package/lib/esm/constants.js +24 -20
- package/lib/esm/core/create.js +29 -30
- package/lib/esm/core/function/config.js +12 -10
- package/lib/esm/core/function/import.js +23 -70
- package/lib/esm/core/function/typed.js +63 -39
- package/lib/esm/entry/configReadonly.js +3 -5
- package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBin.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCorr.generated.js +28 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCount.generated.js +14 -0
- 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/dependenciesDet.generated.js +6 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +4 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +36 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFreqz.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesHex.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesIndexTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLgamma.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLyap.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOct.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesPinv.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPrintTransform.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSchur.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +44 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSolveODE.generated.js +38 -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/dependenciesStirlingS2.generated.js +6 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubset.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +4 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSylvester.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZeta.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZpk2tf.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny.generated.js +297 -266
- package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCorr.generated.js +28 -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/dependenciesFix.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesLgamma.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +12 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +28 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +44 -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/dependenciesStirlingS2.generated.js +4 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesZeta.generated.js +34 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +171 -163
- package/lib/esm/entry/impureFunctionsAny.generated.js +425 -274
- package/lib/esm/entry/impureFunctionsNumber.generated.js +283 -216
- package/lib/esm/entry/mainAny.js +10 -5
- package/lib/esm/entry/mainNumber.js +10 -5
- package/lib/esm/entry/pureFunctionsAny.generated.js +1028 -753
- package/lib/esm/entry/pureFunctionsNumber.generated.js +279 -223
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/error/ArgumentsError.js +0 -1
- package/lib/esm/error/DimensionError.js +0 -1
- package/lib/esm/error/IndexError.js +0 -4
- package/lib/esm/expression/Help.js +9 -23
- package/lib/esm/expression/Parser.js +36 -37
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +261 -209
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/lyap.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/schur.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/sylvester.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/arithmetic/round.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/sqrtm.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/count.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/pinv.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/range.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/reshape.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/rotate.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/size.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/numeric/solveODE.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/probability/lgamma.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/set/setCartesian.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/signal/freqz.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/signal/zpk2tf.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/corr.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/max.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/mean.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/min.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/std.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/sum.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/variance.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/numeric.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/print.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -2
- package/lib/esm/expression/function/evaluate.js +6 -6
- package/lib/esm/expression/function/help.js +2 -7
- package/lib/esm/expression/function/parser.js +6 -7
- package/lib/esm/expression/keywords.js +1 -3
- package/lib/esm/expression/node/AccessorNode.js +150 -170
- package/lib/esm/expression/node/ArrayNode.js +149 -159
- package/lib/esm/expression/node/AssignmentNode.js +249 -267
- package/lib/esm/expression/node/BlockNode.js +156 -164
- package/lib/esm/expression/node/ConditionalNode.js +186 -201
- package/lib/esm/expression/node/ConstantNode.js +145 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +195 -195
- package/lib/esm/expression/node/FunctionNode.js +367 -357
- package/lib/esm/expression/node/IndexNode.js +178 -230
- package/lib/esm/expression/node/Node.js +316 -375
- package/lib/esm/expression/node/ObjectNode.js +154 -177
- package/lib/esm/expression/node/OperatorNode.js +399 -456
- package/lib/esm/expression/node/ParenthesisNode.js +126 -138
- package/lib/esm/expression/node/RangeNode.js +200 -238
- package/lib/esm/expression/node/RelationalNode.js +169 -183
- package/lib/esm/expression/node/SymbolNode.js +156 -170
- package/lib/esm/expression/node/utils/access.js +0 -2
- package/lib/esm/expression/node/utils/assign.js +7 -4
- package/lib/esm/expression/operators.js +101 -33
- package/lib/esm/expression/parse.js +273 -388
- package/lib/esm/expression/transform/and.transform.js +35 -0
- package/lib/esm/expression/transform/apply.transform.js +4 -5
- package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
- package/lib/esm/expression/transform/bitOr.transform.js +41 -0
- package/lib/esm/expression/transform/column.transform.js +4 -5
- package/lib/esm/expression/transform/concat.transform.js +2 -4
- package/lib/esm/expression/transform/cumsum.transform.js +46 -0
- package/lib/esm/expression/transform/diff.transform.js +4 -14
- package/lib/esm/expression/transform/filter.transform.js +8 -21
- package/lib/esm/expression/transform/forEach.transform.js +6 -22
- package/lib/esm/expression/transform/index.transform.js +13 -12
- package/lib/esm/expression/transform/map.transform.js +8 -23
- package/lib/esm/expression/transform/max.transform.js +4 -14
- package/lib/esm/expression/transform/mean.transform.js +4 -14
- package/lib/esm/expression/transform/min.transform.js +4 -14
- package/lib/esm/expression/transform/or.transform.js +33 -0
- package/lib/esm/expression/transform/print.transform.js +42 -0
- package/lib/esm/expression/transform/quantileSeq.transform.js +59 -0
- package/lib/esm/expression/transform/range.transform.js +9 -7
- package/lib/esm/expression/transform/row.transform.js +4 -5
- package/lib/esm/expression/transform/std.transform.js +7 -15
- package/lib/esm/expression/transform/subset.transform.js +9 -5
- package/lib/esm/expression/transform/sum.transform.js +5 -15
- package/lib/esm/expression/transform/utils/compileInlineExpression.js +7 -8
- package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +17 -0
- package/lib/esm/expression/transform/variance.transform.js +4 -14
- package/lib/esm/factoriesAny.js +36 -3
- package/lib/esm/factoriesNumber.js +83 -38
- package/lib/esm/function/algebra/decomposition/lup.js +128 -162
- package/lib/esm/function/algebra/decomposition/qr.js +30 -45
- package/lib/esm/function/algebra/decomposition/schur.js +70 -0
- package/lib/esm/function/algebra/decomposition/slu.js +10 -9
- package/lib/esm/function/algebra/derivative.js +63 -164
- package/lib/esm/function/algebra/leafCount.js +54 -0
- package/lib/esm/function/algebra/lyap.js +52 -0
- package/lib/esm/function/algebra/polynomialRoot.js +122 -0
- package/lib/esm/function/algebra/rationalize.js +220 -272
- package/lib/esm/function/algebra/resolve.js +97 -0
- package/lib/esm/function/algebra/simplify/util.js +148 -67
- package/lib/esm/function/algebra/simplify/wildcards.js +20 -0
- package/lib/esm/function/algebra/simplify.js +823 -380
- package/lib/esm/function/algebra/simplifyConstant.js +457 -0
- package/lib/esm/function/algebra/simplifyCore.js +288 -0
- package/lib/esm/function/algebra/solver/lsolve.js +27 -31
- package/lib/esm/function/algebra/solver/lsolveAll.js +34 -35
- package/lib/esm/function/algebra/solver/lusolve.js +10 -15
- package/lib/esm/function/algebra/solver/usolve.js +31 -36
- package/lib/esm/function/algebra/solver/usolveAll.js +38 -35
- package/lib/esm/function/algebra/solver/utils/solveValidation.js +9 -33
- package/lib/esm/function/algebra/sparse/csAmd.js +249 -298
- package/lib/esm/function/algebra/sparse/csChol.js +66 -78
- package/lib/esm/function/algebra/sparse/csCounts.js +38 -53
- package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
- package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
- package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
- package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
- package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
- package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
- package/lib/esm/function/algebra/sparse/csLeaf.js +15 -17
- package/lib/esm/function/algebra/sparse/csLu.js +69 -87
- package/lib/esm/function/algebra/sparse/csMark.js +1 -1
- package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
- package/lib/esm/function/algebra/sparse/csPost.js +15 -23
- package/lib/esm/function/algebra/sparse/csReach.js +15 -17
- package/lib/esm/function/algebra/sparse/csSpsolve.js +31 -36
- package/lib/esm/function/algebra/sparse/csSqr.js +61 -78
- package/lib/esm/function/algebra/sparse/csSymperm.js +33 -41
- package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
- package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
- package/lib/esm/function/algebra/sylvester.js +118 -0
- package/lib/esm/function/algebra/symbolicEqual.js +60 -0
- package/lib/esm/function/arithmetic/abs.js +4 -18
- package/lib/esm/function/arithmetic/add.js +59 -104
- package/lib/esm/function/arithmetic/addScalar.js +10 -7
- package/lib/esm/function/arithmetic/cbrt.js +16 -26
- package/lib/esm/function/arithmetic/ceil.js +76 -42
- package/lib/esm/function/arithmetic/cube.js +6 -11
- package/lib/esm/function/arithmetic/divide.js +10 -9
- package/lib/esm/function/arithmetic/divideScalar.js +3 -21
- package/lib/esm/function/arithmetic/dotDivide.js +28 -68
- package/lib/esm/function/arithmetic/dotMultiply.js +22 -64
- package/lib/esm/function/arithmetic/dotPow.js +34 -66
- package/lib/esm/function/arithmetic/exp.js +9 -13
- package/lib/esm/function/arithmetic/expm1.js +11 -11
- package/lib/esm/function/arithmetic/fix.js +60 -25
- package/lib/esm/function/arithmetic/floor.js +81 -42
- package/lib/esm/function/arithmetic/gcd.js +86 -79
- package/lib/esm/function/arithmetic/hypot.js +8 -12
- package/lib/esm/function/arithmetic/invmod.js +55 -0
- package/lib/esm/function/arithmetic/lcm.js +33 -81
- package/lib/esm/function/arithmetic/log.js +8 -12
- package/lib/esm/function/arithmetic/log10.js +2 -5
- package/lib/esm/function/arithmetic/log1p.js +6 -10
- package/lib/esm/function/arithmetic/log2.js +3 -6
- package/lib/esm/function/arithmetic/mod.js +59 -78
- package/lib/esm/function/arithmetic/multiply.js +330 -351
- package/lib/esm/function/arithmetic/multiplyScalar.js +3 -15
- package/lib/esm/function/arithmetic/norm.js +32 -62
- package/lib/esm/function/arithmetic/nthRoot.js +53 -96
- package/lib/esm/function/arithmetic/nthRoots.js +10 -16
- package/lib/esm/function/arithmetic/pow.js +44 -37
- package/lib/esm/function/arithmetic/round.js +71 -77
- package/lib/esm/function/arithmetic/sign.js +10 -10
- package/lib/esm/function/arithmetic/sqrt.js +7 -11
- package/lib/esm/function/arithmetic/square.js +7 -11
- package/lib/esm/function/arithmetic/subtract.js +37 -121
- package/lib/esm/function/arithmetic/subtractScalar.js +46 -0
- package/lib/esm/function/arithmetic/unaryMinus.js +8 -18
- package/lib/esm/function/arithmetic/unaryPlus.js +3 -6
- package/lib/esm/function/arithmetic/xgcd.js +10 -13
- package/lib/esm/function/bitwise/bitAnd.js +22 -63
- package/lib/esm/function/bitwise/bitNot.js +3 -6
- package/lib/esm/function/bitwise/bitOr.js +22 -63
- package/lib/esm/function/bitwise/bitXor.js +22 -63
- package/lib/esm/function/bitwise/leftShift.js +45 -69
- package/lib/esm/function/bitwise/rightArithShift.js +46 -70
- package/lib/esm/function/bitwise/rightLogShift.js +46 -68
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/combinatorics/bellNumbers.js +3 -6
- package/lib/esm/function/combinatorics/catalan.js +1 -3
- package/lib/esm/function/combinatorics/composition.js +1 -3
- package/lib/esm/function/combinatorics/stirlingS2.js +39 -18
- package/lib/esm/function/complex/arg.js +3 -5
- package/lib/esm/function/complex/conj.js +4 -14
- package/lib/esm/function/complex/im.js +5 -14
- package/lib/esm/function/complex/re.js +4 -14
- package/lib/esm/function/geometry/distance.js +38 -81
- package/lib/esm/function/geometry/intersect.js +87 -87
- package/lib/esm/function/logical/and.js +41 -65
- package/lib/esm/function/logical/not.js +4 -8
- package/lib/esm/function/logical/or.js +22 -65
- package/lib/esm/function/logical/xor.js +22 -65
- package/lib/esm/function/matrix/apply.js +3 -17
- package/lib/esm/function/matrix/column.js +5 -5
- package/lib/esm/function/matrix/concat.js +10 -46
- package/lib/esm/function/matrix/count.js +39 -0
- package/lib/esm/function/matrix/cross.js +2 -6
- package/lib/esm/function/matrix/ctranspose.js +1 -2
- package/lib/esm/function/matrix/det.js +43 -48
- package/lib/esm/function/matrix/diag.js +19 -28
- package/lib/esm/function/matrix/diff.js +11 -31
- package/lib/esm/function/matrix/dot.js +19 -40
- package/lib/esm/function/matrix/eigs/complexEigs.js +698 -0
- package/lib/esm/function/matrix/eigs/realSymmetric.js +297 -0
- package/lib/esm/function/matrix/eigs.js +258 -360
- package/lib/esm/function/matrix/expm.js +24 -36
- package/lib/esm/function/matrix/fft.js +128 -0
- package/lib/esm/function/matrix/filter.js +4 -14
- package/lib/esm/function/matrix/flatten.js +6 -7
- package/lib/esm/function/matrix/forEach.js +6 -18
- package/lib/esm/function/matrix/getMatrixDataType.js +2 -3
- package/lib/esm/function/matrix/identity.js +10 -21
- package/lib/esm/function/matrix/ifft.js +37 -0
- package/lib/esm/function/matrix/inv.js +13 -32
- package/lib/esm/function/matrix/kron.js +2 -6
- package/lib/esm/function/matrix/map.js +23 -23
- package/lib/esm/function/matrix/matrixFromColumns.js +88 -0
- package/lib/esm/function/matrix/matrixFromFunction.js +74 -0
- package/lib/esm/function/matrix/matrixFromRows.js +76 -0
- package/lib/esm/function/matrix/ones.js +8 -16
- package/lib/esm/function/matrix/partitionSelect.js +20 -23
- package/lib/esm/function/matrix/pinv.js +179 -0
- package/lib/esm/function/matrix/range.js +38 -137
- package/lib/esm/function/matrix/reshape.js +8 -10
- package/lib/esm/function/matrix/resize.js +6 -19
- package/lib/esm/function/matrix/rotate.js +6 -15
- package/lib/esm/function/matrix/rotationMatrix.js +4 -20
- package/lib/esm/function/matrix/row.js +5 -5
- package/lib/esm/function/matrix/size.js +2 -3
- package/lib/esm/function/matrix/sort.js +5 -15
- package/lib/esm/function/matrix/sqrtm.js +8 -15
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +113 -58
- package/lib/esm/function/matrix/trace.js +21 -31
- package/lib/esm/function/matrix/transpose.js +79 -94
- package/lib/esm/function/matrix/zeros.js +11 -17
- package/lib/esm/function/numeric/solveODE.js +284 -0
- package/lib/esm/function/probability/combinations.js +4 -9
- package/lib/esm/function/probability/combinationsWithRep.js +2 -13
- package/lib/esm/function/probability/factorial.js +2 -7
- package/lib/esm/function/probability/gamma.js +48 -59
- package/lib/esm/function/probability/kldivergence.js +6 -15
- package/lib/esm/function/probability/lgamma.js +137 -0
- package/lib/esm/function/probability/multinomial.js +1 -3
- package/lib/esm/function/probability/permutations.js +6 -14
- package/lib/esm/function/probability/pickRandom.js +6 -22
- package/lib/esm/function/probability/random.js +6 -12
- package/lib/esm/function/probability/randomInt.js +2 -6
- package/lib/esm/function/probability/util/randomMatrix.js +0 -2
- package/lib/esm/function/probability/util/seededRNG.js +6 -5
- package/lib/esm/function/relational/compare.js +28 -72
- package/lib/esm/function/relational/compareNatural.js +73 -93
- package/lib/esm/function/relational/compareText.js +17 -47
- package/lib/esm/function/relational/compareUnits.js +14 -0
- package/lib/esm/function/relational/deepEqual.js +2 -6
- package/lib/esm/function/relational/equal.js +26 -88
- package/lib/esm/function/relational/equalScalar.js +7 -10
- package/lib/esm/function/relational/equalText.js +1 -2
- package/lib/esm/function/relational/larger.js +30 -78
- package/lib/esm/function/relational/largerEq.js +30 -78
- package/lib/esm/function/relational/smaller.js +30 -78
- package/lib/esm/function/relational/smallerEq.js +30 -78
- package/lib/esm/function/relational/unequal.js +26 -89
- package/lib/esm/function/set/setCartesian.js +8 -11
- package/lib/esm/function/set/setDifference.js +5 -12
- package/lib/esm/function/set/setDistinct.js +5 -10
- package/lib/esm/function/set/setIntersect.js +5 -10
- package/lib/esm/function/set/setIsSubset.js +2 -8
- package/lib/esm/function/set/setMultiplicity.js +1 -5
- package/lib/esm/function/set/setPowerset.js +7 -14
- package/lib/esm/function/set/setSize.js +4 -6
- package/lib/esm/function/set/setSymDifference.js +1 -3
- package/lib/esm/function/set/setUnion.js +1 -3
- package/lib/esm/function/signal/freqz.js +115 -0
- package/lib/esm/function/signal/zpk2tf.js +82 -0
- package/lib/esm/function/special/erf.js +16 -26
- package/lib/esm/function/special/zeta.js +148 -0
- package/lib/esm/function/statistics/corr.js +84 -0
- package/lib/esm/function/statistics/cumsum.js +123 -0
- package/lib/esm/function/statistics/mad.js +1 -5
- package/lib/esm/function/statistics/max.js +8 -13
- package/lib/esm/function/statistics/mean.js +5 -10
- package/lib/esm/function/statistics/median.js +10 -13
- package/lib/esm/function/statistics/min.js +7 -12
- package/lib/esm/function/statistics/mode.js +3 -12
- package/lib/esm/function/statistics/prod.js +7 -8
- package/lib/esm/function/statistics/quantileSeq.js +91 -200
- package/lib/esm/function/statistics/std.js +10 -6
- package/lib/esm/function/statistics/sum.js +8 -11
- package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
- package/lib/esm/function/statistics/variance.js +7 -15
- package/lib/esm/function/string/bin.js +24 -3
- package/lib/esm/function/string/format.js +39 -23
- package/lib/esm/function/string/hex.js +25 -5
- package/lib/esm/function/string/oct.js +26 -4
- package/lib/esm/function/string/print.js +7 -7
- package/lib/esm/function/trigonometry/acos.js +5 -9
- package/lib/esm/function/trigonometry/acosh.js +3 -10
- package/lib/esm/function/trigonometry/acot.js +7 -12
- package/lib/esm/function/trigonometry/acoth.js +5 -10
- package/lib/esm/function/trigonometry/acsc.js +7 -13
- package/lib/esm/function/trigonometry/acsch.js +5 -9
- package/lib/esm/function/trigonometry/asec.js +7 -12
- package/lib/esm/function/trigonometry/asech.js +5 -12
- package/lib/esm/function/trigonometry/asin.js +6 -11
- package/lib/esm/function/trigonometry/asinh.js +5 -10
- package/lib/esm/function/trigonometry/atan.js +6 -12
- package/lib/esm/function/trigonometry/atan2.js +33 -69
- package/lib/esm/function/trigonometry/atanh.js +5 -11
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +6 -22
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +7 -22
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +7 -22
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +7 -22
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +6 -23
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +6 -23
- package/lib/esm/function/trigonometry/trigUnit.js +14 -0
- package/lib/esm/function/unit/to.js +17 -50
- package/lib/esm/function/utils/clone.js +2 -3
- package/lib/esm/function/utils/hasNumericValue.js +4 -3
- package/lib/esm/function/utils/isInteger.js +4 -6
- package/lib/esm/function/utils/isNaN.js +2 -3
- package/lib/esm/function/utils/isNegative.js +4 -9
- package/lib/esm/function/utils/isNumeric.js +5 -12
- package/lib/esm/function/utils/isPositive.js +4 -9
- package/lib/esm/function/utils/isPrime.js +56 -14
- package/lib/esm/function/utils/isZero.js +14 -19
- package/lib/esm/function/utils/numeric.js +13 -10
- package/lib/esm/function/utils/typeOf.js +39 -46
- package/lib/esm/header.js +1 -1
- package/lib/esm/json/replacer.js +0 -1
- package/lib/esm/json/reviver.js +1 -4
- package/lib/esm/plain/bignumber/index.js +2 -1
- package/lib/esm/plain/number/arithmetic.js +41 -74
- package/lib/esm/plain/number/bitwise.js +0 -7
- package/lib/esm/plain/number/combinations.js +17 -11
- package/lib/esm/plain/number/probability.js +37 -11
- package/lib/esm/type/bignumber/BigNumber.js +6 -10
- package/lib/esm/type/bignumber/function/bignumber.js +23 -5
- package/lib/esm/type/boolean.js +4 -10
- package/lib/esm/type/chain/Chain.js +35 -35
- package/lib/esm/type/chain/function/chain.js +1 -2
- package/lib/esm/type/complex/Complex.js +14 -30
- package/lib/esm/type/complex/function/complex.js +2 -7
- package/lib/esm/type/fraction/Fraction.js +6 -4
- package/lib/esm/type/fraction/function/fraction.js +28 -15
- package/lib/esm/type/matrix/DenseMatrix.js +240 -220
- package/lib/esm/type/matrix/FibonacciHeap.js +121 -159
- package/lib/esm/type/matrix/ImmutableDenseMatrix.js +20 -39
- package/lib/esm/type/matrix/Matrix.js +26 -34
- package/lib/esm/type/matrix/MatrixIndex.js +64 -68
- package/lib/esm/type/matrix/Range.js +14 -46
- package/lib/esm/type/matrix/Spa.js +33 -51
- package/lib/esm/type/matrix/SparseMatrix.js +504 -553
- package/lib/esm/type/matrix/function/index.js +7 -6
- package/lib/esm/type/matrix/function/matrix.js +4 -6
- package/lib/esm/type/matrix/function/sparse.js +7 -2
- package/lib/esm/type/matrix/utils/broadcast.js +69 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +38 -35
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +45 -42
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +43 -40
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +75 -72
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +75 -73
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +63 -59
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +49 -48
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +70 -67
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +59 -55
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +41 -38
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +29 -28
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +21 -19
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +156 -0
- package/lib/esm/type/number.js +76 -20
- package/lib/esm/type/resultset/ResultSet.js +5 -11
- package/lib/esm/type/string.js +2 -5
- package/lib/esm/type/unit/Unit.js +361 -493
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +2 -3
- package/lib/esm/type/unit/function/unit.js +14 -9
- package/lib/esm/type/unit/physicalConstants.js +24 -17
- package/lib/esm/utils/applyCallback.js +67 -0
- package/lib/esm/utils/array.js +341 -137
- package/lib/esm/utils/bignumber/bitwise.js +13 -89
- package/lib/esm/utils/bignumber/constants.js +17 -9
- package/lib/esm/utils/bignumber/formatter.js +94 -28
- package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
- package/lib/esm/utils/collection.js +25 -60
- package/lib/esm/utils/complex.js +1 -1
- package/lib/esm/utils/customs.js +31 -40
- package/lib/esm/utils/emitter.js +3 -2
- package/lib/esm/utils/factory.js +12 -20
- package/lib/esm/utils/function.js +29 -20
- package/lib/esm/utils/is.js +33 -23
- package/lib/esm/utils/latex.js +10 -8
- package/lib/esm/utils/log.js +0 -2
- package/lib/esm/utils/lruQueue.js +51 -0
- package/lib/esm/utils/map.js +120 -0
- package/lib/esm/utils/number.js +158 -106
- package/lib/esm/utils/object.js +34 -70
- package/lib/esm/utils/print.js +1 -0
- package/lib/esm/utils/product.js +0 -3
- package/lib/esm/utils/scope.js +24 -0
- package/lib/esm/utils/snapshot.js +37 -86
- package/lib/esm/utils/string.js +36 -48
- package/lib/esm/utils/switch.js +20 -0
- package/lib/esm/version.js +2 -1
- package/package.json +71 -45
- package/types/EXPLANATION.md +54 -0
- package/types/index.d.ts +6967 -0
- package/types/tslint.json +6 -0
- package/docs/command_line_interface.md +0 -87
- package/docs/core/chaining.md +0 -41
- package/docs/core/configuration.md +0 -144
- package/docs/core/extension.md +0 -263
- package/docs/core/index.md +0 -21
- package/docs/core/serialization.md +0 -50
- package/docs/custom_bundling.md +0 -116
- package/docs/datatypes/bignumbers.md +0 -102
- package/docs/datatypes/complex_numbers.md +0 -168
- package/docs/datatypes/fractions.md +0 -75
- package/docs/datatypes/index.md +0 -67
- package/docs/datatypes/matrices.md +0 -343
- package/docs/datatypes/numbers.md +0 -106
- package/docs/datatypes/units.md +0 -444
- package/docs/expressions/algebra.md +0 -83
- package/docs/expressions/customization.md +0 -379
- package/docs/expressions/expression_trees.md +0 -699
- package/docs/expressions/html_classes.md +0 -38
- package/docs/expressions/index.md +0 -21
- package/docs/expressions/parsing.md +0 -207
- package/docs/expressions/security.md +0 -89
- package/docs/expressions/syntax.md +0 -648
- package/docs/getting_started.md +0 -124
- package/docs/index.md +0 -39
- package/docs/reference/.gitignore +0 -1
- package/docs/reference/.npmignore +0 -1
- package/docs/reference/classes/densematrix.md +0 -247
- package/docs/reference/classes/fibonacciheap.md +0 -70
- package/docs/reference/classes/matrixindex.md +0 -133
- package/docs/reference/classes/matrixrange.md +0 -158
- package/docs/reference/classes/resultset.md +0 -47
- package/docs/reference/classes/sparsematrix.md +0 -245
- package/docs/reference/classes/unit.md +0 -242
- package/docs/reference/classes.md +0 -86
- package/docs/reference/constants.md +0 -29
- package/docs/reference/functions/.gitignore +0 -1
- package/docs/reference/functions/.npmignore +0 -1
- package/docs/reference/functions/abs.md +0 -40
- package/docs/reference/functions/acos.md +0 -43
- package/docs/reference/functions/acosh.md +0 -41
- package/docs/reference/functions/acot.md +0 -42
- package/docs/reference/functions/acoth.md +0 -40
- package/docs/reference/functions/acsc.md +0 -43
- package/docs/reference/functions/acsch.md +0 -40
- package/docs/reference/functions/add.md +0 -53
- package/docs/reference/functions/and.md +0 -47
- package/docs/reference/functions/apply.md +0 -50
- package/docs/reference/functions/arg.md +0 -47
- package/docs/reference/functions/asec.md +0 -43
- package/docs/reference/functions/asech.md +0 -40
- package/docs/reference/functions/asin.md +0 -43
- package/docs/reference/functions/asinh.md +0 -40
- package/docs/reference/functions/atan.md +0 -43
- package/docs/reference/functions/atan2.md +0 -50
- package/docs/reference/functions/atanh.md +0 -40
- package/docs/reference/functions/bellNumbers.md +0 -39
- package/docs/reference/functions/bignumber.md +0 -47
- package/docs/reference/functions/bin.md +0 -38
- package/docs/reference/functions/bitAnd.md +0 -45
- package/docs/reference/functions/bitNot.md +0 -45
- package/docs/reference/functions/bitOr.md +0 -46
- package/docs/reference/functions/bitXor.md +0 -45
- package/docs/reference/functions/boolean.md +0 -50
- package/docs/reference/functions/catalan.md +0 -39
- package/docs/reference/functions/cbrt.md +0 -54
- package/docs/reference/functions/ceil.md +0 -57
- package/docs/reference/functions/chain.md +0 -54
- package/docs/reference/functions/clone.md +0 -37
- package/docs/reference/functions/column.md +0 -39
- package/docs/reference/functions/combinations.md +0 -43
- package/docs/reference/functions/combinationsWithRep.md +0 -43
- package/docs/reference/functions/compare.md +0 -61
- package/docs/reference/functions/compareNatural.md +0 -86
- package/docs/reference/functions/compareText.md +0 -48
- package/docs/reference/functions/compile.md +0 -50
- package/docs/reference/functions/complex.md +0 -61
- package/docs/reference/functions/composition.md +0 -40
- package/docs/reference/functions/concat.md +0 -50
- package/docs/reference/functions/config.md +0 -44
- package/docs/reference/functions/conj.md +0 -44
- package/docs/reference/functions/cos.md +0 -45
- package/docs/reference/functions/cosh.md +0 -40
- package/docs/reference/functions/cot.md +0 -41
- package/docs/reference/functions/coth.md +0 -43
- package/docs/reference/functions/createUnit.md +0 -52
- package/docs/reference/functions/cross.md +0 -52
- package/docs/reference/functions/csc.md +0 -41
- package/docs/reference/functions/csch.md +0 -43
- package/docs/reference/functions/ctranspose.md +0 -44
- package/docs/reference/functions/cube.md +0 -45
- package/docs/reference/functions/deepEqual.md +0 -47
- package/docs/reference/functions/derivative.md +0 -55
- package/docs/reference/functions/det.md +0 -43
- package/docs/reference/functions/diag.md +0 -55
- package/docs/reference/functions/diff.md +0 -64
- package/docs/reference/functions/distance.md +0 -74
- package/docs/reference/functions/divide.md +0 -49
- package/docs/reference/functions/dot.md +0 -42
- package/docs/reference/functions/dotDivide.md +0 -46
- package/docs/reference/functions/dotMultiply.md +0 -46
- package/docs/reference/functions/dotPow.md +0 -43
- package/docs/reference/functions/eigs.md +0 -48
- package/docs/reference/functions/equal.md +0 -69
- package/docs/reference/functions/equalText.md +0 -47
- package/docs/reference/functions/erf.md +0 -43
- package/docs/reference/functions/evaluate.md +0 -50
- package/docs/reference/functions/exp.md +0 -48
- package/docs/reference/functions/expm.md +0 -43
- package/docs/reference/functions/expm1.md +0 -48
- package/docs/reference/functions/factorial.md +0 -43
- package/docs/reference/functions/filter.md +0 -44
- package/docs/reference/functions/fix.md +0 -55
- package/docs/reference/functions/flatten.md +0 -39
- package/docs/reference/functions/floor.md +0 -56
- package/docs/reference/functions/forEach.md +0 -35
- package/docs/reference/functions/format.md +0 -104
- package/docs/reference/functions/fraction.md +0 -45
- package/docs/reference/functions/gamma.md +0 -43
- package/docs/reference/functions/gcd.md +0 -44
- package/docs/reference/functions/getMatrixDataType.md +0 -53
- package/docs/reference/functions/hasNumericValue.md +0 -49
- package/docs/reference/functions/help.md +0 -36
- package/docs/reference/functions/hex.md +0 -38
- package/docs/reference/functions/hypot.md +0 -45
- package/docs/reference/functions/identity.md +0 -51
- package/docs/reference/functions/im.md +0 -47
- package/docs/reference/functions/import.md +0 -68
- package/docs/reference/functions/index.md +0 -55
- package/docs/reference/functions/intersect.md +0 -44
- package/docs/reference/functions/inv.md +0 -39
- package/docs/reference/functions/isInteger.md +0 -49
- package/docs/reference/functions/isNaN.md +0 -50
- package/docs/reference/functions/isNegative.md +0 -49
- package/docs/reference/functions/isNumeric.md +0 -49
- package/docs/reference/functions/isPositive.md +0 -51
- package/docs/reference/functions/isPrime.md +0 -48
- package/docs/reference/functions/isZero.md +0 -53
- package/docs/reference/functions/kldivergence.md +0 -35
- package/docs/reference/functions/kron.md +0 -47
- package/docs/reference/functions/larger.md +0 -54
- package/docs/reference/functions/largerEq.md +0 -50
- package/docs/reference/functions/lcm.md +0 -48
- package/docs/reference/functions/leftShift.md +0 -46
- package/docs/reference/functions/log.md +0 -51
- package/docs/reference/functions/log10.md +0 -44
- package/docs/reference/functions/log1p.md +0 -48
- package/docs/reference/functions/log2.md +0 -44
- package/docs/reference/functions/lsolve.md +0 -45
- package/docs/reference/functions/lsolveAll.md +0 -45
- package/docs/reference/functions/lup.md +0 -46
- package/docs/reference/functions/lusolve.md +0 -53
- package/docs/reference/functions/mad.md +0 -44
- package/docs/reference/functions/map.md +0 -42
- package/docs/reference/functions/matrix.md +0 -56
- package/docs/reference/functions/max.md +0 -55
- package/docs/reference/functions/mean.md +0 -51
- package/docs/reference/functions/median.md +0 -51
- package/docs/reference/functions/min.md +0 -55
- package/docs/reference/functions/mod.md +0 -53
- package/docs/reference/functions/mode.md +0 -44
- package/docs/reference/functions/multinomial.md +0 -40
- package/docs/reference/functions/multiply.md +0 -54
- package/docs/reference/functions/norm.md +0 -53
- package/docs/reference/functions/not.md +0 -44
- package/docs/reference/functions/nthRoot.md +0 -47
- package/docs/reference/functions/nthRoots.md +0 -52
- package/docs/reference/functions/number.md +0 -49
- package/docs/reference/functions/numeric.md +0 -46
- package/docs/reference/functions/oct.md +0 -38
- package/docs/reference/functions/ones.md +0 -53
- package/docs/reference/functions/or.md +0 -47
- package/docs/reference/functions/parse.md +0 -56
- package/docs/reference/functions/parser.md +0 -64
- package/docs/reference/functions/partitionSelect.md +0 -47
- package/docs/reference/functions/permutations.md +0 -45
- package/docs/reference/functions/pickRandom.md +0 -53
- package/docs/reference/functions/pow.md +0 -53
- package/docs/reference/functions/print.md +0 -58
- package/docs/reference/functions/prod.md +0 -49
- package/docs/reference/functions/qr.md +0 -59
- package/docs/reference/functions/quantileSeq.md +0 -56
- package/docs/reference/functions/random.md +0 -48
- package/docs/reference/functions/randomInt.md +0 -47
- package/docs/reference/functions/range.md +0 -64
- package/docs/reference/functions/rationalize.md +0 -62
- package/docs/reference/functions/re.md +0 -47
- package/docs/reference/functions/reshape.md +0 -50
- package/docs/reference/functions/resize.md +0 -45
- package/docs/reference/functions/rightArithShift.md +0 -46
- package/docs/reference/functions/rightLogShift.md +0 -46
- package/docs/reference/functions/rotate.md +0 -47
- package/docs/reference/functions/rotationMatrix.md +0 -51
- package/docs/reference/functions/round.md +0 -55
- package/docs/reference/functions/row.md +0 -39
- package/docs/reference/functions/sec.md +0 -41
- package/docs/reference/functions/sech.md +0 -43
- package/docs/reference/functions/setCartesian.md +0 -41
- package/docs/reference/functions/setDifference.md +0 -41
- package/docs/reference/functions/setDistinct.md +0 -37
- package/docs/reference/functions/setIntersect.md +0 -40
- package/docs/reference/functions/setIsSubset.md +0 -41
- package/docs/reference/functions/setMultiplicity.md +0 -40
- package/docs/reference/functions/setPowerset.md +0 -37
- package/docs/reference/functions/setSize.md +0 -41
- package/docs/reference/functions/setSymDifference.md +0 -41
- package/docs/reference/functions/setUnion.md +0 -40
- package/docs/reference/functions/sign.md +0 -46
- package/docs/reference/functions/simplify.md +0 -90
- package/docs/reference/functions/sin.md +0 -45
- package/docs/reference/functions/sinh.md +0 -40
- package/docs/reference/functions/size.md +0 -43
- package/docs/reference/functions/slu.md +0 -51
- package/docs/reference/functions/smaller.md +0 -54
- package/docs/reference/functions/smallerEq.md +0 -50
- package/docs/reference/functions/sort.md +0 -50
- package/docs/reference/functions/sparse.md +0 -51
- package/docs/reference/functions/splitUnit.md +0 -37
- package/docs/reference/functions/sqrt.md +0 -44
- package/docs/reference/functions/sqrtm.md +0 -40
- package/docs/reference/functions/square.md +0 -45
- package/docs/reference/functions/squeeze.md +0 -47
- package/docs/reference/functions/std.md +0 -70
- package/docs/reference/functions/stirlingS2.md +0 -42
- package/docs/reference/functions/string.md +0 -49
- package/docs/reference/functions/subset.md +0 -51
- package/docs/reference/functions/subtract.md +0 -48
- package/docs/reference/functions/sum.md +0 -47
- package/docs/reference/functions/tan.md +0 -43
- package/docs/reference/functions/tanh.md +0 -44
- package/docs/reference/functions/to.md +0 -41
- package/docs/reference/functions/trace.md +0 -44
- package/docs/reference/functions/transpose.md +0 -43
- package/docs/reference/functions/typeOf.md +0 -75
- package/docs/reference/functions/typed.md +0 -56
- package/docs/reference/functions/unaryMinus.md +0 -43
- package/docs/reference/functions/unaryPlus.md +0 -42
- package/docs/reference/functions/unequal.md +0 -68
- package/docs/reference/functions/unit.md +0 -48
- package/docs/reference/functions/usolve.md +0 -45
- package/docs/reference/functions/usolveAll.md +0 -45
- package/docs/reference/functions/variance.md +0 -72
- package/docs/reference/functions/xgcd.md +0 -41
- package/docs/reference/functions/xor.md +0 -47
- package/docs/reference/functions/zeros.md +0 -51
- package/docs/reference/functions.md +0 -285
- package/docs/reference/index.md +0 -5
- package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
- package/examples/advanced/custom_argument_parsing.js +0 -98
- package/examples/advanced/custom_datatype.js +0 -53
- package/examples/advanced/custom_evaluate_using_factories.js +0 -19
- package/examples/advanced/custom_evaluate_using_import.js +0 -18
- package/examples/advanced/custom_loading.js +0 -33
- package/examples/advanced/custom_relational_functions.js +0 -62
- package/examples/advanced/expression_trees.js +0 -55
- package/examples/advanced/function_transform.js +0 -50
- package/examples/advanced/more_secure_eval.js +0 -36
- package/examples/advanced/use_bigint.js +0 -43
- package/examples/advanced/web_server/math_worker.js +0 -24
- package/examples/advanced/web_server/server.js +0 -80
- package/examples/algebra.js +0 -34
- package/examples/basic_usage.js +0 -49
- package/examples/bignumbers.js +0 -52
- package/examples/browser/angle_configuration.html +0 -134
- package/examples/browser/basic_usage.html +0 -39
- package/examples/browser/currency_conversion.html +0 -125
- package/examples/browser/custom_separators.html +0 -81
- package/examples/browser/plot.html +0 -78
- package/examples/browser/pretty_printing_with_mathjax.html +0 -122
- package/examples/browser/printing_html.html +0 -170
- package/examples/browser/requirejs_loading.html +0 -20
- package/examples/browser/rocket_trajectory_optimization.html +0 -152
- package/examples/browser/webworkers/webworkers.html +0 -80
- package/examples/browser/webworkers/worker.js +0 -28
- package/examples/chaining.js +0 -56
- package/examples/complex_numbers.js +0 -67
- package/examples/expressions.js +0 -188
- package/examples/fractions.js +0 -74
- package/examples/import.js +0 -95
- package/examples/matrices.js +0 -101
- package/examples/objects.js +0 -35
- package/examples/package.json +0 -3
- package/examples/serialization.js +0 -16
- package/examples/sparse_matrices.js +0 -19
- package/examples/units.js +0 -108
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -70
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +0 -332
- package/lib/cjs/function/algebra/simplify/simplifyCore.js +0 -199
- package/lib/cjs/function/string/baseUtils.js +0 -45
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/function/algebra/simplify/resolve.js +0 -62
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +0 -316
- package/lib/esm/function/algebra/simplify/simplifyCore.js +0 -191
- package/lib/esm/function/string/baseUtils.js +0 -38
- package/lib/esm/utils/polyfills.js +0 -12
@@ -1,42 +1,36 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
4
5
|
value: true
|
5
6
|
});
|
6
7
|
exports.createParse = void 0;
|
7
|
-
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
8
9
|
var _factory = require("../utils/factory.js");
|
9
|
-
|
10
10
|
var _is = require("../utils/is.js");
|
11
|
-
|
12
11
|
var _collection = require("../utils/collection.js");
|
13
|
-
|
14
12
|
var _object = require("../utils/object.js");
|
15
|
-
|
16
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
17
|
-
|
18
13
|
var name = 'parse';
|
19
14
|
var dependencies = ['typed', 'numeric', 'config', 'AccessorNode', 'ArrayNode', 'AssignmentNode', 'BlockNode', 'ConditionalNode', 'ConstantNode', 'FunctionAssignmentNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'ParenthesisNode', 'RangeNode', 'RelationalNode', 'SymbolNode'];
|
20
|
-
var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
15
|
+
var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
21
16
|
var typed = _ref.typed,
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
17
|
+
numeric = _ref.numeric,
|
18
|
+
config = _ref.config,
|
19
|
+
AccessorNode = _ref.AccessorNode,
|
20
|
+
ArrayNode = _ref.ArrayNode,
|
21
|
+
AssignmentNode = _ref.AssignmentNode,
|
22
|
+
BlockNode = _ref.BlockNode,
|
23
|
+
ConditionalNode = _ref.ConditionalNode,
|
24
|
+
ConstantNode = _ref.ConstantNode,
|
25
|
+
FunctionAssignmentNode = _ref.FunctionAssignmentNode,
|
26
|
+
FunctionNode = _ref.FunctionNode,
|
27
|
+
IndexNode = _ref.IndexNode,
|
28
|
+
ObjectNode = _ref.ObjectNode,
|
29
|
+
OperatorNode = _ref.OperatorNode,
|
30
|
+
ParenthesisNode = _ref.ParenthesisNode,
|
31
|
+
RangeNode = _ref.RangeNode,
|
32
|
+
RelationalNode = _ref.RelationalNode,
|
33
|
+
SymbolNode = _ref.SymbolNode;
|
40
34
|
/**
|
41
35
|
* Parse an expression. Returns a node tree, which can be evaluated by
|
42
36
|
* invoking node.evaluate().
|
@@ -89,26 +83,27 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
89
83
|
},
|
90
84
|
'Array | Matrix, Object': parseMultiple
|
91
85
|
});
|
92
|
-
|
93
86
|
function parseMultiple(expressions) {
|
94
87
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
95
|
-
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
88
|
+
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
96
89
|
|
90
|
+
// parse an array or matrix with expressions
|
97
91
|
return (0, _collection.deepMap)(expressions, function (elem) {
|
98
92
|
if (typeof elem !== 'string') throw new TypeError('String expected');
|
99
93
|
return parseStart(elem, extraNodes);
|
100
94
|
});
|
101
|
-
}
|
102
|
-
|
95
|
+
}
|
103
96
|
|
97
|
+
// token types enumeration
|
104
98
|
var TOKENTYPE = {
|
105
99
|
NULL: 0,
|
106
100
|
DELIMITER: 1,
|
107
101
|
NUMBER: 2,
|
108
102
|
SYMBOL: 3,
|
109
103
|
UNKNOWN: 4
|
110
|
-
};
|
104
|
+
};
|
111
105
|
|
106
|
+
// map with all delimiters
|
112
107
|
var DELIMITERS = {
|
113
108
|
',': true,
|
114
109
|
'(': true,
|
@@ -146,8 +141,9 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
146
141
|
'<<': true,
|
147
142
|
'>>': true,
|
148
143
|
'>>>': true
|
149
|
-
};
|
144
|
+
};
|
150
145
|
|
146
|
+
// map with all named delimiters
|
151
147
|
var NAMED_DELIMITERS = {
|
152
148
|
mod: true,
|
153
149
|
to: true,
|
@@ -164,7 +160,18 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
164
160
|
undefined: undefined
|
165
161
|
};
|
166
162
|
var NUMERIC_CONSTANTS = ['NaN', 'Infinity'];
|
167
|
-
|
163
|
+
var ESCAPE_CHARACTERS = {
|
164
|
+
'"': '"',
|
165
|
+
"'": "'",
|
166
|
+
'\\': '\\',
|
167
|
+
'/': '/',
|
168
|
+
b: '\b',
|
169
|
+
f: '\f',
|
170
|
+
n: '\n',
|
171
|
+
r: '\r',
|
172
|
+
t: '\t'
|
173
|
+
// note that \u is handled separately in parseStringToken()
|
174
|
+
};
|
168
175
|
function initialState() {
|
169
176
|
return {
|
170
177
|
extraNodes: {},
|
@@ -182,9 +189,9 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
182
189
|
nestingLevel: 0,
|
183
190
|
// level of nesting inside parameters, used to ignore newline characters
|
184
191
|
conditionalLevel: null // when a conditional is being parsed, the level of the conditional is stored here
|
185
|
-
|
186
192
|
};
|
187
193
|
}
|
194
|
+
|
188
195
|
/**
|
189
196
|
* View upto `length` characters of the expression starting at the current character.
|
190
197
|
*
|
@@ -193,11 +200,10 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
193
200
|
* @returns {string}
|
194
201
|
* @private
|
195
202
|
*/
|
196
|
-
|
197
|
-
|
198
203
|
function currentString(state, length) {
|
199
204
|
return state.expression.substr(state.index, length);
|
200
205
|
}
|
206
|
+
|
201
207
|
/**
|
202
208
|
* View the current character. Returns '' if end of expression is reached.
|
203
209
|
*
|
@@ -205,86 +211,82 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
205
211
|
* @returns {string}
|
206
212
|
* @private
|
207
213
|
*/
|
208
|
-
|
209
|
-
|
210
214
|
function currentCharacter(state) {
|
211
215
|
return currentString(state, 1);
|
212
216
|
}
|
217
|
+
|
213
218
|
/**
|
214
219
|
* Get the next character from the expression.
|
215
220
|
* The character is stored into the char c. If the end of the expression is
|
216
221
|
* reached, the function puts an empty string in c.
|
217
222
|
* @private
|
218
223
|
*/
|
219
|
-
|
220
|
-
|
221
224
|
function next(state) {
|
222
225
|
state.index++;
|
223
226
|
}
|
227
|
+
|
224
228
|
/**
|
225
229
|
* Preview the previous character from the expression.
|
226
230
|
* @return {string} cNext
|
227
231
|
* @private
|
228
232
|
*/
|
229
|
-
|
230
|
-
|
231
233
|
function prevCharacter(state) {
|
232
234
|
return state.expression.charAt(state.index - 1);
|
233
235
|
}
|
236
|
+
|
234
237
|
/**
|
235
238
|
* Preview the next character from the expression.
|
236
239
|
* @return {string} cNext
|
237
240
|
* @private
|
238
241
|
*/
|
239
|
-
|
240
|
-
|
241
242
|
function nextCharacter(state) {
|
242
243
|
return state.expression.charAt(state.index + 1);
|
243
244
|
}
|
245
|
+
|
244
246
|
/**
|
245
247
|
* Get next token in the current string expr.
|
246
248
|
* The token and token type are available as token and tokenType
|
247
249
|
* @private
|
248
250
|
*/
|
249
|
-
|
250
|
-
|
251
251
|
function getToken(state) {
|
252
252
|
state.tokenType = TOKENTYPE.NULL;
|
253
253
|
state.token = '';
|
254
|
-
state.comment = '';
|
255
|
-
// space, tab, and newline when inside parameters
|
256
|
-
|
257
|
-
while (parse.isWhitespace(currentCharacter(state), state.nestingLevel)) {
|
258
|
-
next(state);
|
259
|
-
} // skip comment
|
260
|
-
|
254
|
+
state.comment = '';
|
261
255
|
|
262
|
-
|
263
|
-
|
264
|
-
|
256
|
+
// skip over ignored characters:
|
257
|
+
while (true) {
|
258
|
+
// comments:
|
259
|
+
if (currentCharacter(state) === '#') {
|
260
|
+
while (currentCharacter(state) !== '\n' && currentCharacter(state) !== '') {
|
261
|
+
state.comment += currentCharacter(state);
|
262
|
+
next(state);
|
263
|
+
}
|
264
|
+
}
|
265
|
+
// whitespace: space, tab, and newline when inside parameters
|
266
|
+
if (parse.isWhitespace(currentCharacter(state), state.nestingLevel)) {
|
265
267
|
next(state);
|
268
|
+
} else {
|
269
|
+
break;
|
266
270
|
}
|
267
|
-
}
|
268
|
-
|
271
|
+
}
|
269
272
|
|
273
|
+
// check for end of expression
|
270
274
|
if (currentCharacter(state) === '') {
|
271
275
|
// token is still empty
|
272
276
|
state.tokenType = TOKENTYPE.DELIMITER;
|
273
277
|
return;
|
274
|
-
}
|
275
|
-
|
278
|
+
}
|
276
279
|
|
280
|
+
// check for new line character
|
277
281
|
if (currentCharacter(state) === '\n' && !state.nestingLevel) {
|
278
282
|
state.tokenType = TOKENTYPE.DELIMITER;
|
279
283
|
state.token = currentCharacter(state);
|
280
284
|
next(state);
|
281
285
|
return;
|
282
286
|
}
|
283
|
-
|
284
287
|
var c1 = currentCharacter(state);
|
285
288
|
var c2 = currentString(state, 2);
|
286
289
|
var c3 = currentString(state, 3);
|
287
|
-
|
288
290
|
if (c3.length === 3 && DELIMITERS[c3]) {
|
289
291
|
state.tokenType = TOKENTYPE.DELIMITER;
|
290
292
|
state.token = c3;
|
@@ -292,92 +294,102 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
292
294
|
next(state);
|
293
295
|
next(state);
|
294
296
|
return;
|
295
|
-
}
|
296
|
-
|
297
|
+
}
|
297
298
|
|
299
|
+
// check for delimiters consisting of 2 characters
|
298
300
|
if (c2.length === 2 && DELIMITERS[c2]) {
|
299
301
|
state.tokenType = TOKENTYPE.DELIMITER;
|
300
302
|
state.token = c2;
|
301
303
|
next(state);
|
302
304
|
next(state);
|
303
305
|
return;
|
304
|
-
}
|
305
|
-
|
306
|
+
}
|
306
307
|
|
308
|
+
// check for delimiters consisting of 1 character
|
307
309
|
if (DELIMITERS[c1]) {
|
308
310
|
state.tokenType = TOKENTYPE.DELIMITER;
|
309
311
|
state.token = c1;
|
310
312
|
next(state);
|
311
313
|
return;
|
312
|
-
}
|
313
|
-
|
314
|
+
}
|
314
315
|
|
316
|
+
// check for a number
|
315
317
|
if (parse.isDigitDot(c1)) {
|
316
|
-
state.tokenType = TOKENTYPE.NUMBER;
|
318
|
+
state.tokenType = TOKENTYPE.NUMBER;
|
317
319
|
|
320
|
+
// check for binary, octal, or hex
|
318
321
|
var _c = currentString(state, 2);
|
319
|
-
|
320
322
|
if (_c === '0b' || _c === '0o' || _c === '0x') {
|
321
323
|
state.token += currentCharacter(state);
|
322
324
|
next(state);
|
323
325
|
state.token += currentCharacter(state);
|
324
326
|
next(state);
|
325
|
-
|
326
327
|
while (parse.isHexDigit(currentCharacter(state))) {
|
327
328
|
state.token += currentCharacter(state);
|
328
329
|
next(state);
|
329
330
|
}
|
330
|
-
|
331
|
+
if (currentCharacter(state) === '.') {
|
332
|
+
// this number has a radix point
|
333
|
+
state.token += '.';
|
334
|
+
next(state);
|
335
|
+
// get the digits after the radix
|
336
|
+
while (parse.isHexDigit(currentCharacter(state))) {
|
337
|
+
state.token += currentCharacter(state);
|
338
|
+
next(state);
|
339
|
+
}
|
340
|
+
} else if (currentCharacter(state) === 'i') {
|
341
|
+
// this number has a word size suffix
|
342
|
+
state.token += 'i';
|
343
|
+
next(state);
|
344
|
+
// get the word size
|
345
|
+
while (parse.isDigit(currentCharacter(state))) {
|
346
|
+
state.token += currentCharacter(state);
|
347
|
+
next(state);
|
348
|
+
}
|
349
|
+
}
|
331
350
|
return;
|
332
|
-
}
|
333
|
-
|
351
|
+
}
|
334
352
|
|
353
|
+
// get number, can have a single dot
|
335
354
|
if (currentCharacter(state) === '.') {
|
336
355
|
state.token += currentCharacter(state);
|
337
356
|
next(state);
|
338
|
-
|
339
357
|
if (!parse.isDigit(currentCharacter(state))) {
|
340
358
|
// this is no number, it is just a dot (can be dot notation)
|
341
359
|
state.tokenType = TOKENTYPE.DELIMITER;
|
360
|
+
return;
|
342
361
|
}
|
343
362
|
} else {
|
344
363
|
while (parse.isDigit(currentCharacter(state))) {
|
345
364
|
state.token += currentCharacter(state);
|
346
365
|
next(state);
|
347
366
|
}
|
348
|
-
|
349
367
|
if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
|
350
368
|
state.token += currentCharacter(state);
|
351
369
|
next(state);
|
352
370
|
}
|
353
371
|
}
|
354
|
-
|
355
372
|
while (parse.isDigit(currentCharacter(state))) {
|
356
373
|
state.token += currentCharacter(state);
|
357
374
|
next(state);
|
358
|
-
}
|
359
|
-
|
360
|
-
|
375
|
+
}
|
376
|
+
// check for exponential notation like "2.3e-4", "1.23e50" or "2e+4"
|
361
377
|
if (currentCharacter(state) === 'E' || currentCharacter(state) === 'e') {
|
362
378
|
if (parse.isDigit(nextCharacter(state)) || nextCharacter(state) === '-' || nextCharacter(state) === '+') {
|
363
379
|
state.token += currentCharacter(state);
|
364
380
|
next(state);
|
365
|
-
|
366
381
|
if (currentCharacter(state) === '+' || currentCharacter(state) === '-') {
|
367
382
|
state.token += currentCharacter(state);
|
368
383
|
next(state);
|
369
|
-
}
|
370
|
-
|
371
|
-
|
384
|
+
}
|
385
|
+
// Scientific notation MUST be followed by an exponent
|
372
386
|
if (!parse.isDigit(currentCharacter(state))) {
|
373
387
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
374
388
|
}
|
375
|
-
|
376
389
|
while (parse.isDigit(currentCharacter(state))) {
|
377
390
|
state.token += currentCharacter(state);
|
378
391
|
next(state);
|
379
392
|
}
|
380
|
-
|
381
393
|
if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
|
382
394
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
383
395
|
}
|
@@ -386,65 +398,57 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
386
398
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
387
399
|
}
|
388
400
|
}
|
389
|
-
|
390
401
|
return;
|
391
|
-
}
|
392
|
-
|
402
|
+
}
|
393
403
|
|
404
|
+
// check for variables, functions, named operators
|
394
405
|
if (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state))) {
|
395
406
|
while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) {
|
396
407
|
state.token += currentCharacter(state);
|
397
408
|
next(state);
|
398
409
|
}
|
399
|
-
|
400
410
|
if ((0, _object.hasOwnProperty)(NAMED_DELIMITERS, state.token)) {
|
401
411
|
state.tokenType = TOKENTYPE.DELIMITER;
|
402
412
|
} else {
|
403
413
|
state.tokenType = TOKENTYPE.SYMBOL;
|
404
414
|
}
|
405
|
-
|
406
415
|
return;
|
407
|
-
}
|
408
|
-
|
416
|
+
}
|
409
417
|
|
418
|
+
// something unknown is found, wrong characters -> a syntax error
|
410
419
|
state.tokenType = TOKENTYPE.UNKNOWN;
|
411
|
-
|
412
420
|
while (currentCharacter(state) !== '') {
|
413
421
|
state.token += currentCharacter(state);
|
414
422
|
next(state);
|
415
423
|
}
|
416
|
-
|
417
424
|
throw createSyntaxError(state, 'Syntax error in part "' + state.token + '"');
|
418
425
|
}
|
426
|
+
|
419
427
|
/**
|
420
428
|
* Get next token and skip newline tokens
|
421
429
|
*/
|
422
|
-
|
423
|
-
|
424
430
|
function getTokenSkipNewline(state) {
|
425
431
|
do {
|
426
432
|
getToken(state);
|
427
433
|
} while (state.token === '\n'); // eslint-disable-line no-unmodified-loop-condition
|
428
|
-
|
429
434
|
}
|
435
|
+
|
430
436
|
/**
|
431
437
|
* Open parameters.
|
432
438
|
* New line characters will be ignored until closeParams(state) is called
|
433
439
|
*/
|
434
|
-
|
435
|
-
|
436
440
|
function openParams(state) {
|
437
441
|
state.nestingLevel++;
|
438
442
|
}
|
443
|
+
|
439
444
|
/**
|
440
445
|
* Close parameters.
|
441
446
|
* New line characters will no longer be ignored
|
442
447
|
*/
|
443
|
-
|
444
|
-
|
445
448
|
function closeParams(state) {
|
446
449
|
state.nestingLevel--;
|
447
450
|
}
|
451
|
+
|
448
452
|
/**
|
449
453
|
* Checks whether the current character `c` is a valid alpha character:
|
450
454
|
*
|
@@ -463,21 +467,19 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
463
467
|
* @param {string} cNext Next character
|
464
468
|
* @return {boolean}
|
465
469
|
*/
|
466
|
-
|
467
|
-
|
468
470
|
parse.isAlpha = function isAlpha(c, cPrev, cNext) {
|
469
471
|
return parse.isValidLatinOrGreek(c) || parse.isValidMathSymbol(c, cNext) || parse.isValidMathSymbol(cPrev, c);
|
470
472
|
};
|
473
|
+
|
471
474
|
/**
|
472
475
|
* Test whether a character is a valid latin, greek, or letter-like character
|
473
476
|
* @param {string} c
|
474
477
|
* @return {boolean}
|
475
478
|
*/
|
476
|
-
|
477
|
-
|
478
479
|
parse.isValidLatinOrGreek = function isValidLatinOrGreek(c) {
|
479
480
|
return /^[a-zA-Z_$\u00C0-\u02AF\u0370-\u03FF\u2100-\u214F]$/.test(c);
|
480
481
|
};
|
482
|
+
|
481
483
|
/**
|
482
484
|
* Test whether two given 16 bit characters form a surrogate pair of a
|
483
485
|
* unicode math symbol.
|
@@ -493,23 +495,21 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
493
495
|
* @param {string} low
|
494
496
|
* @return {boolean}
|
495
497
|
*/
|
496
|
-
|
497
|
-
|
498
498
|
parse.isValidMathSymbol = function isValidMathSymbol(high, low) {
|
499
499
|
return /^[\uD835]$/.test(high) && /^[\uDC00-\uDFFF]$/.test(low) && /^[^\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]$/.test(low);
|
500
500
|
};
|
501
|
+
|
501
502
|
/**
|
502
503
|
* Check whether given character c is a white space character: space, tab, or enter
|
503
504
|
* @param {string} c
|
504
505
|
* @param {number} nestingLevel
|
505
506
|
* @return {boolean}
|
506
507
|
*/
|
507
|
-
|
508
|
-
|
509
508
|
parse.isWhitespace = function isWhitespace(c, nestingLevel) {
|
510
509
|
// TODO: also take '\r' carriage return as newline? Or does that give problems on mac?
|
511
510
|
return c === ' ' || c === '\t' || c === '\n' && nestingLevel > 0;
|
512
511
|
};
|
512
|
+
|
513
513
|
/**
|
514
514
|
* Test whether the character c is a decimal mark (dot).
|
515
515
|
* This is the case when it's not the start of a delimiter '.*', './', or '.^'
|
@@ -517,72 +517,66 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
517
517
|
* @param {string} cNext
|
518
518
|
* @return {boolean}
|
519
519
|
*/
|
520
|
-
|
521
|
-
|
522
520
|
parse.isDecimalMark = function isDecimalMark(c, cNext) {
|
523
521
|
return c === '.' && cNext !== '/' && cNext !== '*' && cNext !== '^';
|
524
522
|
};
|
523
|
+
|
525
524
|
/**
|
526
525
|
* checks if the given char c is a digit or dot
|
527
526
|
* @param {string} c a string with one character
|
528
527
|
* @return {boolean}
|
529
528
|
*/
|
530
|
-
|
531
|
-
|
532
529
|
parse.isDigitDot = function isDigitDot(c) {
|
533
530
|
return c >= '0' && c <= '9' || c === '.';
|
534
531
|
};
|
532
|
+
|
535
533
|
/**
|
536
534
|
* checks if the given char c is a digit
|
537
535
|
* @param {string} c a string with one character
|
538
536
|
* @return {boolean}
|
539
537
|
*/
|
540
|
-
|
541
|
-
|
542
538
|
parse.isDigit = function isDigit(c) {
|
543
539
|
return c >= '0' && c <= '9';
|
544
540
|
};
|
541
|
+
|
545
542
|
/**
|
546
543
|
* checks if the given char c is a hex digit
|
547
544
|
* @param {string} c a string with one character
|
548
545
|
* @return {boolean}
|
549
546
|
*/
|
550
|
-
|
551
|
-
|
552
547
|
parse.isHexDigit = function isHexDigit(c) {
|
553
548
|
return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F';
|
554
549
|
};
|
550
|
+
|
555
551
|
/**
|
556
552
|
* Start of the parse levels below, in order of precedence
|
557
553
|
* @return {Node} node
|
558
554
|
* @private
|
559
555
|
*/
|
560
|
-
|
561
|
-
|
562
556
|
function parseStart(expression, extraNodes) {
|
563
557
|
var state = initialState();
|
564
|
-
|
565
|
-
_extends(state, {
|
558
|
+
(0, _extends2["default"])(state, {
|
566
559
|
expression: expression,
|
567
560
|
extraNodes: extraNodes
|
568
561
|
});
|
569
|
-
|
570
562
|
getToken(state);
|
571
|
-
var node = parseBlock(state);
|
572
|
-
// an expression ends with a empty character '' and tokenType DELIMITER
|
563
|
+
var node = parseBlock(state);
|
573
564
|
|
565
|
+
// check for garbage at the end of the expression
|
566
|
+
// an expression ends with a empty character '' and tokenType DELIMITER
|
574
567
|
if (state.token !== '') {
|
575
568
|
if (state.tokenType === TOKENTYPE.DELIMITER) {
|
576
569
|
// user entered a not existing operator like "//"
|
570
|
+
|
577
571
|
// TODO: give hints for aliases, for example with "<>" give as hint " did you mean !== ?"
|
578
572
|
throw createError(state, 'Unexpected operator ' + state.token);
|
579
573
|
} else {
|
580
574
|
throw createSyntaxError(state, 'Unexpected part "' + state.token + '"');
|
581
575
|
}
|
582
576
|
}
|
583
|
-
|
584
577
|
return node;
|
585
578
|
}
|
579
|
+
|
586
580
|
/**
|
587
581
|
* Parse a block with expressions. Expressions can be separated by a newline
|
588
582
|
* character '\n', or by a semicolon ';'. In case of a semicolon, no output
|
@@ -590,19 +584,18 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
590
584
|
* @return {Node} node
|
591
585
|
* @private
|
592
586
|
*/
|
593
|
-
|
594
|
-
|
595
587
|
function parseBlock(state) {
|
596
588
|
var node;
|
597
589
|
var blocks = [];
|
598
590
|
var visible;
|
599
|
-
|
600
591
|
if (state.token !== '' && state.token !== '\n' && state.token !== ';') {
|
601
592
|
node = parseAssignment(state);
|
602
|
-
|
603
|
-
|
604
|
-
|
593
|
+
if (state.comment) {
|
594
|
+
node.comment = state.comment;
|
595
|
+
}
|
596
|
+
}
|
605
597
|
|
598
|
+
// TODO: simplify this loop
|
606
599
|
while (state.token === '\n' || state.token === ';') {
|
607
600
|
// eslint-disable-line no-unmodified-loop-condition
|
608
601
|
if (blocks.length === 0 && node) {
|
@@ -612,12 +605,12 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
612
605
|
visible: visible
|
613
606
|
});
|
614
607
|
}
|
615
|
-
|
616
608
|
getToken(state);
|
617
|
-
|
618
609
|
if (state.token !== '\n' && state.token !== ';' && state.token !== '') {
|
619
610
|
node = parseAssignment(state);
|
620
|
-
|
611
|
+
if (state.comment) {
|
612
|
+
node.comment = state.comment;
|
613
|
+
}
|
621
614
|
visible = state.token !== ';';
|
622
615
|
blocks.push({
|
623
616
|
node: node,
|
@@ -625,18 +618,19 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
625
618
|
});
|
626
619
|
}
|
627
620
|
}
|
628
|
-
|
629
621
|
if (blocks.length > 0) {
|
630
622
|
return new BlockNode(blocks);
|
631
623
|
} else {
|
632
624
|
if (!node) {
|
633
625
|
node = new ConstantNode(undefined);
|
634
|
-
|
626
|
+
if (state.comment) {
|
627
|
+
node.comment = state.comment;
|
628
|
+
}
|
635
629
|
}
|
636
|
-
|
637
630
|
return node;
|
638
631
|
}
|
639
632
|
}
|
633
|
+
|
640
634
|
/**
|
641
635
|
* Assignment of a function or variable,
|
642
636
|
* - can be a variable like 'a=2.3'
|
@@ -645,12 +639,9 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
645
639
|
* @return {Node} node
|
646
640
|
* @private
|
647
641
|
*/
|
648
|
-
|
649
|
-
|
650
642
|
function parseAssignment(state) {
|
651
643
|
var name, args, value, valid;
|
652
644
|
var node = parseConditional(state);
|
653
|
-
|
654
645
|
if (state.token === '=') {
|
655
646
|
if ((0, _is.isSymbolNode)(node)) {
|
656
647
|
// parse a variable assignment like 'a = 2/3'
|
@@ -675,19 +666,17 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
675
666
|
valid = false;
|
676
667
|
}
|
677
668
|
});
|
678
|
-
|
679
669
|
if (valid) {
|
680
670
|
getTokenSkipNewline(state);
|
681
671
|
value = parseAssignment(state);
|
682
672
|
return new FunctionAssignmentNode(name, args, value);
|
683
673
|
}
|
684
674
|
}
|
685
|
-
|
686
675
|
throw createSyntaxError(state, 'Invalid left hand side of assignment operator =');
|
687
676
|
}
|
688
|
-
|
689
677
|
return node;
|
690
678
|
}
|
679
|
+
|
691
680
|
/**
|
692
681
|
* conditional operation
|
693
682
|
*
|
@@ -698,11 +687,8 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
698
687
|
* @return {Node} node
|
699
688
|
* @private
|
700
689
|
*/
|
701
|
-
|
702
|
-
|
703
690
|
function parseConditional(state) {
|
704
691
|
var node = parseLogicalOr(state);
|
705
|
-
|
706
692
|
while (state.token === '?') {
|
707
693
|
// eslint-disable-line no-unmodified-loop-condition
|
708
694
|
// set a conditional level, the range operator will be ignored as long
|
@@ -717,127 +703,108 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
717
703
|
getTokenSkipNewline(state);
|
718
704
|
var falseExpr = parseAssignment(state); // Note: check for conditional operator again, right associativity
|
719
705
|
|
720
|
-
node = new ConditionalNode(condition, trueExpr, falseExpr);
|
706
|
+
node = new ConditionalNode(condition, trueExpr, falseExpr);
|
721
707
|
|
708
|
+
// restore the previous conditional level
|
722
709
|
state.conditionalLevel = prev;
|
723
710
|
}
|
724
|
-
|
725
711
|
return node;
|
726
712
|
}
|
713
|
+
|
727
714
|
/**
|
728
715
|
* logical or, 'x or y'
|
729
716
|
* @return {Node} node
|
730
717
|
* @private
|
731
718
|
*/
|
732
|
-
|
733
|
-
|
734
719
|
function parseLogicalOr(state) {
|
735
720
|
var node = parseLogicalXor(state);
|
736
|
-
|
737
721
|
while (state.token === 'or') {
|
738
722
|
// eslint-disable-line no-unmodified-loop-condition
|
739
723
|
getTokenSkipNewline(state);
|
740
724
|
node = new OperatorNode('or', 'or', [node, parseLogicalXor(state)]);
|
741
725
|
}
|
742
|
-
|
743
726
|
return node;
|
744
727
|
}
|
728
|
+
|
745
729
|
/**
|
746
730
|
* logical exclusive or, 'x xor y'
|
747
731
|
* @return {Node} node
|
748
732
|
* @private
|
749
733
|
*/
|
750
|
-
|
751
|
-
|
752
734
|
function parseLogicalXor(state) {
|
753
735
|
var node = parseLogicalAnd(state);
|
754
|
-
|
755
736
|
while (state.token === 'xor') {
|
756
737
|
// eslint-disable-line no-unmodified-loop-condition
|
757
738
|
getTokenSkipNewline(state);
|
758
739
|
node = new OperatorNode('xor', 'xor', [node, parseLogicalAnd(state)]);
|
759
740
|
}
|
760
|
-
|
761
741
|
return node;
|
762
742
|
}
|
743
|
+
|
763
744
|
/**
|
764
745
|
* logical and, 'x and y'
|
765
746
|
* @return {Node} node
|
766
747
|
* @private
|
767
748
|
*/
|
768
|
-
|
769
|
-
|
770
749
|
function parseLogicalAnd(state) {
|
771
750
|
var node = parseBitwiseOr(state);
|
772
|
-
|
773
751
|
while (state.token === 'and') {
|
774
752
|
// eslint-disable-line no-unmodified-loop-condition
|
775
753
|
getTokenSkipNewline(state);
|
776
754
|
node = new OperatorNode('and', 'and', [node, parseBitwiseOr(state)]);
|
777
755
|
}
|
778
|
-
|
779
756
|
return node;
|
780
757
|
}
|
758
|
+
|
781
759
|
/**
|
782
760
|
* bitwise or, 'x | y'
|
783
761
|
* @return {Node} node
|
784
762
|
* @private
|
785
763
|
*/
|
786
|
-
|
787
|
-
|
788
764
|
function parseBitwiseOr(state) {
|
789
765
|
var node = parseBitwiseXor(state);
|
790
|
-
|
791
766
|
while (state.token === '|') {
|
792
767
|
// eslint-disable-line no-unmodified-loop-condition
|
793
768
|
getTokenSkipNewline(state);
|
794
769
|
node = new OperatorNode('|', 'bitOr', [node, parseBitwiseXor(state)]);
|
795
770
|
}
|
796
|
-
|
797
771
|
return node;
|
798
772
|
}
|
773
|
+
|
799
774
|
/**
|
800
775
|
* bitwise exclusive or (xor), 'x ^| y'
|
801
776
|
* @return {Node} node
|
802
777
|
* @private
|
803
778
|
*/
|
804
|
-
|
805
|
-
|
806
779
|
function parseBitwiseXor(state) {
|
807
780
|
var node = parseBitwiseAnd(state);
|
808
|
-
|
809
781
|
while (state.token === '^|') {
|
810
782
|
// eslint-disable-line no-unmodified-loop-condition
|
811
783
|
getTokenSkipNewline(state);
|
812
784
|
node = new OperatorNode('^|', 'bitXor', [node, parseBitwiseAnd(state)]);
|
813
785
|
}
|
814
|
-
|
815
786
|
return node;
|
816
787
|
}
|
788
|
+
|
817
789
|
/**
|
818
790
|
* bitwise and, 'x & y'
|
819
791
|
* @return {Node} node
|
820
792
|
* @private
|
821
793
|
*/
|
822
|
-
|
823
|
-
|
824
794
|
function parseBitwiseAnd(state) {
|
825
795
|
var node = parseRelational(state);
|
826
|
-
|
827
796
|
while (state.token === '&') {
|
828
797
|
// eslint-disable-line no-unmodified-loop-condition
|
829
798
|
getTokenSkipNewline(state);
|
830
799
|
node = new OperatorNode('&', 'bitAnd', [node, parseRelational(state)]);
|
831
800
|
}
|
832
|
-
|
833
801
|
return node;
|
834
802
|
}
|
803
|
+
|
835
804
|
/**
|
836
805
|
* Parse a chained conditional, like 'a > b >= c'
|
837
806
|
* @return {Node} node
|
838
807
|
*/
|
839
|
-
|
840
|
-
|
841
808
|
function parseRelational(state) {
|
842
809
|
var params = [parseShift(state)];
|
843
810
|
var conditionals = [];
|
@@ -849,7 +816,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
849
816
|
'<=': 'smallerEq',
|
850
817
|
'>=': 'largerEq'
|
851
818
|
};
|
852
|
-
|
853
819
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
854
820
|
// eslint-disable-line no-unmodified-loop-condition
|
855
821
|
var cond = {
|
@@ -860,7 +826,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
860
826
|
getTokenSkipNewline(state);
|
861
827
|
params.push(parseShift(state));
|
862
828
|
}
|
863
|
-
|
864
829
|
if (params.length === 1) {
|
865
830
|
return params[0];
|
866
831
|
} else if (params.length === 2) {
|
@@ -871,13 +836,12 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
871
836
|
}), params);
|
872
837
|
}
|
873
838
|
}
|
839
|
+
|
874
840
|
/**
|
875
841
|
* Bitwise left shift, bitwise right arithmetic shift, bitwise right logical shift
|
876
842
|
* @return {Node} node
|
877
843
|
* @private
|
878
844
|
*/
|
879
|
-
|
880
|
-
|
881
845
|
function parseShift(state) {
|
882
846
|
var node, name, fn, params;
|
883
847
|
node = parseConversion(state);
|
@@ -886,7 +850,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
886
850
|
'>>': 'rightArithShift',
|
887
851
|
'>>>': 'rightLogShift'
|
888
852
|
};
|
889
|
-
|
890
853
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
891
854
|
name = state.token;
|
892
855
|
fn = operators[name];
|
@@ -894,30 +857,25 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
894
857
|
params = [node, parseConversion(state)];
|
895
858
|
node = new OperatorNode(name, fn, params);
|
896
859
|
}
|
897
|
-
|
898
860
|
return node;
|
899
861
|
}
|
862
|
+
|
900
863
|
/**
|
901
864
|
* conversion operators 'to' and 'in'
|
902
865
|
* @return {Node} node
|
903
866
|
* @private
|
904
867
|
*/
|
905
|
-
|
906
|
-
|
907
868
|
function parseConversion(state) {
|
908
869
|
var node, name, fn, params;
|
909
870
|
node = parseRange(state);
|
910
871
|
var operators = {
|
911
872
|
to: 'to',
|
912
873
|
"in": 'to' // alias of 'to'
|
913
|
-
|
914
874
|
};
|
915
|
-
|
916
875
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
917
876
|
name = state.token;
|
918
877
|
fn = operators[name];
|
919
878
|
getTokenSkipNewline(state);
|
920
|
-
|
921
879
|
if (name === 'in' && state.token === '') {
|
922
880
|
// end of expression -> this is the unit 'in' ('inch')
|
923
881
|
node = new OperatorNode('*', 'multiply', [node, new SymbolNode('in')], true);
|
@@ -927,20 +885,17 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
927
885
|
node = new OperatorNode(name, fn, params);
|
928
886
|
}
|
929
887
|
}
|
930
|
-
|
931
888
|
return node;
|
932
889
|
}
|
890
|
+
|
933
891
|
/**
|
934
892
|
* parse range, "start:end", "start:step:end", ":", "start:", ":end", etc
|
935
893
|
* @return {Node} node
|
936
894
|
* @private
|
937
895
|
*/
|
938
|
-
|
939
|
-
|
940
896
|
function parseRange(state) {
|
941
897
|
var node;
|
942
898
|
var params = [];
|
943
|
-
|
944
899
|
if (state.token === ':') {
|
945
900
|
// implicit start=1 (one-based)
|
946
901
|
node = new ConstantNode(1);
|
@@ -948,15 +903,14 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
948
903
|
// explicit start
|
949
904
|
node = parseAddSubtract(state);
|
950
905
|
}
|
951
|
-
|
952
906
|
if (state.token === ':' && state.conditionalLevel !== state.nestingLevel) {
|
953
907
|
// we ignore the range operator when a conditional operator is being processed on the same level
|
954
|
-
params.push(node);
|
908
|
+
params.push(node);
|
955
909
|
|
910
|
+
// parse step and end
|
956
911
|
while (state.token === ':' && params.length < 3) {
|
957
912
|
// eslint-disable-line no-unmodified-loop-condition
|
958
913
|
getTokenSkipNewline(state);
|
959
|
-
|
960
914
|
if (state.token === ')' || state.token === ']' || state.token === ',' || state.token === '') {
|
961
915
|
// implicit end
|
962
916
|
params.push(new SymbolNode('end'));
|
@@ -965,7 +919,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
965
919
|
params.push(parseAddSubtract(state));
|
966
920
|
}
|
967
921
|
}
|
968
|
-
|
969
922
|
if (params.length === 3) {
|
970
923
|
// params = [start, step, end]
|
971
924
|
node = new RangeNode(params[0], params[2], params[1]); // start, end, step
|
@@ -975,16 +928,14 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
975
928
|
node = new RangeNode(params[0], params[1]); // start, end
|
976
929
|
}
|
977
930
|
}
|
978
|
-
|
979
931
|
return node;
|
980
932
|
}
|
933
|
+
|
981
934
|
/**
|
982
935
|
* add or subtract
|
983
936
|
* @return {Node} node
|
984
937
|
* @private
|
985
938
|
*/
|
986
|
-
|
987
|
-
|
988
939
|
function parseAddSubtract(state) {
|
989
940
|
var node, name, fn, params;
|
990
941
|
node = parseMultiplyDivide(state);
|
@@ -992,24 +943,26 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
992
943
|
'+': 'add',
|
993
944
|
'-': 'subtract'
|
994
945
|
};
|
995
|
-
|
996
946
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
997
947
|
name = state.token;
|
998
948
|
fn = operators[name];
|
999
949
|
getTokenSkipNewline(state);
|
1000
|
-
|
950
|
+
var rightNode = parseMultiplyDivide(state);
|
951
|
+
if (rightNode.isPercentage) {
|
952
|
+
params = [node, new OperatorNode('*', 'multiply', [node, rightNode])];
|
953
|
+
} else {
|
954
|
+
params = [node, rightNode];
|
955
|
+
}
|
1001
956
|
node = new OperatorNode(name, fn, params);
|
1002
957
|
}
|
1003
|
-
|
1004
958
|
return node;
|
1005
959
|
}
|
960
|
+
|
1006
961
|
/**
|
1007
962
|
* multiply, divide, modulus
|
1008
963
|
* @return {Node} node
|
1009
964
|
* @private
|
1010
965
|
*/
|
1011
|
-
|
1012
|
-
|
1013
966
|
function parseMultiplyDivide(state) {
|
1014
967
|
var node, last, name, fn;
|
1015
968
|
node = parseImplicitMultiplication(state);
|
@@ -1018,11 +971,8 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1018
971
|
'*': 'multiply',
|
1019
972
|
'.*': 'dotMultiply',
|
1020
973
|
'/': 'divide',
|
1021
|
-
'./': 'dotDivide'
|
1022
|
-
'%': 'mod',
|
1023
|
-
mod: 'mod'
|
974
|
+
'./': 'dotDivide'
|
1024
975
|
};
|
1025
|
-
|
1026
976
|
while (true) {
|
1027
977
|
if ((0, _object.hasOwnProperty)(operators, state.token)) {
|
1028
978
|
// explicit operators
|
@@ -1035,21 +985,18 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1035
985
|
break;
|
1036
986
|
}
|
1037
987
|
}
|
1038
|
-
|
1039
988
|
return node;
|
1040
989
|
}
|
990
|
+
|
1041
991
|
/**
|
1042
992
|
* implicit multiplication
|
1043
993
|
* @return {Node} node
|
1044
994
|
* @private
|
1045
995
|
*/
|
1046
|
-
|
1047
|
-
|
1048
996
|
function parseImplicitMultiplication(state) {
|
1049
997
|
var node, last;
|
1050
998
|
node = parseRule2(state);
|
1051
999
|
last = node;
|
1052
|
-
|
1053
1000
|
while (true) {
|
1054
1001
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.token === 'in' && (0, _is.isConstantNode)(node) || state.tokenType === TOKENTYPE.NUMBER && !(0, _is.isConstantNode)(last) && (!(0, _is.isOperatorNode)(last) || last.op === '!') || state.token === '(') {
|
1055
1002
|
// parse implicit multiplication
|
@@ -1058,78 +1005,98 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1058
1005
|
// number: implicit multiplication like '(2+3)2'
|
1059
1006
|
// parenthesis: implicit multiplication like '2(3+4)', '(3+4)(1+2)'
|
1060
1007
|
last = parseRule2(state);
|
1061
|
-
node = new OperatorNode('*', 'multiply', [node, last], true
|
1062
|
-
/* implicit */
|
1063
|
-
);
|
1008
|
+
node = new OperatorNode('*', 'multiply', [node, last], true /* implicit */);
|
1064
1009
|
} else {
|
1065
1010
|
break;
|
1066
1011
|
}
|
1067
1012
|
}
|
1068
|
-
|
1069
1013
|
return node;
|
1070
1014
|
}
|
1015
|
+
|
1071
1016
|
/**
|
1072
1017
|
* Infamous "rule 2" as described in https://github.com/josdejong/mathjs/issues/792#issuecomment-361065370
|
1018
|
+
* And as amended in https://github.com/josdejong/mathjs/issues/2370#issuecomment-1054052164
|
1073
1019
|
* Explicit division gets higher precedence than implicit multiplication
|
1074
|
-
* when the division matches this pattern:
|
1020
|
+
* when the division matches this pattern:
|
1021
|
+
* [unaryPrefixOp]?[number] / [number] [symbol]
|
1075
1022
|
* @return {Node} node
|
1076
1023
|
* @private
|
1077
1024
|
*/
|
1078
|
-
|
1079
|
-
|
1080
1025
|
function parseRule2(state) {
|
1081
|
-
var node =
|
1026
|
+
var node = parsePercentage(state);
|
1082
1027
|
var last = node;
|
1083
1028
|
var tokenStates = [];
|
1084
|
-
|
1085
1029
|
while (true) {
|
1086
1030
|
// Match the "number /" part of the pattern "number / number symbol"
|
1087
|
-
if (state.token === '/' && (0, _is.
|
1031
|
+
if (state.token === '/' && (0, _is.rule2Node)(last)) {
|
1088
1032
|
// Look ahead to see if the next token is a number
|
1089
|
-
tokenStates.push(
|
1090
|
-
getTokenSkipNewline(state);
|
1033
|
+
tokenStates.push((0, _extends2["default"])({}, state));
|
1034
|
+
getTokenSkipNewline(state);
|
1091
1035
|
|
1036
|
+
// Match the "number / number" part of the pattern
|
1092
1037
|
if (state.tokenType === TOKENTYPE.NUMBER) {
|
1093
1038
|
// Look ahead again
|
1094
|
-
tokenStates.push(
|
1095
|
-
getTokenSkipNewline(state);
|
1039
|
+
tokenStates.push((0, _extends2["default"])({}, state));
|
1040
|
+
getTokenSkipNewline(state);
|
1096
1041
|
|
1042
|
+
// Match the "symbol" part of the pattern, or a left parenthesis
|
1097
1043
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.token === '(') {
|
1098
1044
|
// We've matched the pattern "number / number symbol".
|
1099
1045
|
// Rewind once and build the "number / number" node; the symbol will be consumed later
|
1100
|
-
|
1101
|
-
|
1046
|
+
(0, _extends2["default"])(state, tokenStates.pop());
|
1102
1047
|
tokenStates.pop();
|
1103
|
-
last =
|
1048
|
+
last = parsePercentage(state);
|
1104
1049
|
node = new OperatorNode('/', 'divide', [node, last]);
|
1105
1050
|
} else {
|
1106
1051
|
// Not a match, so rewind
|
1107
1052
|
tokenStates.pop();
|
1108
|
-
|
1109
|
-
_extends(state, tokenStates.pop());
|
1110
|
-
|
1053
|
+
(0, _extends2["default"])(state, tokenStates.pop());
|
1111
1054
|
break;
|
1112
1055
|
}
|
1113
1056
|
} else {
|
1114
1057
|
// Not a match, so rewind
|
1115
|
-
|
1116
|
-
|
1058
|
+
(0, _extends2["default"])(state, tokenStates.pop());
|
1117
1059
|
break;
|
1118
1060
|
}
|
1119
1061
|
} else {
|
1120
1062
|
break;
|
1121
1063
|
}
|
1122
1064
|
}
|
1065
|
+
return node;
|
1066
|
+
}
|
1123
1067
|
|
1068
|
+
/**
|
1069
|
+
* percentage or mod
|
1070
|
+
* @return {Node} node
|
1071
|
+
* @private
|
1072
|
+
*/
|
1073
|
+
function parsePercentage(state) {
|
1074
|
+
var node, name, fn, params;
|
1075
|
+
node = parseUnary(state);
|
1076
|
+
var operators = {
|
1077
|
+
'%': 'mod',
|
1078
|
+
mod: 'mod'
|
1079
|
+
};
|
1080
|
+
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
1081
|
+
name = state.token;
|
1082
|
+
fn = operators[name];
|
1083
|
+
getTokenSkipNewline(state);
|
1084
|
+
if (name === '%' && state.tokenType === TOKENTYPE.DELIMITER && state.token !== '(') {
|
1085
|
+
// If the expression contains only %, then treat that as /100
|
1086
|
+
node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true);
|
1087
|
+
} else {
|
1088
|
+
params = [node, parseUnary(state)];
|
1089
|
+
node = new OperatorNode(name, fn, params);
|
1090
|
+
}
|
1091
|
+
}
|
1124
1092
|
return node;
|
1125
1093
|
}
|
1094
|
+
|
1126
1095
|
/**
|
1127
1096
|
* Unary plus and minus, and logical and bitwise not
|
1128
1097
|
* @return {Node} node
|
1129
1098
|
* @private
|
1130
1099
|
*/
|
1131
|
-
|
1132
|
-
|
1133
1100
|
function parseUnary(state) {
|
1134
1101
|
var name, params, fn;
|
1135
1102
|
var operators = {
|
@@ -1138,7 +1105,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1138
1105
|
'~': 'bitNot',
|
1139
1106
|
not: 'not'
|
1140
1107
|
};
|
1141
|
-
|
1142
1108
|
if ((0, _object.hasOwnProperty)(operators, state.token)) {
|
1143
1109
|
fn = operators[state.token];
|
1144
1110
|
name = state.token;
|
@@ -1146,39 +1112,33 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1146
1112
|
params = [parseUnary(state)];
|
1147
1113
|
return new OperatorNode(name, fn, params);
|
1148
1114
|
}
|
1149
|
-
|
1150
1115
|
return parsePow(state);
|
1151
1116
|
}
|
1117
|
+
|
1152
1118
|
/**
|
1153
1119
|
* power
|
1154
1120
|
* Note: power operator is right associative
|
1155
1121
|
* @return {Node} node
|
1156
1122
|
* @private
|
1157
1123
|
*/
|
1158
|
-
|
1159
|
-
|
1160
1124
|
function parsePow(state) {
|
1161
1125
|
var node, name, fn, params;
|
1162
1126
|
node = parseLeftHandOperators(state);
|
1163
|
-
|
1164
1127
|
if (state.token === '^' || state.token === '.^') {
|
1165
1128
|
name = state.token;
|
1166
1129
|
fn = name === '^' ? 'pow' : 'dotPow';
|
1167
1130
|
getTokenSkipNewline(state);
|
1168
1131
|
params = [node, parseUnary(state)]; // Go back to unary, we can have '2^-3'
|
1169
|
-
|
1170
1132
|
node = new OperatorNode(name, fn, params);
|
1171
1133
|
}
|
1172
|
-
|
1173
1134
|
return node;
|
1174
1135
|
}
|
1136
|
+
|
1175
1137
|
/**
|
1176
1138
|
* Left hand operators: factorial x!, ctranspose x'
|
1177
1139
|
* @return {Node} node
|
1178
1140
|
* @private
|
1179
1141
|
*/
|
1180
|
-
|
1181
|
-
|
1182
1142
|
function parseLeftHandOperators(state) {
|
1183
1143
|
var node, name, fn, params;
|
1184
1144
|
node = parseCustomNodes(state);
|
@@ -1186,7 +1146,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1186
1146
|
'!': 'factorial',
|
1187
1147
|
'\'': 'ctranspose'
|
1188
1148
|
};
|
1189
|
-
|
1190
1149
|
while ((0, _object.hasOwnProperty)(operators, state.token)) {
|
1191
1150
|
name = state.token;
|
1192
1151
|
fn = operators[name];
|
@@ -1195,9 +1154,9 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1195
1154
|
node = new OperatorNode(name, fn, params);
|
1196
1155
|
node = parseAccessors(state, node);
|
1197
1156
|
}
|
1198
|
-
|
1199
1157
|
return node;
|
1200
1158
|
}
|
1159
|
+
|
1201
1160
|
/**
|
1202
1161
|
* Parse a custom node handler. A node handler can be used to process
|
1203
1162
|
* nodes in a custom way, for example for handling a plot.
|
@@ -1226,59 +1185,51 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1226
1185
|
* @return {Node} node
|
1227
1186
|
* @private
|
1228
1187
|
*/
|
1229
|
-
|
1230
|
-
|
1231
1188
|
function parseCustomNodes(state) {
|
1232
1189
|
var params = [];
|
1233
|
-
|
1234
1190
|
if (state.tokenType === TOKENTYPE.SYMBOL && (0, _object.hasOwnProperty)(state.extraNodes, state.token)) {
|
1235
1191
|
var CustomNode = state.extraNodes[state.token];
|
1236
|
-
getToken(state);
|
1192
|
+
getToken(state);
|
1237
1193
|
|
1194
|
+
// parse parameters
|
1238
1195
|
if (state.token === '(') {
|
1239
1196
|
params = [];
|
1240
1197
|
openParams(state);
|
1241
1198
|
getToken(state);
|
1242
|
-
|
1243
1199
|
if (state.token !== ')') {
|
1244
|
-
params.push(parseAssignment(state));
|
1200
|
+
params.push(parseAssignment(state));
|
1245
1201
|
|
1202
|
+
// parse a list with parameters
|
1246
1203
|
while (state.token === ',') {
|
1247
1204
|
// eslint-disable-line no-unmodified-loop-condition
|
1248
1205
|
getToken(state);
|
1249
1206
|
params.push(parseAssignment(state));
|
1250
1207
|
}
|
1251
1208
|
}
|
1252
|
-
|
1253
1209
|
if (state.token !== ')') {
|
1254
1210
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
1255
1211
|
}
|
1256
|
-
|
1257
1212
|
closeParams(state);
|
1258
1213
|
getToken(state);
|
1259
|
-
}
|
1260
|
-
// noinspection JSValidateTypes
|
1261
|
-
|
1214
|
+
}
|
1262
1215
|
|
1216
|
+
// create a new custom node
|
1217
|
+
// noinspection JSValidateTypes
|
1263
1218
|
return new CustomNode(params);
|
1264
1219
|
}
|
1265
|
-
|
1266
1220
|
return parseSymbol(state);
|
1267
1221
|
}
|
1222
|
+
|
1268
1223
|
/**
|
1269
1224
|
* parse symbols: functions, variables, constants, units
|
1270
1225
|
* @return {Node} node
|
1271
1226
|
* @private
|
1272
1227
|
*/
|
1273
|
-
|
1274
|
-
|
1275
1228
|
function parseSymbol(state) {
|
1276
1229
|
var node, name;
|
1277
|
-
|
1278
1230
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS) {
|
1279
1231
|
name = state.token;
|
1280
1232
|
getToken(state);
|
1281
|
-
|
1282
1233
|
if ((0, _object.hasOwnProperty)(CONSTANTS, name)) {
|
1283
1234
|
// true, false, null, ...
|
1284
1235
|
node = new ConstantNode(CONSTANTS[name]);
|
@@ -1287,15 +1238,15 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1287
1238
|
node = new ConstantNode(numeric(name, 'number'));
|
1288
1239
|
} else {
|
1289
1240
|
node = new SymbolNode(name);
|
1290
|
-
}
|
1291
|
-
|
1241
|
+
}
|
1292
1242
|
|
1243
|
+
// parse function parameters and matrix index
|
1293
1244
|
node = parseAccessors(state, node);
|
1294
1245
|
return node;
|
1295
1246
|
}
|
1296
|
-
|
1297
|
-
return parseDoubleQuotesString(state);
|
1247
|
+
return parseString(state);
|
1298
1248
|
}
|
1249
|
+
|
1299
1250
|
/**
|
1300
1251
|
* parse accessors:
|
1301
1252
|
* - function invocation in round brackets (...), for example sqrt(2)
|
@@ -1310,35 +1261,29 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1310
1261
|
* @return {Node} node
|
1311
1262
|
* @private
|
1312
1263
|
*/
|
1313
|
-
|
1314
|
-
|
1315
1264
|
function parseAccessors(state, node, types) {
|
1316
1265
|
var params;
|
1317
|
-
|
1318
1266
|
while ((state.token === '(' || state.token === '[' || state.token === '.') && (!types || types.indexOf(state.token) !== -1)) {
|
1319
1267
|
// eslint-disable-line no-unmodified-loop-condition
|
1320
1268
|
params = [];
|
1321
|
-
|
1322
1269
|
if (state.token === '(') {
|
1323
1270
|
if ((0, _is.isSymbolNode)(node) || (0, _is.isAccessorNode)(node)) {
|
1324
1271
|
// function invocation like fn(2, 3) or obj.fn(2, 3)
|
1325
1272
|
openParams(state);
|
1326
1273
|
getToken(state);
|
1327
|
-
|
1328
1274
|
if (state.token !== ')') {
|
1329
|
-
params.push(parseAssignment(state));
|
1275
|
+
params.push(parseAssignment(state));
|
1330
1276
|
|
1277
|
+
// parse a list with parameters
|
1331
1278
|
while (state.token === ',') {
|
1332
1279
|
// eslint-disable-line no-unmodified-loop-condition
|
1333
1280
|
getToken(state);
|
1334
1281
|
params.push(parseAssignment(state));
|
1335
1282
|
}
|
1336
1283
|
}
|
1337
|
-
|
1338
1284
|
if (state.token !== ')') {
|
1339
1285
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
1340
1286
|
}
|
1341
|
-
|
1342
1287
|
closeParams(state);
|
1343
1288
|
getToken(state);
|
1344
1289
|
node = new FunctionNode(node, params);
|
@@ -1352,196 +1297,147 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1352
1297
|
// index notation like variable[2, 3]
|
1353
1298
|
openParams(state);
|
1354
1299
|
getToken(state);
|
1355
|
-
|
1356
1300
|
if (state.token !== ']') {
|
1357
|
-
params.push(parseAssignment(state));
|
1301
|
+
params.push(parseAssignment(state));
|
1358
1302
|
|
1303
|
+
// parse a list with parameters
|
1359
1304
|
while (state.token === ',') {
|
1360
1305
|
// eslint-disable-line no-unmodified-loop-condition
|
1361
1306
|
getToken(state);
|
1362
1307
|
params.push(parseAssignment(state));
|
1363
1308
|
}
|
1364
1309
|
}
|
1365
|
-
|
1366
1310
|
if (state.token !== ']') {
|
1367
1311
|
throw createSyntaxError(state, 'Parenthesis ] expected');
|
1368
1312
|
}
|
1369
|
-
|
1370
1313
|
closeParams(state);
|
1371
1314
|
getToken(state);
|
1372
1315
|
node = new AccessorNode(node, new IndexNode(params));
|
1373
1316
|
} else {
|
1374
1317
|
// dot notation like variable.prop
|
1375
1318
|
getToken(state);
|
1376
|
-
|
1377
|
-
if (
|
1319
|
+
var isPropertyName = state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS;
|
1320
|
+
if (!isPropertyName) {
|
1378
1321
|
throw createSyntaxError(state, 'Property name expected after dot');
|
1379
1322
|
}
|
1380
|
-
|
1381
1323
|
params.push(new ConstantNode(state.token));
|
1382
1324
|
getToken(state);
|
1383
1325
|
var dotNotation = true;
|
1384
1326
|
node = new AccessorNode(node, new IndexNode(params, dotNotation));
|
1385
1327
|
}
|
1386
1328
|
}
|
1387
|
-
|
1388
1329
|
return node;
|
1389
1330
|
}
|
1390
|
-
/**
|
1391
|
-
* Parse a double quotes string.
|
1392
|
-
* @return {Node} node
|
1393
|
-
* @private
|
1394
|
-
*/
|
1395
|
-
|
1396
|
-
|
1397
|
-
function parseDoubleQuotesString(state) {
|
1398
|
-
var node, str;
|
1399
1331
|
|
1400
|
-
if (state.token === '"') {
|
1401
|
-
str = parseDoubleQuotesStringToken(state); // create constant
|
1402
|
-
|
1403
|
-
node = new ConstantNode(str); // parse index parameters
|
1404
|
-
|
1405
|
-
node = parseAccessors(state, node);
|
1406
|
-
return node;
|
1407
|
-
}
|
1408
|
-
|
1409
|
-
return parseSingleQuotesString(state);
|
1410
|
-
}
|
1411
|
-
/**
|
1412
|
-
* Parse a string surrounded by double quotes "..."
|
1413
|
-
* @return {string}
|
1414
|
-
*/
|
1415
|
-
|
1416
|
-
|
1417
|
-
function parseDoubleQuotesStringToken(state) {
|
1418
|
-
var str = '';
|
1419
|
-
|
1420
|
-
while (currentCharacter(state) !== '' && currentCharacter(state) !== '"') {
|
1421
|
-
if (currentCharacter(state) === '\\') {
|
1422
|
-
// escape character, immediately process the next
|
1423
|
-
// character to prevent stopping at a next '\"'
|
1424
|
-
str += currentCharacter(state);
|
1425
|
-
next(state);
|
1426
|
-
}
|
1427
|
-
|
1428
|
-
str += currentCharacter(state);
|
1429
|
-
next(state);
|
1430
|
-
}
|
1431
|
-
|
1432
|
-
getToken(state);
|
1433
|
-
|
1434
|
-
if (state.token !== '"') {
|
1435
|
-
throw createSyntaxError(state, 'End of string " expected');
|
1436
|
-
}
|
1437
|
-
|
1438
|
-
getToken(state);
|
1439
|
-
return JSON.parse('"' + str + '"'); // unescape escaped characters
|
1440
|
-
}
|
1441
1332
|
/**
|
1442
|
-
* Parse a single
|
1333
|
+
* Parse a single or double quoted string.
|
1443
1334
|
* @return {Node} node
|
1444
1335
|
* @private
|
1445
1336
|
*/
|
1446
|
-
|
1447
|
-
|
1448
|
-
function parseSingleQuotesString(state) {
|
1337
|
+
function parseString(state) {
|
1449
1338
|
var node, str;
|
1339
|
+
if (state.token === '"' || state.token === "'") {
|
1340
|
+
str = parseStringToken(state, state.token);
|
1450
1341
|
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1454
|
-
node = new ConstantNode(str); // parse index parameters
|
1342
|
+
// create constant
|
1343
|
+
node = new ConstantNode(str);
|
1455
1344
|
|
1345
|
+
// parse index parameters
|
1456
1346
|
node = parseAccessors(state, node);
|
1457
1347
|
return node;
|
1458
1348
|
}
|
1459
|
-
|
1460
1349
|
return parseMatrix(state);
|
1461
1350
|
}
|
1351
|
+
|
1462
1352
|
/**
|
1463
|
-
* Parse a string surrounded by single quotes
|
1353
|
+
* Parse a string surrounded by single or double quotes
|
1354
|
+
* @param {Object} state
|
1355
|
+
* @param {"'" | "\""} quote
|
1464
1356
|
* @return {string}
|
1465
1357
|
*/
|
1466
|
-
|
1467
|
-
|
1468
|
-
function parseSingleQuotesStringToken(state) {
|
1358
|
+
function parseStringToken(state, quote) {
|
1469
1359
|
var str = '';
|
1470
|
-
|
1471
|
-
while (currentCharacter(state) !== '' && currentCharacter(state) !== '\'') {
|
1360
|
+
while (currentCharacter(state) !== '' && currentCharacter(state) !== quote) {
|
1472
1361
|
if (currentCharacter(state) === '\\') {
|
1473
|
-
|
1474
|
-
|
1362
|
+
next(state);
|
1363
|
+
var _char = currentCharacter(state);
|
1364
|
+
var escapeChar = ESCAPE_CHARACTERS[_char];
|
1365
|
+
if (escapeChar !== undefined) {
|
1366
|
+
// an escaped control character like \" or \n
|
1367
|
+
str += escapeChar;
|
1368
|
+
state.index += 1;
|
1369
|
+
} else if (_char === 'u') {
|
1370
|
+
// escaped unicode character
|
1371
|
+
var unicode = state.expression.slice(state.index + 1, state.index + 5);
|
1372
|
+
if (/^[0-9A-Fa-f]{4}$/.test(unicode)) {
|
1373
|
+
// test whether the string holds four hexadecimal values
|
1374
|
+
str += String.fromCharCode(parseInt(unicode, 16));
|
1375
|
+
state.index += 5;
|
1376
|
+
} else {
|
1377
|
+
throw createSyntaxError(state, "Invalid unicode character \\u".concat(unicode));
|
1378
|
+
}
|
1379
|
+
} else {
|
1380
|
+
throw createSyntaxError(state, "Bad escape character \\".concat(_char));
|
1381
|
+
}
|
1382
|
+
} else {
|
1383
|
+
// any regular character
|
1475
1384
|
str += currentCharacter(state);
|
1476
1385
|
next(state);
|
1477
1386
|
}
|
1478
|
-
|
1479
|
-
str += currentCharacter(state);
|
1480
|
-
next(state);
|
1481
1387
|
}
|
1482
|
-
|
1483
1388
|
getToken(state);
|
1484
|
-
|
1485
|
-
|
1486
|
-
throw createSyntaxError(state, 'End of string \' expected');
|
1389
|
+
if (state.token !== quote) {
|
1390
|
+
throw createSyntaxError(state, "End of string ".concat(quote, " expected"));
|
1487
1391
|
}
|
1488
|
-
|
1489
1392
|
getToken(state);
|
1490
|
-
return
|
1393
|
+
return str;
|
1491
1394
|
}
|
1395
|
+
|
1492
1396
|
/**
|
1493
1397
|
* parse the matrix
|
1494
1398
|
* @return {Node} node
|
1495
1399
|
* @private
|
1496
1400
|
*/
|
1497
|
-
|
1498
|
-
|
1499
1401
|
function parseMatrix(state) {
|
1500
1402
|
var array, params, rows, cols;
|
1501
|
-
|
1502
1403
|
if (state.token === '[') {
|
1503
1404
|
// matrix [...]
|
1504
1405
|
openParams(state);
|
1505
1406
|
getToken(state);
|
1506
|
-
|
1507
1407
|
if (state.token !== ']') {
|
1508
1408
|
// this is a non-empty matrix
|
1509
1409
|
var row = parseRow(state);
|
1510
|
-
|
1511
1410
|
if (state.token === ';') {
|
1512
1411
|
// 2 dimensional array
|
1513
1412
|
rows = 1;
|
1514
|
-
params = [row];
|
1413
|
+
params = [row];
|
1515
1414
|
|
1415
|
+
// the rows of the matrix are separated by dot-comma's
|
1516
1416
|
while (state.token === ';') {
|
1517
1417
|
// eslint-disable-line no-unmodified-loop-condition
|
1518
1418
|
getToken(state);
|
1519
1419
|
params[rows] = parseRow(state);
|
1520
1420
|
rows++;
|
1521
1421
|
}
|
1522
|
-
|
1523
1422
|
if (state.token !== ']') {
|
1524
1423
|
throw createSyntaxError(state, 'End of matrix ] expected');
|
1525
1424
|
}
|
1526
|
-
|
1527
1425
|
closeParams(state);
|
1528
|
-
getToken(state);
|
1426
|
+
getToken(state);
|
1529
1427
|
|
1428
|
+
// check if the number of columns matches in all rows
|
1530
1429
|
cols = params[0].items.length;
|
1531
|
-
|
1532
1430
|
for (var r = 1; r < rows; r++) {
|
1533
1431
|
if (params[r].items.length !== cols) {
|
1534
1432
|
throw createError(state, 'Column dimensions mismatch ' + '(' + params[r].items.length + ' !== ' + cols + ')');
|
1535
1433
|
}
|
1536
1434
|
}
|
1537
|
-
|
1538
1435
|
array = new ArrayNode(params);
|
1539
1436
|
} else {
|
1540
1437
|
// 1 dimensional vector
|
1541
1438
|
if (state.token !== ']') {
|
1542
1439
|
throw createSyntaxError(state, 'End of matrix ] expected');
|
1543
1440
|
}
|
1544
|
-
|
1545
1441
|
closeParams(state);
|
1546
1442
|
getToken(state);
|
1547
1443
|
array = row;
|
@@ -1552,116 +1448,102 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1552
1448
|
getToken(state);
|
1553
1449
|
array = new ArrayNode([]);
|
1554
1450
|
}
|
1555
|
-
|
1556
1451
|
return parseAccessors(state, array);
|
1557
1452
|
}
|
1558
|
-
|
1559
1453
|
return parseObject(state);
|
1560
1454
|
}
|
1455
|
+
|
1561
1456
|
/**
|
1562
1457
|
* Parse a single comma-separated row from a matrix, like 'a, b, c'
|
1563
1458
|
* @return {ArrayNode} node
|
1564
1459
|
*/
|
1565
|
-
|
1566
|
-
|
1567
1460
|
function parseRow(state) {
|
1568
1461
|
var params = [parseAssignment(state)];
|
1569
1462
|
var len = 1;
|
1570
|
-
|
1571
1463
|
while (state.token === ',') {
|
1572
1464
|
// eslint-disable-line no-unmodified-loop-condition
|
1573
|
-
getToken(state);
|
1465
|
+
getToken(state);
|
1574
1466
|
|
1467
|
+
// parse expression
|
1575
1468
|
params[len] = parseAssignment(state);
|
1576
1469
|
len++;
|
1577
1470
|
}
|
1578
|
-
|
1579
1471
|
return new ArrayNode(params);
|
1580
1472
|
}
|
1473
|
+
|
1581
1474
|
/**
|
1582
1475
|
* parse an object, enclosed in angle brackets{...}, for example {value: 2}
|
1583
1476
|
* @return {Node} node
|
1584
1477
|
* @private
|
1585
1478
|
*/
|
1586
|
-
|
1587
|
-
|
1588
1479
|
function parseObject(state) {
|
1589
1480
|
if (state.token === '{') {
|
1590
1481
|
openParams(state);
|
1591
1482
|
var key;
|
1592
1483
|
var properties = {};
|
1593
|
-
|
1594
1484
|
do {
|
1595
1485
|
getToken(state);
|
1596
|
-
|
1597
1486
|
if (state.token !== '}') {
|
1598
1487
|
// parse key
|
1599
|
-
if (state.token === '"') {
|
1600
|
-
key =
|
1601
|
-
} else if (state.token === '\'') {
|
1602
|
-
key = parseSingleQuotesStringToken(state);
|
1488
|
+
if (state.token === '"' || state.token === "'") {
|
1489
|
+
key = parseStringToken(state, state.token);
|
1603
1490
|
} else if (state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS) {
|
1604
1491
|
key = state.token;
|
1605
1492
|
getToken(state);
|
1606
1493
|
} else {
|
1607
1494
|
throw createSyntaxError(state, 'Symbol or string expected as object key');
|
1608
|
-
}
|
1609
|
-
|
1495
|
+
}
|
1610
1496
|
|
1497
|
+
// parse key/value separator
|
1611
1498
|
if (state.token !== ':') {
|
1612
1499
|
throw createSyntaxError(state, 'Colon : expected after object key');
|
1613
1500
|
}
|
1501
|
+
getToken(state);
|
1614
1502
|
|
1615
|
-
|
1616
|
-
|
1503
|
+
// parse key
|
1617
1504
|
properties[key] = parseAssignment(state);
|
1618
1505
|
}
|
1619
1506
|
} while (state.token === ','); // eslint-disable-line no-unmodified-loop-condition
|
1620
1507
|
|
1621
|
-
|
1622
1508
|
if (state.token !== '}') {
|
1623
1509
|
throw createSyntaxError(state, 'Comma , or bracket } expected after object value');
|
1624
1510
|
}
|
1625
|
-
|
1626
1511
|
closeParams(state);
|
1627
1512
|
getToken(state);
|
1628
|
-
var node = new ObjectNode(properties);
|
1513
|
+
var node = new ObjectNode(properties);
|
1629
1514
|
|
1515
|
+
// parse index parameters
|
1630
1516
|
node = parseAccessors(state, node);
|
1631
1517
|
return node;
|
1632
1518
|
}
|
1633
|
-
|
1634
1519
|
return parseNumber(state);
|
1635
1520
|
}
|
1521
|
+
|
1636
1522
|
/**
|
1637
1523
|
* parse a number
|
1638
1524
|
* @return {Node} node
|
1639
1525
|
* @private
|
1640
1526
|
*/
|
1641
|
-
|
1642
|
-
|
1643
1527
|
function parseNumber(state) {
|
1644
1528
|
var numberStr;
|
1645
|
-
|
1646
1529
|
if (state.tokenType === TOKENTYPE.NUMBER) {
|
1647
1530
|
// this is a number
|
1648
1531
|
numberStr = state.token;
|
1649
1532
|
getToken(state);
|
1650
1533
|
return new ConstantNode(numeric(numberStr, config.number));
|
1651
1534
|
}
|
1652
|
-
|
1653
1535
|
return parseParentheses(state);
|
1654
1536
|
}
|
1537
|
+
|
1655
1538
|
/**
|
1656
1539
|
* parentheses
|
1657
1540
|
* @return {Node} node
|
1658
1541
|
* @private
|
1659
1542
|
*/
|
1660
|
-
|
1661
|
-
|
1662
1543
|
function parseParentheses(state) {
|
1663
|
-
var node;
|
1544
|
+
var node;
|
1664
1545
|
|
1546
|
+
// check if it is a parenthesized expression
|
1665
1547
|
if (state.token === '(') {
|
1666
1548
|
// parentheses (...)
|
1667
1549
|
openParams(state);
|
@@ -1671,23 +1553,20 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1671
1553
|
if (state.token !== ')') {
|
1672
1554
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
1673
1555
|
}
|
1674
|
-
|
1675
1556
|
closeParams(state);
|
1676
1557
|
getToken(state);
|
1677
1558
|
node = new ParenthesisNode(node);
|
1678
1559
|
node = parseAccessors(state, node);
|
1679
1560
|
return node;
|
1680
1561
|
}
|
1681
|
-
|
1682
1562
|
return parseEnd(state);
|
1683
1563
|
}
|
1564
|
+
|
1684
1565
|
/**
|
1685
1566
|
* Evaluated when the expression is not yet ended but expected to end
|
1686
1567
|
* @return {Node} res
|
1687
1568
|
* @private
|
1688
1569
|
*/
|
1689
|
-
|
1690
|
-
|
1691
1570
|
function parseEnd(state) {
|
1692
1571
|
if (state.token === '') {
|
1693
1572
|
// syntax error or unexpected end of expression
|
@@ -1696,12 +1575,12 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1696
1575
|
throw createSyntaxError(state, 'Value expected');
|
1697
1576
|
}
|
1698
1577
|
}
|
1578
|
+
|
1699
1579
|
/**
|
1700
1580
|
* Shortcut for getting the current row value (one based)
|
1701
1581
|
* Returns the line of the currently handled expression
|
1702
1582
|
* @private
|
1703
1583
|
*/
|
1704
|
-
|
1705
1584
|
/* TODO: implement keeping track on the row number
|
1706
1585
|
function row () {
|
1707
1586
|
return null
|
@@ -1713,11 +1592,10 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1713
1592
|
* Returns the column (position) where the last state.token starts
|
1714
1593
|
* @private
|
1715
1594
|
*/
|
1716
|
-
|
1717
|
-
|
1718
1595
|
function col(state) {
|
1719
1596
|
return state.index - state.token.length + 1;
|
1720
1597
|
}
|
1598
|
+
|
1721
1599
|
/**
|
1722
1600
|
* Create an error
|
1723
1601
|
* @param {Object} state
|
@@ -1725,14 +1603,13 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1725
1603
|
* @return {SyntaxError} instantiated error
|
1726
1604
|
* @private
|
1727
1605
|
*/
|
1728
|
-
|
1729
|
-
|
1730
1606
|
function createSyntaxError(state, message) {
|
1731
1607
|
var c = col(state);
|
1732
1608
|
var error = new SyntaxError(message + ' (char ' + c + ')');
|
1733
1609
|
error["char"] = c;
|
1734
1610
|
return error;
|
1735
1611
|
}
|
1612
|
+
|
1736
1613
|
/**
|
1737
1614
|
* Create an error
|
1738
1615
|
* @param {Object} state
|
@@ -1740,8 +1617,6 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1740
1617
|
* @return {Error} instantiated error
|
1741
1618
|
* @private
|
1742
1619
|
*/
|
1743
|
-
|
1744
|
-
|
1745
1620
|
function createError(state, message) {
|
1746
1621
|
var c = col(state);
|
1747
1622
|
var error = new SyntaxError(message + ' (char ' + c + ')');
|
@@ -1749,6 +1624,11 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
|
|
1749
1624
|
return error;
|
1750
1625
|
}
|
1751
1626
|
|
1627
|
+
// Now that we can parse, automatically convert strings to Nodes by parsing
|
1628
|
+
typed.addConversion({
|
1629
|
+
from: 'string',
|
1630
|
+
to: 'Node',
|
1631
|
+
convert: parse
|
1632
|
+
});
|
1752
1633
|
return parse;
|
1753
|
-
});
|
1754
|
-
exports.createParse = createParse;
|
1634
|
+
});
|