mathjs 11.2.1 → 11.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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',
|