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