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