mathjs 8.1.0 → 12.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +11 -10
- package/HISTORY.md +772 -1
- package/NOTICE +1 -1
- package/README.md +33 -16
- package/bin/cli.js +12 -12
- package/lib/browser/math.js +2 -40
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +40 -61
- package/lib/cjs/core/config.js +2 -3
- package/lib/cjs/core/create.js +31 -46
- package/lib/cjs/core/function/config.js +15 -20
- package/lib/cjs/core/function/import.js +28 -82
- package/lib/cjs/core/function/typed.js +71 -49
- package/lib/cjs/defaultInstance.js +4 -12
- package/lib/cjs/entry/allFactoriesAny.js +5 -10
- package/lib/cjs/entry/allFactoriesNumber.js +5 -10
- package/lib/cjs/entry/configReadonly.js +4 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +9 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +7 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +39 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFreqz.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +9 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +3 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +31 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +5 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +5 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesLyap.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +9 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +3 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +5 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPrintTransform.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +17 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +17 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +4 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSchur.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +19 -21
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +3 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSolveODE.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +5 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +9 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +7 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSylvester.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeta.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesZpk2tf.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +1150 -1256
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +7 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +15 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +17 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +19 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +7 -18
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesZeta.generated.js +41 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +627 -760
- package/lib/cjs/entry/impureFunctionsAny.generated.js +446 -323
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +299 -260
- package/lib/cjs/entry/mainAny.js +8 -24
- package/lib/cjs/entry/mainNumber.js +8 -24
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1038 -1058
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +296 -407
- package/lib/cjs/entry/typeChecks.js +18 -13
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +10 -30
- package/lib/cjs/expression/Parser.js +37 -43
- package/lib/cjs/expression/embeddedDocs/constants/Infinity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG10E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG2E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/NaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT1_2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/e.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/false.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/i.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/null.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/phi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/pi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/tau.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/true.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/version.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/bignumber.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/boolean.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/complex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/createUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +5 -6
- package/lib/cjs/expression/embeddedDocs/construction/index.js +3 -4
- package/lib/cjs/expression/embeddedDocs/construction/matrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/number.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/sparse.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/splitUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/string.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/unit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/config.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/import.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/typed.js +3 -4
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +272 -440
- package/lib/cjs/expression/embeddedDocs/function/algebra/derivative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lup.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lusolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lyap.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/qr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/rationalize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/schur.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/slu.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/sylvester.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/abs.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/add.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cbrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/ceil.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cube.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/divide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotDivide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotMultiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotPow.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/exp.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm1.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/fix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/floor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/gcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/lcm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log1p.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/mod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/multiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/norm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoots.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/pow.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/round.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sign.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrtm.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/square.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/subtract.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryMinus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryPlus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/xgcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitAnd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitNot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitOr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitXor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/leftShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightArithShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightLogShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/bellNumbers.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/catalan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/composition.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/arg.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/conj.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/im.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/re.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/expression/help.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/distance.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/intersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/and.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/not.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/or.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/xor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/concat.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/count.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/cross.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ctranspose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/det.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diag.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/dot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/filter.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/flatten.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/getMatrixDataType.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/identity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/inv.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/ones.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/partitionSelect.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/pinv.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/range.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/reshape.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/resize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotate.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotationMatrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/size.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/squeeze.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/trace.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/transpose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/zeros.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/numeric/solveODE.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/combinations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/combinationsWithRep.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/distribution.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/factorial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/gamma.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/kldivergence.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/lgamma.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/multinomial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/permutations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/pickRandom.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/random.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/randomInt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compare.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareNatural.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/deepEqual.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equalText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/larger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/largerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smaller.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smallerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/unequal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setCartesian.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/set/setDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setDistinct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIntersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIsSubset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setMultiplicity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setPowerset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSymDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setUnion.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/signal/freqz.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/signal/zpk2tf.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/special/erf.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/corr.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/mad.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/max.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mean.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/median.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/min.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mode.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/prod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/std.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/sum.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/variance.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/coth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/units/to.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/bin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/format.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hasNumericValue.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isInteger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNegative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNumeric.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPositive.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPrime.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isZero.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/numeric.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/oct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/print.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/typeOf.js +2 -3
- package/lib/cjs/expression/function/compile.js +3 -8
- package/lib/cjs/expression/function/evaluate.js +8 -12
- package/lib/cjs/expression/function/help.js +5 -16
- package/lib/cjs/expression/function/parser.js +8 -12
- package/lib/cjs/expression/keywords.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +193 -180
- package/lib/cjs/expression/node/ArrayNode.js +199 -177
- package/lib/cjs/expression/node/AssignmentNode.js +301 -288
- package/lib/cjs/expression/node/BlockNode.js +207 -183
- package/lib/cjs/expression/node/ConditionalNode.js +224 -207
- package/lib/cjs/expression/node/ConstantNode.js +194 -181
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +257 -218
- package/lib/cjs/expression/node/FunctionNode.js +424 -367
- package/lib/cjs/expression/node/IndexNode.js +241 -268
- package/lib/cjs/expression/node/Node.js +385 -393
- package/lib/cjs/expression/node/ObjectNode.js +200 -194
- package/lib/cjs/expression/node/OperatorNode.js +447 -470
- package/lib/cjs/expression/node/ParenthesisNode.js +179 -156
- package/lib/cjs/expression/node/RangeNode.js +249 -253
- package/lib/cjs/expression/node/RelationalNode.js +218 -204
- package/lib/cjs/expression/node/SymbolNode.js +210 -191
- package/lib/cjs/expression/node/utils/access.js +3 -8
- package/lib/cjs/expression/node/utils/assign.js +11 -11
- package/lib/cjs/expression/operators.js +116 -42
- package/lib/cjs/expression/parse.js +292 -412
- package/lib/cjs/expression/transform/and.transform.js +39 -0
- package/lib/cjs/expression/transform/apply.transform.js +6 -13
- package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
- package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
- package/lib/cjs/expression/transform/column.transform.js +8 -15
- package/lib/cjs/expression/transform/concat.transform.js +5 -13
- package/lib/cjs/expression/transform/cumsum.transform.js +49 -0
- package/lib/cjs/expression/transform/diff.transform.js +9 -25
- package/lib/cjs/expression/transform/filter.transform.js +8 -29
- package/lib/cjs/expression/transform/forEach.transform.js +7 -30
- package/lib/cjs/expression/transform/index.transform.js +14 -17
- package/lib/cjs/expression/transform/map.transform.js +8 -31
- package/lib/cjs/expression/transform/max.transform.js +8 -24
- package/lib/cjs/expression/transform/mean.transform.js +7 -23
- package/lib/cjs/expression/transform/min.transform.js +8 -24
- package/lib/cjs/expression/transform/or.transform.js +37 -0
- package/lib/cjs/expression/transform/print.transform.js +46 -0
- package/lib/cjs/expression/transform/quantileSeq.transform.js +71 -0
- package/lib/cjs/expression/transform/range.transform.js +16 -18
- package/lib/cjs/expression/transform/row.transform.js +8 -15
- package/lib/cjs/expression/transform/std.transform.js +10 -24
- package/lib/cjs/expression/transform/subset.transform.js +10 -11
- package/lib/cjs/expression/transform/sum.transform.js +8 -24
- package/lib/cjs/expression/transform/utils/compileInlineExpression.js +6 -9
- package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +22 -0
- package/lib/cjs/expression/transform/variance.transform.js +11 -27
- package/lib/cjs/factoriesAny.js +877 -915
- package/lib/cjs/factoriesNumber.js +443 -495
- package/lib/cjs/function/algebra/decomposition/lup.js +140 -178
- package/lib/cjs/function/algebra/decomposition/qr.js +44 -61
- package/lib/cjs/function/algebra/decomposition/schur.js +74 -0
- package/lib/cjs/function/algebra/decomposition/slu.js +20 -25
- package/lib/cjs/function/algebra/derivative.js +75 -180
- package/lib/cjs/function/algebra/leafCount.js +58 -0
- package/lib/cjs/function/algebra/lyap.js +56 -0
- package/lib/cjs/function/algebra/polynomialRoot.js +138 -0
- package/lib/cjs/function/algebra/rationalize.js +238 -294
- package/lib/cjs/function/algebra/resolve.js +131 -0
- package/lib/cjs/function/algebra/simplify/util.js +151 -74
- package/lib/cjs/function/algebra/simplify/wildcards.js +38 -0
- package/lib/cjs/function/algebra/simplify.js +855 -419
- package/lib/cjs/function/algebra/simplifyConstant.js +488 -0
- package/lib/cjs/function/algebra/simplifyCore.js +299 -0
- package/lib/cjs/function/algebra/solver/lsolve.js +33 -41
- package/lib/cjs/function/algebra/solver/lsolveAll.js +42 -59
- package/lib/cjs/function/algebra/solver/lusolve.js +17 -28
- package/lib/cjs/function/algebra/solver/usolve.js +37 -46
- package/lib/cjs/function/algebra/solver/usolveAll.js +46 -59
- package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
- package/lib/cjs/function/algebra/sparse/csAmd.js +252 -307
- package/lib/cjs/function/algebra/sparse/csChol.js +74 -91
- package/lib/cjs/function/algebra/sparse/csCounts.js +39 -58
- package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
- package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
- package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
- package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
- package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
- package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
- package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
- package/lib/cjs/function/algebra/sparse/csLeaf.js +13 -16
- package/lib/cjs/function/algebra/sparse/csLu.js +73 -95
- package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
- package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
- package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
- package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +34 -43
- package/lib/cjs/function/algebra/sparse/csSqr.js +64 -89
- package/lib/cjs/function/algebra/sparse/csSymperm.js +35 -47
- package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
- package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
- package/lib/cjs/function/algebra/sylvester.js +126 -0
- package/lib/cjs/function/algebra/symbolicEqual.js +64 -0
- package/lib/cjs/function/arithmetic/abs.js +9 -22
- package/lib/cjs/function/arithmetic/add.js +69 -121
- package/lib/cjs/function/arithmetic/addScalar.js +17 -16
- package/lib/cjs/function/arithmetic/cbrt.js +24 -40
- package/lib/cjs/function/arithmetic/ceil.js +102 -86
- package/lib/cjs/function/arithmetic/cube.js +7 -17
- package/lib/cjs/function/arithmetic/divide.js +16 -21
- package/lib/cjs/function/arithmetic/divideScalar.js +7 -25
- package/lib/cjs/function/arithmetic/dotDivide.js +32 -82
- package/lib/cjs/function/arithmetic/dotMultiply.js +25 -75
- package/lib/cjs/function/arithmetic/dotPow.js +38 -79
- package/lib/cjs/function/arithmetic/exp.js +10 -19
- package/lib/cjs/function/arithmetic/expm1.js +13 -18
- package/lib/cjs/function/arithmetic/fix.js +75 -41
- package/lib/cjs/function/arithmetic/floor.js +107 -85
- package/lib/cjs/function/arithmetic/gcd.js +97 -90
- package/lib/cjs/function/arithmetic/hypot.js +17 -23
- package/lib/cjs/function/arithmetic/invmod.js +64 -0
- package/lib/cjs/function/arithmetic/lcm.js +37 -90
- package/lib/cjs/function/arithmetic/log.js +15 -22
- package/lib/cjs/function/arithmetic/log10.js +9 -13
- package/lib/cjs/function/arithmetic/log1p.js +18 -21
- package/lib/cjs/function/arithmetic/log2.js +10 -14
- package/lib/cjs/function/arithmetic/mod.js +62 -92
- package/lib/cjs/function/arithmetic/multiply.js +352 -371
- package/lib/cjs/function/arithmetic/multiplyScalar.js +4 -16
- package/lib/cjs/function/arithmetic/norm.js +45 -78
- package/lib/cjs/function/arithmetic/nthRoot.js +98 -128
- package/lib/cjs/function/arithmetic/nthRoots.js +13 -22
- package/lib/cjs/function/arithmetic/pow.js +52 -51
- package/lib/cjs/function/arithmetic/round.js +122 -100
- package/lib/cjs/function/arithmetic/sign.js +20 -19
- package/lib/cjs/function/arithmetic/sqrt.js +10 -18
- package/lib/cjs/function/arithmetic/square.js +8 -17
- package/lib/cjs/function/arithmetic/subtract.js +40 -135
- package/lib/cjs/function/arithmetic/subtractScalar.js +52 -0
- package/lib/cjs/function/arithmetic/unaryMinus.js +17 -24
- package/lib/cjs/function/arithmetic/unaryPlus.js +10 -14
- package/lib/cjs/function/arithmetic/xgcd.js +14 -21
- package/lib/cjs/function/bitwise/bitAnd.js +24 -75
- package/lib/cjs/function/bitwise/bitNot.js +8 -13
- package/lib/cjs/function/bitwise/bitOr.js +25 -76
- package/lib/cjs/function/bitwise/bitXor.js +24 -75
- package/lib/cjs/function/bitwise/leftShift.js +73 -101
- package/lib/cjs/function/bitwise/rightArithShift.js +74 -102
- package/lib/cjs/function/bitwise/rightLogShift.js +73 -98
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +33 -0
- package/lib/cjs/function/combinatorics/bellNumbers.js +8 -14
- package/lib/cjs/function/combinatorics/catalan.js +8 -13
- package/lib/cjs/function/combinatorics/composition.js +8 -13
- package/lib/cjs/function/combinatorics/stirlingS2.js +49 -31
- package/lib/cjs/function/complex/arg.js +8 -10
- package/lib/cjs/function/complex/conj.js +8 -14
- package/lib/cjs/function/complex/im.js +9 -12
- package/lib/cjs/function/complex/re.js +8 -14
- package/lib/cjs/function/geometry/distance.js +44 -91
- package/lib/cjs/function/geometry/intersect.js +100 -102
- package/lib/cjs/function/logical/and.js +83 -100
- package/lib/cjs/function/logical/not.js +15 -14
- package/lib/cjs/function/logical/or.js +29 -77
- package/lib/cjs/function/logical/xor.js +28 -76
- package/lib/cjs/function/matrix/apply.js +4 -25
- package/lib/cjs/function/matrix/column.js +9 -14
- package/lib/cjs/function/matrix/concat.js +11 -56
- package/lib/cjs/function/matrix/count.js +43 -0
- package/lib/cjs/function/matrix/cross.js +6 -14
- package/lib/cjs/function/matrix/ctranspose.js +4 -8
- package/lib/cjs/function/matrix/det.js +48 -57
- package/lib/cjs/function/matrix/diag.js +23 -38
- package/lib/cjs/function/matrix/diff.js +23 -40
- package/lib/cjs/function/matrix/dot.js +24 -49
- package/lib/cjs/function/matrix/eigs/complexEigs.js +744 -0
- package/lib/cjs/function/matrix/eigs/realSymmetric.js +303 -0
- package/lib/cjs/function/matrix/eigs.js +271 -379
- package/lib/cjs/function/matrix/expm.js +28 -45
- package/lib/cjs/function/matrix/fft.js +152 -0
- package/lib/cjs/function/matrix/filter.js +4 -20
- package/lib/cjs/function/matrix/flatten.js +8 -14
- package/lib/cjs/function/matrix/forEach.js +6 -24
- package/lib/cjs/function/matrix/getMatrixDataType.js +3 -9
- package/lib/cjs/function/matrix/identity.js +16 -33
- package/lib/cjs/function/matrix/ifft.js +43 -0
- package/lib/cjs/function/matrix/inv.js +22 -47
- package/lib/cjs/function/matrix/kron.js +5 -13
- package/lib/cjs/function/matrix/map.js +23 -28
- package/lib/cjs/function/matrix/matrixFromColumns.js +106 -0
- package/lib/cjs/function/matrix/matrixFromFunction.js +78 -0
- package/lib/cjs/function/matrix/matrixFromRows.js +94 -0
- package/lib/cjs/function/matrix/ones.js +12 -26
- package/lib/cjs/function/matrix/partitionSelect.js +24 -32
- package/lib/cjs/function/matrix/pinv.js +190 -0
- package/lib/cjs/function/matrix/range.js +45 -148
- package/lib/cjs/function/matrix/reshape.js +9 -15
- package/lib/cjs/function/matrix/resize.js +8 -31
- package/lib/cjs/function/matrix/rotate.js +9 -22
- package/lib/cjs/function/matrix/rotationMatrix.js +16 -36
- package/lib/cjs/function/matrix/row.js +9 -14
- package/lib/cjs/function/matrix/size.js +5 -11
- package/lib/cjs/function/matrix/sort.js +9 -23
- package/lib/cjs/function/matrix/sqrtm.js +18 -31
- package/lib/cjs/function/matrix/squeeze.js +5 -11
- package/lib/cjs/function/matrix/subset.js +114 -66
- package/lib/cjs/function/matrix/trace.js +24 -39
- package/lib/cjs/function/matrix/transpose.js +81 -99
- package/lib/cjs/function/matrix/zeros.js +13 -26
- package/lib/cjs/function/numeric/solveODE.js +314 -0
- package/lib/cjs/function/probability/combinations.js +4 -14
- package/lib/cjs/function/probability/combinationsWithRep.js +2 -19
- package/lib/cjs/function/probability/factorial.js +8 -13
- package/lib/cjs/function/probability/gamma.js +52 -68
- package/lib/cjs/function/probability/kldivergence.js +16 -26
- package/lib/cjs/function/probability/lgamma.js +141 -0
- package/lib/cjs/function/probability/multinomial.js +8 -14
- package/lib/cjs/function/probability/permutations.js +7 -21
- package/lib/cjs/function/probability/pickRandom.js +12 -34
- package/lib/cjs/function/probability/random.js +12 -25
- package/lib/cjs/function/probability/randomInt.js +5 -15
- package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
- package/lib/cjs/function/probability/util/seededRNG.js +7 -10
- package/lib/cjs/function/relational/compare.js +35 -90
- package/lib/cjs/function/relational/compareNatural.js +75 -102
- package/lib/cjs/function/relational/compareText.js +18 -55
- package/lib/cjs/function/relational/compareUnits.js +20 -0
- package/lib/cjs/function/relational/deepEqual.js +4 -11
- package/lib/cjs/function/relational/equal.js +30 -101
- package/lib/cjs/function/relational/equalScalar.js +10 -20
- package/lib/cjs/function/relational/equalText.js +4 -8
- package/lib/cjs/function/relational/larger.js +32 -87
- package/lib/cjs/function/relational/largerEq.js +32 -87
- package/lib/cjs/function/relational/smaller.js +32 -87
- package/lib/cjs/function/relational/smallerEq.js +32 -87
- package/lib/cjs/function/relational/unequal.js +31 -103
- package/lib/cjs/function/set/setCartesian.js +14 -21
- package/lib/cjs/function/set/setDifference.js +11 -22
- package/lib/cjs/function/set/setDistinct.js +11 -20
- package/lib/cjs/function/set/setIntersect.js +11 -20
- package/lib/cjs/function/set/setIsSubset.js +7 -17
- package/lib/cjs/function/set/setMultiplicity.js +6 -14
- package/lib/cjs/function/set/setPowerset.js +12 -23
- package/lib/cjs/function/set/setSize.js +6 -12
- package/lib/cjs/function/set/setSymDifference.js +7 -13
- package/lib/cjs/function/set/setUnion.js +8 -14
- package/lib/cjs/function/signal/freqz.js +116 -0
- package/lib/cjs/function/signal/zpk2tf.js +94 -0
- package/lib/cjs/function/special/erf.js +20 -31
- package/lib/cjs/function/special/zeta.js +170 -0
- package/lib/cjs/function/statistics/corr.js +94 -0
- package/lib/cjs/function/statistics/cumsum.js +127 -0
- package/lib/cjs/function/statistics/mad.js +6 -15
- package/lib/cjs/function/statistics/max.js +12 -22
- package/lib/cjs/function/statistics/mean.js +8 -19
- package/lib/cjs/function/statistics/median.js +15 -24
- package/lib/cjs/function/statistics/min.js +11 -21
- package/lib/cjs/function/statistics/mode.js +6 -19
- package/lib/cjs/function/statistics/prod.js +11 -17
- package/lib/cjs/function/statistics/quantileSeq.js +108 -209
- package/lib/cjs/function/statistics/std.js +13 -12
- package/lib/cjs/function/statistics/sum.js +12 -20
- package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
- package/lib/cjs/function/statistics/variance.js +14 -28
- package/lib/cjs/function/string/bin.js +21 -4
- package/lib/cjs/function/string/format.js +40 -28
- package/lib/cjs/function/string/hex.js +22 -6
- package/lib/cjs/function/string/oct.js +24 -6
- package/lib/cjs/function/string/print.js +7 -13
- package/lib/cjs/function/trigonometry/acos.js +8 -16
- package/lib/cjs/function/trigonometry/acosh.js +6 -18
- package/lib/cjs/function/trigonometry/acot.js +9 -19
- package/lib/cjs/function/trigonometry/acoth.js +9 -19
- package/lib/cjs/function/trigonometry/acsc.js +11 -22
- package/lib/cjs/function/trigonometry/acsch.js +7 -16
- package/lib/cjs/function/trigonometry/asec.js +11 -21
- package/lib/cjs/function/trigonometry/asech.js +9 -21
- package/lib/cjs/function/trigonometry/asin.js +9 -18
- package/lib/cjs/function/trigonometry/asinh.js +6 -16
- package/lib/cjs/function/trigonometry/atan.js +7 -17
- package/lib/cjs/function/trigonometry/atan2.js +36 -80
- package/lib/cjs/function/trigonometry/atanh.js +8 -19
- package/lib/cjs/function/trigonometry/cos.js +12 -25
- package/lib/cjs/function/trigonometry/cosh.js +7 -26
- package/lib/cjs/function/trigonometry/cot.js +10 -21
- package/lib/cjs/function/trigonometry/coth.js +7 -23
- package/lib/cjs/function/trigonometry/csc.js +12 -23
- package/lib/cjs/function/trigonometry/csch.js +7 -23
- package/lib/cjs/function/trigonometry/sec.js +12 -23
- package/lib/cjs/function/trigonometry/sech.js +7 -23
- package/lib/cjs/function/trigonometry/sin.js +12 -26
- package/lib/cjs/function/trigonometry/sinh.js +7 -27
- package/lib/cjs/function/trigonometry/tan.js +12 -26
- package/lib/cjs/function/trigonometry/tanh.js +7 -27
- package/lib/cjs/function/trigonometry/trigUnit.js +20 -0
- package/lib/cjs/function/unit/to.js +17 -53
- package/lib/cjs/function/utils/clone.js +3 -8
- package/lib/cjs/function/utils/hasNumericValue.js +8 -8
- package/lib/cjs/function/utils/isInteger.js +9 -12
- package/lib/cjs/function/utils/isNaN.js +3 -9
- package/lib/cjs/function/utils/isNegative.js +13 -15
- package/lib/cjs/function/utils/isNumeric.js +8 -11
- package/lib/cjs/function/utils/isPositive.js +13 -15
- package/lib/cjs/function/utils/isPrime.js +63 -19
- package/lib/cjs/function/utils/isZero.js +23 -25
- package/lib/cjs/function/utils/numeric.js +16 -18
- package/lib/cjs/function/utils/typeOf.js +40 -51
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/json/replacer.js +2 -6
- package/lib/cjs/json/reviver.js +2 -8
- package/lib/cjs/number.js +0 -2
- package/lib/cjs/plain/bignumber/arithmetic.js +2 -12
- package/lib/cjs/plain/bignumber/index.js +1 -8
- package/lib/cjs/plain/number/arithmetic.js +47 -131
- package/lib/cjs/plain/number/bitwise.js +0 -23
- package/lib/cjs/plain/number/combinations.js +17 -15
- package/lib/cjs/plain/number/constants.js +5 -10
- package/lib/cjs/plain/number/index.js +0 -18
- package/lib/cjs/plain/number/logical.js +1 -9
- package/lib/cjs/plain/number/probability.js +41 -18
- package/lib/cjs/plain/number/trigonometry.js +1 -53
- package/lib/cjs/plain/number/utils.js +1 -13
- package/lib/cjs/type/bignumber/BigNumber.js +9 -19
- package/lib/cjs/type/bignumber/function/bignumber.js +31 -11
- package/lib/cjs/type/boolean.js +9 -15
- package/lib/cjs/type/chain/Chain.js +36 -42
- package/lib/cjs/type/chain/function/chain.js +3 -7
- package/lib/cjs/type/complex/Complex.js +17 -41
- package/lib/cjs/type/complex/function/complex.js +8 -13
- package/lib/cjs/type/fraction/Fraction.js +9 -12
- package/lib/cjs/type/fraction/function/fraction.js +36 -21
- package/lib/cjs/type/matrix/DenseMatrix.js +288 -227
- package/lib/cjs/type/matrix/FibonacciHeap.js +121 -162
- package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +22 -46
- package/lib/cjs/type/matrix/Matrix.js +28 -39
- package/lib/cjs/type/matrix/MatrixIndex.js +62 -72
- package/lib/cjs/type/matrix/Range.js +16 -53
- package/lib/cjs/type/matrix/Spa.js +36 -57
- package/lib/cjs/type/matrix/SparseMatrix.js +524 -551
- package/lib/cjs/type/matrix/function/index.js +9 -12
- package/lib/cjs/type/matrix/function/matrix.js +8 -13
- package/lib/cjs/type/matrix/function/sparse.js +9 -7
- package/lib/cjs/type/matrix/utils/broadcast.js +77 -0
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +40 -41
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +48 -49
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +45 -46
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +78 -79
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +78 -80
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +66 -67
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +52 -55
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +73 -74
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +62 -62
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +44 -44
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +31 -34
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +23 -25
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +222 -0
- package/lib/cjs/type/number.js +83 -25
- package/lib/cjs/type/resultset/ResultSet.js +7 -16
- package/lib/cjs/type/string.js +7 -11
- package/lib/cjs/type/unit/Unit.js +382 -515
- package/lib/cjs/type/unit/function/createUnit.js +5 -8
- package/lib/cjs/type/unit/function/splitUnit.js +3 -7
- package/lib/cjs/type/unit/function/unit.js +20 -15
- package/lib/cjs/type/unit/physicalConstants.js +66 -114
- package/lib/cjs/utils/applyCallback.js +73 -0
- package/lib/cjs/utils/array.js +368 -174
- package/lib/cjs/utils/bignumber/bitwise.js +14 -97
- package/lib/cjs/utils/bignumber/constants.js +20 -19
- package/lib/cjs/utils/bignumber/formatter.js +92 -31
- package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
- package/lib/cjs/utils/collection.js +25 -68
- package/lib/cjs/utils/complex.js +0 -2
- package/lib/cjs/utils/customs.js +39 -48
- package/lib/cjs/utils/emitter.js +3 -5
- package/lib/cjs/utils/factory.js +14 -31
- package/lib/cjs/utils/function.js +31 -27
- package/lib/cjs/utils/is.js +64 -92
- package/lib/cjs/utils/latex.js +17 -24
- package/lib/cjs/utils/log.js +2 -9
- package/lib/cjs/utils/lruQueue.js +57 -0
- package/lib/cjs/utils/map.js +166 -0
- package/lib/cjs/utils/noop.js +1 -6
- package/lib/cjs/utils/number.js +176 -167
- package/lib/cjs/utils/object.js +43 -98
- package/lib/cjs/utils/print.js +7 -0
- package/lib/cjs/utils/product.js +0 -4
- package/lib/cjs/utils/scope.js +29 -0
- package/lib/cjs/utils/snapshot.js +53 -108
- package/lib/cjs/utils/string.js +41 -61
- package/lib/cjs/utils/switch.js +26 -0
- package/lib/cjs/version.js +3 -4
- package/lib/esm/constants.js +24 -20
- package/lib/esm/core/create.js +29 -30
- package/lib/esm/core/function/config.js +12 -10
- package/lib/esm/core/function/import.js +23 -70
- package/lib/esm/core/function/typed.js +63 -39
- package/lib/esm/entry/configReadonly.js +3 -5
- package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBin.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCorr.generated.js +28 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCount.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDet.generated.js +6 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +4 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +36 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFreqz.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesHex.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesIndexTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLgamma.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLyap.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOct.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesPinv.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPrintTransform.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSchur.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +44 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSolveODE.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStirlingS2.generated.js +6 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubset.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +4 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSylvester.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZeta.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZpk2tf.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny.generated.js +297 -266
- package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCorr.generated.js +28 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesLgamma.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +12 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +28 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +44 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +4 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesZeta.generated.js +34 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +171 -163
- package/lib/esm/entry/impureFunctionsAny.generated.js +425 -274
- package/lib/esm/entry/impureFunctionsNumber.generated.js +283 -216
- package/lib/esm/entry/mainAny.js +10 -5
- package/lib/esm/entry/mainNumber.js +10 -5
- package/lib/esm/entry/pureFunctionsAny.generated.js +1028 -753
- package/lib/esm/entry/pureFunctionsNumber.generated.js +279 -223
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/error/ArgumentsError.js +0 -1
- package/lib/esm/error/DimensionError.js +0 -1
- package/lib/esm/error/IndexError.js +0 -4
- package/lib/esm/expression/Help.js +9 -23
- package/lib/esm/expression/Parser.js +36 -37
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +261 -209
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/lyap.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/schur.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/sylvester.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/arithmetic/round.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/sqrtm.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/count.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/pinv.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/range.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/reshape.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/rotate.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/size.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/numeric/solveODE.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/probability/lgamma.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/set/setCartesian.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/signal/freqz.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/signal/zpk2tf.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/corr.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/max.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/mean.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/min.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/std.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/sum.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/variance.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/numeric.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/print.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -2
- package/lib/esm/expression/function/evaluate.js +6 -6
- package/lib/esm/expression/function/help.js +2 -7
- package/lib/esm/expression/function/parser.js +6 -7
- package/lib/esm/expression/keywords.js +1 -3
- package/lib/esm/expression/node/AccessorNode.js +150 -170
- package/lib/esm/expression/node/ArrayNode.js +149 -159
- package/lib/esm/expression/node/AssignmentNode.js +249 -267
- package/lib/esm/expression/node/BlockNode.js +156 -164
- package/lib/esm/expression/node/ConditionalNode.js +186 -201
- package/lib/esm/expression/node/ConstantNode.js +145 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +195 -195
- package/lib/esm/expression/node/FunctionNode.js +367 -357
- package/lib/esm/expression/node/IndexNode.js +178 -230
- package/lib/esm/expression/node/Node.js +316 -375
- package/lib/esm/expression/node/ObjectNode.js +154 -177
- package/lib/esm/expression/node/OperatorNode.js +399 -456
- package/lib/esm/expression/node/ParenthesisNode.js +126 -138
- package/lib/esm/expression/node/RangeNode.js +200 -238
- package/lib/esm/expression/node/RelationalNode.js +169 -183
- package/lib/esm/expression/node/SymbolNode.js +156 -170
- package/lib/esm/expression/node/utils/access.js +0 -2
- package/lib/esm/expression/node/utils/assign.js +7 -4
- package/lib/esm/expression/operators.js +101 -33
- package/lib/esm/expression/parse.js +273 -388
- package/lib/esm/expression/transform/and.transform.js +35 -0
- package/lib/esm/expression/transform/apply.transform.js +4 -5
- package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
- package/lib/esm/expression/transform/bitOr.transform.js +41 -0
- package/lib/esm/expression/transform/column.transform.js +4 -5
- package/lib/esm/expression/transform/concat.transform.js +2 -4
- package/lib/esm/expression/transform/cumsum.transform.js +46 -0
- package/lib/esm/expression/transform/diff.transform.js +4 -14
- package/lib/esm/expression/transform/filter.transform.js +8 -21
- package/lib/esm/expression/transform/forEach.transform.js +6 -22
- package/lib/esm/expression/transform/index.transform.js +13 -12
- package/lib/esm/expression/transform/map.transform.js +8 -23
- package/lib/esm/expression/transform/max.transform.js +4 -14
- package/lib/esm/expression/transform/mean.transform.js +4 -14
- package/lib/esm/expression/transform/min.transform.js +4 -14
- package/lib/esm/expression/transform/or.transform.js +33 -0
- package/lib/esm/expression/transform/print.transform.js +42 -0
- package/lib/esm/expression/transform/quantileSeq.transform.js +59 -0
- package/lib/esm/expression/transform/range.transform.js +9 -7
- package/lib/esm/expression/transform/row.transform.js +4 -5
- package/lib/esm/expression/transform/std.transform.js +7 -15
- package/lib/esm/expression/transform/subset.transform.js +9 -5
- package/lib/esm/expression/transform/sum.transform.js +5 -15
- package/lib/esm/expression/transform/utils/compileInlineExpression.js +7 -8
- package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +17 -0
- package/lib/esm/expression/transform/variance.transform.js +4 -14
- package/lib/esm/factoriesAny.js +36 -3
- package/lib/esm/factoriesNumber.js +83 -38
- package/lib/esm/function/algebra/decomposition/lup.js +128 -162
- package/lib/esm/function/algebra/decomposition/qr.js +30 -45
- package/lib/esm/function/algebra/decomposition/schur.js +70 -0
- package/lib/esm/function/algebra/decomposition/slu.js +10 -9
- package/lib/esm/function/algebra/derivative.js +63 -164
- package/lib/esm/function/algebra/leafCount.js +54 -0
- package/lib/esm/function/algebra/lyap.js +52 -0
- package/lib/esm/function/algebra/polynomialRoot.js +122 -0
- package/lib/esm/function/algebra/rationalize.js +220 -272
- package/lib/esm/function/algebra/resolve.js +97 -0
- package/lib/esm/function/algebra/simplify/util.js +148 -67
- package/lib/esm/function/algebra/simplify/wildcards.js +20 -0
- package/lib/esm/function/algebra/simplify.js +823 -380
- package/lib/esm/function/algebra/simplifyConstant.js +457 -0
- package/lib/esm/function/algebra/simplifyCore.js +288 -0
- package/lib/esm/function/algebra/solver/lsolve.js +27 -31
- package/lib/esm/function/algebra/solver/lsolveAll.js +34 -35
- package/lib/esm/function/algebra/solver/lusolve.js +10 -15
- package/lib/esm/function/algebra/solver/usolve.js +31 -36
- package/lib/esm/function/algebra/solver/usolveAll.js +38 -35
- package/lib/esm/function/algebra/solver/utils/solveValidation.js +9 -33
- package/lib/esm/function/algebra/sparse/csAmd.js +249 -298
- package/lib/esm/function/algebra/sparse/csChol.js +66 -78
- package/lib/esm/function/algebra/sparse/csCounts.js +38 -53
- package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
- package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
- package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
- package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
- package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
- package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
- package/lib/esm/function/algebra/sparse/csLeaf.js +15 -17
- package/lib/esm/function/algebra/sparse/csLu.js +69 -87
- package/lib/esm/function/algebra/sparse/csMark.js +1 -1
- package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
- package/lib/esm/function/algebra/sparse/csPost.js +15 -23
- package/lib/esm/function/algebra/sparse/csReach.js +15 -17
- package/lib/esm/function/algebra/sparse/csSpsolve.js +31 -36
- package/lib/esm/function/algebra/sparse/csSqr.js +61 -78
- package/lib/esm/function/algebra/sparse/csSymperm.js +33 -41
- package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
- package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
- package/lib/esm/function/algebra/sylvester.js +118 -0
- package/lib/esm/function/algebra/symbolicEqual.js +60 -0
- package/lib/esm/function/arithmetic/abs.js +4 -18
- package/lib/esm/function/arithmetic/add.js +59 -104
- package/lib/esm/function/arithmetic/addScalar.js +10 -7
- package/lib/esm/function/arithmetic/cbrt.js +16 -26
- package/lib/esm/function/arithmetic/ceil.js +76 -42
- package/lib/esm/function/arithmetic/cube.js +6 -11
- package/lib/esm/function/arithmetic/divide.js +10 -9
- package/lib/esm/function/arithmetic/divideScalar.js +3 -21
- package/lib/esm/function/arithmetic/dotDivide.js +28 -68
- package/lib/esm/function/arithmetic/dotMultiply.js +22 -64
- package/lib/esm/function/arithmetic/dotPow.js +34 -66
- package/lib/esm/function/arithmetic/exp.js +9 -13
- package/lib/esm/function/arithmetic/expm1.js +11 -11
- package/lib/esm/function/arithmetic/fix.js +60 -25
- package/lib/esm/function/arithmetic/floor.js +81 -42
- package/lib/esm/function/arithmetic/gcd.js +86 -79
- package/lib/esm/function/arithmetic/hypot.js +8 -12
- package/lib/esm/function/arithmetic/invmod.js +55 -0
- package/lib/esm/function/arithmetic/lcm.js +33 -81
- package/lib/esm/function/arithmetic/log.js +8 -12
- package/lib/esm/function/arithmetic/log10.js +2 -5
- package/lib/esm/function/arithmetic/log1p.js +6 -10
- package/lib/esm/function/arithmetic/log2.js +3 -6
- package/lib/esm/function/arithmetic/mod.js +59 -78
- package/lib/esm/function/arithmetic/multiply.js +330 -351
- package/lib/esm/function/arithmetic/multiplyScalar.js +3 -15
- package/lib/esm/function/arithmetic/norm.js +32 -62
- package/lib/esm/function/arithmetic/nthRoot.js +53 -96
- package/lib/esm/function/arithmetic/nthRoots.js +10 -16
- package/lib/esm/function/arithmetic/pow.js +44 -37
- package/lib/esm/function/arithmetic/round.js +71 -77
- package/lib/esm/function/arithmetic/sign.js +10 -10
- package/lib/esm/function/arithmetic/sqrt.js +7 -11
- package/lib/esm/function/arithmetic/square.js +7 -11
- package/lib/esm/function/arithmetic/subtract.js +37 -121
- package/lib/esm/function/arithmetic/subtractScalar.js +46 -0
- package/lib/esm/function/arithmetic/unaryMinus.js +8 -18
- package/lib/esm/function/arithmetic/unaryPlus.js +3 -6
- package/lib/esm/function/arithmetic/xgcd.js +10 -13
- package/lib/esm/function/bitwise/bitAnd.js +22 -63
- package/lib/esm/function/bitwise/bitNot.js +3 -6
- package/lib/esm/function/bitwise/bitOr.js +22 -63
- package/lib/esm/function/bitwise/bitXor.js +22 -63
- package/lib/esm/function/bitwise/leftShift.js +45 -69
- package/lib/esm/function/bitwise/rightArithShift.js +46 -70
- package/lib/esm/function/bitwise/rightLogShift.js +46 -68
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/combinatorics/bellNumbers.js +3 -6
- package/lib/esm/function/combinatorics/catalan.js +1 -3
- package/lib/esm/function/combinatorics/composition.js +1 -3
- package/lib/esm/function/combinatorics/stirlingS2.js +39 -18
- package/lib/esm/function/complex/arg.js +3 -5
- package/lib/esm/function/complex/conj.js +4 -14
- package/lib/esm/function/complex/im.js +5 -14
- package/lib/esm/function/complex/re.js +4 -14
- package/lib/esm/function/geometry/distance.js +38 -81
- package/lib/esm/function/geometry/intersect.js +87 -87
- package/lib/esm/function/logical/and.js +41 -65
- package/lib/esm/function/logical/not.js +4 -8
- package/lib/esm/function/logical/or.js +22 -65
- package/lib/esm/function/logical/xor.js +22 -65
- package/lib/esm/function/matrix/apply.js +3 -17
- package/lib/esm/function/matrix/column.js +5 -5
- package/lib/esm/function/matrix/concat.js +10 -46
- package/lib/esm/function/matrix/count.js +39 -0
- package/lib/esm/function/matrix/cross.js +2 -6
- package/lib/esm/function/matrix/ctranspose.js +1 -2
- package/lib/esm/function/matrix/det.js +43 -48
- package/lib/esm/function/matrix/diag.js +19 -28
- package/lib/esm/function/matrix/diff.js +11 -31
- package/lib/esm/function/matrix/dot.js +19 -40
- package/lib/esm/function/matrix/eigs/complexEigs.js +698 -0
- package/lib/esm/function/matrix/eigs/realSymmetric.js +297 -0
- package/lib/esm/function/matrix/eigs.js +258 -360
- package/lib/esm/function/matrix/expm.js +24 -36
- package/lib/esm/function/matrix/fft.js +128 -0
- package/lib/esm/function/matrix/filter.js +4 -14
- package/lib/esm/function/matrix/flatten.js +6 -7
- package/lib/esm/function/matrix/forEach.js +6 -18
- package/lib/esm/function/matrix/getMatrixDataType.js +2 -3
- package/lib/esm/function/matrix/identity.js +10 -21
- package/lib/esm/function/matrix/ifft.js +37 -0
- package/lib/esm/function/matrix/inv.js +13 -32
- package/lib/esm/function/matrix/kron.js +2 -6
- package/lib/esm/function/matrix/map.js +23 -23
- package/lib/esm/function/matrix/matrixFromColumns.js +88 -0
- package/lib/esm/function/matrix/matrixFromFunction.js +74 -0
- package/lib/esm/function/matrix/matrixFromRows.js +76 -0
- package/lib/esm/function/matrix/ones.js +8 -16
- package/lib/esm/function/matrix/partitionSelect.js +20 -23
- package/lib/esm/function/matrix/pinv.js +179 -0
- package/lib/esm/function/matrix/range.js +38 -137
- package/lib/esm/function/matrix/reshape.js +8 -10
- package/lib/esm/function/matrix/resize.js +6 -19
- package/lib/esm/function/matrix/rotate.js +6 -15
- package/lib/esm/function/matrix/rotationMatrix.js +4 -20
- package/lib/esm/function/matrix/row.js +5 -5
- package/lib/esm/function/matrix/size.js +2 -3
- package/lib/esm/function/matrix/sort.js +5 -15
- package/lib/esm/function/matrix/sqrtm.js +8 -15
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +113 -58
- package/lib/esm/function/matrix/trace.js +21 -31
- package/lib/esm/function/matrix/transpose.js +79 -94
- package/lib/esm/function/matrix/zeros.js +11 -17
- package/lib/esm/function/numeric/solveODE.js +284 -0
- package/lib/esm/function/probability/combinations.js +4 -9
- package/lib/esm/function/probability/combinationsWithRep.js +2 -13
- package/lib/esm/function/probability/factorial.js +2 -7
- package/lib/esm/function/probability/gamma.js +48 -59
- package/lib/esm/function/probability/kldivergence.js +6 -15
- package/lib/esm/function/probability/lgamma.js +137 -0
- package/lib/esm/function/probability/multinomial.js +1 -3
- package/lib/esm/function/probability/permutations.js +6 -14
- package/lib/esm/function/probability/pickRandom.js +6 -22
- package/lib/esm/function/probability/random.js +6 -12
- package/lib/esm/function/probability/randomInt.js +2 -6
- package/lib/esm/function/probability/util/randomMatrix.js +0 -2
- package/lib/esm/function/probability/util/seededRNG.js +6 -5
- package/lib/esm/function/relational/compare.js +28 -72
- package/lib/esm/function/relational/compareNatural.js +73 -93
- package/lib/esm/function/relational/compareText.js +17 -47
- package/lib/esm/function/relational/compareUnits.js +14 -0
- package/lib/esm/function/relational/deepEqual.js +2 -6
- package/lib/esm/function/relational/equal.js +26 -88
- package/lib/esm/function/relational/equalScalar.js +7 -10
- package/lib/esm/function/relational/equalText.js +1 -2
- package/lib/esm/function/relational/larger.js +30 -78
- package/lib/esm/function/relational/largerEq.js +30 -78
- package/lib/esm/function/relational/smaller.js +30 -78
- package/lib/esm/function/relational/smallerEq.js +30 -78
- package/lib/esm/function/relational/unequal.js +26 -89
- package/lib/esm/function/set/setCartesian.js +8 -11
- package/lib/esm/function/set/setDifference.js +5 -12
- package/lib/esm/function/set/setDistinct.js +5 -10
- package/lib/esm/function/set/setIntersect.js +5 -10
- package/lib/esm/function/set/setIsSubset.js +2 -8
- package/lib/esm/function/set/setMultiplicity.js +1 -5
- package/lib/esm/function/set/setPowerset.js +7 -14
- package/lib/esm/function/set/setSize.js +4 -6
- package/lib/esm/function/set/setSymDifference.js +1 -3
- package/lib/esm/function/set/setUnion.js +1 -3
- package/lib/esm/function/signal/freqz.js +115 -0
- package/lib/esm/function/signal/zpk2tf.js +82 -0
- package/lib/esm/function/special/erf.js +16 -26
- package/lib/esm/function/special/zeta.js +148 -0
- package/lib/esm/function/statistics/corr.js +84 -0
- package/lib/esm/function/statistics/cumsum.js +123 -0
- package/lib/esm/function/statistics/mad.js +1 -5
- package/lib/esm/function/statistics/max.js +8 -13
- package/lib/esm/function/statistics/mean.js +5 -10
- package/lib/esm/function/statistics/median.js +10 -13
- package/lib/esm/function/statistics/min.js +7 -12
- package/lib/esm/function/statistics/mode.js +3 -12
- package/lib/esm/function/statistics/prod.js +7 -8
- package/lib/esm/function/statistics/quantileSeq.js +91 -200
- package/lib/esm/function/statistics/std.js +10 -6
- package/lib/esm/function/statistics/sum.js +8 -11
- package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
- package/lib/esm/function/statistics/variance.js +7 -15
- package/lib/esm/function/string/bin.js +24 -3
- package/lib/esm/function/string/format.js +39 -23
- package/lib/esm/function/string/hex.js +25 -5
- package/lib/esm/function/string/oct.js +26 -4
- package/lib/esm/function/string/print.js +7 -7
- package/lib/esm/function/trigonometry/acos.js +5 -9
- package/lib/esm/function/trigonometry/acosh.js +3 -10
- package/lib/esm/function/trigonometry/acot.js +7 -12
- package/lib/esm/function/trigonometry/acoth.js +5 -10
- package/lib/esm/function/trigonometry/acsc.js +7 -13
- package/lib/esm/function/trigonometry/acsch.js +5 -9
- package/lib/esm/function/trigonometry/asec.js +7 -12
- package/lib/esm/function/trigonometry/asech.js +5 -12
- package/lib/esm/function/trigonometry/asin.js +6 -11
- package/lib/esm/function/trigonometry/asinh.js +5 -10
- package/lib/esm/function/trigonometry/atan.js +6 -12
- package/lib/esm/function/trigonometry/atan2.js +33 -69
- package/lib/esm/function/trigonometry/atanh.js +5 -11
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +6 -22
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +7 -22
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +7 -22
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +7 -22
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +6 -23
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +6 -23
- package/lib/esm/function/trigonometry/trigUnit.js +14 -0
- package/lib/esm/function/unit/to.js +17 -50
- package/lib/esm/function/utils/clone.js +2 -3
- package/lib/esm/function/utils/hasNumericValue.js +4 -3
- package/lib/esm/function/utils/isInteger.js +4 -6
- package/lib/esm/function/utils/isNaN.js +2 -3
- package/lib/esm/function/utils/isNegative.js +4 -9
- package/lib/esm/function/utils/isNumeric.js +5 -12
- package/lib/esm/function/utils/isPositive.js +4 -9
- package/lib/esm/function/utils/isPrime.js +56 -14
- package/lib/esm/function/utils/isZero.js +14 -19
- package/lib/esm/function/utils/numeric.js +13 -10
- package/lib/esm/function/utils/typeOf.js +39 -46
- package/lib/esm/header.js +1 -1
- package/lib/esm/json/replacer.js +0 -1
- package/lib/esm/json/reviver.js +1 -4
- package/lib/esm/plain/bignumber/index.js +2 -1
- package/lib/esm/plain/number/arithmetic.js +41 -74
- package/lib/esm/plain/number/bitwise.js +0 -7
- package/lib/esm/plain/number/combinations.js +17 -11
- package/lib/esm/plain/number/probability.js +37 -11
- package/lib/esm/type/bignumber/BigNumber.js +6 -10
- package/lib/esm/type/bignumber/function/bignumber.js +23 -5
- package/lib/esm/type/boolean.js +4 -10
- package/lib/esm/type/chain/Chain.js +35 -35
- package/lib/esm/type/chain/function/chain.js +1 -2
- package/lib/esm/type/complex/Complex.js +14 -30
- package/lib/esm/type/complex/function/complex.js +2 -7
- package/lib/esm/type/fraction/Fraction.js +6 -4
- package/lib/esm/type/fraction/function/fraction.js +28 -15
- package/lib/esm/type/matrix/DenseMatrix.js +240 -220
- package/lib/esm/type/matrix/FibonacciHeap.js +121 -159
- package/lib/esm/type/matrix/ImmutableDenseMatrix.js +20 -39
- package/lib/esm/type/matrix/Matrix.js +26 -34
- package/lib/esm/type/matrix/MatrixIndex.js +64 -68
- package/lib/esm/type/matrix/Range.js +14 -46
- package/lib/esm/type/matrix/Spa.js +33 -51
- package/lib/esm/type/matrix/SparseMatrix.js +504 -553
- package/lib/esm/type/matrix/function/index.js +7 -6
- package/lib/esm/type/matrix/function/matrix.js +4 -6
- package/lib/esm/type/matrix/function/sparse.js +7 -2
- package/lib/esm/type/matrix/utils/broadcast.js +69 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +38 -35
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +45 -42
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +43 -40
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +75 -72
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +75 -73
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +63 -59
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +49 -48
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +70 -67
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +59 -55
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +41 -38
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +29 -28
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +21 -19
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +156 -0
- package/lib/esm/type/number.js +76 -20
- package/lib/esm/type/resultset/ResultSet.js +5 -11
- package/lib/esm/type/string.js +2 -5
- package/lib/esm/type/unit/Unit.js +361 -493
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +2 -3
- package/lib/esm/type/unit/function/unit.js +14 -9
- package/lib/esm/type/unit/physicalConstants.js +24 -17
- package/lib/esm/utils/applyCallback.js +67 -0
- package/lib/esm/utils/array.js +341 -137
- package/lib/esm/utils/bignumber/bitwise.js +13 -89
- package/lib/esm/utils/bignumber/constants.js +17 -9
- package/lib/esm/utils/bignumber/formatter.js +94 -28
- package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
- package/lib/esm/utils/collection.js +25 -60
- package/lib/esm/utils/complex.js +1 -1
- package/lib/esm/utils/customs.js +31 -40
- package/lib/esm/utils/emitter.js +3 -2
- package/lib/esm/utils/factory.js +12 -20
- package/lib/esm/utils/function.js +29 -20
- package/lib/esm/utils/is.js +33 -23
- package/lib/esm/utils/latex.js +10 -8
- package/lib/esm/utils/log.js +0 -2
- package/lib/esm/utils/lruQueue.js +51 -0
- package/lib/esm/utils/map.js +120 -0
- package/lib/esm/utils/number.js +158 -106
- package/lib/esm/utils/object.js +34 -70
- package/lib/esm/utils/print.js +1 -0
- package/lib/esm/utils/product.js +0 -3
- package/lib/esm/utils/scope.js +24 -0
- package/lib/esm/utils/snapshot.js +37 -86
- package/lib/esm/utils/string.js +36 -48
- package/lib/esm/utils/switch.js +20 -0
- package/lib/esm/version.js +2 -1
- package/package.json +71 -45
- package/types/EXPLANATION.md +54 -0
- package/types/index.d.ts +6967 -0
- package/types/tslint.json +6 -0
- package/docs/command_line_interface.md +0 -87
- package/docs/core/chaining.md +0 -41
- package/docs/core/configuration.md +0 -144
- package/docs/core/extension.md +0 -263
- package/docs/core/index.md +0 -21
- package/docs/core/serialization.md +0 -50
- package/docs/custom_bundling.md +0 -116
- package/docs/datatypes/bignumbers.md +0 -102
- package/docs/datatypes/complex_numbers.md +0 -168
- package/docs/datatypes/fractions.md +0 -75
- package/docs/datatypes/index.md +0 -67
- package/docs/datatypes/matrices.md +0 -343
- package/docs/datatypes/numbers.md +0 -106
- package/docs/datatypes/units.md +0 -444
- package/docs/expressions/algebra.md +0 -83
- package/docs/expressions/customization.md +0 -379
- package/docs/expressions/expression_trees.md +0 -699
- package/docs/expressions/html_classes.md +0 -38
- package/docs/expressions/index.md +0 -21
- package/docs/expressions/parsing.md +0 -207
- package/docs/expressions/security.md +0 -89
- package/docs/expressions/syntax.md +0 -648
- package/docs/getting_started.md +0 -124
- package/docs/index.md +0 -39
- package/docs/reference/.gitignore +0 -1
- package/docs/reference/.npmignore +0 -1
- package/docs/reference/classes/densematrix.md +0 -247
- package/docs/reference/classes/fibonacciheap.md +0 -70
- package/docs/reference/classes/matrixindex.md +0 -133
- package/docs/reference/classes/matrixrange.md +0 -158
- package/docs/reference/classes/resultset.md +0 -47
- package/docs/reference/classes/sparsematrix.md +0 -245
- package/docs/reference/classes/unit.md +0 -242
- package/docs/reference/classes.md +0 -86
- package/docs/reference/constants.md +0 -29
- package/docs/reference/functions/.gitignore +0 -1
- package/docs/reference/functions/.npmignore +0 -1
- package/docs/reference/functions/abs.md +0 -40
- package/docs/reference/functions/acos.md +0 -43
- package/docs/reference/functions/acosh.md +0 -41
- package/docs/reference/functions/acot.md +0 -42
- package/docs/reference/functions/acoth.md +0 -40
- package/docs/reference/functions/acsc.md +0 -43
- package/docs/reference/functions/acsch.md +0 -40
- package/docs/reference/functions/add.md +0 -53
- package/docs/reference/functions/and.md +0 -47
- package/docs/reference/functions/apply.md +0 -50
- package/docs/reference/functions/arg.md +0 -47
- package/docs/reference/functions/asec.md +0 -43
- package/docs/reference/functions/asech.md +0 -40
- package/docs/reference/functions/asin.md +0 -43
- package/docs/reference/functions/asinh.md +0 -40
- package/docs/reference/functions/atan.md +0 -43
- package/docs/reference/functions/atan2.md +0 -50
- package/docs/reference/functions/atanh.md +0 -40
- package/docs/reference/functions/bellNumbers.md +0 -39
- package/docs/reference/functions/bignumber.md +0 -47
- package/docs/reference/functions/bin.md +0 -38
- package/docs/reference/functions/bitAnd.md +0 -45
- package/docs/reference/functions/bitNot.md +0 -45
- package/docs/reference/functions/bitOr.md +0 -46
- package/docs/reference/functions/bitXor.md +0 -45
- package/docs/reference/functions/boolean.md +0 -50
- package/docs/reference/functions/catalan.md +0 -39
- package/docs/reference/functions/cbrt.md +0 -54
- package/docs/reference/functions/ceil.md +0 -57
- package/docs/reference/functions/chain.md +0 -54
- package/docs/reference/functions/clone.md +0 -37
- package/docs/reference/functions/column.md +0 -39
- package/docs/reference/functions/combinations.md +0 -43
- package/docs/reference/functions/combinationsWithRep.md +0 -43
- package/docs/reference/functions/compare.md +0 -61
- package/docs/reference/functions/compareNatural.md +0 -86
- package/docs/reference/functions/compareText.md +0 -48
- package/docs/reference/functions/compile.md +0 -50
- package/docs/reference/functions/complex.md +0 -61
- package/docs/reference/functions/composition.md +0 -40
- package/docs/reference/functions/concat.md +0 -50
- package/docs/reference/functions/config.md +0 -44
- package/docs/reference/functions/conj.md +0 -44
- package/docs/reference/functions/cos.md +0 -45
- package/docs/reference/functions/cosh.md +0 -40
- package/docs/reference/functions/cot.md +0 -41
- package/docs/reference/functions/coth.md +0 -43
- package/docs/reference/functions/createUnit.md +0 -52
- package/docs/reference/functions/cross.md +0 -52
- package/docs/reference/functions/csc.md +0 -41
- package/docs/reference/functions/csch.md +0 -43
- package/docs/reference/functions/ctranspose.md +0 -44
- package/docs/reference/functions/cube.md +0 -45
- package/docs/reference/functions/deepEqual.md +0 -47
- package/docs/reference/functions/derivative.md +0 -55
- package/docs/reference/functions/det.md +0 -43
- package/docs/reference/functions/diag.md +0 -55
- package/docs/reference/functions/diff.md +0 -64
- package/docs/reference/functions/distance.md +0 -74
- package/docs/reference/functions/divide.md +0 -49
- package/docs/reference/functions/dot.md +0 -42
- package/docs/reference/functions/dotDivide.md +0 -46
- package/docs/reference/functions/dotMultiply.md +0 -46
- package/docs/reference/functions/dotPow.md +0 -43
- package/docs/reference/functions/eigs.md +0 -48
- package/docs/reference/functions/equal.md +0 -69
- package/docs/reference/functions/equalText.md +0 -47
- package/docs/reference/functions/erf.md +0 -43
- package/docs/reference/functions/evaluate.md +0 -50
- package/docs/reference/functions/exp.md +0 -48
- package/docs/reference/functions/expm.md +0 -43
- package/docs/reference/functions/expm1.md +0 -48
- package/docs/reference/functions/factorial.md +0 -43
- package/docs/reference/functions/filter.md +0 -44
- package/docs/reference/functions/fix.md +0 -55
- package/docs/reference/functions/flatten.md +0 -39
- package/docs/reference/functions/floor.md +0 -56
- package/docs/reference/functions/forEach.md +0 -35
- package/docs/reference/functions/format.md +0 -104
- package/docs/reference/functions/fraction.md +0 -45
- package/docs/reference/functions/gamma.md +0 -43
- package/docs/reference/functions/gcd.md +0 -44
- package/docs/reference/functions/getMatrixDataType.md +0 -53
- package/docs/reference/functions/hasNumericValue.md +0 -49
- package/docs/reference/functions/help.md +0 -36
- package/docs/reference/functions/hex.md +0 -38
- package/docs/reference/functions/hypot.md +0 -45
- package/docs/reference/functions/identity.md +0 -51
- package/docs/reference/functions/im.md +0 -47
- package/docs/reference/functions/import.md +0 -68
- package/docs/reference/functions/index.md +0 -55
- package/docs/reference/functions/intersect.md +0 -44
- package/docs/reference/functions/inv.md +0 -39
- package/docs/reference/functions/isInteger.md +0 -49
- package/docs/reference/functions/isNaN.md +0 -50
- package/docs/reference/functions/isNegative.md +0 -49
- package/docs/reference/functions/isNumeric.md +0 -49
- package/docs/reference/functions/isPositive.md +0 -51
- package/docs/reference/functions/isPrime.md +0 -48
- package/docs/reference/functions/isZero.md +0 -53
- package/docs/reference/functions/kldivergence.md +0 -35
- package/docs/reference/functions/kron.md +0 -47
- package/docs/reference/functions/larger.md +0 -54
- package/docs/reference/functions/largerEq.md +0 -50
- package/docs/reference/functions/lcm.md +0 -48
- package/docs/reference/functions/leftShift.md +0 -46
- package/docs/reference/functions/log.md +0 -51
- package/docs/reference/functions/log10.md +0 -44
- package/docs/reference/functions/log1p.md +0 -48
- package/docs/reference/functions/log2.md +0 -44
- package/docs/reference/functions/lsolve.md +0 -45
- package/docs/reference/functions/lsolveAll.md +0 -45
- package/docs/reference/functions/lup.md +0 -46
- package/docs/reference/functions/lusolve.md +0 -53
- package/docs/reference/functions/mad.md +0 -44
- package/docs/reference/functions/map.md +0 -42
- package/docs/reference/functions/matrix.md +0 -56
- package/docs/reference/functions/max.md +0 -55
- package/docs/reference/functions/mean.md +0 -51
- package/docs/reference/functions/median.md +0 -51
- package/docs/reference/functions/min.md +0 -55
- package/docs/reference/functions/mod.md +0 -53
- package/docs/reference/functions/mode.md +0 -44
- package/docs/reference/functions/multinomial.md +0 -40
- package/docs/reference/functions/multiply.md +0 -54
- package/docs/reference/functions/norm.md +0 -53
- package/docs/reference/functions/not.md +0 -44
- package/docs/reference/functions/nthRoot.md +0 -47
- package/docs/reference/functions/nthRoots.md +0 -52
- package/docs/reference/functions/number.md +0 -49
- package/docs/reference/functions/numeric.md +0 -46
- package/docs/reference/functions/oct.md +0 -38
- package/docs/reference/functions/ones.md +0 -53
- package/docs/reference/functions/or.md +0 -47
- package/docs/reference/functions/parse.md +0 -56
- package/docs/reference/functions/parser.md +0 -64
- package/docs/reference/functions/partitionSelect.md +0 -47
- package/docs/reference/functions/permutations.md +0 -45
- package/docs/reference/functions/pickRandom.md +0 -53
- package/docs/reference/functions/pow.md +0 -53
- package/docs/reference/functions/print.md +0 -58
- package/docs/reference/functions/prod.md +0 -49
- package/docs/reference/functions/qr.md +0 -59
- package/docs/reference/functions/quantileSeq.md +0 -56
- package/docs/reference/functions/random.md +0 -48
- package/docs/reference/functions/randomInt.md +0 -47
- package/docs/reference/functions/range.md +0 -64
- package/docs/reference/functions/rationalize.md +0 -62
- package/docs/reference/functions/re.md +0 -47
- package/docs/reference/functions/reshape.md +0 -50
- package/docs/reference/functions/resize.md +0 -45
- package/docs/reference/functions/rightArithShift.md +0 -46
- package/docs/reference/functions/rightLogShift.md +0 -46
- package/docs/reference/functions/rotate.md +0 -47
- package/docs/reference/functions/rotationMatrix.md +0 -51
- package/docs/reference/functions/round.md +0 -55
- package/docs/reference/functions/row.md +0 -39
- package/docs/reference/functions/sec.md +0 -41
- package/docs/reference/functions/sech.md +0 -43
- package/docs/reference/functions/setCartesian.md +0 -41
- package/docs/reference/functions/setDifference.md +0 -41
- package/docs/reference/functions/setDistinct.md +0 -37
- package/docs/reference/functions/setIntersect.md +0 -40
- package/docs/reference/functions/setIsSubset.md +0 -41
- package/docs/reference/functions/setMultiplicity.md +0 -40
- package/docs/reference/functions/setPowerset.md +0 -37
- package/docs/reference/functions/setSize.md +0 -41
- package/docs/reference/functions/setSymDifference.md +0 -41
- package/docs/reference/functions/setUnion.md +0 -40
- package/docs/reference/functions/sign.md +0 -46
- package/docs/reference/functions/simplify.md +0 -90
- package/docs/reference/functions/sin.md +0 -45
- package/docs/reference/functions/sinh.md +0 -40
- package/docs/reference/functions/size.md +0 -43
- package/docs/reference/functions/slu.md +0 -51
- package/docs/reference/functions/smaller.md +0 -54
- package/docs/reference/functions/smallerEq.md +0 -50
- package/docs/reference/functions/sort.md +0 -50
- package/docs/reference/functions/sparse.md +0 -51
- package/docs/reference/functions/splitUnit.md +0 -37
- package/docs/reference/functions/sqrt.md +0 -44
- package/docs/reference/functions/sqrtm.md +0 -40
- package/docs/reference/functions/square.md +0 -45
- package/docs/reference/functions/squeeze.md +0 -47
- package/docs/reference/functions/std.md +0 -70
- package/docs/reference/functions/stirlingS2.md +0 -42
- package/docs/reference/functions/string.md +0 -49
- package/docs/reference/functions/subset.md +0 -51
- package/docs/reference/functions/subtract.md +0 -48
- package/docs/reference/functions/sum.md +0 -47
- package/docs/reference/functions/tan.md +0 -43
- package/docs/reference/functions/tanh.md +0 -44
- package/docs/reference/functions/to.md +0 -41
- package/docs/reference/functions/trace.md +0 -44
- package/docs/reference/functions/transpose.md +0 -43
- package/docs/reference/functions/typeOf.md +0 -75
- package/docs/reference/functions/typed.md +0 -56
- package/docs/reference/functions/unaryMinus.md +0 -43
- package/docs/reference/functions/unaryPlus.md +0 -42
- package/docs/reference/functions/unequal.md +0 -68
- package/docs/reference/functions/unit.md +0 -48
- package/docs/reference/functions/usolve.md +0 -45
- package/docs/reference/functions/usolveAll.md +0 -45
- package/docs/reference/functions/variance.md +0 -72
- package/docs/reference/functions/xgcd.md +0 -41
- package/docs/reference/functions/xor.md +0 -47
- package/docs/reference/functions/zeros.md +0 -51
- package/docs/reference/functions.md +0 -285
- package/docs/reference/index.md +0 -5
- package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
- package/examples/advanced/custom_argument_parsing.js +0 -98
- package/examples/advanced/custom_datatype.js +0 -53
- package/examples/advanced/custom_evaluate_using_factories.js +0 -19
- package/examples/advanced/custom_evaluate_using_import.js +0 -18
- package/examples/advanced/custom_loading.js +0 -33
- package/examples/advanced/custom_relational_functions.js +0 -62
- package/examples/advanced/expression_trees.js +0 -55
- package/examples/advanced/function_transform.js +0 -50
- package/examples/advanced/more_secure_eval.js +0 -36
- package/examples/advanced/use_bigint.js +0 -43
- package/examples/advanced/web_server/math_worker.js +0 -24
- package/examples/advanced/web_server/server.js +0 -80
- package/examples/algebra.js +0 -34
- package/examples/basic_usage.js +0 -49
- package/examples/bignumbers.js +0 -52
- package/examples/browser/angle_configuration.html +0 -134
- package/examples/browser/basic_usage.html +0 -39
- package/examples/browser/currency_conversion.html +0 -125
- package/examples/browser/custom_separators.html +0 -81
- package/examples/browser/plot.html +0 -78
- package/examples/browser/pretty_printing_with_mathjax.html +0 -122
- package/examples/browser/printing_html.html +0 -170
- package/examples/browser/requirejs_loading.html +0 -20
- package/examples/browser/rocket_trajectory_optimization.html +0 -152
- package/examples/browser/webworkers/webworkers.html +0 -80
- package/examples/browser/webworkers/worker.js +0 -28
- package/examples/chaining.js +0 -56
- package/examples/complex_numbers.js +0 -67
- package/examples/expressions.js +0 -188
- package/examples/fractions.js +0 -74
- package/examples/import.js +0 -95
- package/examples/matrices.js +0 -101
- package/examples/objects.js +0 -35
- package/examples/package.json +0 -3
- package/examples/serialization.js +0 -16
- package/examples/sparse_matrices.js +0 -19
- package/examples/units.js +0 -108
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -70
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +0 -332
- package/lib/cjs/function/algebra/simplify/simplifyCore.js +0 -199
- package/lib/cjs/function/string/baseUtils.js +0 -45
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/function/algebra/simplify/resolve.js +0 -62
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +0 -316
- package/lib/esm/function/algebra/simplify/simplifyCore.js +0 -191
- package/lib/esm/function/string/baseUtils.js +0 -38
- package/lib/esm/utils/polyfills.js +0 -12
@@ -1,24 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
function ownKeys(
|
4
|
-
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
6
|
-
|
7
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
8
|
-
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
9
5
|
import { isComplex, isUnit, typeOf } from '../../utils/is.js';
|
10
6
|
import { factory } from '../../utils/factory.js';
|
7
|
+
import { memoize } from '../../utils/function.js';
|
11
8
|
import { endsWith } from '../../utils/string.js';
|
12
9
|
import { clone, hasOwnProperty } from '../../utils/object.js';
|
13
10
|
import { createBigNumberPi as createPi } from '../../utils/bignumber/constants.js';
|
14
11
|
var name = 'Unit';
|
15
|
-
var dependencies = ['?on', 'config', 'addScalar', '
|
16
|
-
export var createUnitClass = /* #__PURE__ */factory(name, dependencies,
|
12
|
+
var dependencies = ['?on', 'config', 'addScalar', 'subtractScalar', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
|
13
|
+
export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
17
14
|
var {
|
18
15
|
on,
|
19
16
|
config,
|
20
17
|
addScalar,
|
21
|
-
|
18
|
+
subtractScalar,
|
22
19
|
multiplyScalar,
|
23
20
|
divideScalar,
|
24
21
|
pow,
|
@@ -28,17 +25,17 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
28
25
|
equal,
|
29
26
|
isNumeric,
|
30
27
|
format,
|
31
|
-
number,
|
28
|
+
number: _number,
|
32
29
|
Complex,
|
33
30
|
BigNumber: _BigNumber,
|
34
31
|
Fraction: _Fraction
|
35
32
|
} = _ref;
|
36
|
-
var toNumber =
|
33
|
+
var toNumber = _number;
|
37
34
|
/**
|
38
35
|
* A unit can be constructed in the following ways:
|
39
36
|
*
|
40
|
-
* const a = new Unit(value,
|
41
|
-
* const b = new Unit(null,
|
37
|
+
* const a = new Unit(value, valuelessUnit)
|
38
|
+
* const b = new Unit(null, valuelessUnit)
|
42
39
|
* const c = Unit.parse(str)
|
43
40
|
*
|
44
41
|
* Example usage:
|
@@ -51,105 +48,91 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
51
48
|
* @class Unit
|
52
49
|
* @constructor Unit
|
53
50
|
* @param {number | BigNumber | Fraction | Complex | boolean} [value] A value like 5.2
|
54
|
-
* @param {string}
|
51
|
+
* @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like "cm"
|
55
52
|
*/
|
56
|
-
|
57
|
-
function Unit(value, name) {
|
53
|
+
function Unit(value, valuelessUnit) {
|
58
54
|
if (!(this instanceof Unit)) {
|
59
55
|
throw new Error('Constructor must be called with the new operator');
|
60
56
|
}
|
61
|
-
|
62
57
|
if (!(value === null || value === undefined || isNumeric(value) || isComplex(value))) {
|
63
58
|
throw new TypeError('First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined');
|
64
59
|
}
|
65
|
-
|
66
|
-
if (name !== undefined && (typeof name !== 'string' || name === '')) {
|
67
|
-
throw new TypeError('Second parameter in Unit constructor must be a string');
|
68
|
-
}
|
69
|
-
|
70
|
-
if (name !== undefined) {
|
71
|
-
var u = Unit.parse(name);
|
72
|
-
this.units = u.units;
|
73
|
-
this.dimensions = u.dimensions;
|
74
|
-
} else {
|
75
|
-
this.units = [{
|
76
|
-
unit: UNIT_NONE,
|
77
|
-
prefix: PREFIXES.NONE,
|
78
|
-
// link to a list with supported prefixes
|
79
|
-
power: 0
|
80
|
-
}];
|
81
|
-
this.dimensions = [];
|
82
|
-
|
83
|
-
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
84
|
-
this.dimensions[i] = 0;
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
this.value = value !== undefined && value !== null ? this._normalize(value) : null;
|
89
60
|
this.fixPrefix = false; // if true, function format will not search for the
|
90
61
|
// best prefix but leave it as initially provided.
|
91
62
|
// fixPrefix is set true by the method Unit.to
|
92
|
-
// The justification behind this is that if the constructor is explicitly called,
|
93
|
-
// the caller wishes the units to be returned exactly as he supplied.
|
94
63
|
|
64
|
+
// The justification behind this is that if the constructor is explicitly called,
|
65
|
+
// the caller wishes the units to be returned exactly as supplied.
|
95
66
|
this.skipAutomaticSimplification = true;
|
67
|
+
if (valuelessUnit === undefined) {
|
68
|
+
this.units = [];
|
69
|
+
this.dimensions = BASE_DIMENSIONS.map(x => 0);
|
70
|
+
} else if (typeof valuelessUnit === 'string') {
|
71
|
+
var u = Unit.parse(valuelessUnit);
|
72
|
+
this.units = u.units;
|
73
|
+
this.dimensions = u.dimensions;
|
74
|
+
} else if (isUnit(valuelessUnit) && valuelessUnit.value === null) {
|
75
|
+
// clone from valuelessUnit
|
76
|
+
this.fixPrefix = valuelessUnit.fixPrefix;
|
77
|
+
this.skipAutomaticSimplification = valuelessUnit.skipAutomaticSimplification;
|
78
|
+
this.dimensions = valuelessUnit.dimensions.slice(0);
|
79
|
+
this.units = valuelessUnit.units.map(u => _extends({}, u));
|
80
|
+
} else {
|
81
|
+
throw new TypeError('Second parameter in Unit constructor must be a string or valueless Unit');
|
82
|
+
}
|
83
|
+
this.value = this._normalize(value);
|
96
84
|
}
|
85
|
+
|
97
86
|
/**
|
98
87
|
* Attach type information
|
99
88
|
*/
|
100
|
-
|
101
|
-
|
89
|
+
Object.defineProperty(Unit, 'name', {
|
90
|
+
value: 'Unit'
|
91
|
+
});
|
92
|
+
Unit.prototype.constructor = Unit;
|
102
93
|
Unit.prototype.type = 'Unit';
|
103
|
-
Unit.prototype.isUnit = true;
|
94
|
+
Unit.prototype.isUnit = true;
|
104
95
|
|
96
|
+
// private variables and functions for the Unit parser
|
105
97
|
var text, index, c;
|
106
|
-
|
107
98
|
function skipWhitespace() {
|
108
99
|
while (c === ' ' || c === '\t') {
|
109
100
|
next();
|
110
101
|
}
|
111
102
|
}
|
112
|
-
|
113
103
|
function isDigitDot(c) {
|
114
104
|
return c >= '0' && c <= '9' || c === '.';
|
115
105
|
}
|
116
|
-
|
117
106
|
function isDigit(c) {
|
118
107
|
return c >= '0' && c <= '9';
|
119
108
|
}
|
120
|
-
|
121
109
|
function next() {
|
122
110
|
index++;
|
123
111
|
c = text.charAt(index);
|
124
112
|
}
|
125
|
-
|
126
113
|
function revert(oldIndex) {
|
127
114
|
index = oldIndex;
|
128
115
|
c = text.charAt(index);
|
129
116
|
}
|
130
|
-
|
131
117
|
function parseNumber() {
|
132
118
|
var number = '';
|
133
119
|
var oldIndex = index;
|
134
|
-
|
135
120
|
if (c === '+') {
|
136
121
|
next();
|
137
122
|
} else if (c === '-') {
|
138
123
|
number += c;
|
139
124
|
next();
|
140
125
|
}
|
141
|
-
|
142
126
|
if (!isDigitDot(c)) {
|
143
127
|
// a + or - must be followed by a digit
|
144
128
|
revert(oldIndex);
|
145
129
|
return null;
|
146
|
-
}
|
147
|
-
|
130
|
+
}
|
148
131
|
|
132
|
+
// get number, can have a single dot
|
149
133
|
if (c === '.') {
|
150
134
|
number += c;
|
151
135
|
next();
|
152
|
-
|
153
136
|
if (!isDigit(c)) {
|
154
137
|
// this is no legal number, it is just a dot
|
155
138
|
revert(oldIndex);
|
@@ -160,68 +143,62 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
160
143
|
number += c;
|
161
144
|
next();
|
162
145
|
}
|
163
|
-
|
164
146
|
if (c === '.') {
|
165
147
|
number += c;
|
166
148
|
next();
|
167
149
|
}
|
168
150
|
}
|
169
|
-
|
170
151
|
while (isDigit(c)) {
|
171
152
|
number += c;
|
172
153
|
next();
|
173
|
-
}
|
174
|
-
|
154
|
+
}
|
175
155
|
|
156
|
+
// check for exponential notation like "2.3e-4" or "1.23e50"
|
176
157
|
if (c === 'E' || c === 'e') {
|
177
158
|
// The grammar branches here. This could either be part of an exponent or the start of a unit that begins with the letter e, such as "4exabytes"
|
159
|
+
|
178
160
|
var tentativeNumber = '';
|
179
161
|
var tentativeIndex = index;
|
180
162
|
tentativeNumber += c;
|
181
163
|
next();
|
182
|
-
|
183
164
|
if (c === '+' || c === '-') {
|
184
165
|
tentativeNumber += c;
|
185
166
|
next();
|
186
|
-
}
|
187
|
-
|
167
|
+
}
|
188
168
|
|
169
|
+
// Scientific notation MUST be followed by an exponent (otherwise we assume it is not scientific notation)
|
189
170
|
if (!isDigit(c)) {
|
190
171
|
// The e or E must belong to something else, so return the number without the e or E.
|
191
172
|
revert(tentativeIndex);
|
192
173
|
return number;
|
193
|
-
}
|
194
|
-
|
174
|
+
}
|
195
175
|
|
176
|
+
// We can now safely say that this is scientific notation.
|
196
177
|
number = number + tentativeNumber;
|
197
|
-
|
198
178
|
while (isDigit(c)) {
|
199
179
|
number += c;
|
200
180
|
next();
|
201
181
|
}
|
202
182
|
}
|
203
|
-
|
204
183
|
return number;
|
205
184
|
}
|
206
|
-
|
207
185
|
function parseUnit() {
|
208
|
-
var unitName = '';
|
186
|
+
var unitName = '';
|
209
187
|
|
188
|
+
// Alphanumeric characters only; matches [a-zA-Z0-9]
|
210
189
|
while (isDigit(c) || Unit.isValidAlpha(c)) {
|
211
190
|
unitName += c;
|
212
191
|
next();
|
213
|
-
}
|
214
|
-
|
192
|
+
}
|
215
193
|
|
194
|
+
// Must begin with [a-zA-Z]
|
216
195
|
var firstC = unitName.charAt(0);
|
217
|
-
|
218
196
|
if (Unit.isValidAlpha(firstC)) {
|
219
197
|
return unitName;
|
220
198
|
} else {
|
221
199
|
return null;
|
222
200
|
}
|
223
201
|
}
|
224
|
-
|
225
202
|
function parseCharacter(toFind) {
|
226
203
|
if (c === toFind) {
|
227
204
|
next();
|
@@ -230,6 +207,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
230
207
|
return null;
|
231
208
|
}
|
232
209
|
}
|
210
|
+
|
233
211
|
/**
|
234
212
|
* Parse a string into a unit. The value of the unit is parsed as number,
|
235
213
|
* BigNumber, or Fraction depending on the math.js config setting `number`.
|
@@ -240,24 +218,23 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
240
218
|
* @param {string} str A string like "5.2 inch", "4e2 cm/s^2"
|
241
219
|
* @return {Unit} unit
|
242
220
|
*/
|
243
|
-
|
244
|
-
|
245
221
|
Unit.parse = function (str, options) {
|
246
222
|
options = options || {};
|
247
223
|
text = str;
|
248
224
|
index = -1;
|
249
225
|
c = '';
|
250
|
-
|
251
226
|
if (typeof text !== 'string') {
|
252
227
|
throw new TypeError('Invalid argument in Unit.parse, string expected');
|
253
228
|
}
|
254
|
-
|
255
229
|
var unit = new Unit();
|
256
230
|
unit.units = [];
|
257
231
|
var powerMultiplierCurrent = 1;
|
258
|
-
var expectingUnit = false;
|
232
|
+
var expectingUnit = false;
|
233
|
+
|
234
|
+
// A unit should follow this pattern:
|
259
235
|
// [number] ...[ [*/] unit[^number] ]
|
260
236
|
// unit[^number] ... [ [*/] unit[^number] ]
|
237
|
+
|
261
238
|
// Rules:
|
262
239
|
// number is any floating point number.
|
263
240
|
// unit is any alphanumeric string beginning with an alpha. Units with names like e3 should be avoided because they look like the exponent of a floating point number!
|
@@ -269,11 +246,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
269
246
|
// 4erg
|
270
247
|
|
271
248
|
next();
|
272
|
-
skipWhitespace();
|
249
|
+
skipWhitespace();
|
273
250
|
|
251
|
+
// Optional number at the start of the string
|
274
252
|
var valueStr = parseNumber();
|
275
253
|
var value = null;
|
276
|
-
|
277
254
|
if (valueStr) {
|
278
255
|
if (config.number === 'BigNumber') {
|
279
256
|
value = new _BigNumber(valueStr);
|
@@ -288,10 +265,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
288
265
|
// number
|
289
266
|
value = parseFloat(valueStr);
|
290
267
|
}
|
291
|
-
|
292
268
|
skipWhitespace(); // Whitespace is not required here
|
293
|
-
// handle multiplication or division right after the value, like '1/s'
|
294
269
|
|
270
|
+
// handle multiplication or division right after the value, like '1/s'
|
295
271
|
if (parseCharacter('*')) {
|
296
272
|
powerMultiplierCurrent = 1;
|
297
273
|
expectingUnit = true;
|
@@ -299,93 +275,83 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
299
275
|
powerMultiplierCurrent = -1;
|
300
276
|
expectingUnit = true;
|
301
277
|
}
|
302
|
-
}
|
303
|
-
|
278
|
+
}
|
304
279
|
|
305
|
-
|
280
|
+
// Stack to keep track of powerMultipliers applied to each parentheses group
|
281
|
+
var powerMultiplierStack = [];
|
306
282
|
|
283
|
+
// Running product of all elements in powerMultiplierStack
|
307
284
|
var powerMultiplierStackProduct = 1;
|
308
|
-
|
309
285
|
while (true) {
|
310
|
-
skipWhitespace();
|
311
|
-
// A '(' will always appear directly before a unit.
|
286
|
+
skipWhitespace();
|
312
287
|
|
288
|
+
// Check for and consume opening parentheses, pushing powerMultiplierCurrent to the stack
|
289
|
+
// A '(' will always appear directly before a unit.
|
313
290
|
while (c === '(') {
|
314
291
|
powerMultiplierStack.push(powerMultiplierCurrent);
|
315
292
|
powerMultiplierStackProduct *= powerMultiplierCurrent;
|
316
293
|
powerMultiplierCurrent = 1;
|
317
294
|
next();
|
318
295
|
skipWhitespace();
|
319
|
-
}
|
320
|
-
|
296
|
+
}
|
321
297
|
|
298
|
+
// Is there something here?
|
322
299
|
var uStr = void 0;
|
323
|
-
|
324
300
|
if (c) {
|
325
301
|
var oldC = c;
|
326
302
|
uStr = parseUnit();
|
327
|
-
|
328
303
|
if (uStr === null) {
|
329
304
|
throw new SyntaxError('Unexpected "' + oldC + '" in "' + text + '" at index ' + index.toString());
|
330
305
|
}
|
331
306
|
} else {
|
332
307
|
// End of input.
|
333
308
|
break;
|
334
|
-
}
|
335
|
-
|
309
|
+
}
|
336
310
|
|
311
|
+
// Verify the unit exists and get the prefix (if any)
|
337
312
|
var res = _findUnit(uStr);
|
338
|
-
|
339
313
|
if (res === null) {
|
340
314
|
// Unit not found.
|
341
315
|
throw new SyntaxError('Unit "' + uStr + '" not found.');
|
342
316
|
}
|
343
|
-
|
344
|
-
|
345
|
-
|
317
|
+
var power = powerMultiplierCurrent * powerMultiplierStackProduct;
|
318
|
+
// Is there a "^ number"?
|
346
319
|
skipWhitespace();
|
347
|
-
|
348
320
|
if (parseCharacter('^')) {
|
349
321
|
skipWhitespace();
|
350
322
|
var p = parseNumber();
|
351
|
-
|
352
323
|
if (p === null) {
|
353
324
|
// No valid number found for the power!
|
354
325
|
throw new SyntaxError('In "' + str + '", "^" must be followed by a floating-point number');
|
355
326
|
}
|
356
|
-
|
357
327
|
power *= p;
|
358
|
-
}
|
359
|
-
|
328
|
+
}
|
360
329
|
|
330
|
+
// Add the unit to the list
|
361
331
|
unit.units.push({
|
362
332
|
unit: res.unit,
|
363
333
|
prefix: res.prefix,
|
364
|
-
power
|
334
|
+
power
|
365
335
|
});
|
366
|
-
|
367
336
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
368
337
|
unit.dimensions[i] += (res.unit.dimensions[i] || 0) * power;
|
369
|
-
}
|
370
|
-
// A ')' will always follow a unit.
|
371
|
-
|
338
|
+
}
|
372
339
|
|
340
|
+
// Check for and consume closing parentheses, popping from the stack.
|
341
|
+
// A ')' will always follow a unit.
|
373
342
|
skipWhitespace();
|
374
|
-
|
375
343
|
while (c === ')') {
|
376
344
|
if (powerMultiplierStack.length === 0) {
|
377
345
|
throw new SyntaxError('Unmatched ")" in "' + text + '" at index ' + index.toString());
|
378
346
|
}
|
379
|
-
|
380
347
|
powerMultiplierStackProduct /= powerMultiplierStack.pop();
|
381
348
|
next();
|
382
349
|
skipWhitespace();
|
383
|
-
}
|
384
|
-
// Is there a forward slash? If so, negate powerMultiplierCurrent. The next unit or paren group is in the denominator.
|
385
|
-
|
350
|
+
}
|
386
351
|
|
352
|
+
// "*" and "/" should mean we are expecting something to come next.
|
353
|
+
// Is there a forward slash? If so, negate powerMultiplierCurrent. The next unit or paren group is in the denominator.
|
387
354
|
expectingUnit = false;
|
388
|
-
|
389
355
|
if (parseCharacter('*')) {
|
390
356
|
// explicit multiplication
|
391
357
|
powerMultiplierCurrent = 1;
|
@@ -397,9 +363,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
397
363
|
} else {
|
398
364
|
// implicit multiplication
|
399
365
|
powerMultiplierCurrent = 1;
|
400
|
-
}
|
401
|
-
|
366
|
+
}
|
402
367
|
|
368
|
+
// Replace the unit into the auto unit system
|
403
369
|
if (res.unit.base) {
|
404
370
|
var baseDim = res.unit.base.key;
|
405
371
|
UNIT_SYSTEMS.auto[baseDim] = {
|
@@ -407,40 +373,37 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
407
373
|
prefix: res.prefix
|
408
374
|
};
|
409
375
|
}
|
410
|
-
}
|
411
|
-
|
376
|
+
}
|
412
377
|
|
378
|
+
// Has the string been entirely consumed?
|
413
379
|
skipWhitespace();
|
414
|
-
|
415
380
|
if (c) {
|
416
381
|
throw new SyntaxError('Could not parse: "' + str + '"');
|
417
|
-
}
|
418
|
-
|
382
|
+
}
|
419
383
|
|
384
|
+
// Is there a trailing slash?
|
420
385
|
if (expectingUnit) {
|
421
386
|
throw new SyntaxError('Trailing characters: "' + str + '"');
|
422
|
-
}
|
423
|
-
|
387
|
+
}
|
424
388
|
|
389
|
+
// Is the parentheses stack empty?
|
425
390
|
if (powerMultiplierStack.length !== 0) {
|
426
391
|
throw new SyntaxError('Unmatched "(" in "' + text + '"');
|
427
|
-
}
|
428
|
-
|
392
|
+
}
|
429
393
|
|
394
|
+
// Are there any units at all?
|
430
395
|
if (unit.units.length === 0 && !options.allowNoUnits) {
|
431
396
|
throw new SyntaxError('"' + str + '" contains no units');
|
432
397
|
}
|
433
|
-
|
434
398
|
unit.value = value !== undefined ? unit._normalize(value) : null;
|
435
399
|
return unit;
|
436
400
|
};
|
401
|
+
|
437
402
|
/**
|
438
403
|
* create a copy of this unit
|
439
404
|
* @memberof Unit
|
440
405
|
* @return {Unit} Returns a cloned version of the unit
|
441
406
|
*/
|
442
|
-
|
443
|
-
|
444
407
|
Unit.prototype.clone = function () {
|
445
408
|
var unit = new Unit();
|
446
409
|
unit.fixPrefix = this.fixPrefix;
|
@@ -448,33 +411,39 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
448
411
|
unit.value = clone(this.value);
|
449
412
|
unit.dimensions = this.dimensions.slice(0);
|
450
413
|
unit.units = [];
|
451
|
-
|
452
414
|
for (var i = 0; i < this.units.length; i++) {
|
453
415
|
unit.units[i] = {};
|
454
|
-
|
455
416
|
for (var p in this.units[i]) {
|
456
417
|
if (hasOwnProperty(this.units[i], p)) {
|
457
418
|
unit.units[i][p] = this.units[i][p];
|
458
419
|
}
|
459
420
|
}
|
460
421
|
}
|
461
|
-
|
462
422
|
return unit;
|
463
423
|
};
|
424
|
+
|
425
|
+
/**
|
426
|
+
* Return the type of the value of this unit
|
427
|
+
*
|
428
|
+
* @memberof Unit
|
429
|
+
* @ return {string} type of the value of the unit
|
430
|
+
*/
|
431
|
+
Unit.prototype.valueType = function () {
|
432
|
+
return typeOf(this.value);
|
433
|
+
};
|
434
|
+
|
464
435
|
/**
|
465
436
|
* Return whether the unit is derived (such as m/s, or cm^2, but not N)
|
466
437
|
* @memberof Unit
|
467
438
|
* @return {boolean} True if the unit is derived
|
468
439
|
*/
|
469
|
-
|
470
|
-
|
471
440
|
Unit.prototype._isDerived = function () {
|
472
441
|
if (this.units.length === 0) {
|
473
442
|
return false;
|
474
443
|
}
|
475
|
-
|
476
444
|
return this.units.length > 1 || Math.abs(this.units[0].power - 1.0) > 1e-15;
|
477
445
|
};
|
446
|
+
|
478
447
|
/**
|
479
448
|
* Normalize a value, based on its currently set unit(s)
|
480
449
|
* @memberof Unit
|
@@ -482,38 +451,22 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
482
451
|
* @return {number | BigNumber | Fraction | boolean} normalized value
|
483
452
|
* @private
|
484
453
|
*/
|
485
|
-
|
486
|
-
|
487
454
|
Unit.prototype._normalize = function (value) {
|
488
|
-
var unitValue, unitOffset, unitPower, unitPrefixValue;
|
489
|
-
var convert;
|
490
|
-
|
491
455
|
if (value === null || value === undefined || this.units.length === 0) {
|
492
456
|
return value;
|
493
|
-
}
|
494
|
-
|
495
|
-
|
496
|
-
var res = value;
|
497
|
-
convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
498
|
-
|
499
|
-
for (var i = 0; i < this.units.length; i++) {
|
500
|
-
unitValue = convert(this.units[i].unit.value);
|
501
|
-
unitPrefixValue = convert(this.units[i].prefix.value);
|
502
|
-
unitPower = convert(this.units[i].power);
|
503
|
-
res = multiplyScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
504
|
-
}
|
505
|
-
|
506
|
-
return res;
|
507
|
-
} else {
|
508
|
-
// This is a single unit of power 1, like kg or degC
|
509
|
-
convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
457
|
+
}
|
458
|
+
var res = value;
|
459
|
+
var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
510
460
|
|
511
|
-
|
512
|
-
|
513
|
-
unitPrefixValue = convert(this.units[
|
514
|
-
|
461
|
+
for (var i = 0; i < this.units.length; i++) {
|
462
|
+
var unitValue = convert(this.units[i].unit.value);
|
463
|
+
var unitPrefixValue = convert(this.units[i].prefix.value);
|
464
|
+
var unitPower = convert(this.units[i].power);
|
465
|
+
res = multiplyScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
515
466
|
}
|
467
|
+
return res;
|
516
468
|
};
|
469
|
+
|
517
470
|
/**
|
518
471
|
* Denormalize a value, based on its currently set unit(s)
|
519
472
|
* @memberof Unit
|
@@ -522,44 +475,22 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
522
475
|
* @return {number} denormalized value
|
523
476
|
* @private
|
524
477
|
*/
|
525
|
-
|
526
|
-
|
527
478
|
Unit.prototype._denormalize = function (value, prefixValue) {
|
528
|
-
var unitValue, unitOffset, unitPower, unitPrefixValue;
|
529
|
-
var convert;
|
530
|
-
|
531
479
|
if (value === null || value === undefined || this.units.length === 0) {
|
532
480
|
return value;
|
533
|
-
}
|
534
|
-
|
535
|
-
|
536
|
-
// Also, prefixValue is ignored--but we will still use the prefix value stored in each unit, since kg is usually preferable to g unless the user decides otherwise.
|
537
|
-
var res = value;
|
538
|
-
convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
539
|
-
|
540
|
-
for (var i = 0; i < this.units.length; i++) {
|
541
|
-
unitValue = convert(this.units[i].unit.value);
|
542
|
-
unitPrefixValue = convert(this.units[i].prefix.value);
|
543
|
-
unitPower = convert(this.units[i].power);
|
544
|
-
res = divideScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
545
|
-
}
|
546
|
-
|
547
|
-
return res;
|
548
|
-
} else {
|
549
|
-
// This is a single unit of power 1, like kg or degC
|
550
|
-
convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
551
|
-
|
552
|
-
unitValue = convert(this.units[0].unit.value);
|
553
|
-
unitPrefixValue = convert(this.units[0].prefix.value);
|
554
|
-
unitOffset = convert(this.units[0].unit.offset);
|
481
|
+
}
|
482
|
+
var res = value;
|
483
|
+
var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
555
484
|
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
485
|
+
for (var i = 0; i < this.units.length; i++) {
|
486
|
+
var unitValue = convert(this.units[i].unit.value);
|
487
|
+
var unitPrefixValue = convert(this.units[i].prefix.value);
|
488
|
+
var unitPower = convert(this.units[i].power);
|
489
|
+
res = divideScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
561
490
|
}
|
491
|
+
return res;
|
562
492
|
};
|
493
|
+
|
563
494
|
/**
|
564
495
|
* Find a unit from a string
|
565
496
|
* @memberof Unit
|
@@ -568,9 +499,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
568
499
|
* prefix is returned. Else, null is returned.
|
569
500
|
* @private
|
570
501
|
*/
|
571
|
-
|
572
|
-
|
573
|
-
function _findUnit(str) {
|
502
|
+
var _findUnit = memoize(str => {
|
574
503
|
// First, match units names exactly. For example, a user could define 'mm' as 10^-4 m, which is silly, but then we would want 'mm' to match the user-defined unit.
|
575
504
|
if (hasOwnProperty(UNITS, str)) {
|
576
505
|
var unit = UNITS[str];
|
@@ -580,16 +509,13 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
580
509
|
prefix
|
581
510
|
};
|
582
511
|
}
|
583
|
-
|
584
512
|
for (var _name in UNITS) {
|
585
513
|
if (hasOwnProperty(UNITS, _name)) {
|
586
514
|
if (endsWith(str, _name)) {
|
587
515
|
var _unit = UNITS[_name];
|
588
516
|
var prefixLen = str.length - _name.length;
|
589
517
|
var prefixName = str.substring(0, prefixLen);
|
590
|
-
|
591
518
|
var _prefix = hasOwnProperty(_unit.prefixes, prefixName) ? _unit.prefixes[prefixName] : undefined;
|
592
|
-
|
593
519
|
if (_prefix !== undefined) {
|
594
520
|
// store unit, prefix, and value
|
595
521
|
return {
|
@@ -600,9 +526,12 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
600
526
|
}
|
601
527
|
}
|
602
528
|
}
|
603
|
-
|
604
529
|
return null;
|
605
|
-
}
|
530
|
+
}, {
|
531
|
+
hasher: args => args[0],
|
532
|
+
limit: 100
|
533
|
+
});
|
534
|
+
|
606
535
|
/**
|
607
536
|
* Test if the given expression is a unit.
|
608
537
|
* The unit can have a prefix but cannot have a value.
|
@@ -611,37 +540,33 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
611
540
|
* The unit can have prefix, like "cm"
|
612
541
|
* @return {boolean} true if the given string is a unit
|
613
542
|
*/
|
614
|
-
|
615
|
-
|
616
543
|
Unit.isValuelessUnit = function (name) {
|
617
544
|
return _findUnit(name) !== null;
|
618
545
|
};
|
546
|
+
|
619
547
|
/**
|
620
548
|
* check if this unit has given base unit
|
621
549
|
* If this unit is a derived unit, this will ALWAYS return false, since by definition base units are not derived.
|
622
550
|
* @memberof Unit
|
623
551
|
* @param {BASE_UNITS | string | undefined} base
|
624
552
|
*/
|
625
|
-
|
626
|
-
|
627
553
|
Unit.prototype.hasBase = function (base) {
|
628
554
|
if (typeof base === 'string') {
|
629
555
|
base = BASE_UNITS[base];
|
630
556
|
}
|
631
|
-
|
632
557
|
if (!base) {
|
633
558
|
return false;
|
634
|
-
}
|
635
|
-
|
559
|
+
}
|
636
560
|
|
561
|
+
// All dimensions must be the same
|
637
562
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
638
563
|
if (Math.abs((this.dimensions[i] || 0) - (base.dimensions[i] || 0)) > 1e-12) {
|
639
564
|
return false;
|
640
565
|
}
|
641
566
|
}
|
642
|
-
|
643
567
|
return true;
|
644
568
|
};
|
569
|
+
|
645
570
|
/**
|
646
571
|
* Check if this unit has a base or bases equal to another base or bases
|
647
572
|
* For derived units, the exponent on each base also must match
|
@@ -649,8 +574,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
649
574
|
* @param {Unit} other
|
650
575
|
* @return {boolean} true if equal base
|
651
576
|
*/
|
652
|
-
|
653
|
-
|
654
577
|
Unit.prototype.equalBase = function (other) {
|
655
578
|
// All dimensions must be the same
|
656
579
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
@@ -658,45 +581,41 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
658
581
|
return false;
|
659
582
|
}
|
660
583
|
}
|
661
|
-
|
662
584
|
return true;
|
663
585
|
};
|
586
|
+
|
664
587
|
/**
|
665
588
|
* Check if this unit equals another unit
|
666
589
|
* @memberof Unit
|
667
590
|
* @param {Unit} other
|
668
591
|
* @return {boolean} true if both units are equal
|
669
592
|
*/
|
670
|
-
|
671
|
-
|
672
593
|
Unit.prototype.equals = function (other) {
|
673
594
|
return this.equalBase(other) && equal(this.value, other.value);
|
674
595
|
};
|
596
|
+
|
675
597
|
/**
|
676
|
-
* Multiply this unit with another one
|
598
|
+
* Multiply this unit with another one or with a scalar
|
677
599
|
* @memberof Unit
|
678
600
|
* @param {Unit} other
|
679
601
|
* @return {Unit} product of this unit and the other unit
|
680
602
|
*/
|
681
|
-
|
682
|
-
|
683
|
-
Unit.prototype.multiply = function (other) {
|
603
|
+
Unit.prototype.multiply = function (_other) {
|
684
604
|
var res = this.clone();
|
685
|
-
|
605
|
+
var other = isUnit(_other) ? _other : new Unit(_other);
|
686
606
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
687
607
|
// Dimensions arrays may be of different lengths. Default to 0.
|
688
608
|
res.dimensions[i] = (this.dimensions[i] || 0) + (other.dimensions[i] || 0);
|
689
|
-
}
|
690
|
-
|
609
|
+
}
|
691
610
|
|
611
|
+
// Append other's units list onto res
|
692
612
|
for (var _i = 0; _i < other.units.length; _i++) {
|
693
613
|
// Make a shallow copy of every unit
|
694
614
|
var inverted = _objectSpread({}, other.units[_i]);
|
695
|
-
|
696
615
|
res.units.push(inverted);
|
697
|
-
}
|
698
|
-
|
616
|
+
}
|
699
617
|
|
618
|
+
// If at least one operand has a value, then the result should also have a value
|
700
619
|
if (this.value !== null || other.value !== null) {
|
701
620
|
var valThis = this.value === null ? this._normalize(1) : this.value;
|
702
621
|
var valOther = other.value === null ? other._normalize(1) : other.value;
|
@@ -704,37 +623,47 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
704
623
|
} else {
|
705
624
|
res.value = null;
|
706
625
|
}
|
707
|
-
|
708
|
-
|
626
|
+
if (isUnit(_other)) {
|
627
|
+
res.skipAutomaticSimplification = false;
|
628
|
+
}
|
709
629
|
return getNumericIfUnitless(res);
|
710
630
|
};
|
631
|
+
|
632
|
+
/**
|
633
|
+
* Divide a number by this unit
|
634
|
+
*
|
635
|
+
* @memberof Unit
|
636
|
+
* @param {numeric} numerator
|
637
|
+
* @param {unit} result of dividing numerator by this unit
|
638
|
+
*/
|
639
|
+
Unit.prototype.divideInto = function (numerator) {
|
640
|
+
return new Unit(numerator).divide(this);
|
641
|
+
};
|
642
|
+
|
711
643
|
/**
|
712
644
|
* Divide this unit by another one
|
713
645
|
* @memberof Unit
|
714
|
-
* @param {Unit} other
|
646
|
+
* @param {Unit | numeric} other
|
715
647
|
* @return {Unit} result of dividing this unit by the other unit
|
716
648
|
*/
|
717
|
-
|
718
|
-
|
719
|
-
Unit.prototype.divide = function (other) {
|
649
|
+
Unit.prototype.divide = function (_other) {
|
720
650
|
var res = this.clone();
|
721
|
-
|
651
|
+
var other = isUnit(_other) ? _other : new Unit(_other);
|
722
652
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
723
653
|
// Dimensions arrays may be of different lengths. Default to 0.
|
724
654
|
res.dimensions[i] = (this.dimensions[i] || 0) - (other.dimensions[i] || 0);
|
725
|
-
}
|
726
|
-
|
655
|
+
}
|
727
656
|
|
657
|
+
// Invert and append other's units list onto res
|
728
658
|
for (var _i2 = 0; _i2 < other.units.length; _i2++) {
|
729
659
|
// Make a shallow copy of every unit
|
730
660
|
var inverted = _objectSpread(_objectSpread({}, other.units[_i2]), {}, {
|
731
661
|
power: -other.units[_i2].power
|
732
662
|
});
|
733
|
-
|
734
663
|
res.units.push(inverted);
|
735
|
-
}
|
736
|
-
|
664
|
+
}
|
737
665
|
|
666
|
+
// If at least one operand has a value, the result should have a value
|
738
667
|
if (this.value !== null || other.value !== null) {
|
739
668
|
var valThis = this.value === null ? this._normalize(1) : this.value;
|
740
669
|
var valOther = other.value === null ? other._normalize(1) : other.value;
|
@@ -742,33 +671,33 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
742
671
|
} else {
|
743
672
|
res.value = null;
|
744
673
|
}
|
745
|
-
|
746
|
-
|
674
|
+
if (isUnit(_other)) {
|
675
|
+
res.skipAutomaticSimplification = false;
|
676
|
+
}
|
747
677
|
return getNumericIfUnitless(res);
|
748
678
|
};
|
679
|
+
|
749
680
|
/**
|
750
681
|
* Calculate the power of a unit
|
751
682
|
* @memberof Unit
|
752
683
|
* @param {number | Fraction | BigNumber} p
|
753
684
|
* @returns {Unit} The result: this^p
|
754
685
|
*/
|
755
|
-
|
756
|
-
|
757
686
|
Unit.prototype.pow = function (p) {
|
758
687
|
var res = this.clone();
|
759
|
-
|
760
688
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
761
689
|
// Dimensions arrays may be of different lengths. Default to 0.
|
762
690
|
res.dimensions[i] = (this.dimensions[i] || 0) * p;
|
763
|
-
}
|
764
|
-
|
691
|
+
}
|
765
692
|
|
693
|
+
// Adjust the power of each unit in the list
|
766
694
|
for (var _i3 = 0; _i3 < res.units.length; _i3++) {
|
767
695
|
res.units[_i3].power *= p;
|
768
696
|
}
|
769
|
-
|
770
697
|
if (res.value !== null) {
|
771
|
-
res.value = pow(res.value, p);
|
698
|
+
res.value = pow(res.value, p);
|
699
|
+
|
700
|
+
// only allow numeric output, we don't want to return a Complex number
|
772
701
|
// if (!isNumeric(res.value)) {
|
773
702
|
// res.value = NaN
|
774
703
|
// }
|
@@ -776,17 +705,15 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
776
705
|
} else {
|
777
706
|
res.value = null;
|
778
707
|
}
|
779
|
-
|
780
708
|
res.skipAutomaticSimplification = false;
|
781
709
|
return getNumericIfUnitless(res);
|
782
710
|
};
|
711
|
+
|
783
712
|
/**
|
784
713
|
* Return the numeric value of this unit if it is dimensionless, has a value, and config.predictable == false; or the original unit otherwise
|
785
714
|
* @param {Unit} unit
|
786
715
|
* @returns {number | Fraction | BigNumber | Unit} The numeric value of the unit if conditions are met, or the original unit otherwise
|
787
716
|
*/
|
788
|
-
|
789
|
-
|
790
717
|
function getNumericIfUnitless(unit) {
|
791
718
|
if (unit.equalBase(BASE_UNITS.NONE) && unit.value !== null && !config.predictable) {
|
792
719
|
return unit.value;
|
@@ -794,74 +721,78 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
794
721
|
return unit;
|
795
722
|
}
|
796
723
|
}
|
724
|
+
|
797
725
|
/**
|
798
726
|
* Calculate the absolute value of a unit
|
799
727
|
* @memberof Unit
|
800
728
|
* @param {number | Fraction | BigNumber} x
|
801
729
|
* @returns {Unit} The result: |x|, absolute value of x
|
802
730
|
*/
|
803
|
-
|
804
|
-
|
805
731
|
Unit.prototype.abs = function () {
|
806
|
-
// This gives correct, but unexpected, results for units with an offset.
|
807
|
-
// For example, abs(-283.15 degC) = -263.15 degC !!!
|
808
732
|
var ret = this.clone();
|
809
|
-
|
810
|
-
|
733
|
+
if (ret.value !== null) {
|
734
|
+
if (ret._isDerived() || ret.units[0].unit.offset === 0) {
|
735
|
+
ret.value = abs(ret.value);
|
736
|
+
} else {
|
737
|
+
// To give the correct, but unexpected, results for units with an offset.
|
738
|
+
// For example, abs(-283.15 degC) = -263.15 degC !!!
|
739
|
+
// We must take the offset into consideration here
|
740
|
+
var convert = ret._numberConverter(); // convert to Fraction or BigNumber if needed
|
741
|
+
var unitValue = convert(ret.units[0].unit.value);
|
742
|
+
var nominalOffset = convert(ret.units[0].unit.offset);
|
743
|
+
var unitOffset = multiplyScalar(unitValue, nominalOffset);
|
744
|
+
ret.value = subtractScalar(abs(addScalar(ret.value, unitOffset)), unitOffset);
|
745
|
+
}
|
746
|
+
}
|
811
747
|
for (var i in ret.units) {
|
812
748
|
if (ret.units[i].unit.name === 'VA' || ret.units[i].unit.name === 'VAR') {
|
813
749
|
ret.units[i].unit = UNITS.W;
|
814
750
|
}
|
815
751
|
}
|
816
|
-
|
817
752
|
return ret;
|
818
753
|
};
|
754
|
+
|
819
755
|
/**
|
820
756
|
* Convert the unit to a specific unit name.
|
821
757
|
* @memberof Unit
|
822
758
|
* @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like "cm"
|
823
759
|
* @returns {Unit} Returns a clone of the unit with a fixed prefix and unit.
|
824
760
|
*/
|
825
|
-
|
826
|
-
|
827
761
|
Unit.prototype.to = function (valuelessUnit) {
|
828
|
-
var other;
|
829
762
|
var value = this.value === null ? this._normalize(1) : this.value;
|
830
|
-
|
763
|
+
var other;
|
831
764
|
if (typeof valuelessUnit === 'string') {
|
832
|
-
// other = new Unit(null, valuelessUnit)
|
833
765
|
other = Unit.parse(valuelessUnit);
|
834
|
-
|
835
|
-
if (!this.equalBase(other)) {
|
836
|
-
throw new Error("Units do not match ('".concat(other.toString(), "' != '").concat(this.toString(), "')"));
|
837
|
-
}
|
838
|
-
|
839
|
-
if (other.value !== null) {
|
840
|
-
throw new Error('Cannot convert to a unit with a value');
|
841
|
-
}
|
842
|
-
|
843
|
-
other.value = clone(value);
|
844
|
-
other.fixPrefix = true;
|
845
|
-
other.skipAutomaticSimplification = true;
|
846
|
-
return other;
|
847
766
|
} else if (isUnit(valuelessUnit)) {
|
848
|
-
if (!this.equalBase(valuelessUnit)) {
|
849
|
-
throw new Error("Units do not match ('".concat(valuelessUnit.toString(), "' != '").concat(this.toString(), "')"));
|
850
|
-
}
|
851
|
-
|
852
|
-
if (valuelessUnit.value !== null) {
|
853
|
-
throw new Error('Cannot convert to a unit with a value');
|
854
|
-
}
|
855
|
-
|
856
767
|
other = valuelessUnit.clone();
|
857
|
-
other.value = clone(value);
|
858
|
-
other.fixPrefix = true;
|
859
|
-
other.skipAutomaticSimplification = true;
|
860
|
-
return other;
|
861
768
|
} else {
|
862
769
|
throw new Error('String or Unit expected as parameter');
|
863
770
|
}
|
771
|
+
if (!this.equalBase(other)) {
|
772
|
+
throw new Error("Units do not match ('".concat(other.toString(), "' != '").concat(this.toString(), "')"));
|
773
|
+
}
|
774
|
+
if (other.value !== null) {
|
775
|
+
throw new Error('Cannot convert to a unit with a value');
|
776
|
+
}
|
777
|
+
if (this.value === null || this._isDerived() || this.units[0].unit.offset === other.units[0].unit.offset) {
|
778
|
+
other.value = clone(value);
|
779
|
+
} else {
|
780
|
+
/* Need to adjust value by difference in offset to convert */
|
781
|
+
var convert = Unit._getNumberConverter(typeOf(value)); // convert to Fraction or BigNumber if needed
|
782
|
+
|
783
|
+
var thisUnitValue = this.units[0].unit.value;
|
784
|
+
var thisNominalOffset = this.units[0].unit.offset;
|
785
|
+
var thisUnitOffset = multiplyScalar(thisUnitValue, thisNominalOffset);
|
786
|
+
var otherUnitValue = other.units[0].unit.value;
|
787
|
+
var otherNominalOffset = other.units[0].unit.offset;
|
788
|
+
var otherUnitOffset = multiplyScalar(otherUnitValue, otherNominalOffset);
|
789
|
+
other.value = addScalar(value, convert(subtractScalar(thisUnitOffset, otherUnitOffset)));
|
790
|
+
}
|
791
|
+
other.fixPrefix = true;
|
792
|
+
other.skipAutomaticSimplification = true;
|
793
|
+
return other;
|
864
794
|
};
|
795
|
+
|
865
796
|
/**
|
866
797
|
* Return the value of the unit when represented with given valueless unit
|
867
798
|
* @memberof Unit
|
@@ -869,53 +800,46 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
869
800
|
* @return {number} Returns the unit value as number.
|
870
801
|
*/
|
871
802
|
// TODO: deprecate Unit.toNumber? It's always better to use toNumeric
|
872
|
-
|
873
|
-
|
874
803
|
Unit.prototype.toNumber = function (valuelessUnit) {
|
875
804
|
return toNumber(this.toNumeric(valuelessUnit));
|
876
805
|
};
|
806
|
+
|
877
807
|
/**
|
878
808
|
* Return the value of the unit in the original numeric type
|
879
809
|
* @memberof Unit
|
880
810
|
* @param {string | Unit} valuelessUnit For example 'cm' or 'inch'
|
881
811
|
* @return {number | BigNumber | Fraction} Returns the unit value
|
882
812
|
*/
|
883
|
-
|
884
|
-
|
885
813
|
Unit.prototype.toNumeric = function (valuelessUnit) {
|
886
814
|
var other;
|
887
|
-
|
888
815
|
if (valuelessUnit) {
|
889
816
|
// Allow getting the numeric value without converting to a different unit
|
890
817
|
other = this.to(valuelessUnit);
|
891
818
|
} else {
|
892
819
|
other = this.clone();
|
893
820
|
}
|
894
|
-
|
895
821
|
if (other._isDerived() || other.units.length === 0) {
|
896
822
|
return other._denormalize(other.value);
|
897
823
|
} else {
|
898
824
|
return other._denormalize(other.value, other.units[0].prefix.value);
|
899
825
|
}
|
900
826
|
};
|
827
|
+
|
901
828
|
/**
|
902
829
|
* Get a string representation of the unit.
|
903
830
|
* @memberof Unit
|
904
831
|
* @return {string}
|
905
832
|
*/
|
906
|
-
|
907
|
-
|
908
833
|
Unit.prototype.toString = function () {
|
909
834
|
return this.format();
|
910
835
|
};
|
836
|
+
|
911
837
|
/**
|
912
838
|
* Get a JSON representation of the unit
|
913
839
|
* @memberof Unit
|
914
840
|
* @returns {Object} Returns a JSON object structured as:
|
915
841
|
* `{"mathjs": "Unit", "value": 2, "unit": "cm", "fixPrefix": false}`
|
916
842
|
*/
|
917
|
-
|
918
|
-
|
919
843
|
Unit.prototype.toJSON = function () {
|
920
844
|
return {
|
921
845
|
mathjs: 'Unit',
|
@@ -924,6 +848,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
924
848
|
fixPrefix: this.fixPrefix
|
925
849
|
};
|
926
850
|
};
|
851
|
+
|
927
852
|
/**
|
928
853
|
* Instantiate a Unit from a JSON object
|
929
854
|
* @memberof Unit
|
@@ -931,32 +856,29 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
931
856
|
* `{"mathjs": "Unit", "value": 2, "unit": "cm", "fixPrefix": false}`
|
932
857
|
* @return {Unit}
|
933
858
|
*/
|
934
|
-
|
935
|
-
|
936
859
|
Unit.fromJSON = function (json) {
|
937
860
|
var unit = new Unit(json.value, json.unit);
|
938
861
|
unit.fixPrefix = json.fixPrefix || false;
|
939
862
|
return unit;
|
940
863
|
};
|
864
|
+
|
941
865
|
/**
|
942
866
|
* Returns the string representation of the unit.
|
943
867
|
* @memberof Unit
|
944
868
|
* @return {string}
|
945
869
|
*/
|
946
|
-
|
947
|
-
|
948
870
|
Unit.prototype.valueOf = Unit.prototype.toString;
|
871
|
+
|
949
872
|
/**
|
950
873
|
* Simplify this Unit's unit list and return a new Unit with the simplified list.
|
951
874
|
* The returned Unit will contain a list of the "best" units for formatting.
|
952
875
|
*/
|
953
|
-
|
954
876
|
Unit.prototype.simplify = function () {
|
955
877
|
var ret = this.clone();
|
956
|
-
var proposedUnitList = [];
|
878
|
+
var proposedUnitList = [];
|
957
879
|
|
880
|
+
// Search for a matching base
|
958
881
|
var matchingBase;
|
959
|
-
|
960
882
|
for (var key in currentUnitSystem) {
|
961
883
|
if (hasOwnProperty(currentUnitSystem, key)) {
|
962
884
|
if (ret.hasBase(BASE_UNITS[key])) {
|
@@ -965,19 +887,16 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
965
887
|
}
|
966
888
|
}
|
967
889
|
}
|
968
|
-
|
969
890
|
if (matchingBase === 'NONE') {
|
970
891
|
ret.units = [];
|
971
892
|
} else {
|
972
893
|
var matchingUnit;
|
973
|
-
|
974
894
|
if (matchingBase) {
|
975
895
|
// Does the unit system have a matching unit?
|
976
896
|
if (hasOwnProperty(currentUnitSystem, matchingBase)) {
|
977
897
|
matchingUnit = currentUnitSystem[matchingBase];
|
978
898
|
}
|
979
899
|
}
|
980
|
-
|
981
900
|
if (matchingUnit) {
|
982
901
|
ret.units = [{
|
983
902
|
unit: matchingUnit.unit,
|
@@ -989,10 +908,8 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
989
908
|
// 5 (kg m^2) / (s^3 mol)
|
990
909
|
// Build an representation from the base units of the current unit system
|
991
910
|
var missingBaseDim = false;
|
992
|
-
|
993
911
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
994
912
|
var baseDim = BASE_DIMENSIONS[i];
|
995
|
-
|
996
913
|
if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {
|
997
914
|
if (hasOwnProperty(currentUnitSystem, baseDim)) {
|
998
915
|
proposedUnitList.push({
|
@@ -1004,32 +921,30 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1004
921
|
missingBaseDim = true;
|
1005
922
|
}
|
1006
923
|
}
|
1007
|
-
}
|
1008
|
-
|
924
|
+
}
|
1009
925
|
|
926
|
+
// Is the proposed unit list "simpler" than the existing one?
|
1010
927
|
if (proposedUnitList.length < ret.units.length && !missingBaseDim) {
|
1011
928
|
// Replace this unit list with the proposed list
|
1012
929
|
ret.units = proposedUnitList;
|
1013
930
|
}
|
1014
931
|
}
|
1015
932
|
}
|
1016
|
-
|
1017
933
|
return ret;
|
1018
934
|
};
|
935
|
+
|
1019
936
|
/**
|
1020
937
|
* Returns a new Unit in the SI system with the same value as this one
|
1021
938
|
*/
|
1022
|
-
|
1023
|
-
|
1024
939
|
Unit.prototype.toSI = function () {
|
1025
940
|
var ret = this.clone();
|
1026
|
-
var proposedUnitList = [];
|
941
|
+
var proposedUnitList = [];
|
942
|
+
|
943
|
+
// Multiple units or units with powers are formatted like this:
|
1027
944
|
// 5 (kg m^2) / (s^3 mol)
|
1028
945
|
// Build an representation from the base units of the SI unit system
|
1029
|
-
|
1030
946
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
1031
947
|
var baseDim = BASE_DIMENSIONS[i];
|
1032
|
-
|
1033
948
|
if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {
|
1034
949
|
if (hasOwnProperty(UNIT_SYSTEMS.si, baseDim)) {
|
1035
950
|
proposedUnitList.push({
|
@@ -1041,32 +956,29 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1041
956
|
throw new Error('Cannot express custom unit ' + baseDim + ' in SI units');
|
1042
957
|
}
|
1043
958
|
}
|
1044
|
-
}
|
1045
|
-
|
959
|
+
}
|
1046
960
|
|
961
|
+
// Replace this unit list with the proposed list
|
1047
962
|
ret.units = proposedUnitList;
|
1048
963
|
ret.fixPrefix = true;
|
1049
964
|
ret.skipAutomaticSimplification = true;
|
1050
965
|
return ret;
|
1051
966
|
};
|
967
|
+
|
1052
968
|
/**
|
1053
969
|
* Get a string representation of the units of this Unit, without the value. The unit list is formatted as-is without first being simplified.
|
1054
970
|
* @memberof Unit
|
1055
971
|
* @return {string}
|
1056
972
|
*/
|
1057
|
-
|
1058
|
-
|
1059
973
|
Unit.prototype.formatUnits = function () {
|
1060
974
|
var strNum = '';
|
1061
975
|
var strDen = '';
|
1062
976
|
var nNum = 0;
|
1063
977
|
var nDen = 0;
|
1064
|
-
|
1065
978
|
for (var i = 0; i < this.units.length; i++) {
|
1066
979
|
if (this.units[i].power > 0) {
|
1067
980
|
nNum++;
|
1068
981
|
strNum += ' ' + this.units[i].prefix.name + this.units[i].unit.name;
|
1069
|
-
|
1070
982
|
if (Math.abs(this.units[i].power - 1.0) > 1e-15) {
|
1071
983
|
strNum += '^' + this.units[i].power;
|
1072
984
|
}
|
@@ -1074,13 +986,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1074
986
|
nDen++;
|
1075
987
|
}
|
1076
988
|
}
|
1077
|
-
|
1078
989
|
if (nDen > 0) {
|
1079
990
|
for (var _i4 = 0; _i4 < this.units.length; _i4++) {
|
1080
991
|
if (this.units[_i4].power < 0) {
|
1081
992
|
if (nNum > 0) {
|
1082
993
|
strDen += ' ' + this.units[_i4].prefix.name + this.units[_i4].unit.name;
|
1083
|
-
|
1084
994
|
if (Math.abs(this.units[_i4].power + 1.0) > 1e-15) {
|
1085
995
|
strDen += '^' + -this.units[_i4].power;
|
1086
996
|
}
|
@@ -1090,29 +1000,26 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1090
1000
|
}
|
1091
1001
|
}
|
1092
1002
|
}
|
1093
|
-
}
|
1094
|
-
|
1095
|
-
|
1003
|
+
}
|
1004
|
+
// Remove leading " "
|
1096
1005
|
strNum = strNum.substr(1);
|
1097
|
-
strDen = strDen.substr(1);
|
1006
|
+
strDen = strDen.substr(1);
|
1098
1007
|
|
1008
|
+
// Add parans for better copy/paste back into evaluate, for example, or for better pretty print formatting
|
1099
1009
|
if (nNum > 1 && nDen > 0) {
|
1100
1010
|
strNum = '(' + strNum + ')';
|
1101
1011
|
}
|
1102
|
-
|
1103
1012
|
if (nDen > 1 && nNum > 0) {
|
1104
1013
|
strDen = '(' + strDen + ')';
|
1105
1014
|
}
|
1106
|
-
|
1107
1015
|
var str = strNum;
|
1108
|
-
|
1109
1016
|
if (nNum > 0 && nDen > 0) {
|
1110
1017
|
str += ' / ';
|
1111
1018
|
}
|
1112
|
-
|
1113
1019
|
str += strDen;
|
1114
1020
|
return str;
|
1115
1021
|
};
|
1022
|
+
|
1116
1023
|
/**
|
1117
1024
|
* Get a string representation of the Unit, with optional formatting options.
|
1118
1025
|
* @memberof Unit
|
@@ -1122,20 +1029,17 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1122
1029
|
* options.
|
1123
1030
|
* @return {string}
|
1124
1031
|
*/
|
1125
|
-
|
1126
|
-
|
1127
1032
|
Unit.prototype.format = function (options) {
|
1128
1033
|
// Simplfy the unit list, unless it is valueless or was created directly in the
|
1129
1034
|
// constructor or as the result of to or toSI
|
1130
|
-
var simp = this.skipAutomaticSimplification || this.value === null ? this.clone() : this.simplify();
|
1035
|
+
var simp = this.skipAutomaticSimplification || this.value === null ? this.clone() : this.simplify();
|
1131
1036
|
|
1037
|
+
// Apply some custom logic for handling VA and VAR. The goal is to express the value of the unit as a real value, if possible. Otherwise, use a real-valued unit instead of a complex-valued one.
|
1132
1038
|
var isImaginary = false;
|
1133
|
-
|
1134
1039
|
if (typeof simp.value !== 'undefined' && simp.value !== null && isComplex(simp.value)) {
|
1135
1040
|
// TODO: Make this better, for example, use relative magnitude of re and im rather than absolute
|
1136
1041
|
isImaginary = Math.abs(simp.value.re) < 1e-14;
|
1137
1042
|
}
|
1138
|
-
|
1139
1043
|
for (var i in simp.units) {
|
1140
1044
|
if (hasOwnProperty(simp.units, i)) {
|
1141
1045
|
if (simp.units[i].unit) {
|
@@ -1146,10 +1050,10 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1146
1050
|
}
|
1147
1051
|
}
|
1148
1052
|
}
|
1149
|
-
}
|
1150
|
-
// Units must have only one unit and not have the fixPrefix flag set
|
1151
|
-
|
1053
|
+
}
|
1152
1054
|
|
1055
|
+
// Now apply the best prefix
|
1056
|
+
// Units must have only one unit and not have the fixPrefix flag set
|
1153
1057
|
if (simp.units.length === 1 && !simp.fixPrefix) {
|
1154
1058
|
// Units must have integer powers, otherwise the prefix will change the
|
1155
1059
|
// outputted value by not-an-integer-power-of-ten
|
@@ -1158,69 +1062,57 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1158
1062
|
simp.units[0].prefix = simp._bestPrefix();
|
1159
1063
|
}
|
1160
1064
|
}
|
1161
|
-
|
1162
1065
|
var value = simp._denormalize(simp.value);
|
1163
|
-
|
1164
1066
|
var str = simp.value !== null ? format(value, options || {}) : '';
|
1165
1067
|
var unitStr = simp.formatUnits();
|
1166
|
-
|
1167
1068
|
if (simp.value && isComplex(simp.value)) {
|
1168
1069
|
str = '(' + str + ')'; // Surround complex values with ( ) to enable better parsing
|
1169
1070
|
}
|
1170
|
-
|
1171
1071
|
if (unitStr.length > 0 && str.length > 0) {
|
1172
1072
|
str += ' ';
|
1173
1073
|
}
|
1174
|
-
|
1175
1074
|
str += unitStr;
|
1176
1075
|
return str;
|
1177
1076
|
};
|
1077
|
+
|
1178
1078
|
/**
|
1179
1079
|
* Calculate the best prefix using current value.
|
1180
1080
|
* @memberof Unit
|
1181
1081
|
* @returns {Object} prefix
|
1182
1082
|
* @private
|
1183
1083
|
*/
|
1184
|
-
|
1185
|
-
|
1186
1084
|
Unit.prototype._bestPrefix = function () {
|
1187
1085
|
if (this.units.length !== 1) {
|
1188
1086
|
throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');
|
1189
1087
|
}
|
1190
|
-
|
1191
1088
|
if (Math.abs(this.units[0].power - Math.round(this.units[0].power)) >= 1e-14) {
|
1192
1089
|
throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');
|
1193
|
-
}
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
// find the best prefix value (resulting in the value of which
|
1194
1093
|
// the absolute value of the log10 is closest to zero,
|
1195
1094
|
// though with a little offset of 1.2 for nicer values: you get a
|
1196
1095
|
// sequence 1mm 100mm 500mm 0.6m 1m 10m 100m 500m 0.6km 1km ...
|
1096
|
+
|
1197
1097
|
// Note: the units value can be any numeric type, but to find the best
|
1198
1098
|
// prefix it's enough to work with limited precision of a regular number
|
1199
1099
|
// Update: using mathjs abs since we also allow complex numbers
|
1200
|
-
|
1201
|
-
|
1202
1100
|
var absValue = this.value !== null ? abs(this.value) : 0;
|
1203
1101
|
var absUnitValue = abs(this.units[0].unit.value);
|
1204
1102
|
var bestPrefix = this.units[0].prefix;
|
1205
|
-
|
1206
1103
|
if (absValue === 0) {
|
1207
1104
|
return bestPrefix;
|
1208
1105
|
}
|
1209
|
-
|
1210
1106
|
var power = this.units[0].power;
|
1211
1107
|
var bestDiff = Math.log(absValue / Math.pow(bestPrefix.value * absUnitValue, power)) / Math.LN10 - 1.2;
|
1212
1108
|
if (bestDiff > -2.200001 && bestDiff < 1.800001) return bestPrefix; // Allow the original prefix
|
1213
|
-
|
1214
1109
|
bestDiff = Math.abs(bestDiff);
|
1215
1110
|
var prefixes = this.units[0].unit.prefixes;
|
1216
|
-
|
1217
1111
|
for (var p in prefixes) {
|
1218
1112
|
if (hasOwnProperty(prefixes, p)) {
|
1219
1113
|
var prefix = prefixes[p];
|
1220
|
-
|
1221
1114
|
if (prefix.scientific) {
|
1222
1115
|
var diff = Math.abs(Math.log(absValue / Math.pow(prefix.value * absUnitValue, power)) / Math.LN10 - 1.2);
|
1223
|
-
|
1224
1116
|
if (diff < bestDiff || diff === bestDiff && prefix.name.length < bestPrefix.name.length) {
|
1225
1117
|
// choose the prefix with the smallest diff, or if equal, choose the one
|
1226
1118
|
// with the shortest name (can happen with SHORTLONG for example)
|
@@ -1230,9 +1122,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1230
1122
|
}
|
1231
1123
|
}
|
1232
1124
|
}
|
1233
|
-
|
1234
1125
|
return bestPrefix;
|
1235
1126
|
};
|
1127
|
+
|
1236
1128
|
/**
|
1237
1129
|
* Returns an array of units whose sum is equal to this unit
|
1238
1130
|
* @memberof Unit
|
@@ -1246,53 +1138,46 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1246
1138
|
*
|
1247
1139
|
* @return {Array} An array of units.
|
1248
1140
|
*/
|
1249
|
-
|
1250
|
-
|
1251
1141
|
Unit.prototype.splitUnit = function (parts) {
|
1252
1142
|
var x = this.clone();
|
1253
1143
|
var ret = [];
|
1254
|
-
|
1255
1144
|
for (var i = 0; i < parts.length; i++) {
|
1256
1145
|
// Convert x to the requested unit
|
1257
1146
|
x = x.to(parts[i]);
|
1258
|
-
if (i === parts.length - 1) break;
|
1147
|
+
if (i === parts.length - 1) break;
|
1259
1148
|
|
1260
|
-
|
1261
|
-
|
1149
|
+
// Get the numeric value of this unit
|
1150
|
+
var xNumeric = x.toNumeric();
|
1262
1151
|
|
1152
|
+
// Check to see if xNumeric is nearly equal to an integer,
|
1153
|
+
// since fix can incorrectly round down if there is round-off error
|
1263
1154
|
var xRounded = round(xNumeric);
|
1264
1155
|
var xFixed = void 0;
|
1265
1156
|
var isNearlyEqual = equal(xRounded, xNumeric);
|
1266
|
-
|
1267
1157
|
if (isNearlyEqual) {
|
1268
1158
|
xFixed = xRounded;
|
1269
1159
|
} else {
|
1270
1160
|
xFixed = fix(x.toNumeric());
|
1271
1161
|
}
|
1272
|
-
|
1273
1162
|
var y = new Unit(xFixed, parts[i].toString());
|
1274
1163
|
ret.push(y);
|
1275
|
-
x =
|
1276
|
-
}
|
1164
|
+
x = subtractScalar(x, y);
|
1165
|
+
}
|
1166
|
+
|
1167
|
+
// This little bit fixes a bug where the remainder should be 0 but is a little bit off.
|
1277
1168
|
// But instead of comparing x, the remainder, with zero--we will compare the sum of
|
1278
1169
|
// all the parts so far with the original value. If they are nearly equal,
|
1279
1170
|
// we set the remainder to 0.
|
1280
|
-
|
1281
|
-
|
1282
1171
|
var testSum = 0;
|
1283
|
-
|
1284
1172
|
for (var _i5 = 0; _i5 < ret.length; _i5++) {
|
1285
1173
|
testSum = addScalar(testSum, ret[_i5].value);
|
1286
1174
|
}
|
1287
|
-
|
1288
1175
|
if (equal(testSum, this.value)) {
|
1289
1176
|
x.value = 0;
|
1290
1177
|
}
|
1291
|
-
|
1292
1178
|
ret.push(x);
|
1293
1179
|
return ret;
|
1294
1180
|
};
|
1295
|
-
|
1296
1181
|
var PREFIXES = {
|
1297
1182
|
NONE: {
|
1298
1183
|
'': {
|
@@ -1933,6 +1818,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
1933
1818
|
PREFIXES.SHORTLONG = _extends({}, PREFIXES.SHORT, PREFIXES.LONG);
|
1934
1819
|
PREFIXES.BINARY_SHORT = _extends({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);
|
1935
1820
|
PREFIXES.BINARY_LONG = _extends({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);
|
1821
|
+
|
1936
1822
|
/* Internally, each unit is represented by a value and a dimension array. The elements of the dimensions array have the following meaning:
|
1937
1823
|
* Index Dimension
|
1938
1824
|
* ----- ---------
|
@@ -2027,13 +1913,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2027
1913
|
dimensions: [0, 0, 0, 0, 0, 0, 0, 0, 1]
|
2028
1914
|
}
|
2029
1915
|
};
|
2030
|
-
|
2031
1916
|
for (var key in BASE_UNITS) {
|
2032
1917
|
if (hasOwnProperty(BASE_UNITS, key)) {
|
2033
1918
|
BASE_UNITS[key].key = key;
|
2034
1919
|
}
|
2035
1920
|
}
|
2036
|
-
|
2037
1921
|
var BASE_UNIT_NONE = {};
|
2038
1922
|
var UNIT_NONE = {
|
2039
1923
|
name: '',
|
@@ -2171,6 +2055,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2171
2055
|
offset: 0
|
2172
2056
|
},
|
2173
2057
|
// 1/1000 inch
|
2058
|
+
|
2174
2059
|
// Surface
|
2175
2060
|
m2: {
|
2176
2061
|
name: 'm2',
|
@@ -2251,6 +2136,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2251
2136
|
offset: 0
|
2252
2137
|
},
|
2253
2138
|
// 10000 m2
|
2139
|
+
|
2254
2140
|
// Volume
|
2255
2141
|
m3: {
|
2256
2142
|
name: 'm3',
|
@@ -2339,6 +2225,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2339
2225
|
offset: 0
|
2340
2226
|
},
|
2341
2227
|
// 0.05 mL = 5e-8 m3
|
2228
|
+
|
2342
2229
|
// Liquid volume
|
2343
2230
|
minim: {
|
2344
2231
|
name: 'minim',
|
@@ -2436,6 +2323,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2436
2323
|
offset: 0
|
2437
2324
|
},
|
2438
2325
|
// 238.4810 L
|
2326
|
+
|
2439
2327
|
// {name: 'min', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.00000006161152, offset: 0}, // 0.06161152 mL // min is already in use as minute
|
2440
2328
|
fldr: {
|
2441
2329
|
name: 'fldr',
|
@@ -2510,6 +2398,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2510
2398
|
},
|
2511
2399
|
// 158.9873 L
|
2512
2400
|
// {name: 'hogshead', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.2384810, offset: 0}, // 238.4810 L // TODO: hh?
|
2401
|
+
|
2513
2402
|
// Mass
|
2514
2403
|
g: {
|
2515
2404
|
name: 'g',
|
@@ -2844,62 +2733,62 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2844
2733
|
},
|
2845
2734
|
// Temperature
|
2846
2735
|
// K(C) = °C + 273.15
|
2847
|
-
// K(F) = (°F + 459.67) /
|
2848
|
-
// K(R) = °R /
|
2736
|
+
// K(F) = (°F + 459.67) * (5 / 9)
|
2737
|
+
// K(R) = °R * (5 / 9)
|
2849
2738
|
K: {
|
2850
2739
|
name: 'K',
|
2851
2740
|
base: BASE_UNITS.TEMPERATURE,
|
2852
|
-
prefixes: PREFIXES.
|
2741
|
+
prefixes: PREFIXES.SHORT,
|
2853
2742
|
value: 1,
|
2854
2743
|
offset: 0
|
2855
2744
|
},
|
2856
2745
|
degC: {
|
2857
2746
|
name: 'degC',
|
2858
2747
|
base: BASE_UNITS.TEMPERATURE,
|
2859
|
-
prefixes: PREFIXES.
|
2748
|
+
prefixes: PREFIXES.SHORT,
|
2860
2749
|
value: 1,
|
2861
2750
|
offset: 273.15
|
2862
2751
|
},
|
2863
2752
|
degF: {
|
2864
2753
|
name: 'degF',
|
2865
2754
|
base: BASE_UNITS.TEMPERATURE,
|
2866
|
-
prefixes: PREFIXES.
|
2867
|
-
value:
|
2755
|
+
prefixes: PREFIXES.SHORT,
|
2756
|
+
value: new _Fraction(5, 9),
|
2868
2757
|
offset: 459.67
|
2869
2758
|
},
|
2870
2759
|
degR: {
|
2871
2760
|
name: 'degR',
|
2872
2761
|
base: BASE_UNITS.TEMPERATURE,
|
2873
|
-
prefixes: PREFIXES.
|
2874
|
-
value:
|
2762
|
+
prefixes: PREFIXES.SHORT,
|
2763
|
+
value: new _Fraction(5, 9),
|
2875
2764
|
offset: 0
|
2876
2765
|
},
|
2877
2766
|
kelvin: {
|
2878
2767
|
name: 'kelvin',
|
2879
2768
|
base: BASE_UNITS.TEMPERATURE,
|
2880
|
-
prefixes: PREFIXES.
|
2769
|
+
prefixes: PREFIXES.LONG,
|
2881
2770
|
value: 1,
|
2882
2771
|
offset: 0
|
2883
2772
|
},
|
2884
2773
|
celsius: {
|
2885
2774
|
name: 'celsius',
|
2886
2775
|
base: BASE_UNITS.TEMPERATURE,
|
2887
|
-
prefixes: PREFIXES.
|
2776
|
+
prefixes: PREFIXES.LONG,
|
2888
2777
|
value: 1,
|
2889
2778
|
offset: 273.15
|
2890
2779
|
},
|
2891
2780
|
fahrenheit: {
|
2892
2781
|
name: 'fahrenheit',
|
2893
2782
|
base: BASE_UNITS.TEMPERATURE,
|
2894
|
-
prefixes: PREFIXES.
|
2895
|
-
value:
|
2783
|
+
prefixes: PREFIXES.LONG,
|
2784
|
+
value: new _Fraction(5, 9),
|
2896
2785
|
offset: 459.67
|
2897
2786
|
},
|
2898
2787
|
rankine: {
|
2899
2788
|
name: 'rankine',
|
2900
2789
|
base: BASE_UNITS.TEMPERATURE,
|
2901
|
-
prefixes: PREFIXES.
|
2902
|
-
value:
|
2790
|
+
prefixes: PREFIXES.LONG,
|
2791
|
+
value: new _Fraction(5, 9),
|
2903
2792
|
offset: 0
|
2904
2793
|
},
|
2905
2794
|
// amount of substance
|
@@ -2935,6 +2824,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
2935
2824
|
// TODO: units STERADIAN
|
2936
2825
|
// {name: 'sr', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},
|
2937
2826
|
// {name: 'steradian', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},
|
2827
|
+
|
2938
2828
|
// Force
|
2939
2829
|
N: {
|
2940
2830
|
name: 'N',
|
@@ -3003,14 +2893,15 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3003
2893
|
joule: {
|
3004
2894
|
name: 'joule',
|
3005
2895
|
base: BASE_UNITS.ENERGY,
|
3006
|
-
prefixes: PREFIXES.
|
2896
|
+
prefixes: PREFIXES.LONG,
|
3007
2897
|
value: 1,
|
3008
2898
|
offset: 0
|
3009
2899
|
},
|
3010
2900
|
erg: {
|
3011
2901
|
name: 'erg',
|
3012
2902
|
base: BASE_UNITS.ENERGY,
|
3013
|
-
prefixes: PREFIXES.
|
2903
|
+
prefixes: PREFIXES.SHORTLONG,
|
2904
|
+
// Both kiloerg and kerg are acceptable
|
3014
2905
|
value: 1e-7,
|
3015
2906
|
offset: 0
|
3016
2907
|
},
|
@@ -3190,7 +3081,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3190
3081
|
value: 1,
|
3191
3082
|
offset: 0
|
3192
3083
|
},
|
3193
|
-
|
3194
3084
|
/*
|
3195
3085
|
* Unicode breaks in browsers if charset is not specified
|
3196
3086
|
Ω: {
|
@@ -3290,8 +3180,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3290
3180
|
value: 8,
|
3291
3181
|
offset: 0
|
3292
3182
|
}
|
3293
|
-
};
|
3183
|
+
};
|
3294
3184
|
|
3185
|
+
// aliases (formerly plurals)
|
3295
3186
|
var ALIASES = {
|
3296
3187
|
meters: 'meter',
|
3297
3188
|
inches: 'inch',
|
@@ -3369,6 +3260,8 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3369
3260
|
watts: 'watt',
|
3370
3261
|
joules: 'joule',
|
3371
3262
|
amperes: 'ampere',
|
3263
|
+
amps: 'ampere',
|
3264
|
+
amp: 'ampere',
|
3372
3265
|
coulombs: 'coulomb',
|
3373
3266
|
volts: 'volt',
|
3374
3267
|
ohms: 'ohm',
|
@@ -3380,48 +3273,39 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3380
3273
|
bit: 'bits',
|
3381
3274
|
byte: 'bytes'
|
3382
3275
|
};
|
3276
|
+
|
3383
3277
|
/**
|
3384
3278
|
* Calculate the values for the angle units.
|
3385
3279
|
* Value is calculated as number or BigNumber depending on the configuration
|
3386
3280
|
* @param {{number: 'number' | 'BigNumber'}} config
|
3387
3281
|
*/
|
3388
|
-
|
3389
3282
|
function calculateAngleValues(config) {
|
3390
3283
|
if (config.number === 'BigNumber') {
|
3391
3284
|
var pi = createPi(_BigNumber);
|
3392
3285
|
UNITS.rad.value = new _BigNumber(1);
|
3393
3286
|
UNITS.deg.value = pi.div(180); // 2 * pi / 360
|
3394
|
-
|
3395
3287
|
UNITS.grad.value = pi.div(200); // 2 * pi / 400
|
3396
|
-
|
3397
3288
|
UNITS.cycle.value = pi.times(2); // 2 * pi
|
3398
|
-
|
3399
3289
|
UNITS.arcsec.value = pi.div(648000); // 2 * pi / 360 / 3600
|
3400
|
-
|
3401
3290
|
UNITS.arcmin.value = pi.div(10800); // 2 * pi / 360 / 60
|
3402
3291
|
} else {
|
3403
3292
|
// number
|
3404
3293
|
UNITS.rad.value = 1;
|
3405
3294
|
UNITS.deg.value = Math.PI / 180; // 2 * pi / 360
|
3406
|
-
|
3407
3295
|
UNITS.grad.value = Math.PI / 200; // 2 * pi / 400
|
3408
|
-
|
3409
3296
|
UNITS.cycle.value = Math.PI * 2; // 2 * pi
|
3410
|
-
|
3411
3297
|
UNITS.arcsec.value = Math.PI / 648000; // 2 * pi / 360 / 3600
|
3412
|
-
|
3413
3298
|
UNITS.arcmin.value = Math.PI / 10800; // 2 * pi / 360 / 60
|
3414
|
-
}
|
3415
|
-
|
3299
|
+
}
|
3416
3300
|
|
3301
|
+
// copy to the full names of the angles
|
3417
3302
|
UNITS.radian.value = UNITS.rad.value;
|
3418
3303
|
UNITS.degree.value = UNITS.deg.value;
|
3419
3304
|
UNITS.gradian.value = UNITS.grad.value;
|
3420
|
-
}
|
3421
|
-
|
3305
|
+
}
|
3422
3306
|
|
3307
|
+
// apply the angle values now
|
3423
3308
|
calculateAngleValues(config);
|
3424
|
-
|
3425
3309
|
if (on) {
|
3426
3310
|
// recalculate the values on change of configuration
|
3427
3311
|
on('config', function (curr, prev) {
|
@@ -3430,13 +3314,12 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3430
3314
|
}
|
3431
3315
|
});
|
3432
3316
|
}
|
3317
|
+
|
3433
3318
|
/**
|
3434
3319
|
* A unit system is a set of dimensionally independent base units plus a set of derived units, formed by multiplication and division of the base units, that are by convention used with the unit system.
|
3435
3320
|
* A user perhaps could issue a command to select a preferred unit system, or use the default (see below).
|
3436
3321
|
* Auto unit system: The default unit system is updated on the fly anytime a unit is parsed. The corresponding unit in the default unit system is updated, so that answers are given in the same units the user supplies.
|
3437
3322
|
*/
|
3438
|
-
|
3439
|
-
|
3440
3323
|
var UNIT_SYSTEMS = {
|
3441
3324
|
si: {
|
3442
3325
|
// Base units
|
@@ -3534,8 +3417,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3534
3417
|
prefix: PREFIXES.SHORT['']
|
3535
3418
|
}
|
3536
3419
|
}
|
3537
|
-
};
|
3420
|
+
};
|
3538
3421
|
|
3422
|
+
// Clone to create the other unit systems
|
3539
3423
|
UNIT_SYSTEMS.cgs = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
3540
3424
|
UNIT_SYSTEMS.cgs.LENGTH = {
|
3541
3425
|
unit: UNITS.m,
|
@@ -3552,7 +3436,8 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3552
3436
|
UNIT_SYSTEMS.cgs.ENERGY = {
|
3553
3437
|
unit: UNITS.erg,
|
3554
3438
|
prefix: PREFIXES.NONE['']
|
3555
|
-
};
|
3439
|
+
};
|
3440
|
+
// there are wholly 4 unique cgs systems for electricity and magnetism,
|
3556
3441
|
// so let's not worry about it unless somebody complains
|
3557
3442
|
|
3558
3443
|
UNIT_SYSTEMS.us = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
@@ -3583,17 +3468,20 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3583
3468
|
UNIT_SYSTEMS.us.PRESSURE = {
|
3584
3469
|
unit: UNITS.psi,
|
3585
3470
|
prefix: PREFIXES.NONE['']
|
3586
|
-
};
|
3587
|
-
// Choose a unit system to seed the auto unit system.
|
3471
|
+
};
|
3588
3472
|
|
3589
|
-
|
3473
|
+
// Add additional unit systems here.
|
3590
3474
|
|
3475
|
+
// Choose a unit system to seed the auto unit system.
|
3476
|
+
UNIT_SYSTEMS.auto = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
3477
|
+
|
3478
|
+
// Set the current unit system
|
3591
3479
|
var currentUnitSystem = UNIT_SYSTEMS.auto;
|
3480
|
+
|
3592
3481
|
/**
|
3593
3482
|
* Set a unit system for formatting derived units.
|
3594
3483
|
* @param {string} [name] The name of the unit system.
|
3595
3484
|
*/
|
3596
|
-
|
3597
3485
|
Unit.setUnitSystem = function (name) {
|
3598
3486
|
if (hasOwnProperty(UNIT_SYSTEMS, name)) {
|
3599
3487
|
currentUnitSystem = UNIT_SYSTEMS[name];
|
@@ -3601,12 +3489,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3601
3489
|
throw new Error('Unit system ' + name + ' does not exist. Choices are: ' + Object.keys(UNIT_SYSTEMS).join(', '));
|
3602
3490
|
}
|
3603
3491
|
};
|
3492
|
+
|
3604
3493
|
/**
|
3605
3494
|
* Return the current unit system.
|
3606
3495
|
* @return {string} The current unit system.
|
3607
3496
|
*/
|
3608
|
-
|
3609
|
-
|
3610
3497
|
Unit.getUnitSystem = function () {
|
3611
3498
|
for (var _key in UNIT_SYSTEMS) {
|
3612
3499
|
if (hasOwnProperty(UNIT_SYSTEMS, _key)) {
|
@@ -3616,14 +3503,14 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3616
3503
|
}
|
3617
3504
|
}
|
3618
3505
|
};
|
3506
|
+
|
3619
3507
|
/**
|
3620
3508
|
* Converters to convert from number to an other numeric type like BigNumber
|
3621
3509
|
* or Fraction
|
3622
3510
|
*/
|
3623
|
-
|
3624
|
-
|
3625
3511
|
Unit.typeConverters = {
|
3626
3512
|
BigNumber: function BigNumber(x) {
|
3513
|
+
if (x !== null && x !== void 0 && x.isFraction) return new _BigNumber(x.n).div(x.d).times(x.s);
|
3627
3514
|
return new _BigNumber(x + ''); // stringify to prevent constructor error
|
3628
3515
|
},
|
3629
3516
|
Fraction: function Fraction(x) {
|
@@ -3633,9 +3520,26 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3633
3520
|
return x;
|
3634
3521
|
},
|
3635
3522
|
number: function number(x) {
|
3523
|
+
if (x !== null && x !== void 0 && x.isFraction) return _number(x);
|
3636
3524
|
return x;
|
3637
3525
|
}
|
3638
3526
|
};
|
3527
|
+
|
3528
|
+
/**
|
3529
|
+
* Retrieve the right converter function corresponding with this unit's
|
3530
|
+
* value
|
3531
|
+
*
|
3532
|
+
* @memberof Unit
|
3533
|
+
* @return {Function}
|
3534
|
+
*/
|
3535
|
+
Unit.prototype._numberConverter = function () {
|
3536
|
+
var convert = Unit.typeConverters[this.valueType()];
|
3537
|
+
if (convert) {
|
3538
|
+
return convert;
|
3539
|
+
}
|
3540
|
+
throw new TypeError('Unsupported Unit value type "' + this.valueType() + '"');
|
3541
|
+
};
|
3542
|
+
|
3639
3543
|
/**
|
3640
3544
|
* Retrieve the right convertor function corresponding with the type
|
3641
3545
|
* of provided exampleValue.
|
@@ -3644,63 +3548,56 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3644
3548
|
* In case of an unknown type,
|
3645
3549
|
* @return {Function}
|
3646
3550
|
*/
|
3647
|
-
|
3648
3551
|
Unit._getNumberConverter = function (type) {
|
3649
3552
|
if (!Unit.typeConverters[type]) {
|
3650
3553
|
throw new TypeError('Unsupported type "' + type + '"');
|
3651
3554
|
}
|
3652
|
-
|
3653
3555
|
return Unit.typeConverters[type];
|
3654
|
-
};
|
3655
|
-
|
3556
|
+
};
|
3656
3557
|
|
3558
|
+
// Add dimensions to each built-in unit
|
3657
3559
|
for (var _key2 in UNITS) {
|
3658
3560
|
if (hasOwnProperty(UNITS, _key2)) {
|
3659
3561
|
var unit = UNITS[_key2];
|
3660
3562
|
unit.dimensions = unit.base.dimensions;
|
3661
3563
|
}
|
3662
|
-
}
|
3663
|
-
|
3564
|
+
}
|
3664
3565
|
|
3566
|
+
// Create aliases
|
3665
3567
|
for (var _name2 in ALIASES) {
|
3666
3568
|
if (hasOwnProperty(ALIASES, _name2)) {
|
3667
3569
|
var _unit2 = UNITS[ALIASES[_name2]];
|
3668
3570
|
var alias = {};
|
3669
|
-
|
3670
3571
|
for (var _key3 in _unit2) {
|
3671
3572
|
if (hasOwnProperty(_unit2, _key3)) {
|
3672
3573
|
alias[_key3] = _unit2[_key3];
|
3673
3574
|
}
|
3674
3575
|
}
|
3675
|
-
|
3676
3576
|
alias.name = _name2;
|
3677
3577
|
UNITS[_name2] = alias;
|
3678
3578
|
}
|
3679
3579
|
}
|
3580
|
+
|
3680
3581
|
/**
|
3681
3582
|
* Checks if a character is a valid latin letter (upper or lower case).
|
3682
3583
|
* Note that this function can be overridden, for example to allow support of other alphabets.
|
3683
3584
|
* @param {string} c Tested character
|
3684
3585
|
*/
|
3685
|
-
|
3686
|
-
|
3687
3586
|
Unit.isValidAlpha = function isValidAlpha(c) {
|
3688
3587
|
return /^[a-zA-Z]$/.test(c);
|
3689
3588
|
};
|
3690
|
-
|
3691
3589
|
function assertUnitNameIsValid(name) {
|
3692
3590
|
for (var i = 0; i < name.length; i++) {
|
3693
3591
|
c = name.charAt(i);
|
3694
|
-
|
3695
3592
|
if (i === 0 && !Unit.isValidAlpha(c)) {
|
3696
3593
|
throw new Error('Invalid unit name (must begin with alpha character): "' + name + '"');
|
3697
3594
|
}
|
3698
|
-
|
3699
3595
|
if (i > 0 && !(Unit.isValidAlpha(c) || isDigit(c))) {
|
3700
3596
|
throw new Error('Invalid unit name (only alphanumeric characters are allowed): "' + name + '"');
|
3701
3597
|
}
|
3702
3598
|
}
|
3703
3599
|
}
|
3600
|
+
|
3704
3601
|
/**
|
3705
3602
|
* Wrapper around createUnitSingle.
|
3706
3603
|
* Example:
|
@@ -3719,39 +3616,35 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3719
3616
|
* @param {object} obj Object map. Each key becomes a unit which is defined by its value.
|
3720
3617
|
* @param {object} options
|
3721
3618
|
*/
|
3722
|
-
|
3723
|
-
|
3724
3619
|
Unit.createUnit = function (obj, options) {
|
3725
3620
|
if (typeof obj !== 'object') {
|
3726
3621
|
throw new TypeError("createUnit expects first parameter to be of type 'Object'");
|
3727
|
-
}
|
3728
|
-
|
3622
|
+
}
|
3729
3623
|
|
3624
|
+
// Remove all units and aliases we are overriding
|
3730
3625
|
if (options && options.override) {
|
3731
3626
|
for (var _key4 in obj) {
|
3732
3627
|
if (hasOwnProperty(obj, _key4)) {
|
3733
3628
|
Unit.deleteUnit(_key4);
|
3734
3629
|
}
|
3735
|
-
|
3736
3630
|
if (obj[_key4].aliases) {
|
3737
3631
|
for (var i = 0; i < obj[_key4].aliases.length; i++) {
|
3738
3632
|
Unit.deleteUnit(obj[_key4].aliases[i]);
|
3739
3633
|
}
|
3740
3634
|
}
|
3741
3635
|
}
|
3742
|
-
}
|
3743
|
-
|
3636
|
+
}
|
3744
3637
|
|
3638
|
+
// TODO: traverse multiple times until all units have been added
|
3745
3639
|
var lastUnit;
|
3746
|
-
|
3747
3640
|
for (var _key5 in obj) {
|
3748
3641
|
if (hasOwnProperty(obj, _key5)) {
|
3749
3642
|
lastUnit = Unit.createUnitSingle(_key5, obj[_key5]);
|
3750
3643
|
}
|
3751
3644
|
}
|
3752
|
-
|
3753
3645
|
return lastUnit;
|
3754
3646
|
};
|
3647
|
+
|
3755
3648
|
/**
|
3756
3649
|
* Create a user-defined unit and register it with the Unit type.
|
3757
3650
|
* Example:
|
@@ -3773,39 +3666,30 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3773
3666
|
* base unit, the name of the newly create base unit. Otherwise, this property
|
3774
3667
|
* has no effect.
|
3775
3668
|
*
|
3776
|
-
* @param {Object} options (optional) An object containing any of the following
|
3777
|
-
* properties:
|
3778
|
-
* - override {boolean} Whether this unit should be allowed to override existing
|
3779
|
-
* units.
|
3780
|
-
*
|
3781
3669
|
* @return {Unit}
|
3782
3670
|
*/
|
3783
|
-
|
3784
|
-
|
3785
|
-
Unit.createUnitSingle = function (name, obj, options) {
|
3671
|
+
Unit.createUnitSingle = function (name, obj) {
|
3786
3672
|
if (typeof obj === 'undefined' || obj === null) {
|
3787
3673
|
obj = {};
|
3788
3674
|
}
|
3789
|
-
|
3790
3675
|
if (typeof name !== 'string') {
|
3791
3676
|
throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");
|
3792
|
-
}
|
3793
|
-
|
3677
|
+
}
|
3794
3678
|
|
3679
|
+
// Check collisions with existing units
|
3795
3680
|
if (hasOwnProperty(UNITS, name)) {
|
3796
3681
|
throw new Error('Cannot create unit "' + name + '": a unit with that name already exists');
|
3797
|
-
}
|
3682
|
+
}
|
3798
3683
|
|
3684
|
+
// TODO: Validate name for collisions with other built-in functions (like abs or cos, for example), and for acceptable variable names. For example, '42' is probably not a valid unit. Nor is '%', since it is also an operator.
|
3799
3685
|
|
3800
3686
|
assertUnitNameIsValid(name);
|
3801
3687
|
var defUnit = null; // The Unit from which the new unit will be created.
|
3802
|
-
|
3803
3688
|
var aliases = [];
|
3804
3689
|
var offset = 0;
|
3805
3690
|
var definition;
|
3806
3691
|
var prefixes;
|
3807
3692
|
var baseName;
|
3808
|
-
|
3809
3693
|
if (obj && obj.type === 'Unit') {
|
3810
3694
|
defUnit = obj.clone();
|
3811
3695
|
} else if (typeof obj === 'string') {
|
@@ -3817,14 +3701,12 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3817
3701
|
prefixes = obj.prefixes;
|
3818
3702
|
offset = obj.offset;
|
3819
3703
|
baseName = obj.baseName;
|
3820
|
-
|
3821
3704
|
if (obj.aliases) {
|
3822
3705
|
aliases = obj.aliases.valueOf(); // aliases could be a Matrix, so convert to Array
|
3823
3706
|
}
|
3824
3707
|
} else {
|
3825
3708
|
throw new TypeError('Cannot create unit "' + name + '" from "' + obj.toString() + '": expecting "string" or "Unit" or "Object"');
|
3826
3709
|
}
|
3827
|
-
|
3828
3710
|
if (aliases) {
|
3829
3711
|
for (var i = 0; i < aliases.length; i++) {
|
3830
3712
|
if (hasOwnProperty(UNITS, aliases[i])) {
|
@@ -3832,7 +3714,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3832
3714
|
}
|
3833
3715
|
}
|
3834
3716
|
}
|
3835
|
-
|
3836
3717
|
if (definition && typeof definition === 'string' && !defUnit) {
|
3837
3718
|
try {
|
3838
3719
|
defUnit = Unit.parse(definition, {
|
@@ -3845,54 +3726,48 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3845
3726
|
} else if (definition && definition.type === 'Unit') {
|
3846
3727
|
defUnit = definition.clone();
|
3847
3728
|
}
|
3848
|
-
|
3849
3729
|
aliases = aliases || [];
|
3850
3730
|
offset = offset || 0;
|
3851
|
-
|
3852
3731
|
if (prefixes && prefixes.toUpperCase) {
|
3853
3732
|
prefixes = PREFIXES[prefixes.toUpperCase()] || PREFIXES.NONE;
|
3854
3733
|
} else {
|
3855
3734
|
prefixes = PREFIXES.NONE;
|
3856
|
-
}
|
3857
|
-
// specify a defintion. So create a new base dimension.
|
3858
|
-
|
3735
|
+
}
|
3859
3736
|
|
3737
|
+
// If defUnit is null, it is because the user did not
|
3738
|
+
// specify a defintion. So create a new base dimension.
|
3860
3739
|
var newUnit = {};
|
3861
|
-
|
3862
3740
|
if (!defUnit) {
|
3863
3741
|
// Add a new base dimension
|
3864
3742
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
3865
|
-
|
3866
3743
|
if (BASE_DIMENSIONS.indexOf(baseName) >= 0) {
|
3867
3744
|
throw new Error('Cannot create new base unit "' + name + '": a base unit with that name already exists (and cannot be overridden)');
|
3868
3745
|
}
|
3746
|
+
BASE_DIMENSIONS.push(baseName);
|
3869
3747
|
|
3870
|
-
|
3871
|
-
|
3748
|
+
// Push 0 onto existing base units
|
3872
3749
|
for (var b in BASE_UNITS) {
|
3873
3750
|
if (hasOwnProperty(BASE_UNITS, b)) {
|
3874
3751
|
BASE_UNITS[b].dimensions[BASE_DIMENSIONS.length - 1] = 0;
|
3875
3752
|
}
|
3876
|
-
}
|
3877
|
-
|
3753
|
+
}
|
3878
3754
|
|
3755
|
+
// Add the new base unit
|
3879
3756
|
var newBaseUnit = {
|
3880
3757
|
dimensions: []
|
3881
3758
|
};
|
3882
|
-
|
3883
3759
|
for (var _i6 = 0; _i6 < BASE_DIMENSIONS.length; _i6++) {
|
3884
3760
|
newBaseUnit.dimensions[_i6] = 0;
|
3885
3761
|
}
|
3886
|
-
|
3887
3762
|
newBaseUnit.dimensions[BASE_DIMENSIONS.length - 1] = 1;
|
3888
3763
|
newBaseUnit.key = baseName;
|
3889
3764
|
BASE_UNITS[baseName] = newBaseUnit;
|
3890
3765
|
newUnit = {
|
3891
|
-
name
|
3766
|
+
name,
|
3892
3767
|
value: 1,
|
3893
3768
|
dimensions: BASE_UNITS[baseName].dimensions.slice(0),
|
3894
|
-
prefixes
|
3895
|
-
offset
|
3769
|
+
prefixes,
|
3770
|
+
offset,
|
3896
3771
|
base: BASE_UNITS[baseName]
|
3897
3772
|
};
|
3898
3773
|
currentUnitSystem[baseName] = {
|
@@ -3901,26 +3776,24 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3901
3776
|
};
|
3902
3777
|
} else {
|
3903
3778
|
newUnit = {
|
3904
|
-
name
|
3779
|
+
name,
|
3905
3780
|
value: defUnit.value,
|
3906
3781
|
dimensions: defUnit.dimensions.slice(0),
|
3907
|
-
prefixes
|
3908
|
-
offset
|
3909
|
-
};
|
3782
|
+
prefixes,
|
3783
|
+
offset
|
3784
|
+
};
|
3910
3785
|
|
3786
|
+
// Create a new base if no matching base exists
|
3911
3787
|
var anyMatch = false;
|
3912
|
-
|
3913
3788
|
for (var _i7 in BASE_UNITS) {
|
3914
3789
|
if (hasOwnProperty(BASE_UNITS, _i7)) {
|
3915
3790
|
var match = true;
|
3916
|
-
|
3917
3791
|
for (var j = 0; j < BASE_DIMENSIONS.length; j++) {
|
3918
3792
|
if (Math.abs((newUnit.dimensions[j] || 0) - (BASE_UNITS[_i7].dimensions[j] || 0)) > 1e-12) {
|
3919
3793
|
match = false;
|
3920
3794
|
break;
|
3921
3795
|
}
|
3922
3796
|
}
|
3923
|
-
|
3924
3797
|
if (match) {
|
3925
3798
|
anyMatch = true;
|
3926
3799
|
newUnit.base = BASE_UNITS[_i7];
|
@@ -3928,11 +3801,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3928
3801
|
}
|
3929
3802
|
}
|
3930
3803
|
}
|
3931
|
-
|
3932
3804
|
if (!anyMatch) {
|
3933
3805
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
3934
3806
|
// Add the new base unit
|
3935
|
-
|
3936
3807
|
var _newBaseUnit = {
|
3937
3808
|
dimensions: defUnit.dimensions.slice(0)
|
3938
3809
|
};
|
@@ -3945,31 +3816,28 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, (_ref) =
|
|
3945
3816
|
newUnit.base = BASE_UNITS[baseName];
|
3946
3817
|
}
|
3947
3818
|
}
|
3948
|
-
|
3949
3819
|
Unit.UNITS[name] = newUnit;
|
3950
|
-
|
3951
3820
|
for (var _i8 = 0; _i8 < aliases.length; _i8++) {
|
3952
3821
|
var aliasName = aliases[_i8];
|
3953
3822
|
var _alias = {};
|
3954
|
-
|
3955
3823
|
for (var _key6 in newUnit) {
|
3956
3824
|
if (hasOwnProperty(newUnit, _key6)) {
|
3957
3825
|
_alias[_key6] = newUnit[_key6];
|
3958
3826
|
}
|
3959
3827
|
}
|
3960
|
-
|
3961
3828
|
_alias.name = aliasName;
|
3962
3829
|
Unit.UNITS[aliasName] = _alias;
|
3963
3830
|
}
|
3964
|
-
|
3831
|
+
// delete the memoization cache, since adding a new unit to the array
|
3832
|
+
// invalidates all old results
|
3833
|
+
delete _findUnit.cache;
|
3965
3834
|
return new Unit(null, name);
|
3966
3835
|
};
|
3967
|
-
|
3968
3836
|
Unit.deleteUnit = function (name) {
|
3969
3837
|
delete Unit.UNITS[name];
|
3970
|
-
};
|
3971
|
-
|
3838
|
+
};
|
3972
3839
|
|
3840
|
+
// expose arrays with prefixes, dimensions, units, systems
|
3973
3841
|
Unit.PREFIXES = PREFIXES;
|
3974
3842
|
Unit.BASE_DIMENSIONS = BASE_DIMENSIONS;
|
3975
3843
|
Unit.BASE_UNITS = BASE_UNITS;
|