mathjs 11.2.0 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +13 -0
- 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
|
@@ -26,7 +26,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
26
26
|
RelationalNode,
|
|
27
27
|
SymbolNode
|
|
28
28
|
} = _ref;
|
|
29
|
-
|
|
30
29
|
/**
|
|
31
30
|
* Parse an expression. Returns a node tree, which can be evaluated by
|
|
32
31
|
* invoking node.evaluate().
|
|
@@ -79,26 +78,27 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
79
78
|
},
|
|
80
79
|
'Array | Matrix, Object': parseMultiple
|
|
81
80
|
});
|
|
82
|
-
|
|
83
81
|
function parseMultiple(expressions) {
|
|
84
82
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
85
|
-
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
|
83
|
+
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
|
86
84
|
|
|
85
|
+
// parse an array or matrix with expressions
|
|
87
86
|
return deepMap(expressions, function (elem) {
|
|
88
87
|
if (typeof elem !== 'string') throw new TypeError('String expected');
|
|
89
88
|
return parseStart(elem, extraNodes);
|
|
90
89
|
});
|
|
91
|
-
}
|
|
92
|
-
|
|
90
|
+
}
|
|
93
91
|
|
|
92
|
+
// token types enumeration
|
|
94
93
|
var TOKENTYPE = {
|
|
95
94
|
NULL: 0,
|
|
96
95
|
DELIMITER: 1,
|
|
97
96
|
NUMBER: 2,
|
|
98
97
|
SYMBOL: 3,
|
|
99
98
|
UNKNOWN: 4
|
|
100
|
-
};
|
|
99
|
+
};
|
|
101
100
|
|
|
101
|
+
// map with all delimiters
|
|
102
102
|
var DELIMITERS = {
|
|
103
103
|
',': true,
|
|
104
104
|
'(': true,
|
|
@@ -136,8 +136,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
136
136
|
'<<': true,
|
|
137
137
|
'>>': true,
|
|
138
138
|
'>>>': true
|
|
139
|
-
};
|
|
139
|
+
};
|
|
140
140
|
|
|
141
|
+
// map with all named delimiters
|
|
141
142
|
var NAMED_DELIMITERS = {
|
|
142
143
|
mod: true,
|
|
143
144
|
to: true,
|
|
@@ -154,7 +155,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
154
155
|
undefined
|
|
155
156
|
};
|
|
156
157
|
var NUMERIC_CONSTANTS = ['NaN', 'Infinity'];
|
|
157
|
-
|
|
158
158
|
function initialState() {
|
|
159
159
|
return {
|
|
160
160
|
extraNodes: {},
|
|
@@ -172,9 +172,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
172
172
|
nestingLevel: 0,
|
|
173
173
|
// level of nesting inside parameters, used to ignore newline characters
|
|
174
174
|
conditionalLevel: null // when a conditional is being parsed, the level of the conditional is stored here
|
|
175
|
-
|
|
176
175
|
};
|
|
177
176
|
}
|
|
177
|
+
|
|
178
178
|
/**
|
|
179
179
|
* View upto `length` characters of the expression starting at the current character.
|
|
180
180
|
*
|
|
@@ -183,11 +183,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
183
183
|
* @returns {string}
|
|
184
184
|
* @private
|
|
185
185
|
*/
|
|
186
|
-
|
|
187
|
-
|
|
188
186
|
function currentString(state, length) {
|
|
189
187
|
return state.expression.substr(state.index, length);
|
|
190
188
|
}
|
|
189
|
+
|
|
191
190
|
/**
|
|
192
191
|
* View the current character. Returns '' if end of expression is reached.
|
|
193
192
|
*
|
|
@@ -195,54 +194,49 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
195
194
|
* @returns {string}
|
|
196
195
|
* @private
|
|
197
196
|
*/
|
|
198
|
-
|
|
199
|
-
|
|
200
197
|
function currentCharacter(state) {
|
|
201
198
|
return currentString(state, 1);
|
|
202
199
|
}
|
|
200
|
+
|
|
203
201
|
/**
|
|
204
202
|
* Get the next character from the expression.
|
|
205
203
|
* The character is stored into the char c. If the end of the expression is
|
|
206
204
|
* reached, the function puts an empty string in c.
|
|
207
205
|
* @private
|
|
208
206
|
*/
|
|
209
|
-
|
|
210
|
-
|
|
211
207
|
function next(state) {
|
|
212
208
|
state.index++;
|
|
213
209
|
}
|
|
210
|
+
|
|
214
211
|
/**
|
|
215
212
|
* Preview the previous character from the expression.
|
|
216
213
|
* @return {string} cNext
|
|
217
214
|
* @private
|
|
218
215
|
*/
|
|
219
|
-
|
|
220
|
-
|
|
221
216
|
function prevCharacter(state) {
|
|
222
217
|
return state.expression.charAt(state.index - 1);
|
|
223
218
|
}
|
|
219
|
+
|
|
224
220
|
/**
|
|
225
221
|
* Preview the next character from the expression.
|
|
226
222
|
* @return {string} cNext
|
|
227
223
|
* @private
|
|
228
224
|
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
225
|
function nextCharacter(state) {
|
|
232
226
|
return state.expression.charAt(state.index + 1);
|
|
233
227
|
}
|
|
228
|
+
|
|
234
229
|
/**
|
|
235
230
|
* Get next token in the current string expr.
|
|
236
231
|
* The token and token type are available as token and tokenType
|
|
237
232
|
* @private
|
|
238
233
|
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
234
|
function getToken(state) {
|
|
242
235
|
state.tokenType = TOKENTYPE.NULL;
|
|
243
236
|
state.token = '';
|
|
244
|
-
state.comment = '';
|
|
237
|
+
state.comment = '';
|
|
245
238
|
|
|
239
|
+
// skip over ignored characters:
|
|
246
240
|
while (true) {
|
|
247
241
|
// comments:
|
|
248
242
|
if (currentCharacter(state) === '#') {
|
|
@@ -250,35 +244,32 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
250
244
|
state.comment += currentCharacter(state);
|
|
251
245
|
next(state);
|
|
252
246
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
247
|
+
}
|
|
248
|
+
// whitespace: space, tab, and newline when inside parameters
|
|
256
249
|
if (parse.isWhitespace(currentCharacter(state), state.nestingLevel)) {
|
|
257
250
|
next(state);
|
|
258
251
|
} else {
|
|
259
252
|
break;
|
|
260
253
|
}
|
|
261
|
-
}
|
|
262
|
-
|
|
254
|
+
}
|
|
263
255
|
|
|
256
|
+
// check for end of expression
|
|
264
257
|
if (currentCharacter(state) === '') {
|
|
265
258
|
// token is still empty
|
|
266
259
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
267
260
|
return;
|
|
268
|
-
}
|
|
269
|
-
|
|
261
|
+
}
|
|
270
262
|
|
|
263
|
+
// check for new line character
|
|
271
264
|
if (currentCharacter(state) === '\n' && !state.nestingLevel) {
|
|
272
265
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
273
266
|
state.token = currentCharacter(state);
|
|
274
267
|
next(state);
|
|
275
268
|
return;
|
|
276
269
|
}
|
|
277
|
-
|
|
278
270
|
var c1 = currentCharacter(state);
|
|
279
271
|
var c2 = currentString(state, 2);
|
|
280
272
|
var c3 = currentString(state, 3);
|
|
281
|
-
|
|
282
273
|
if (c3.length === 3 && DELIMITERS[c3]) {
|
|
283
274
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
284
275
|
state.token = c3;
|
|
@@ -286,47 +277,45 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
286
277
|
next(state);
|
|
287
278
|
next(state);
|
|
288
279
|
return;
|
|
289
|
-
}
|
|
290
|
-
|
|
280
|
+
}
|
|
291
281
|
|
|
282
|
+
// check for delimiters consisting of 2 characters
|
|
292
283
|
if (c2.length === 2 && DELIMITERS[c2]) {
|
|
293
284
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
294
285
|
state.token = c2;
|
|
295
286
|
next(state);
|
|
296
287
|
next(state);
|
|
297
288
|
return;
|
|
298
|
-
}
|
|
299
|
-
|
|
289
|
+
}
|
|
300
290
|
|
|
291
|
+
// check for delimiters consisting of 1 character
|
|
301
292
|
if (DELIMITERS[c1]) {
|
|
302
293
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
303
294
|
state.token = c1;
|
|
304
295
|
next(state);
|
|
305
296
|
return;
|
|
306
|
-
}
|
|
307
|
-
|
|
297
|
+
}
|
|
308
298
|
|
|
299
|
+
// check for a number
|
|
309
300
|
if (parse.isDigitDot(c1)) {
|
|
310
|
-
state.tokenType = TOKENTYPE.NUMBER;
|
|
301
|
+
state.tokenType = TOKENTYPE.NUMBER;
|
|
311
302
|
|
|
303
|
+
// check for binary, octal, or hex
|
|
312
304
|
var _c = currentString(state, 2);
|
|
313
|
-
|
|
314
305
|
if (_c === '0b' || _c === '0o' || _c === '0x') {
|
|
315
306
|
state.token += currentCharacter(state);
|
|
316
307
|
next(state);
|
|
317
308
|
state.token += currentCharacter(state);
|
|
318
309
|
next(state);
|
|
319
|
-
|
|
320
310
|
while (parse.isHexDigit(currentCharacter(state))) {
|
|
321
311
|
state.token += currentCharacter(state);
|
|
322
312
|
next(state);
|
|
323
313
|
}
|
|
324
|
-
|
|
325
314
|
if (currentCharacter(state) === '.') {
|
|
326
315
|
// this number has a radix point
|
|
327
316
|
state.token += '.';
|
|
328
|
-
next(state);
|
|
329
|
-
|
|
317
|
+
next(state);
|
|
318
|
+
// get the digits after the radix
|
|
330
319
|
while (parse.isHexDigit(currentCharacter(state))) {
|
|
331
320
|
state.token += currentCharacter(state);
|
|
332
321
|
next(state);
|
|
@@ -334,22 +323,20 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
334
323
|
} else if (currentCharacter(state) === 'i') {
|
|
335
324
|
// this number has a word size suffix
|
|
336
325
|
state.token += 'i';
|
|
337
|
-
next(state);
|
|
338
|
-
|
|
326
|
+
next(state);
|
|
327
|
+
// get the word size
|
|
339
328
|
while (parse.isDigit(currentCharacter(state))) {
|
|
340
329
|
state.token += currentCharacter(state);
|
|
341
330
|
next(state);
|
|
342
331
|
}
|
|
343
332
|
}
|
|
344
|
-
|
|
345
333
|
return;
|
|
346
|
-
}
|
|
347
|
-
|
|
334
|
+
}
|
|
348
335
|
|
|
336
|
+
// get number, can have a single dot
|
|
349
337
|
if (currentCharacter(state) === '.') {
|
|
350
338
|
state.token += currentCharacter(state);
|
|
351
339
|
next(state);
|
|
352
|
-
|
|
353
340
|
if (!parse.isDigit(currentCharacter(state))) {
|
|
354
341
|
// this is no number, it is just a dot (can be dot notation)
|
|
355
342
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
@@ -360,39 +347,32 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
360
347
|
state.token += currentCharacter(state);
|
|
361
348
|
next(state);
|
|
362
349
|
}
|
|
363
|
-
|
|
364
350
|
if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
|
|
365
351
|
state.token += currentCharacter(state);
|
|
366
352
|
next(state);
|
|
367
353
|
}
|
|
368
354
|
}
|
|
369
|
-
|
|
370
355
|
while (parse.isDigit(currentCharacter(state))) {
|
|
371
356
|
state.token += currentCharacter(state);
|
|
372
357
|
next(state);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
|
|
358
|
+
}
|
|
359
|
+
// check for exponential notation like "2.3e-4", "1.23e50" or "2e+4"
|
|
376
360
|
if (currentCharacter(state) === 'E' || currentCharacter(state) === 'e') {
|
|
377
361
|
if (parse.isDigit(nextCharacter(state)) || nextCharacter(state) === '-' || nextCharacter(state) === '+') {
|
|
378
362
|
state.token += currentCharacter(state);
|
|
379
363
|
next(state);
|
|
380
|
-
|
|
381
364
|
if (currentCharacter(state) === '+' || currentCharacter(state) === '-') {
|
|
382
365
|
state.token += currentCharacter(state);
|
|
383
366
|
next(state);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
|
|
367
|
+
}
|
|
368
|
+
// Scientific notation MUST be followed by an exponent
|
|
387
369
|
if (!parse.isDigit(currentCharacter(state))) {
|
|
388
370
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
|
389
371
|
}
|
|
390
|
-
|
|
391
372
|
while (parse.isDigit(currentCharacter(state))) {
|
|
392
373
|
state.token += currentCharacter(state);
|
|
393
374
|
next(state);
|
|
394
375
|
}
|
|
395
|
-
|
|
396
376
|
if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
|
|
397
377
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
|
398
378
|
}
|
|
@@ -401,65 +381,57 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
401
381
|
throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
|
|
402
382
|
}
|
|
403
383
|
}
|
|
404
|
-
|
|
405
384
|
return;
|
|
406
|
-
}
|
|
407
|
-
|
|
385
|
+
}
|
|
408
386
|
|
|
387
|
+
// check for variables, functions, named operators
|
|
409
388
|
if (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state))) {
|
|
410
389
|
while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) {
|
|
411
390
|
state.token += currentCharacter(state);
|
|
412
391
|
next(state);
|
|
413
392
|
}
|
|
414
|
-
|
|
415
393
|
if (hasOwnProperty(NAMED_DELIMITERS, state.token)) {
|
|
416
394
|
state.tokenType = TOKENTYPE.DELIMITER;
|
|
417
395
|
} else {
|
|
418
396
|
state.tokenType = TOKENTYPE.SYMBOL;
|
|
419
397
|
}
|
|
420
|
-
|
|
421
398
|
return;
|
|
422
|
-
}
|
|
423
|
-
|
|
399
|
+
}
|
|
424
400
|
|
|
401
|
+
// something unknown is found, wrong characters -> a syntax error
|
|
425
402
|
state.tokenType = TOKENTYPE.UNKNOWN;
|
|
426
|
-
|
|
427
403
|
while (currentCharacter(state) !== '') {
|
|
428
404
|
state.token += currentCharacter(state);
|
|
429
405
|
next(state);
|
|
430
406
|
}
|
|
431
|
-
|
|
432
407
|
throw createSyntaxError(state, 'Syntax error in part "' + state.token + '"');
|
|
433
408
|
}
|
|
409
|
+
|
|
434
410
|
/**
|
|
435
411
|
* Get next token and skip newline tokens
|
|
436
412
|
*/
|
|
437
|
-
|
|
438
|
-
|
|
439
413
|
function getTokenSkipNewline(state) {
|
|
440
414
|
do {
|
|
441
415
|
getToken(state);
|
|
442
416
|
} while (state.token === '\n'); // eslint-disable-line no-unmodified-loop-condition
|
|
443
|
-
|
|
444
417
|
}
|
|
418
|
+
|
|
445
419
|
/**
|
|
446
420
|
* Open parameters.
|
|
447
421
|
* New line characters will be ignored until closeParams(state) is called
|
|
448
422
|
*/
|
|
449
|
-
|
|
450
|
-
|
|
451
423
|
function openParams(state) {
|
|
452
424
|
state.nestingLevel++;
|
|
453
425
|
}
|
|
426
|
+
|
|
454
427
|
/**
|
|
455
428
|
* Close parameters.
|
|
456
429
|
* New line characters will no longer be ignored
|
|
457
430
|
*/
|
|
458
|
-
|
|
459
|
-
|
|
460
431
|
function closeParams(state) {
|
|
461
432
|
state.nestingLevel--;
|
|
462
433
|
}
|
|
434
|
+
|
|
463
435
|
/**
|
|
464
436
|
* Checks whether the current character `c` is a valid alpha character:
|
|
465
437
|
*
|
|
@@ -478,21 +450,19 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
478
450
|
* @param {string} cNext Next character
|
|
479
451
|
* @return {boolean}
|
|
480
452
|
*/
|
|
481
|
-
|
|
482
|
-
|
|
483
453
|
parse.isAlpha = function isAlpha(c, cPrev, cNext) {
|
|
484
454
|
return parse.isValidLatinOrGreek(c) || parse.isValidMathSymbol(c, cNext) || parse.isValidMathSymbol(cPrev, c);
|
|
485
455
|
};
|
|
456
|
+
|
|
486
457
|
/**
|
|
487
458
|
* Test whether a character is a valid latin, greek, or letter-like character
|
|
488
459
|
* @param {string} c
|
|
489
460
|
* @return {boolean}
|
|
490
461
|
*/
|
|
491
|
-
|
|
492
|
-
|
|
493
462
|
parse.isValidLatinOrGreek = function isValidLatinOrGreek(c) {
|
|
494
463
|
return /^[a-zA-Z_$\u00C0-\u02AF\u0370-\u03FF\u2100-\u214F]$/.test(c);
|
|
495
464
|
};
|
|
465
|
+
|
|
496
466
|
/**
|
|
497
467
|
* Test whether two given 16 bit characters form a surrogate pair of a
|
|
498
468
|
* unicode math symbol.
|
|
@@ -508,23 +478,21 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
508
478
|
* @param {string} low
|
|
509
479
|
* @return {boolean}
|
|
510
480
|
*/
|
|
511
|
-
|
|
512
|
-
|
|
513
481
|
parse.isValidMathSymbol = function isValidMathSymbol(high, low) {
|
|
514
482
|
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);
|
|
515
483
|
};
|
|
484
|
+
|
|
516
485
|
/**
|
|
517
486
|
* Check whether given character c is a white space character: space, tab, or enter
|
|
518
487
|
* @param {string} c
|
|
519
488
|
* @param {number} nestingLevel
|
|
520
489
|
* @return {boolean}
|
|
521
490
|
*/
|
|
522
|
-
|
|
523
|
-
|
|
524
491
|
parse.isWhitespace = function isWhitespace(c, nestingLevel) {
|
|
525
492
|
// TODO: also take '\r' carriage return as newline? Or does that give problems on mac?
|
|
526
493
|
return c === ' ' || c === '\t' || c === '\n' && nestingLevel > 0;
|
|
527
494
|
};
|
|
495
|
+
|
|
528
496
|
/**
|
|
529
497
|
* Test whether the character c is a decimal mark (dot).
|
|
530
498
|
* This is the case when it's not the start of a delimiter '.*', './', or '.^'
|
|
@@ -532,72 +500,66 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
532
500
|
* @param {string} cNext
|
|
533
501
|
* @return {boolean}
|
|
534
502
|
*/
|
|
535
|
-
|
|
536
|
-
|
|
537
503
|
parse.isDecimalMark = function isDecimalMark(c, cNext) {
|
|
538
504
|
return c === '.' && cNext !== '/' && cNext !== '*' && cNext !== '^';
|
|
539
505
|
};
|
|
506
|
+
|
|
540
507
|
/**
|
|
541
508
|
* checks if the given char c is a digit or dot
|
|
542
509
|
* @param {string} c a string with one character
|
|
543
510
|
* @return {boolean}
|
|
544
511
|
*/
|
|
545
|
-
|
|
546
|
-
|
|
547
512
|
parse.isDigitDot = function isDigitDot(c) {
|
|
548
513
|
return c >= '0' && c <= '9' || c === '.';
|
|
549
514
|
};
|
|
515
|
+
|
|
550
516
|
/**
|
|
551
517
|
* checks if the given char c is a digit
|
|
552
518
|
* @param {string} c a string with one character
|
|
553
519
|
* @return {boolean}
|
|
554
520
|
*/
|
|
555
|
-
|
|
556
|
-
|
|
557
521
|
parse.isDigit = function isDigit(c) {
|
|
558
522
|
return c >= '0' && c <= '9';
|
|
559
523
|
};
|
|
524
|
+
|
|
560
525
|
/**
|
|
561
526
|
* checks if the given char c is a hex digit
|
|
562
527
|
* @param {string} c a string with one character
|
|
563
528
|
* @return {boolean}
|
|
564
529
|
*/
|
|
565
|
-
|
|
566
|
-
|
|
567
530
|
parse.isHexDigit = function isHexDigit(c) {
|
|
568
531
|
return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F';
|
|
569
532
|
};
|
|
533
|
+
|
|
570
534
|
/**
|
|
571
535
|
* Start of the parse levels below, in order of precedence
|
|
572
536
|
* @return {Node} node
|
|
573
537
|
* @private
|
|
574
538
|
*/
|
|
575
|
-
|
|
576
|
-
|
|
577
539
|
function parseStart(expression, extraNodes) {
|
|
578
540
|
var state = initialState();
|
|
579
|
-
|
|
580
541
|
_extends(state, {
|
|
581
542
|
expression,
|
|
582
543
|
extraNodes
|
|
583
544
|
});
|
|
584
|
-
|
|
585
545
|
getToken(state);
|
|
586
|
-
var node = parseBlock(state);
|
|
587
|
-
// an expression ends with a empty character '' and tokenType DELIMITER
|
|
546
|
+
var node = parseBlock(state);
|
|
588
547
|
|
|
548
|
+
// check for garbage at the end of the expression
|
|
549
|
+
// an expression ends with a empty character '' and tokenType DELIMITER
|
|
589
550
|
if (state.token !== '') {
|
|
590
551
|
if (state.tokenType === TOKENTYPE.DELIMITER) {
|
|
591
552
|
// user entered a not existing operator like "//"
|
|
553
|
+
|
|
592
554
|
// TODO: give hints for aliases, for example with "<>" give as hint " did you mean !== ?"
|
|
593
555
|
throw createError(state, 'Unexpected operator ' + state.token);
|
|
594
556
|
} else {
|
|
595
557
|
throw createSyntaxError(state, 'Unexpected part "' + state.token + '"');
|
|
596
558
|
}
|
|
597
559
|
}
|
|
598
|
-
|
|
599
560
|
return node;
|
|
600
561
|
}
|
|
562
|
+
|
|
601
563
|
/**
|
|
602
564
|
* Parse a block with expressions. Expressions can be separated by a newline
|
|
603
565
|
* character '\n', or by a semicolon ';'. In case of a semicolon, no output
|
|
@@ -605,22 +567,18 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
605
567
|
* @return {Node} node
|
|
606
568
|
* @private
|
|
607
569
|
*/
|
|
608
|
-
|
|
609
|
-
|
|
610
570
|
function parseBlock(state) {
|
|
611
571
|
var node;
|
|
612
572
|
var blocks = [];
|
|
613
573
|
var visible;
|
|
614
|
-
|
|
615
574
|
if (state.token !== '' && state.token !== '\n' && state.token !== ';') {
|
|
616
575
|
node = parseAssignment(state);
|
|
617
|
-
|
|
618
576
|
if (state.comment) {
|
|
619
577
|
node.comment = state.comment;
|
|
620
578
|
}
|
|
621
|
-
}
|
|
622
|
-
|
|
579
|
+
}
|
|
623
580
|
|
|
581
|
+
// TODO: simplify this loop
|
|
624
582
|
while (state.token === '\n' || state.token === ';') {
|
|
625
583
|
// eslint-disable-line no-unmodified-loop-condition
|
|
626
584
|
if (blocks.length === 0 && node) {
|
|
@@ -630,16 +588,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
630
588
|
visible
|
|
631
589
|
});
|
|
632
590
|
}
|
|
633
|
-
|
|
634
591
|
getToken(state);
|
|
635
|
-
|
|
636
592
|
if (state.token !== '\n' && state.token !== ';' && state.token !== '') {
|
|
637
593
|
node = parseAssignment(state);
|
|
638
|
-
|
|
639
594
|
if (state.comment) {
|
|
640
595
|
node.comment = state.comment;
|
|
641
596
|
}
|
|
642
|
-
|
|
643
597
|
visible = state.token !== ';';
|
|
644
598
|
blocks.push({
|
|
645
599
|
node,
|
|
@@ -647,21 +601,19 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
647
601
|
});
|
|
648
602
|
}
|
|
649
603
|
}
|
|
650
|
-
|
|
651
604
|
if (blocks.length > 0) {
|
|
652
605
|
return new BlockNode(blocks);
|
|
653
606
|
} else {
|
|
654
607
|
if (!node) {
|
|
655
608
|
node = new ConstantNode(undefined);
|
|
656
|
-
|
|
657
609
|
if (state.comment) {
|
|
658
610
|
node.comment = state.comment;
|
|
659
611
|
}
|
|
660
612
|
}
|
|
661
|
-
|
|
662
613
|
return node;
|
|
663
614
|
}
|
|
664
615
|
}
|
|
616
|
+
|
|
665
617
|
/**
|
|
666
618
|
* Assignment of a function or variable,
|
|
667
619
|
* - can be a variable like 'a=2.3'
|
|
@@ -670,12 +622,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
670
622
|
* @return {Node} node
|
|
671
623
|
* @private
|
|
672
624
|
*/
|
|
673
|
-
|
|
674
|
-
|
|
675
625
|
function parseAssignment(state) {
|
|
676
626
|
var name, args, value, valid;
|
|
677
627
|
var node = parseConditional(state);
|
|
678
|
-
|
|
679
628
|
if (state.token === '=') {
|
|
680
629
|
if (isSymbolNode(node)) {
|
|
681
630
|
// parse a variable assignment like 'a = 2/3'
|
|
@@ -700,19 +649,17 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
700
649
|
valid = false;
|
|
701
650
|
}
|
|
702
651
|
});
|
|
703
|
-
|
|
704
652
|
if (valid) {
|
|
705
653
|
getTokenSkipNewline(state);
|
|
706
654
|
value = parseAssignment(state);
|
|
707
655
|
return new FunctionAssignmentNode(name, args, value);
|
|
708
656
|
}
|
|
709
657
|
}
|
|
710
|
-
|
|
711
658
|
throw createSyntaxError(state, 'Invalid left hand side of assignment operator =');
|
|
712
659
|
}
|
|
713
|
-
|
|
714
660
|
return node;
|
|
715
661
|
}
|
|
662
|
+
|
|
716
663
|
/**
|
|
717
664
|
* conditional operation
|
|
718
665
|
*
|
|
@@ -723,11 +670,8 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
723
670
|
* @return {Node} node
|
|
724
671
|
* @private
|
|
725
672
|
*/
|
|
726
|
-
|
|
727
|
-
|
|
728
673
|
function parseConditional(state) {
|
|
729
674
|
var node = parseLogicalOr(state);
|
|
730
|
-
|
|
731
675
|
while (state.token === '?') {
|
|
732
676
|
// eslint-disable-line no-unmodified-loop-condition
|
|
733
677
|
// set a conditional level, the range operator will be ignored as long
|
|
@@ -742,127 +686,108 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
742
686
|
getTokenSkipNewline(state);
|
|
743
687
|
var falseExpr = parseAssignment(state); // Note: check for conditional operator again, right associativity
|
|
744
688
|
|
|
745
|
-
node = new ConditionalNode(condition, trueExpr, falseExpr);
|
|
689
|
+
node = new ConditionalNode(condition, trueExpr, falseExpr);
|
|
746
690
|
|
|
691
|
+
// restore the previous conditional level
|
|
747
692
|
state.conditionalLevel = prev;
|
|
748
693
|
}
|
|
749
|
-
|
|
750
694
|
return node;
|
|
751
695
|
}
|
|
696
|
+
|
|
752
697
|
/**
|
|
753
698
|
* logical or, 'x or y'
|
|
754
699
|
* @return {Node} node
|
|
755
700
|
* @private
|
|
756
701
|
*/
|
|
757
|
-
|
|
758
|
-
|
|
759
702
|
function parseLogicalOr(state) {
|
|
760
703
|
var node = parseLogicalXor(state);
|
|
761
|
-
|
|
762
704
|
while (state.token === 'or') {
|
|
763
705
|
// eslint-disable-line no-unmodified-loop-condition
|
|
764
706
|
getTokenSkipNewline(state);
|
|
765
707
|
node = new OperatorNode('or', 'or', [node, parseLogicalXor(state)]);
|
|
766
708
|
}
|
|
767
|
-
|
|
768
709
|
return node;
|
|
769
710
|
}
|
|
711
|
+
|
|
770
712
|
/**
|
|
771
713
|
* logical exclusive or, 'x xor y'
|
|
772
714
|
* @return {Node} node
|
|
773
715
|
* @private
|
|
774
716
|
*/
|
|
775
|
-
|
|
776
|
-
|
|
777
717
|
function parseLogicalXor(state) {
|
|
778
718
|
var node = parseLogicalAnd(state);
|
|
779
|
-
|
|
780
719
|
while (state.token === 'xor') {
|
|
781
720
|
// eslint-disable-line no-unmodified-loop-condition
|
|
782
721
|
getTokenSkipNewline(state);
|
|
783
722
|
node = new OperatorNode('xor', 'xor', [node, parseLogicalAnd(state)]);
|
|
784
723
|
}
|
|
785
|
-
|
|
786
724
|
return node;
|
|
787
725
|
}
|
|
726
|
+
|
|
788
727
|
/**
|
|
789
728
|
* logical and, 'x and y'
|
|
790
729
|
* @return {Node} node
|
|
791
730
|
* @private
|
|
792
731
|
*/
|
|
793
|
-
|
|
794
|
-
|
|
795
732
|
function parseLogicalAnd(state) {
|
|
796
733
|
var node = parseBitwiseOr(state);
|
|
797
|
-
|
|
798
734
|
while (state.token === 'and') {
|
|
799
735
|
// eslint-disable-line no-unmodified-loop-condition
|
|
800
736
|
getTokenSkipNewline(state);
|
|
801
737
|
node = new OperatorNode('and', 'and', [node, parseBitwiseOr(state)]);
|
|
802
738
|
}
|
|
803
|
-
|
|
804
739
|
return node;
|
|
805
740
|
}
|
|
741
|
+
|
|
806
742
|
/**
|
|
807
743
|
* bitwise or, 'x | y'
|
|
808
744
|
* @return {Node} node
|
|
809
745
|
* @private
|
|
810
746
|
*/
|
|
811
|
-
|
|
812
|
-
|
|
813
747
|
function parseBitwiseOr(state) {
|
|
814
748
|
var node = parseBitwiseXor(state);
|
|
815
|
-
|
|
816
749
|
while (state.token === '|') {
|
|
817
750
|
// eslint-disable-line no-unmodified-loop-condition
|
|
818
751
|
getTokenSkipNewline(state);
|
|
819
752
|
node = new OperatorNode('|', 'bitOr', [node, parseBitwiseXor(state)]);
|
|
820
753
|
}
|
|
821
|
-
|
|
822
754
|
return node;
|
|
823
755
|
}
|
|
756
|
+
|
|
824
757
|
/**
|
|
825
758
|
* bitwise exclusive or (xor), 'x ^| y'
|
|
826
759
|
* @return {Node} node
|
|
827
760
|
* @private
|
|
828
761
|
*/
|
|
829
|
-
|
|
830
|
-
|
|
831
762
|
function parseBitwiseXor(state) {
|
|
832
763
|
var node = parseBitwiseAnd(state);
|
|
833
|
-
|
|
834
764
|
while (state.token === '^|') {
|
|
835
765
|
// eslint-disable-line no-unmodified-loop-condition
|
|
836
766
|
getTokenSkipNewline(state);
|
|
837
767
|
node = new OperatorNode('^|', 'bitXor', [node, parseBitwiseAnd(state)]);
|
|
838
768
|
}
|
|
839
|
-
|
|
840
769
|
return node;
|
|
841
770
|
}
|
|
771
|
+
|
|
842
772
|
/**
|
|
843
773
|
* bitwise and, 'x & y'
|
|
844
774
|
* @return {Node} node
|
|
845
775
|
* @private
|
|
846
776
|
*/
|
|
847
|
-
|
|
848
|
-
|
|
849
777
|
function parseBitwiseAnd(state) {
|
|
850
778
|
var node = parseRelational(state);
|
|
851
|
-
|
|
852
779
|
while (state.token === '&') {
|
|
853
780
|
// eslint-disable-line no-unmodified-loop-condition
|
|
854
781
|
getTokenSkipNewline(state);
|
|
855
782
|
node = new OperatorNode('&', 'bitAnd', [node, parseRelational(state)]);
|
|
856
783
|
}
|
|
857
|
-
|
|
858
784
|
return node;
|
|
859
785
|
}
|
|
786
|
+
|
|
860
787
|
/**
|
|
861
788
|
* Parse a chained conditional, like 'a > b >= c'
|
|
862
789
|
* @return {Node} node
|
|
863
790
|
*/
|
|
864
|
-
|
|
865
|
-
|
|
866
791
|
function parseRelational(state) {
|
|
867
792
|
var params = [parseShift(state)];
|
|
868
793
|
var conditionals = [];
|
|
@@ -874,7 +799,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
874
799
|
'<=': 'smallerEq',
|
|
875
800
|
'>=': 'largerEq'
|
|
876
801
|
};
|
|
877
|
-
|
|
878
802
|
while (hasOwnProperty(operators, state.token)) {
|
|
879
803
|
// eslint-disable-line no-unmodified-loop-condition
|
|
880
804
|
var cond = {
|
|
@@ -885,7 +809,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
885
809
|
getTokenSkipNewline(state);
|
|
886
810
|
params.push(parseShift(state));
|
|
887
811
|
}
|
|
888
|
-
|
|
889
812
|
if (params.length === 1) {
|
|
890
813
|
return params[0];
|
|
891
814
|
} else if (params.length === 2) {
|
|
@@ -894,13 +817,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
894
817
|
return new RelationalNode(conditionals.map(c => c.fn), params);
|
|
895
818
|
}
|
|
896
819
|
}
|
|
820
|
+
|
|
897
821
|
/**
|
|
898
822
|
* Bitwise left shift, bitwise right arithmetic shift, bitwise right logical shift
|
|
899
823
|
* @return {Node} node
|
|
900
824
|
* @private
|
|
901
825
|
*/
|
|
902
|
-
|
|
903
|
-
|
|
904
826
|
function parseShift(state) {
|
|
905
827
|
var node, name, fn, params;
|
|
906
828
|
node = parseConversion(state);
|
|
@@ -909,7 +831,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
909
831
|
'>>': 'rightArithShift',
|
|
910
832
|
'>>>': 'rightLogShift'
|
|
911
833
|
};
|
|
912
|
-
|
|
913
834
|
while (hasOwnProperty(operators, state.token)) {
|
|
914
835
|
name = state.token;
|
|
915
836
|
fn = operators[name];
|
|
@@ -917,30 +838,26 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
917
838
|
params = [node, parseConversion(state)];
|
|
918
839
|
node = new OperatorNode(name, fn, params);
|
|
919
840
|
}
|
|
920
|
-
|
|
921
841
|
return node;
|
|
922
842
|
}
|
|
843
|
+
|
|
923
844
|
/**
|
|
924
845
|
* conversion operators 'to' and 'in'
|
|
925
846
|
* @return {Node} node
|
|
926
847
|
* @private
|
|
927
848
|
*/
|
|
928
|
-
|
|
929
|
-
|
|
930
849
|
function parseConversion(state) {
|
|
931
850
|
var node, name, fn, params;
|
|
932
851
|
node = parseRange(state);
|
|
933
852
|
var operators = {
|
|
934
853
|
to: 'to',
|
|
935
854
|
in: 'to' // alias of 'to'
|
|
936
|
-
|
|
937
855
|
};
|
|
938
856
|
|
|
939
857
|
while (hasOwnProperty(operators, state.token)) {
|
|
940
858
|
name = state.token;
|
|
941
859
|
fn = operators[name];
|
|
942
860
|
getTokenSkipNewline(state);
|
|
943
|
-
|
|
944
861
|
if (name === 'in' && state.token === '') {
|
|
945
862
|
// end of expression -> this is the unit 'in' ('inch')
|
|
946
863
|
node = new OperatorNode('*', 'multiply', [node, new SymbolNode('in')], true);
|
|
@@ -950,20 +867,17 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
950
867
|
node = new OperatorNode(name, fn, params);
|
|
951
868
|
}
|
|
952
869
|
}
|
|
953
|
-
|
|
954
870
|
return node;
|
|
955
871
|
}
|
|
872
|
+
|
|
956
873
|
/**
|
|
957
874
|
* parse range, "start:end", "start:step:end", ":", "start:", ":end", etc
|
|
958
875
|
* @return {Node} node
|
|
959
876
|
* @private
|
|
960
877
|
*/
|
|
961
|
-
|
|
962
|
-
|
|
963
878
|
function parseRange(state) {
|
|
964
879
|
var node;
|
|
965
880
|
var params = [];
|
|
966
|
-
|
|
967
881
|
if (state.token === ':') {
|
|
968
882
|
// implicit start=1 (one-based)
|
|
969
883
|
node = new ConstantNode(1);
|
|
@@ -971,15 +885,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
971
885
|
// explicit start
|
|
972
886
|
node = parseAddSubtract(state);
|
|
973
887
|
}
|
|
974
|
-
|
|
975
888
|
if (state.token === ':' && state.conditionalLevel !== state.nestingLevel) {
|
|
976
889
|
// we ignore the range operator when a conditional operator is being processed on the same level
|
|
977
|
-
params.push(node);
|
|
890
|
+
params.push(node);
|
|
978
891
|
|
|
892
|
+
// parse step and end
|
|
979
893
|
while (state.token === ':' && params.length < 3) {
|
|
980
894
|
// eslint-disable-line no-unmodified-loop-condition
|
|
981
895
|
getTokenSkipNewline(state);
|
|
982
|
-
|
|
983
896
|
if (state.token === ')' || state.token === ']' || state.token === ',' || state.token === '') {
|
|
984
897
|
// implicit end
|
|
985
898
|
params.push(new SymbolNode('end'));
|
|
@@ -988,7 +901,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
988
901
|
params.push(parseAddSubtract(state));
|
|
989
902
|
}
|
|
990
903
|
}
|
|
991
|
-
|
|
992
904
|
if (params.length === 3) {
|
|
993
905
|
// params = [start, step, end]
|
|
994
906
|
node = new RangeNode(params[0], params[2], params[1]); // start, end, step
|
|
@@ -1001,13 +913,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1001
913
|
|
|
1002
914
|
return node;
|
|
1003
915
|
}
|
|
916
|
+
|
|
1004
917
|
/**
|
|
1005
918
|
* add or subtract
|
|
1006
919
|
* @return {Node} node
|
|
1007
920
|
* @private
|
|
1008
921
|
*/
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
922
|
function parseAddSubtract(state) {
|
|
1012
923
|
var node, name, fn, params;
|
|
1013
924
|
node = parseMultiplyDivide(state);
|
|
@@ -1015,31 +926,26 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1015
926
|
'+': 'add',
|
|
1016
927
|
'-': 'subtract'
|
|
1017
928
|
};
|
|
1018
|
-
|
|
1019
929
|
while (hasOwnProperty(operators, state.token)) {
|
|
1020
930
|
name = state.token;
|
|
1021
931
|
fn = operators[name];
|
|
1022
932
|
getTokenSkipNewline(state);
|
|
1023
933
|
var rightNode = parseMultiplyDivide(state);
|
|
1024
|
-
|
|
1025
934
|
if (rightNode.isPercentage) {
|
|
1026
935
|
params = [node, new OperatorNode('*', 'multiply', [node, rightNode])];
|
|
1027
936
|
} else {
|
|
1028
937
|
params = [node, rightNode];
|
|
1029
938
|
}
|
|
1030
|
-
|
|
1031
939
|
node = new OperatorNode(name, fn, params);
|
|
1032
940
|
}
|
|
1033
|
-
|
|
1034
941
|
return node;
|
|
1035
942
|
}
|
|
943
|
+
|
|
1036
944
|
/**
|
|
1037
945
|
* multiply, divide, modulus
|
|
1038
946
|
* @return {Node} node
|
|
1039
947
|
* @private
|
|
1040
948
|
*/
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
949
|
function parseMultiplyDivide(state) {
|
|
1044
950
|
var node, last, name, fn;
|
|
1045
951
|
node = parseImplicitMultiplication(state);
|
|
@@ -1050,7 +956,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1050
956
|
'/': 'divide',
|
|
1051
957
|
'./': 'dotDivide'
|
|
1052
958
|
};
|
|
1053
|
-
|
|
1054
959
|
while (true) {
|
|
1055
960
|
if (hasOwnProperty(operators, state.token)) {
|
|
1056
961
|
// explicit operators
|
|
@@ -1063,21 +968,18 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1063
968
|
break;
|
|
1064
969
|
}
|
|
1065
970
|
}
|
|
1066
|
-
|
|
1067
971
|
return node;
|
|
1068
972
|
}
|
|
973
|
+
|
|
1069
974
|
/**
|
|
1070
975
|
* implicit multiplication
|
|
1071
976
|
* @return {Node} node
|
|
1072
977
|
* @private
|
|
1073
978
|
*/
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
979
|
function parseImplicitMultiplication(state) {
|
|
1077
980
|
var node, last;
|
|
1078
981
|
node = parseRule2(state);
|
|
1079
982
|
last = node;
|
|
1080
|
-
|
|
1081
983
|
while (true) {
|
|
1082
984
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.token === 'in' && isConstantNode(node) || state.tokenType === TOKENTYPE.NUMBER && !isConstantNode(last) && (!isOperatorNode(last) || last.op === '!') || state.token === '(') {
|
|
1083
985
|
// parse implicit multiplication
|
|
@@ -1086,16 +988,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1086
988
|
// number: implicit multiplication like '(2+3)2'
|
|
1087
989
|
// parenthesis: implicit multiplication like '2(3+4)', '(3+4)(1+2)'
|
|
1088
990
|
last = parseRule2(state);
|
|
1089
|
-
node = new OperatorNode('*', 'multiply', [node, last], true
|
|
1090
|
-
/* implicit */
|
|
1091
|
-
);
|
|
991
|
+
node = new OperatorNode('*', 'multiply', [node, last], true /* implicit */);
|
|
1092
992
|
} else {
|
|
1093
993
|
break;
|
|
1094
994
|
}
|
|
1095
995
|
}
|
|
1096
|
-
|
|
1097
996
|
return node;
|
|
1098
997
|
}
|
|
998
|
+
|
|
1099
999
|
/**
|
|
1100
1000
|
* Infamous "rule 2" as described in https://github.com/josdejong/mathjs/issues/792#issuecomment-361065370
|
|
1101
1001
|
* And as amended in https://github.com/josdejong/mathjs/issues/2370#issuecomment-1054052164
|
|
@@ -1105,61 +1005,54 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1105
1005
|
* @return {Node} node
|
|
1106
1006
|
* @private
|
|
1107
1007
|
*/
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
1008
|
function parseRule2(state) {
|
|
1111
1009
|
var node = parsePercentage(state);
|
|
1112
1010
|
var last = node;
|
|
1113
1011
|
var tokenStates = [];
|
|
1114
|
-
|
|
1115
1012
|
while (true) {
|
|
1116
1013
|
// Match the "number /" part of the pattern "number / number symbol"
|
|
1117
1014
|
if (state.token === '/' && rule2Node(last)) {
|
|
1118
1015
|
// Look ahead to see if the next token is a number
|
|
1119
1016
|
tokenStates.push(_extends({}, state));
|
|
1120
|
-
getTokenSkipNewline(state);
|
|
1017
|
+
getTokenSkipNewline(state);
|
|
1121
1018
|
|
|
1019
|
+
// Match the "number / number" part of the pattern
|
|
1122
1020
|
if (state.tokenType === TOKENTYPE.NUMBER) {
|
|
1123
1021
|
// Look ahead again
|
|
1124
1022
|
tokenStates.push(_extends({}, state));
|
|
1125
|
-
getTokenSkipNewline(state);
|
|
1023
|
+
getTokenSkipNewline(state);
|
|
1126
1024
|
|
|
1025
|
+
// Match the "symbol" part of the pattern, or a left parenthesis
|
|
1127
1026
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.token === '(') {
|
|
1128
1027
|
// We've matched the pattern "number / number symbol".
|
|
1129
1028
|
// Rewind once and build the "number / number" node; the symbol will be consumed later
|
|
1130
1029
|
_extends(state, tokenStates.pop());
|
|
1131
|
-
|
|
1132
1030
|
tokenStates.pop();
|
|
1133
1031
|
last = parsePercentage(state);
|
|
1134
1032
|
node = new OperatorNode('/', 'divide', [node, last]);
|
|
1135
1033
|
} else {
|
|
1136
1034
|
// Not a match, so rewind
|
|
1137
1035
|
tokenStates.pop();
|
|
1138
|
-
|
|
1139
1036
|
_extends(state, tokenStates.pop());
|
|
1140
|
-
|
|
1141
1037
|
break;
|
|
1142
1038
|
}
|
|
1143
1039
|
} else {
|
|
1144
1040
|
// Not a match, so rewind
|
|
1145
1041
|
_extends(state, tokenStates.pop());
|
|
1146
|
-
|
|
1147
1042
|
break;
|
|
1148
1043
|
}
|
|
1149
1044
|
} else {
|
|
1150
1045
|
break;
|
|
1151
1046
|
}
|
|
1152
1047
|
}
|
|
1153
|
-
|
|
1154
1048
|
return node;
|
|
1155
1049
|
}
|
|
1050
|
+
|
|
1156
1051
|
/**
|
|
1157
1052
|
* percentage or mod
|
|
1158
1053
|
* @return {Node} node
|
|
1159
1054
|
* @private
|
|
1160
1055
|
*/
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
1056
|
function parsePercentage(state) {
|
|
1164
1057
|
var node, name, fn, params;
|
|
1165
1058
|
node = parseUnary(state);
|
|
@@ -1167,12 +1060,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1167
1060
|
'%': 'mod',
|
|
1168
1061
|
mod: 'mod'
|
|
1169
1062
|
};
|
|
1170
|
-
|
|
1171
1063
|
while (hasOwnProperty(operators, state.token)) {
|
|
1172
1064
|
name = state.token;
|
|
1173
1065
|
fn = operators[name];
|
|
1174
1066
|
getTokenSkipNewline(state);
|
|
1175
|
-
|
|
1176
1067
|
if (name === '%' && state.tokenType === TOKENTYPE.DELIMITER && state.token !== '(') {
|
|
1177
1068
|
// If the expression contains only %, then treat that as /100
|
|
1178
1069
|
node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true);
|
|
@@ -1181,16 +1072,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1181
1072
|
node = new OperatorNode(name, fn, params);
|
|
1182
1073
|
}
|
|
1183
1074
|
}
|
|
1184
|
-
|
|
1185
1075
|
return node;
|
|
1186
1076
|
}
|
|
1077
|
+
|
|
1187
1078
|
/**
|
|
1188
1079
|
* Unary plus and minus, and logical and bitwise not
|
|
1189
1080
|
* @return {Node} node
|
|
1190
1081
|
* @private
|
|
1191
1082
|
*/
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
1083
|
function parseUnary(state) {
|
|
1195
1084
|
var name, params, fn;
|
|
1196
1085
|
var operators = {
|
|
@@ -1199,7 +1088,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1199
1088
|
'~': 'bitNot',
|
|
1200
1089
|
not: 'not'
|
|
1201
1090
|
};
|
|
1202
|
-
|
|
1203
1091
|
if (hasOwnProperty(operators, state.token)) {
|
|
1204
1092
|
fn = operators[state.token];
|
|
1205
1093
|
name = state.token;
|
|
@@ -1207,39 +1095,33 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1207
1095
|
params = [parseUnary(state)];
|
|
1208
1096
|
return new OperatorNode(name, fn, params);
|
|
1209
1097
|
}
|
|
1210
|
-
|
|
1211
1098
|
return parsePow(state);
|
|
1212
1099
|
}
|
|
1100
|
+
|
|
1213
1101
|
/**
|
|
1214
1102
|
* power
|
|
1215
1103
|
* Note: power operator is right associative
|
|
1216
1104
|
* @return {Node} node
|
|
1217
1105
|
* @private
|
|
1218
1106
|
*/
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
1107
|
function parsePow(state) {
|
|
1222
1108
|
var node, name, fn, params;
|
|
1223
1109
|
node = parseLeftHandOperators(state);
|
|
1224
|
-
|
|
1225
1110
|
if (state.token === '^' || state.token === '.^') {
|
|
1226
1111
|
name = state.token;
|
|
1227
1112
|
fn = name === '^' ? 'pow' : 'dotPow';
|
|
1228
1113
|
getTokenSkipNewline(state);
|
|
1229
1114
|
params = [node, parseUnary(state)]; // Go back to unary, we can have '2^-3'
|
|
1230
|
-
|
|
1231
1115
|
node = new OperatorNode(name, fn, params);
|
|
1232
1116
|
}
|
|
1233
|
-
|
|
1234
1117
|
return node;
|
|
1235
1118
|
}
|
|
1119
|
+
|
|
1236
1120
|
/**
|
|
1237
1121
|
* Left hand operators: factorial x!, ctranspose x'
|
|
1238
1122
|
* @return {Node} node
|
|
1239
1123
|
* @private
|
|
1240
1124
|
*/
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
1125
|
function parseLeftHandOperators(state) {
|
|
1244
1126
|
var node, name, fn, params;
|
|
1245
1127
|
node = parseCustomNodes(state);
|
|
@@ -1247,7 +1129,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1247
1129
|
'!': 'factorial',
|
|
1248
1130
|
'\'': 'ctranspose'
|
|
1249
1131
|
};
|
|
1250
|
-
|
|
1251
1132
|
while (hasOwnProperty(operators, state.token)) {
|
|
1252
1133
|
name = state.token;
|
|
1253
1134
|
fn = operators[name];
|
|
@@ -1256,9 +1137,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1256
1137
|
node = new OperatorNode(name, fn, params);
|
|
1257
1138
|
node = parseAccessors(state, node);
|
|
1258
1139
|
}
|
|
1259
|
-
|
|
1260
1140
|
return node;
|
|
1261
1141
|
}
|
|
1142
|
+
|
|
1262
1143
|
/**
|
|
1263
1144
|
* Parse a custom node handler. A node handler can be used to process
|
|
1264
1145
|
* nodes in a custom way, for example for handling a plot.
|
|
@@ -1287,59 +1168,51 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1287
1168
|
* @return {Node} node
|
|
1288
1169
|
* @private
|
|
1289
1170
|
*/
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
1171
|
function parseCustomNodes(state) {
|
|
1293
1172
|
var params = [];
|
|
1294
|
-
|
|
1295
1173
|
if (state.tokenType === TOKENTYPE.SYMBOL && hasOwnProperty(state.extraNodes, state.token)) {
|
|
1296
1174
|
var CustomNode = state.extraNodes[state.token];
|
|
1297
|
-
getToken(state);
|
|
1175
|
+
getToken(state);
|
|
1298
1176
|
|
|
1177
|
+
// parse parameters
|
|
1299
1178
|
if (state.token === '(') {
|
|
1300
1179
|
params = [];
|
|
1301
1180
|
openParams(state);
|
|
1302
1181
|
getToken(state);
|
|
1303
|
-
|
|
1304
1182
|
if (state.token !== ')') {
|
|
1305
|
-
params.push(parseAssignment(state));
|
|
1183
|
+
params.push(parseAssignment(state));
|
|
1306
1184
|
|
|
1185
|
+
// parse a list with parameters
|
|
1307
1186
|
while (state.token === ',') {
|
|
1308
1187
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1309
1188
|
getToken(state);
|
|
1310
1189
|
params.push(parseAssignment(state));
|
|
1311
1190
|
}
|
|
1312
1191
|
}
|
|
1313
|
-
|
|
1314
1192
|
if (state.token !== ')') {
|
|
1315
1193
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
|
1316
1194
|
}
|
|
1317
|
-
|
|
1318
1195
|
closeParams(state);
|
|
1319
1196
|
getToken(state);
|
|
1320
|
-
}
|
|
1321
|
-
// noinspection JSValidateTypes
|
|
1322
|
-
|
|
1197
|
+
}
|
|
1323
1198
|
|
|
1199
|
+
// create a new custom node
|
|
1200
|
+
// noinspection JSValidateTypes
|
|
1324
1201
|
return new CustomNode(params);
|
|
1325
1202
|
}
|
|
1326
|
-
|
|
1327
1203
|
return parseSymbol(state);
|
|
1328
1204
|
}
|
|
1205
|
+
|
|
1329
1206
|
/**
|
|
1330
1207
|
* parse symbols: functions, variables, constants, units
|
|
1331
1208
|
* @return {Node} node
|
|
1332
1209
|
* @private
|
|
1333
1210
|
*/
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
1211
|
function parseSymbol(state) {
|
|
1337
1212
|
var node, name;
|
|
1338
|
-
|
|
1339
1213
|
if (state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS) {
|
|
1340
1214
|
name = state.token;
|
|
1341
1215
|
getToken(state);
|
|
1342
|
-
|
|
1343
1216
|
if (hasOwnProperty(CONSTANTS, name)) {
|
|
1344
1217
|
// true, false, null, ...
|
|
1345
1218
|
node = new ConstantNode(CONSTANTS[name]);
|
|
@@ -1348,15 +1221,15 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1348
1221
|
node = new ConstantNode(numeric(name, 'number'));
|
|
1349
1222
|
} else {
|
|
1350
1223
|
node = new SymbolNode(name);
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1224
|
+
}
|
|
1353
1225
|
|
|
1226
|
+
// parse function parameters and matrix index
|
|
1354
1227
|
node = parseAccessors(state, node);
|
|
1355
1228
|
return node;
|
|
1356
1229
|
}
|
|
1357
|
-
|
|
1358
1230
|
return parseDoubleQuotesString(state);
|
|
1359
1231
|
}
|
|
1232
|
+
|
|
1360
1233
|
/**
|
|
1361
1234
|
* parse accessors:
|
|
1362
1235
|
* - function invocation in round brackets (...), for example sqrt(2)
|
|
@@ -1371,35 +1244,29 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1371
1244
|
* @return {Node} node
|
|
1372
1245
|
* @private
|
|
1373
1246
|
*/
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
1247
|
function parseAccessors(state, node, types) {
|
|
1377
1248
|
var params;
|
|
1378
|
-
|
|
1379
1249
|
while ((state.token === '(' || state.token === '[' || state.token === '.') && (!types || types.indexOf(state.token) !== -1)) {
|
|
1380
1250
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1381
1251
|
params = [];
|
|
1382
|
-
|
|
1383
1252
|
if (state.token === '(') {
|
|
1384
1253
|
if (isSymbolNode(node) || isAccessorNode(node)) {
|
|
1385
1254
|
// function invocation like fn(2, 3) or obj.fn(2, 3)
|
|
1386
1255
|
openParams(state);
|
|
1387
1256
|
getToken(state);
|
|
1388
|
-
|
|
1389
1257
|
if (state.token !== ')') {
|
|
1390
|
-
params.push(parseAssignment(state));
|
|
1258
|
+
params.push(parseAssignment(state));
|
|
1391
1259
|
|
|
1260
|
+
// parse a list with parameters
|
|
1392
1261
|
while (state.token === ',') {
|
|
1393
1262
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1394
1263
|
getToken(state);
|
|
1395
1264
|
params.push(parseAssignment(state));
|
|
1396
1265
|
}
|
|
1397
1266
|
}
|
|
1398
|
-
|
|
1399
1267
|
if (state.token !== ')') {
|
|
1400
1268
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
|
1401
1269
|
}
|
|
1402
|
-
|
|
1403
1270
|
closeParams(state);
|
|
1404
1271
|
getToken(state);
|
|
1405
1272
|
node = new FunctionNode(node, params);
|
|
@@ -1413,71 +1280,63 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1413
1280
|
// index notation like variable[2, 3]
|
|
1414
1281
|
openParams(state);
|
|
1415
1282
|
getToken(state);
|
|
1416
|
-
|
|
1417
1283
|
if (state.token !== ']') {
|
|
1418
|
-
params.push(parseAssignment(state));
|
|
1284
|
+
params.push(parseAssignment(state));
|
|
1419
1285
|
|
|
1286
|
+
// parse a list with parameters
|
|
1420
1287
|
while (state.token === ',') {
|
|
1421
1288
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1422
1289
|
getToken(state);
|
|
1423
1290
|
params.push(parseAssignment(state));
|
|
1424
1291
|
}
|
|
1425
1292
|
}
|
|
1426
|
-
|
|
1427
1293
|
if (state.token !== ']') {
|
|
1428
1294
|
throw createSyntaxError(state, 'Parenthesis ] expected');
|
|
1429
1295
|
}
|
|
1430
|
-
|
|
1431
1296
|
closeParams(state);
|
|
1432
1297
|
getToken(state);
|
|
1433
1298
|
node = new AccessorNode(node, new IndexNode(params));
|
|
1434
1299
|
} else {
|
|
1435
1300
|
// dot notation like variable.prop
|
|
1436
1301
|
getToken(state);
|
|
1437
|
-
|
|
1438
1302
|
if (state.tokenType !== TOKENTYPE.SYMBOL) {
|
|
1439
1303
|
throw createSyntaxError(state, 'Property name expected after dot');
|
|
1440
1304
|
}
|
|
1441
|
-
|
|
1442
1305
|
params.push(new ConstantNode(state.token));
|
|
1443
1306
|
getToken(state);
|
|
1444
1307
|
var dotNotation = true;
|
|
1445
1308
|
node = new AccessorNode(node, new IndexNode(params, dotNotation));
|
|
1446
1309
|
}
|
|
1447
1310
|
}
|
|
1448
|
-
|
|
1449
1311
|
return node;
|
|
1450
1312
|
}
|
|
1313
|
+
|
|
1451
1314
|
/**
|
|
1452
1315
|
* Parse a double quotes string.
|
|
1453
1316
|
* @return {Node} node
|
|
1454
1317
|
* @private
|
|
1455
1318
|
*/
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
1319
|
function parseDoubleQuotesString(state) {
|
|
1459
1320
|
var node, str;
|
|
1460
|
-
|
|
1461
1321
|
if (state.token === '"') {
|
|
1462
|
-
str = parseDoubleQuotesStringToken(state);
|
|
1322
|
+
str = parseDoubleQuotesStringToken(state);
|
|
1463
1323
|
|
|
1464
|
-
|
|
1324
|
+
// create constant
|
|
1325
|
+
node = new ConstantNode(str);
|
|
1465
1326
|
|
|
1327
|
+
// parse index parameters
|
|
1466
1328
|
node = parseAccessors(state, node);
|
|
1467
1329
|
return node;
|
|
1468
1330
|
}
|
|
1469
|
-
|
|
1470
1331
|
return parseSingleQuotesString(state);
|
|
1471
1332
|
}
|
|
1333
|
+
|
|
1472
1334
|
/**
|
|
1473
1335
|
* Parse a string surrounded by double quotes "..."
|
|
1474
1336
|
* @return {string}
|
|
1475
1337
|
*/
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
1338
|
function parseDoubleQuotesStringToken(state) {
|
|
1479
1339
|
var str = '';
|
|
1480
|
-
|
|
1481
1340
|
while (currentCharacter(state) !== '' && currentCharacter(state) !== '"') {
|
|
1482
1341
|
if (currentCharacter(state) === '\\') {
|
|
1483
1342
|
// escape character, immediately process the next
|
|
@@ -1485,50 +1344,43 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1485
1344
|
str += currentCharacter(state);
|
|
1486
1345
|
next(state);
|
|
1487
1346
|
}
|
|
1488
|
-
|
|
1489
1347
|
str += currentCharacter(state);
|
|
1490
1348
|
next(state);
|
|
1491
1349
|
}
|
|
1492
|
-
|
|
1493
1350
|
getToken(state);
|
|
1494
|
-
|
|
1495
1351
|
if (state.token !== '"') {
|
|
1496
1352
|
throw createSyntaxError(state, 'End of string " expected');
|
|
1497
1353
|
}
|
|
1498
|
-
|
|
1499
1354
|
getToken(state);
|
|
1500
1355
|
return JSON.parse('"' + str + '"'); // unescape escaped characters
|
|
1501
1356
|
}
|
|
1357
|
+
|
|
1502
1358
|
/**
|
|
1503
1359
|
* Parse a single quotes string.
|
|
1504
1360
|
* @return {Node} node
|
|
1505
1361
|
* @private
|
|
1506
1362
|
*/
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
1363
|
function parseSingleQuotesString(state) {
|
|
1510
1364
|
var node, str;
|
|
1511
|
-
|
|
1512
1365
|
if (state.token === '\'') {
|
|
1513
|
-
str = parseSingleQuotesStringToken(state);
|
|
1366
|
+
str = parseSingleQuotesStringToken(state);
|
|
1514
1367
|
|
|
1515
|
-
|
|
1368
|
+
// create constant
|
|
1369
|
+
node = new ConstantNode(str);
|
|
1516
1370
|
|
|
1371
|
+
// parse index parameters
|
|
1517
1372
|
node = parseAccessors(state, node);
|
|
1518
1373
|
return node;
|
|
1519
1374
|
}
|
|
1520
|
-
|
|
1521
1375
|
return parseMatrix(state);
|
|
1522
1376
|
}
|
|
1377
|
+
|
|
1523
1378
|
/**
|
|
1524
1379
|
* Parse a string surrounded by single quotes '...'
|
|
1525
1380
|
* @return {string}
|
|
1526
1381
|
*/
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
1382
|
function parseSingleQuotesStringToken(state) {
|
|
1530
1383
|
var str = '';
|
|
1531
|
-
|
|
1532
1384
|
while (currentCharacter(state) !== '' && currentCharacter(state) !== '\'') {
|
|
1533
1385
|
if (currentCharacter(state) === '\\') {
|
|
1534
1386
|
// escape character, immediately process the next
|
|
@@ -1536,73 +1388,62 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1536
1388
|
str += currentCharacter(state);
|
|
1537
1389
|
next(state);
|
|
1538
1390
|
}
|
|
1539
|
-
|
|
1540
1391
|
str += currentCharacter(state);
|
|
1541
1392
|
next(state);
|
|
1542
1393
|
}
|
|
1543
|
-
|
|
1544
1394
|
getToken(state);
|
|
1545
|
-
|
|
1546
1395
|
if (state.token !== '\'') {
|
|
1547
1396
|
throw createSyntaxError(state, 'End of string \' expected');
|
|
1548
1397
|
}
|
|
1549
|
-
|
|
1550
1398
|
getToken(state);
|
|
1551
1399
|
return JSON.parse('"' + str + '"'); // unescape escaped characters
|
|
1552
1400
|
}
|
|
1401
|
+
|
|
1553
1402
|
/**
|
|
1554
1403
|
* parse the matrix
|
|
1555
1404
|
* @return {Node} node
|
|
1556
1405
|
* @private
|
|
1557
1406
|
*/
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
1407
|
function parseMatrix(state) {
|
|
1561
1408
|
var array, params, rows, cols;
|
|
1562
|
-
|
|
1563
1409
|
if (state.token === '[') {
|
|
1564
1410
|
// matrix [...]
|
|
1565
1411
|
openParams(state);
|
|
1566
1412
|
getToken(state);
|
|
1567
|
-
|
|
1568
1413
|
if (state.token !== ']') {
|
|
1569
1414
|
// this is a non-empty matrix
|
|
1570
1415
|
var row = parseRow(state);
|
|
1571
|
-
|
|
1572
1416
|
if (state.token === ';') {
|
|
1573
1417
|
// 2 dimensional array
|
|
1574
1418
|
rows = 1;
|
|
1575
|
-
params = [row];
|
|
1419
|
+
params = [row];
|
|
1576
1420
|
|
|
1421
|
+
// the rows of the matrix are separated by dot-comma's
|
|
1577
1422
|
while (state.token === ';') {
|
|
1578
1423
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1579
1424
|
getToken(state);
|
|
1580
1425
|
params[rows] = parseRow(state);
|
|
1581
1426
|
rows++;
|
|
1582
1427
|
}
|
|
1583
|
-
|
|
1584
1428
|
if (state.token !== ']') {
|
|
1585
1429
|
throw createSyntaxError(state, 'End of matrix ] expected');
|
|
1586
1430
|
}
|
|
1587
|
-
|
|
1588
1431
|
closeParams(state);
|
|
1589
|
-
getToken(state);
|
|
1432
|
+
getToken(state);
|
|
1590
1433
|
|
|
1434
|
+
// check if the number of columns matches in all rows
|
|
1591
1435
|
cols = params[0].items.length;
|
|
1592
|
-
|
|
1593
1436
|
for (var r = 1; r < rows; r++) {
|
|
1594
1437
|
if (params[r].items.length !== cols) {
|
|
1595
1438
|
throw createError(state, 'Column dimensions mismatch ' + '(' + params[r].items.length + ' !== ' + cols + ')');
|
|
1596
1439
|
}
|
|
1597
1440
|
}
|
|
1598
|
-
|
|
1599
1441
|
array = new ArrayNode(params);
|
|
1600
1442
|
} else {
|
|
1601
1443
|
// 1 dimensional vector
|
|
1602
1444
|
if (state.token !== ']') {
|
|
1603
1445
|
throw createSyntaxError(state, 'End of matrix ] expected');
|
|
1604
1446
|
}
|
|
1605
|
-
|
|
1606
1447
|
closeParams(state);
|
|
1607
1448
|
getToken(state);
|
|
1608
1449
|
array = row;
|
|
@@ -1613,48 +1454,41 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1613
1454
|
getToken(state);
|
|
1614
1455
|
array = new ArrayNode([]);
|
|
1615
1456
|
}
|
|
1616
|
-
|
|
1617
1457
|
return parseAccessors(state, array);
|
|
1618
1458
|
}
|
|
1619
|
-
|
|
1620
1459
|
return parseObject(state);
|
|
1621
1460
|
}
|
|
1461
|
+
|
|
1622
1462
|
/**
|
|
1623
1463
|
* Parse a single comma-separated row from a matrix, like 'a, b, c'
|
|
1624
1464
|
* @return {ArrayNode} node
|
|
1625
1465
|
*/
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
1466
|
function parseRow(state) {
|
|
1629
1467
|
var params = [parseAssignment(state)];
|
|
1630
1468
|
var len = 1;
|
|
1631
|
-
|
|
1632
1469
|
while (state.token === ',') {
|
|
1633
1470
|
// eslint-disable-line no-unmodified-loop-condition
|
|
1634
|
-
getToken(state);
|
|
1471
|
+
getToken(state);
|
|
1635
1472
|
|
|
1473
|
+
// parse expression
|
|
1636
1474
|
params[len] = parseAssignment(state);
|
|
1637
1475
|
len++;
|
|
1638
1476
|
}
|
|
1639
|
-
|
|
1640
1477
|
return new ArrayNode(params);
|
|
1641
1478
|
}
|
|
1479
|
+
|
|
1642
1480
|
/**
|
|
1643
1481
|
* parse an object, enclosed in angle brackets{...}, for example {value: 2}
|
|
1644
1482
|
* @return {Node} node
|
|
1645
1483
|
* @private
|
|
1646
1484
|
*/
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
1485
|
function parseObject(state) {
|
|
1650
1486
|
if (state.token === '{') {
|
|
1651
1487
|
openParams(state);
|
|
1652
1488
|
var key;
|
|
1653
1489
|
var properties = {};
|
|
1654
|
-
|
|
1655
1490
|
do {
|
|
1656
1491
|
getToken(state);
|
|
1657
|
-
|
|
1658
1492
|
if (state.token !== '}') {
|
|
1659
1493
|
// parse key
|
|
1660
1494
|
if (state.token === '"') {
|
|
@@ -1666,63 +1500,58 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1666
1500
|
getToken(state);
|
|
1667
1501
|
} else {
|
|
1668
1502
|
throw createSyntaxError(state, 'Symbol or string expected as object key');
|
|
1669
|
-
}
|
|
1670
|
-
|
|
1503
|
+
}
|
|
1671
1504
|
|
|
1505
|
+
// parse key/value separator
|
|
1672
1506
|
if (state.token !== ':') {
|
|
1673
1507
|
throw createSyntaxError(state, 'Colon : expected after object key');
|
|
1674
1508
|
}
|
|
1509
|
+
getToken(state);
|
|
1675
1510
|
|
|
1676
|
-
|
|
1677
|
-
|
|
1511
|
+
// parse key
|
|
1678
1512
|
properties[key] = parseAssignment(state);
|
|
1679
1513
|
}
|
|
1680
1514
|
} while (state.token === ','); // eslint-disable-line no-unmodified-loop-condition
|
|
1681
1515
|
|
|
1682
|
-
|
|
1683
1516
|
if (state.token !== '}') {
|
|
1684
1517
|
throw createSyntaxError(state, 'Comma , or bracket } expected after object value');
|
|
1685
1518
|
}
|
|
1686
|
-
|
|
1687
1519
|
closeParams(state);
|
|
1688
1520
|
getToken(state);
|
|
1689
|
-
var node = new ObjectNode(properties);
|
|
1521
|
+
var node = new ObjectNode(properties);
|
|
1690
1522
|
|
|
1523
|
+
// parse index parameters
|
|
1691
1524
|
node = parseAccessors(state, node);
|
|
1692
1525
|
return node;
|
|
1693
1526
|
}
|
|
1694
|
-
|
|
1695
1527
|
return parseNumber(state);
|
|
1696
1528
|
}
|
|
1529
|
+
|
|
1697
1530
|
/**
|
|
1698
1531
|
* parse a number
|
|
1699
1532
|
* @return {Node} node
|
|
1700
1533
|
* @private
|
|
1701
1534
|
*/
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
1535
|
function parseNumber(state) {
|
|
1705
1536
|
var numberStr;
|
|
1706
|
-
|
|
1707
1537
|
if (state.tokenType === TOKENTYPE.NUMBER) {
|
|
1708
1538
|
// this is a number
|
|
1709
1539
|
numberStr = state.token;
|
|
1710
1540
|
getToken(state);
|
|
1711
1541
|
return new ConstantNode(numeric(numberStr, config.number));
|
|
1712
1542
|
}
|
|
1713
|
-
|
|
1714
1543
|
return parseParentheses(state);
|
|
1715
1544
|
}
|
|
1545
|
+
|
|
1716
1546
|
/**
|
|
1717
1547
|
* parentheses
|
|
1718
1548
|
* @return {Node} node
|
|
1719
1549
|
* @private
|
|
1720
1550
|
*/
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
1551
|
function parseParentheses(state) {
|
|
1724
|
-
var node;
|
|
1552
|
+
var node;
|
|
1725
1553
|
|
|
1554
|
+
// check if it is a parenthesized expression
|
|
1726
1555
|
if (state.token === '(') {
|
|
1727
1556
|
// parentheses (...)
|
|
1728
1557
|
openParams(state);
|
|
@@ -1732,23 +1561,20 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1732
1561
|
if (state.token !== ')') {
|
|
1733
1562
|
throw createSyntaxError(state, 'Parenthesis ) expected');
|
|
1734
1563
|
}
|
|
1735
|
-
|
|
1736
1564
|
closeParams(state);
|
|
1737
1565
|
getToken(state);
|
|
1738
1566
|
node = new ParenthesisNode(node);
|
|
1739
1567
|
node = parseAccessors(state, node);
|
|
1740
1568
|
return node;
|
|
1741
1569
|
}
|
|
1742
|
-
|
|
1743
1570
|
return parseEnd(state);
|
|
1744
1571
|
}
|
|
1572
|
+
|
|
1745
1573
|
/**
|
|
1746
1574
|
* Evaluated when the expression is not yet ended but expected to end
|
|
1747
1575
|
* @return {Node} res
|
|
1748
1576
|
* @private
|
|
1749
1577
|
*/
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
1578
|
function parseEnd(state) {
|
|
1753
1579
|
if (state.token === '') {
|
|
1754
1580
|
// syntax error or unexpected end of expression
|
|
@@ -1757,12 +1583,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1757
1583
|
throw createSyntaxError(state, 'Value expected');
|
|
1758
1584
|
}
|
|
1759
1585
|
}
|
|
1586
|
+
|
|
1760
1587
|
/**
|
|
1761
1588
|
* Shortcut for getting the current row value (one based)
|
|
1762
1589
|
* Returns the line of the currently handled expression
|
|
1763
1590
|
* @private
|
|
1764
1591
|
*/
|
|
1765
|
-
|
|
1766
1592
|
/* TODO: implement keeping track on the row number
|
|
1767
1593
|
function row () {
|
|
1768
1594
|
return null
|
|
@@ -1774,11 +1600,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1774
1600
|
* Returns the column (position) where the last state.token starts
|
|
1775
1601
|
* @private
|
|
1776
1602
|
*/
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
1603
|
function col(state) {
|
|
1780
1604
|
return state.index - state.token.length + 1;
|
|
1781
1605
|
}
|
|
1606
|
+
|
|
1782
1607
|
/**
|
|
1783
1608
|
* Create an error
|
|
1784
1609
|
* @param {Object} state
|
|
@@ -1786,14 +1611,13 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1786
1611
|
* @return {SyntaxError} instantiated error
|
|
1787
1612
|
* @private
|
|
1788
1613
|
*/
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
1614
|
function createSyntaxError(state, message) {
|
|
1792
1615
|
var c = col(state);
|
|
1793
1616
|
var error = new SyntaxError(message + ' (char ' + c + ')');
|
|
1794
1617
|
error.char = c;
|
|
1795
1618
|
return error;
|
|
1796
1619
|
}
|
|
1620
|
+
|
|
1797
1621
|
/**
|
|
1798
1622
|
* Create an error
|
|
1799
1623
|
* @param {Object} state
|
|
@@ -1801,16 +1625,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
1801
1625
|
* @return {Error} instantiated error
|
|
1802
1626
|
* @private
|
|
1803
1627
|
*/
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
1628
|
function createError(state, message) {
|
|
1807
1629
|
var c = col(state);
|
|
1808
1630
|
var error = new SyntaxError(message + ' (char ' + c + ')');
|
|
1809
1631
|
error.char = c;
|
|
1810
1632
|
return error;
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1633
|
+
}
|
|
1813
1634
|
|
|
1635
|
+
// Now that we can parse, automatically convert strings to Nodes by parsing
|
|
1814
1636
|
typed.addConversion({
|
|
1815
1637
|
from: 'string',
|
|
1816
1638
|
to: 'Node',
|