mathjs 11.2.1 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +9 -1
- package/README.md +26 -0
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +21 -23
- package/lib/cjs/core/create.js +23 -41
- package/lib/cjs/core/function/config.js +12 -16
- package/lib/cjs/core/function/import.js +21 -66
- package/lib/cjs/core/function/typed.js +24 -50
- package/lib/cjs/defaultInstance.js +0 -7
- package/lib/cjs/entry/allFactoriesAny.js +1 -5
- package/lib/cjs/entry/allFactoriesNumber.js +1 -5
- package/lib/cjs/entry/configReadonly.js +0 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +1 -32
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +1 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +1 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +2 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +1 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny.generated.js +0 -346
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +1 -14
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber.generated.js +0 -202
- package/lib/cjs/entry/impureFunctionsAny.generated.js +1 -9
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -9
- package/lib/cjs/entry/mainAny.js +0 -16
- package/lib/cjs/entry/mainNumber.js +0 -16
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -15
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +1 -15
- package/lib/cjs/entry/typeChecks.js +0 -1
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +5 -28
- package/lib/cjs/expression/Parser.js +8 -21
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +1 -235
- package/lib/cjs/expression/function/compile.js +1 -5
- package/lib/cjs/expression/function/evaluate.js +1 -6
- package/lib/cjs/expression/function/help.js +3 -12
- package/lib/cjs/expression/function/parser.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +15 -45
- package/lib/cjs/expression/node/ArrayNode.js +10 -33
- package/lib/cjs/expression/node/AssignmentNode.js +28 -68
- package/lib/cjs/expression/node/BlockNode.js +11 -37
- package/lib/cjs/expression/node/ConditionalNode.js +14 -56
- package/lib/cjs/expression/node/ConstantNode.js +10 -41
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +13 -54
- package/lib/cjs/expression/node/FunctionNode.js +32 -103
- package/lib/cjs/expression/node/IndexNode.js +15 -44
- package/lib/cjs/expression/node/Node.js +23 -57
- package/lib/cjs/expression/node/ObjectNode.js +10 -48
- package/lib/cjs/expression/node/OperatorNode.js +35 -142
- package/lib/cjs/expression/node/ParenthesisNode.js +11 -33
- package/lib/cjs/expression/node/RangeNode.js +15 -66
- package/lib/cjs/expression/node/RelationalNode.js +8 -44
- package/lib/cjs/expression/node/SymbolNode.js +16 -43
- package/lib/cjs/expression/node/utils/access.js +0 -7
- package/lib/cjs/expression/node/utils/assign.js +1 -8
- package/lib/cjs/expression/operators.js +22 -54
- package/lib/cjs/expression/parse.js +162 -341
- package/lib/cjs/expression/transform/apply.transform.js +4 -10
- package/lib/cjs/expression/transform/column.transform.js +6 -12
- package/lib/cjs/expression/transform/concat.transform.js +3 -10
- package/lib/cjs/expression/transform/cumsum.transform.js +2 -9
- package/lib/cjs/expression/transform/diff.transform.js +5 -11
- package/lib/cjs/expression/transform/filter.transform.js +3 -14
- package/lib/cjs/expression/transform/forEach.transform.js +2 -14
- package/lib/cjs/expression/transform/index.transform.js +4 -9
- package/lib/cjs/expression/transform/map.transform.js +3 -16
- package/lib/cjs/expression/transform/max.transform.js +4 -10
- package/lib/cjs/expression/transform/mean.transform.js +3 -9
- package/lib/cjs/expression/transform/min.transform.js +4 -10
- package/lib/cjs/expression/transform/range.transform.js +8 -13
- package/lib/cjs/expression/transform/row.transform.js +6 -12
- package/lib/cjs/expression/transform/std.transform.js +4 -10
- package/lib/cjs/expression/transform/subset.transform.js +2 -6
- package/lib/cjs/expression/transform/sum.transform.js +3 -9
- package/lib/cjs/expression/transform/utils/compileInlineExpression.js +2 -7
- package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +0 -4
- package/lib/cjs/expression/transform/variance.transform.js +7 -13
- package/lib/cjs/factoriesAny.js +0 -278
- package/lib/cjs/factoriesNumber.js +20 -123
- package/lib/cjs/function/algebra/decomposition/lup.js +136 -173
- package/lib/cjs/function/algebra/decomposition/qr.js +36 -54
- package/lib/cjs/function/algebra/decomposition/slu.js +18 -22
- package/lib/cjs/function/algebra/derivative.js +47 -119
- package/lib/cjs/function/algebra/leafCount.js +2 -6
- package/lib/cjs/function/algebra/rationalize.js +152 -170
- package/lib/cjs/function/algebra/resolve.js +8 -19
- package/lib/cjs/function/algebra/simplify/util.js +14 -74
- package/lib/cjs/function/algebra/simplify.js +126 -213
- package/lib/cjs/function/algebra/simplifyConstant.js +45 -131
- package/lib/cjs/function/algebra/simplifyCore.js +29 -81
- package/lib/cjs/function/algebra/solver/lsolve.js +28 -35
- package/lib/cjs/function/algebra/solver/lsolveAll.js +30 -36
- package/lib/cjs/function/algebra/solver/lusolve.js +15 -25
- package/lib/cjs/function/algebra/solver/usolve.js +32 -40
- package/lib/cjs/function/algebra/solver/usolveAll.js +34 -36
- package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
- package/lib/cjs/function/algebra/sparse/csAmd.js +249 -301
- package/lib/cjs/function/algebra/sparse/csChol.js +72 -88
- package/lib/cjs/function/algebra/sparse/csCounts.js +37 -55
- package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
- package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
- package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
- package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
- package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
- package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
- package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
- package/lib/cjs/function/algebra/sparse/csLeaf.js +12 -13
- package/lib/cjs/function/algebra/sparse/csLu.js +71 -92
- package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
- package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
- package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
- package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +32 -40
- package/lib/cjs/function/algebra/sparse/csSqr.js +62 -86
- package/lib/cjs/function/algebra/sparse/csSymperm.js +33 -44
- package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
- package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +3 -8
- package/lib/cjs/function/arithmetic/abs.js +0 -5
- package/lib/cjs/function/arithmetic/add.js +6 -14
- package/lib/cjs/function/arithmetic/addScalar.js +0 -6
- package/lib/cjs/function/arithmetic/cbrt.js +15 -26
- package/lib/cjs/function/arithmetic/ceil.js +11 -29
- package/lib/cjs/function/arithmetic/cube.js +2 -4
- package/lib/cjs/function/arithmetic/divide.js +7 -11
- package/lib/cjs/function/arithmetic/divideScalar.js +1 -4
- package/lib/cjs/function/arithmetic/dotDivide.js +5 -13
- package/lib/cjs/function/arithmetic/dotMultiply.js +4 -10
- package/lib/cjs/function/arithmetic/dotPow.js +5 -14
- package/lib/cjs/function/arithmetic/exp.js +0 -4
- package/lib/cjs/function/arithmetic/expm1.js +1 -5
- package/lib/cjs/function/arithmetic/fix.js +9 -17
- package/lib/cjs/function/arithmetic/floor.js +11 -29
- package/lib/cjs/function/arithmetic/gcd.js +8 -19
- package/lib/cjs/function/arithmetic/hypot.js +8 -17
- package/lib/cjs/function/arithmetic/invmod.js +11 -19
- package/lib/cjs/function/arithmetic/lcm.js +7 -20
- package/lib/cjs/function/arithmetic/log.js +3 -7
- package/lib/cjs/function/arithmetic/log10.js +2 -7
- package/lib/cjs/function/arithmetic/log1p.js +5 -11
- package/lib/cjs/function/arithmetic/log2.js +3 -8
- package/lib/cjs/function/arithmetic/mod.js +6 -17
- package/lib/cjs/function/arithmetic/multiply.js +312 -335
- package/lib/cjs/function/arithmetic/multiplyScalar.js +0 -4
- package/lib/cjs/function/arithmetic/norm.js +41 -69
- package/lib/cjs/function/arithmetic/nthRoot.js +9 -25
- package/lib/cjs/function/arithmetic/nthRoots.js +7 -15
- package/lib/cjs/function/arithmetic/pow.js +21 -40
- package/lib/cjs/function/arithmetic/round.js +6 -22
- package/lib/cjs/function/arithmetic/sign.js +3 -9
- package/lib/cjs/function/arithmetic/sqrt.js +3 -6
- package/lib/cjs/function/arithmetic/square.js +0 -4
- package/lib/cjs/function/arithmetic/subtract.js +7 -17
- package/lib/cjs/function/arithmetic/unaryMinus.js +2 -6
- package/lib/cjs/function/arithmetic/unaryPlus.js +5 -7
- package/lib/cjs/function/arithmetic/xgcd.js +12 -18
- package/lib/cjs/function/bitwise/bitAnd.js +3 -11
- package/lib/cjs/function/bitwise/bitNot.js +0 -6
- package/lib/cjs/function/bitwise/bitOr.js +4 -12
- package/lib/cjs/function/bitwise/bitXor.js +3 -11
- package/lib/cjs/function/bitwise/leftShift.js +5 -21
- package/lib/cjs/function/bitwise/rightArithShift.js +5 -21
- package/lib/cjs/function/bitwise/rightLogShift.js +6 -19
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +1 -3
- package/lib/cjs/function/combinatorics/bellNumbers.js +6 -11
- package/lib/cjs/function/combinatorics/catalan.js +6 -10
- package/lib/cjs/function/combinatorics/composition.js +6 -10
- package/lib/cjs/function/combinatorics/stirlingS2.js +12 -23
- package/lib/cjs/function/complex/arg.js +1 -4
- package/lib/cjs/function/complex/conj.js +0 -4
- package/lib/cjs/function/complex/im.js +0 -4
- package/lib/cjs/function/complex/re.js +0 -4
- package/lib/cjs/function/geometry/distance.js +7 -55
- package/lib/cjs/function/geometry/intersect.js +19 -54
- package/lib/cjs/function/logical/and.js +5 -17
- package/lib/cjs/function/logical/not.js +0 -5
- package/lib/cjs/function/logical/or.js +4 -11
- package/lib/cjs/function/logical/xor.js +3 -10
- package/lib/cjs/function/matrix/apply.js +3 -23
- package/lib/cjs/function/matrix/column.js +4 -10
- package/lib/cjs/function/matrix/concat.js +9 -26
- package/lib/cjs/function/matrix/count.js +2 -5
- package/lib/cjs/function/matrix/cross.js +4 -11
- package/lib/cjs/function/matrix/ctranspose.js +2 -5
- package/lib/cjs/function/matrix/det.js +7 -26
- package/lib/cjs/function/matrix/diag.js +21 -35
- package/lib/cjs/function/matrix/diff.js +7 -24
- package/lib/cjs/function/matrix/dot.js +22 -46
- package/lib/cjs/function/matrix/eigs/complexEigs.js +156 -209
- package/lib/cjs/function/matrix/eigs/realSymetric.js +62 -106
- package/lib/cjs/function/matrix/eigs.js +40 -72
- package/lib/cjs/function/matrix/expm.js +26 -42
- package/lib/cjs/function/matrix/fft.js +12 -26
- package/lib/cjs/function/matrix/filter.js +1 -7
- package/lib/cjs/function/matrix/flatten.js +6 -12
- package/lib/cjs/function/matrix/forEach.js +1 -9
- package/lib/cjs/function/matrix/getMatrixDataType.js +0 -5
- package/lib/cjs/function/matrix/identity.js +14 -30
- package/lib/cjs/function/matrix/ifft.js +3 -8
- package/lib/cjs/function/matrix/inv.js +20 -44
- package/lib/cjs/function/matrix/kron.js +3 -10
- package/lib/cjs/function/matrix/map.js +1 -11
- package/lib/cjs/function/matrix/matrixFromColumns.js +12 -22
- package/lib/cjs/function/matrix/matrixFromFunction.js +2 -8
- package/lib/cjs/function/matrix/matrixFromRows.js +6 -18
- package/lib/cjs/function/matrix/ones.js +8 -22
- package/lib/cjs/function/matrix/partitionSelect.js +15 -26
- package/lib/cjs/function/matrix/pinv.js +18 -50
- package/lib/cjs/function/matrix/range.js +15 -41
- package/lib/cjs/function/matrix/reshape.js +1 -5
- package/lib/cjs/function/matrix/resize.js +6 -27
- package/lib/cjs/function/matrix/rotate.js +2 -14
- package/lib/cjs/function/matrix/rotationMatrix.js +14 -33
- package/lib/cjs/function/matrix/row.js +4 -10
- package/lib/cjs/function/matrix/size.js +2 -7
- package/lib/cjs/function/matrix/sort.js +7 -20
- package/lib/cjs/function/matrix/sqrtm.js +12 -25
- package/lib/cjs/function/matrix/squeeze.js +3 -8
- package/lib/cjs/function/matrix/subset.js +16 -39
- package/lib/cjs/function/matrix/trace.js +22 -36
- package/lib/cjs/function/matrix/transpose.js +43 -58
- package/lib/cjs/function/matrix/zeros.js +10 -23
- package/lib/cjs/function/probability/combinations.js +3 -12
- package/lib/cjs/function/probability/combinationsWithRep.js +1 -17
- package/lib/cjs/function/probability/factorial.js +1 -7
- package/lib/cjs/function/probability/gamma.js +23 -34
- package/lib/cjs/function/probability/kldivergence.js +10 -22
- package/lib/cjs/function/probability/lgamma.js +13 -17
- package/lib/cjs/function/probability/multinomial.js +6 -11
- package/lib/cjs/function/probability/permutations.js +6 -19
- package/lib/cjs/function/probability/pickRandom.js +7 -27
- package/lib/cjs/function/probability/random.js +9 -20
- package/lib/cjs/function/probability/randomInt.js +3 -12
- package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
- package/lib/cjs/function/probability/util/seededRNG.js +6 -9
- package/lib/cjs/function/relational/compare.js +8 -17
- package/lib/cjs/function/relational/compareNatural.js +28 -59
- package/lib/cjs/function/relational/compareText.js +2 -6
- package/lib/cjs/function/relational/compareUnits.js +0 -3
- package/lib/cjs/function/relational/deepEqual.js +2 -8
- package/lib/cjs/function/relational/equal.js +5 -15
- package/lib/cjs/function/relational/equalScalar.js +3 -9
- package/lib/cjs/function/relational/equalText.js +2 -5
- package/lib/cjs/function/relational/larger.js +5 -14
- package/lib/cjs/function/relational/largerEq.js +5 -14
- package/lib/cjs/function/relational/smaller.js +5 -14
- package/lib/cjs/function/relational/smallerEq.js +5 -14
- package/lib/cjs/function/relational/unequal.js +6 -17
- package/lib/cjs/function/set/setCartesian.js +9 -17
- package/lib/cjs/function/set/setDifference.js +9 -19
- package/lib/cjs/function/set/setDistinct.js +9 -17
- package/lib/cjs/function/set/setIntersect.js +9 -17
- package/lib/cjs/function/set/setIsSubset.js +4 -13
- package/lib/cjs/function/set/setMultiplicity.js +4 -11
- package/lib/cjs/function/set/setPowerset.js +10 -20
- package/lib/cjs/function/set/setSize.js +1 -7
- package/lib/cjs/function/set/setSymDifference.js +5 -10
- package/lib/cjs/function/set/setUnion.js +6 -11
- package/lib/cjs/function/special/erf.js +12 -27
- package/lib/cjs/function/statistics/cumsum.js +4 -27
- package/lib/cjs/function/statistics/mad.js +4 -12
- package/lib/cjs/function/statistics/max.js +7 -16
- package/lib/cjs/function/statistics/mean.js +4 -14
- package/lib/cjs/function/statistics/median.js +14 -21
- package/lib/cjs/function/statistics/min.js +7 -16
- package/lib/cjs/function/statistics/mode.js +3 -15
- package/lib/cjs/function/statistics/prod.js +9 -13
- package/lib/cjs/function/statistics/quantileSeq.js +19 -65
- package/lib/cjs/function/statistics/std.js +3 -10
- package/lib/cjs/function/statistics/sum.js +6 -14
- package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
- package/lib/cjs/function/statistics/variance.js +11 -24
- package/lib/cjs/function/string/bin.js +2 -4
- package/lib/cjs/function/string/format.js +0 -4
- package/lib/cjs/function/string/hex.js +2 -4
- package/lib/cjs/function/string/oct.js +2 -3
- package/lib/cjs/function/string/print.js +1 -10
- package/lib/cjs/function/trigonometry/acos.js +2 -5
- package/lib/cjs/function/trigonometry/acosh.js +2 -8
- package/lib/cjs/function/trigonometry/acot.js +1 -5
- package/lib/cjs/function/trigonometry/acoth.js +3 -8
- package/lib/cjs/function/trigonometry/acsc.js +3 -8
- package/lib/cjs/function/trigonometry/acsch.js +1 -5
- package/lib/cjs/function/trigonometry/asec.js +3 -8
- package/lib/cjs/function/trigonometry/asech.js +3 -10
- package/lib/cjs/function/trigonometry/asin.js +2 -5
- package/lib/cjs/function/trigonometry/asinh.js +0 -4
- package/lib/cjs/function/trigonometry/atan.js +0 -3
- package/lib/cjs/function/trigonometry/atan2.js +6 -13
- package/lib/cjs/function/trigonometry/atanh.js +2 -7
- package/lib/cjs/function/trigonometry/cos.js +1 -4
- package/lib/cjs/function/trigonometry/cosh.js +0 -4
- package/lib/cjs/function/trigonometry/cot.js +2 -6
- package/lib/cjs/function/trigonometry/coth.js +1 -5
- package/lib/cjs/function/trigonometry/csc.js +2 -6
- package/lib/cjs/function/trigonometry/csch.js +1 -5
- package/lib/cjs/function/trigonometry/sec.js +2 -6
- package/lib/cjs/function/trigonometry/sech.js +1 -5
- package/lib/cjs/function/trigonometry/sin.js +1 -4
- package/lib/cjs/function/trigonometry/sinh.js +0 -4
- package/lib/cjs/function/trigonometry/tan.js +1 -4
- package/lib/cjs/function/trigonometry/tanh.js +0 -4
- package/lib/cjs/function/trigonometry/trigUnit.js +0 -3
- package/lib/cjs/function/unit/to.js +2 -5
- package/lib/cjs/function/utils/clone.js +0 -4
- package/lib/cjs/function/utils/hasNumericValue.js +1 -4
- package/lib/cjs/function/utils/isInteger.js +1 -5
- package/lib/cjs/function/utils/isNaN.js +0 -5
- package/lib/cjs/function/utils/isNegative.js +1 -5
- package/lib/cjs/function/utils/isNumeric.js +0 -4
- package/lib/cjs/function/utils/isPositive.js +0 -5
- package/lib/cjs/function/utils/isPrime.js +4 -25
- package/lib/cjs/function/utils/isZero.js +0 -5
- package/lib/cjs/function/utils/numeric.js +5 -13
- package/lib/cjs/function/utils/typeOf.js +0 -4
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/json/replacer.js +0 -3
- package/lib/cjs/json/reviver.js +0 -5
- package/lib/cjs/number.js +0 -2
- package/lib/cjs/plain/bignumber/arithmetic.js +0 -10
- package/lib/cjs/plain/bignumber/index.js +0 -7
- package/lib/cjs/plain/number/arithmetic.js +24 -85
- package/lib/cjs/plain/number/bitwise.js +0 -23
- package/lib/cjs/plain/number/combinations.js +4 -14
- package/lib/cjs/plain/number/constants.js +0 -1
- package/lib/cjs/plain/number/index.js +0 -18
- package/lib/cjs/plain/number/logical.js +0 -8
- package/lib/cjs/plain/number/probability.js +11 -22
- package/lib/cjs/plain/number/trigonometry.js +0 -52
- package/lib/cjs/plain/number/utils.js +0 -12
- package/lib/cjs/type/bignumber/BigNumber.js +4 -13
- package/lib/cjs/type/bignumber/function/bignumber.js +1 -10
- package/lib/cjs/type/boolean.js +2 -9
- package/lib/cjs/type/chain/Chain.js +18 -43
- package/lib/cjs/type/chain/function/chain.js +1 -4
- package/lib/cjs/type/complex/Complex.js +8 -35
- package/lib/cjs/type/complex/function/complex.js +2 -7
- package/lib/cjs/type/fraction/Fraction.js +2 -8
- package/lib/cjs/type/fraction/function/fraction.js +2 -6
- package/lib/cjs/type/matrix/DenseMatrix.js +144 -246
- package/lib/cjs/type/matrix/FibonacciHeap.js +119 -159
- package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +20 -43
- package/lib/cjs/type/matrix/Matrix.js +18 -38
- package/lib/cjs/type/matrix/MatrixIndex.js +24 -65
- package/lib/cjs/type/matrix/Range.js +14 -50
- package/lib/cjs/type/matrix/Spa.js +34 -54
- package/lib/cjs/type/matrix/SparseMatrix.js +414 -531
- package/lib/cjs/type/matrix/function/index.js +1 -5
- package/lib/cjs/type/matrix/function/matrix.js +4 -9
- package/lib/cjs/type/matrix/function/sparse.js +1 -4
- package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +36 -36
- package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +43 -43
- package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +40 -40
- package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +71 -71
- package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +73 -74
- package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +61 -61
- package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +47 -49
- package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +67 -67
- package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +57 -56
- package/lib/cjs/type/matrix/utils/matAlgo10xSids.js +33 -33
- package/lib/cjs/type/matrix/utils/matAlgo11xS0s.js +39 -38
- package/lib/cjs/type/matrix/utils/matAlgo12xSfs.js +33 -33
- package/lib/cjs/type/matrix/utils/matAlgo13xDD.js +26 -28
- package/lib/cjs/type/matrix/utils/matAlgo14xDs.js +18 -19
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +10 -32
- package/lib/cjs/type/number.js +7 -26
- package/lib/cjs/type/resultset/ResultSet.js +5 -13
- package/lib/cjs/type/string.js +0 -5
- package/lib/cjs/type/unit/Unit.js +205 -388
- package/lib/cjs/type/unit/function/createUnit.js +1 -4
- package/lib/cjs/type/unit/function/splitUnit.js +0 -3
- package/lib/cjs/type/unit/function/unit.js +5 -6
- package/lib/cjs/type/unit/physicalConstants.js +22 -19
- package/lib/cjs/utils/array.js +62 -137
- package/lib/cjs/utils/bignumber/bitwise.js +13 -96
- package/lib/cjs/utils/bignumber/constants.js +4 -7
- package/lib/cjs/utils/bignumber/formatter.js +20 -46
- package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
- package/lib/cjs/utils/collection.js +24 -43
- package/lib/cjs/utils/complex.js +0 -2
- package/lib/cjs/utils/customs.js +18 -42
- package/lib/cjs/utils/emitter.js +2 -4
- package/lib/cjs/utils/factory.js +11 -28
- package/lib/cjs/utils/function.js +4 -21
- package/lib/cjs/utils/is.js +3 -50
- package/lib/cjs/utils/latex.js +6 -14
- package/lib/cjs/utils/log.js +0 -6
- package/lib/cjs/utils/lruQueue.js +0 -9
- package/lib/cjs/utils/map.js +12 -44
- package/lib/cjs/utils/noop.js +0 -5
- package/lib/cjs/utils/number.js +71 -151
- package/lib/cjs/utils/object.js +25 -85
- package/lib/cjs/utils/product.js +0 -4
- package/lib/cjs/utils/scope.js +0 -4
- package/lib/cjs/utils/snapshot.js +13 -47
- package/lib/cjs/utils/string.js +9 -40
- package/lib/cjs/utils/switch.js +0 -5
- package/lib/cjs/version.js +2 -2
- package/lib/esm/constants.js +9 -5
- package/lib/esm/core/create.js +24 -26
- package/lib/esm/core/function/config.js +12 -10
- package/lib/esm/core/function/import.js +21 -57
- package/lib/esm/core/function/typed.js +23 -41
- package/lib/esm/entry/configReadonly.js +2 -3
- package/lib/esm/entry/dependenciesAny.generated.js +0 -1
- package/lib/esm/entry/dependenciesNumber.generated.js +0 -1
- package/lib/esm/entry/impureFunctionsAny.generated.js +2 -8
- package/lib/esm/entry/impureFunctionsNumber.generated.js +2 -8
- package/lib/esm/entry/mainAny.js +10 -5
- package/lib/esm/entry/mainNumber.js +10 -5
- package/lib/esm/entry/pureFunctionsAny.generated.js +2 -1
- package/lib/esm/entry/pureFunctionsNumber.generated.js +2 -1
- package/lib/esm/error/ArgumentsError.js +0 -1
- package/lib/esm/error/DimensionError.js +0 -1
- package/lib/esm/error/IndexError.js +0 -4
- package/lib/esm/expression/Help.js +5 -23
- package/lib/esm/expression/Parser.js +8 -18
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +1 -0
- package/lib/esm/expression/function/compile.js +0 -1
- package/lib/esm/expression/function/evaluate.js +0 -1
- package/lib/esm/expression/function/help.js +1 -5
- package/lib/esm/expression/function/parser.js +0 -1
- package/lib/esm/expression/node/AccessorNode.js +14 -40
- package/lib/esm/expression/node/ArrayNode.js +11 -29
- package/lib/esm/expression/node/AssignmentNode.js +25 -58
- package/lib/esm/expression/node/BlockNode.js +11 -33
- package/lib/esm/expression/node/ConditionalNode.js +15 -53
- package/lib/esm/expression/node/ConstantNode.js +11 -37
- package/lib/esm/expression/node/FunctionAssignmentNode.js +13 -46
- package/lib/esm/expression/node/FunctionNode.js +30 -93
- package/lib/esm/expression/node/IndexNode.js +15 -38
- package/lib/esm/expression/node/Node.js +23 -67
- package/lib/esm/expression/node/ObjectNode.js +11 -41
- package/lib/esm/expression/node/OperatorNode.js +36 -138
- package/lib/esm/expression/node/ParenthesisNode.js +12 -32
- package/lib/esm/expression/node/RangeNode.js +16 -62
- package/lib/esm/expression/node/RelationalNode.js +9 -37
- package/lib/esm/expression/node/SymbolNode.js +16 -39
- package/lib/esm/expression/node/utils/access.js +0 -2
- package/lib/esm/expression/node/utils/assign.js +0 -2
- package/lib/esm/expression/operators.js +21 -41
- package/lib/esm/expression/parse.js +145 -323
- package/lib/esm/expression/transform/apply.transform.js +3 -4
- package/lib/esm/expression/transform/column.transform.js +3 -4
- package/lib/esm/expression/transform/concat.transform.js +1 -3
- package/lib/esm/expression/transform/cumsum.transform.js +1 -3
- package/lib/esm/expression/transform/diff.transform.js +1 -2
- package/lib/esm/expression/transform/filter.transform.js +3 -7
- package/lib/esm/expression/transform/forEach.transform.js +2 -8
- package/lib/esm/expression/transform/index.transform.js +4 -6
- package/lib/esm/expression/transform/map.transform.js +3 -9
- package/lib/esm/expression/transform/max.transform.js +1 -2
- package/lib/esm/expression/transform/mean.transform.js +1 -2
- package/lib/esm/expression/transform/min.transform.js +1 -2
- package/lib/esm/expression/transform/range.transform.js +1 -3
- package/lib/esm/expression/transform/row.transform.js +3 -4
- package/lib/esm/expression/transform/std.transform.js +1 -2
- package/lib/esm/expression/transform/subset.transform.js +1 -1
- package/lib/esm/expression/transform/sum.transform.js +1 -2
- package/lib/esm/expression/transform/utils/compileInlineExpression.js +3 -5
- package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +1 -3
- package/lib/esm/expression/transform/variance.transform.js +1 -2
- package/lib/esm/factoriesAny.js +2 -1
- package/lib/esm/factoriesNumber.js +58 -33
- package/lib/esm/function/algebra/decomposition/lup.js +124 -158
- package/lib/esm/function/algebra/decomposition/qr.js +22 -36
- package/lib/esm/function/algebra/decomposition/slu.js +9 -8
- package/lib/esm/function/algebra/derivative.js +36 -105
- package/lib/esm/function/algebra/leafCount.js +1 -3
- package/lib/esm/function/algebra/rationalize.js +127 -142
- package/lib/esm/function/algebra/resolve.js +3 -10
- package/lib/esm/function/algebra/simplify/util.js +12 -67
- package/lib/esm/function/algebra/simplify.js +86 -162
- package/lib/esm/function/algebra/simplifyConstant.js +22 -94
- package/lib/esm/function/algebra/simplifyCore.js +6 -52
- package/lib/esm/function/algebra/solver/lsolve.js +22 -26
- package/lib/esm/function/algebra/solver/lsolveAll.js +24 -25
- package/lib/esm/function/algebra/solver/lusolve.js +9 -14
- package/lib/esm/function/algebra/solver/usolve.js +26 -31
- package/lib/esm/function/algebra/solver/usolveAll.js +28 -25
- package/lib/esm/function/algebra/solver/utils/solveValidation.js +4 -28
- package/lib/esm/function/algebra/sparse/csAmd.js +247 -294
- package/lib/esm/function/algebra/sparse/csChol.js +63 -75
- package/lib/esm/function/algebra/sparse/csCounts.js +37 -52
- package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
- package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
- package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
- package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
- package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
- package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
- package/lib/esm/function/algebra/sparse/csLeaf.js +12 -12
- package/lib/esm/function/algebra/sparse/csLu.js +65 -83
- package/lib/esm/function/algebra/sparse/csMark.js +1 -1
- package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
- package/lib/esm/function/algebra/sparse/csPost.js +15 -23
- package/lib/esm/function/algebra/sparse/csReach.js +15 -17
- package/lib/esm/function/algebra/sparse/csSpsolve.js +30 -35
- package/lib/esm/function/algebra/sparse/csSqr.js +60 -77
- package/lib/esm/function/algebra/sparse/csSymperm.js +32 -40
- package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
- package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
- package/lib/esm/function/algebra/symbolicEqual.js +0 -2
- package/lib/esm/function/arithmetic/abs.js +0 -1
- package/lib/esm/function/arithmetic/add.js +1 -3
- package/lib/esm/function/arithmetic/addScalar.js +0 -3
- package/lib/esm/function/arithmetic/cbrt.js +8 -15
- package/lib/esm/function/arithmetic/ceil.js +0 -3
- package/lib/esm/function/arithmetic/cube.js +2 -1
- package/lib/esm/function/arithmetic/divide.js +2 -1
- package/lib/esm/function/arithmetic/divideScalar.js +0 -1
- package/lib/esm/function/arithmetic/dotDivide.js +1 -1
- package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
- package/lib/esm/function/arithmetic/dotPow.js +1 -3
- package/lib/esm/function/arithmetic/exp.js +0 -1
- package/lib/esm/function/arithmetic/expm1.js +0 -1
- package/lib/esm/function/arithmetic/fix.js +0 -3
- package/lib/esm/function/arithmetic/floor.js +0 -3
- package/lib/esm/function/arithmetic/gcd.js +4 -8
- package/lib/esm/function/arithmetic/hypot.js +1 -6
- package/lib/esm/function/arithmetic/invmod.js +0 -2
- package/lib/esm/function/arithmetic/lcm.js +5 -11
- package/lib/esm/function/arithmetic/log.js +0 -1
- package/lib/esm/function/arithmetic/log10.js +0 -1
- package/lib/esm/function/arithmetic/log1p.js +1 -3
- package/lib/esm/function/arithmetic/log2.js +1 -2
- package/lib/esm/function/arithmetic/mod.js +3 -5
- package/lib/esm/function/arithmetic/multiply.js +307 -324
- package/lib/esm/function/arithmetic/multiplyScalar.js +0 -1
- package/lib/esm/function/arithmetic/norm.js +29 -55
- package/lib/esm/function/arithmetic/nthRoot.js +6 -14
- package/lib/esm/function/arithmetic/nthRoots.js +4 -10
- package/lib/esm/function/arithmetic/pow.js +13 -27
- package/lib/esm/function/arithmetic/round.js +1 -10
- package/lib/esm/function/arithmetic/sign.js +0 -2
- package/lib/esm/function/arithmetic/sqrt.js +1 -2
- package/lib/esm/function/arithmetic/square.js +0 -1
- package/lib/esm/function/arithmetic/subtract.js +2 -4
- package/lib/esm/function/arithmetic/unaryMinus.js +2 -2
- package/lib/esm/function/arithmetic/unaryPlus.js +3 -1
- package/lib/esm/function/arithmetic/xgcd.js +9 -12
- package/lib/esm/function/bitwise/bitAnd.js +1 -1
- package/lib/esm/function/bitwise/bitNot.js +0 -1
- package/lib/esm/function/bitwise/bitOr.js +1 -1
- package/lib/esm/function/bitwise/bitXor.js +1 -1
- package/lib/esm/function/bitwise/leftShift.js +1 -5
- package/lib/esm/function/bitwise/rightArithShift.js +1 -5
- package/lib/esm/function/bitwise/rightLogShift.js +2 -4
- package/lib/esm/function/combinatorics/bellNumbers.js +2 -5
- package/lib/esm/function/combinatorics/catalan.js +0 -2
- package/lib/esm/function/combinatorics/composition.js +0 -2
- package/lib/esm/function/combinatorics/stirlingS2.js +0 -8
- package/lib/esm/function/complex/arg.js +1 -1
- package/lib/esm/function/complex/conj.js +0 -1
- package/lib/esm/function/complex/im.js +0 -1
- package/lib/esm/function/complex/re.js +0 -1
- package/lib/esm/function/geometry/distance.js +0 -45
- package/lib/esm/function/geometry/intersect.js +5 -38
- package/lib/esm/function/logical/and.js +1 -5
- package/lib/esm/function/logical/not.js +0 -1
- package/lib/esm/function/logical/or.js +1 -1
- package/lib/esm/function/logical/xor.js +1 -1
- package/lib/esm/function/matrix/apply.js +2 -16
- package/lib/esm/function/matrix/column.js +1 -3
- package/lib/esm/function/matrix/concat.js +7 -16
- package/lib/esm/function/matrix/count.js +0 -1
- package/lib/esm/function/matrix/cross.js +1 -5
- package/lib/esm/function/matrix/ctranspose.js +0 -1
- package/lib/esm/function/matrix/det.js +1 -15
- package/lib/esm/function/matrix/diag.js +18 -27
- package/lib/esm/function/matrix/diff.js +4 -17
- package/lib/esm/function/matrix/dot.js +18 -39
- package/lib/esm/function/matrix/eigs/complexEigs.js +131 -169
- package/lib/esm/function/matrix/eigs/realSymetric.js +51 -93
- package/lib/esm/function/matrix/eigs.js +6 -30
- package/lib/esm/function/matrix/expm.js +21 -33
- package/lib/esm/function/matrix/fft.js +5 -14
- package/lib/esm/function/matrix/filter.js +1 -2
- package/lib/esm/function/matrix/flatten.js +5 -7
- package/lib/esm/function/matrix/forEach.js +1 -4
- package/lib/esm/function/matrix/getMatrixDataType.js +0 -1
- package/lib/esm/function/matrix/identity.js +9 -20
- package/lib/esm/function/matrix/ifft.js +0 -1
- package/lib/esm/function/matrix/inv.js +12 -31
- package/lib/esm/function/matrix/kron.js +1 -5
- package/lib/esm/function/matrix/map.js +1 -7
- package/lib/esm/function/matrix/matrixFromColumns.js +8 -12
- package/lib/esm/function/matrix/matrixFromFunction.js +0 -4
- package/lib/esm/function/matrix/matrixFromRows.js +2 -8
- package/lib/esm/function/matrix/ones.js +5 -14
- package/lib/esm/function/matrix/partitionSelect.js +12 -19
- package/lib/esm/function/matrix/pinv.js +5 -31
- package/lib/esm/function/matrix/range.js +8 -31
- package/lib/esm/function/matrix/reshape.js +0 -1
- package/lib/esm/function/matrix/resize.js +5 -17
- package/lib/esm/function/matrix/rotate.js +0 -9
- package/lib/esm/function/matrix/rotationMatrix.js +3 -19
- package/lib/esm/function/matrix/row.js +1 -3
- package/lib/esm/function/matrix/size.js +0 -1
- package/lib/esm/function/matrix/sort.js +4 -14
- package/lib/esm/function/matrix/sqrtm.js +2 -10
- package/lib/esm/function/matrix/squeeze.js +2 -3
- package/lib/esm/function/matrix/subset.js +15 -30
- package/lib/esm/function/matrix/trace.js +20 -30
- package/lib/esm/function/matrix/transpose.js +42 -53
- package/lib/esm/function/matrix/zeros.js +8 -15
- package/lib/esm/function/probability/combinations.js +3 -8
- package/lib/esm/function/probability/combinationsWithRep.js +1 -12
- package/lib/esm/function/probability/factorial.js +0 -3
- package/lib/esm/function/probability/gamma.js +18 -26
- package/lib/esm/function/probability/kldivergence.js +2 -12
- package/lib/esm/function/probability/lgamma.js +12 -12
- package/lib/esm/function/probability/multinomial.js +0 -2
- package/lib/esm/function/probability/permutations.js +5 -13
- package/lib/esm/function/probability/pickRandom.js +2 -17
- package/lib/esm/function/probability/random.js +4 -10
- package/lib/esm/function/probability/randomInt.js +1 -5
- package/lib/esm/function/probability/util/randomMatrix.js +0 -2
- package/lib/esm/function/probability/util/seededRNG.js +6 -5
- package/lib/esm/function/relational/compare.js +1 -1
- package/lib/esm/function/relational/compareNatural.js +27 -52
- package/lib/esm/function/relational/compareText.js +1 -1
- package/lib/esm/function/relational/compareUnits.js +0 -1
- package/lib/esm/function/relational/deepEqual.js +1 -5
- package/lib/esm/function/relational/equal.js +1 -5
- package/lib/esm/function/relational/equalScalar.js +1 -1
- package/lib/esm/function/relational/equalText.js +0 -1
- package/lib/esm/function/relational/larger.js +1 -1
- package/lib/esm/function/relational/largerEq.js +1 -1
- package/lib/esm/function/relational/smaller.js +1 -1
- package/lib/esm/function/relational/smallerEq.js +1 -1
- package/lib/esm/function/relational/unequal.js +1 -6
- package/lib/esm/function/set/setCartesian.js +4 -9
- package/lib/esm/function/set/setDifference.js +4 -11
- package/lib/esm/function/set/setDistinct.js +4 -9
- package/lib/esm/function/set/setIntersect.js +4 -9
- package/lib/esm/function/set/setIsSubset.js +0 -6
- package/lib/esm/function/set/setMultiplicity.js +0 -4
- package/lib/esm/function/set/setPowerset.js +6 -13
- package/lib/esm/function/set/setSize.js +0 -3
- package/lib/esm/function/set/setSymDifference.js +0 -2
- package/lib/esm/function/set/setUnion.js +0 -2
- package/lib/esm/function/special/erf.js +12 -23
- package/lib/esm/function/statistics/cumsum.js +2 -18
- package/lib/esm/function/statistics/mad.js +0 -4
- package/lib/esm/function/statistics/max.js +4 -9
- package/lib/esm/function/statistics/mean.js +2 -7
- package/lib/esm/function/statistics/median.js +10 -12
- package/lib/esm/function/statistics/min.js +4 -9
- package/lib/esm/function/statistics/mode.js +1 -10
- package/lib/esm/function/statistics/prod.js +6 -6
- package/lib/esm/function/statistics/quantileSeq.js +15 -56
- package/lib/esm/function/statistics/std.js +0 -4
- package/lib/esm/function/statistics/sum.js +3 -7
- package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
- package/lib/esm/function/statistics/variance.js +5 -13
- package/lib/esm/function/string/bin.js +1 -1
- package/lib/esm/function/string/format.js +0 -1
- package/lib/esm/function/string/hex.js +1 -1
- package/lib/esm/function/string/oct.js +1 -0
- package/lib/esm/function/string/print.js +1 -5
- package/lib/esm/function/trigonometry/acos.js +0 -1
- package/lib/esm/function/trigonometry/acosh.js +0 -3
- package/lib/esm/function/trigonometry/acot.js +0 -1
- package/lib/esm/function/trigonometry/acoth.js +0 -2
- package/lib/esm/function/trigonometry/acsc.js +0 -2
- package/lib/esm/function/trigonometry/acsch.js +0 -1
- package/lib/esm/function/trigonometry/asec.js +0 -2
- package/lib/esm/function/trigonometry/asech.js +0 -4
- package/lib/esm/function/trigonometry/asin.js +0 -1
- package/lib/esm/function/trigonometry/asinh.js +0 -1
- package/lib/esm/function/trigonometry/atan.js +0 -1
- package/lib/esm/function/trigonometry/atan2.js +2 -1
- package/lib/esm/function/trigonometry/atanh.js +0 -2
- package/lib/esm/function/trigonometry/cos.js +1 -1
- package/lib/esm/function/trigonometry/cosh.js +0 -1
- package/lib/esm/function/trigonometry/cot.js +1 -1
- package/lib/esm/function/trigonometry/coth.js +0 -1
- package/lib/esm/function/trigonometry/csc.js +1 -1
- package/lib/esm/function/trigonometry/csch.js +0 -1
- package/lib/esm/function/trigonometry/sec.js +1 -1
- package/lib/esm/function/trigonometry/sech.js +0 -1
- package/lib/esm/function/trigonometry/sin.js +1 -1
- package/lib/esm/function/trigonometry/sinh.js +0 -1
- package/lib/esm/function/trigonometry/tan.js +1 -1
- package/lib/esm/function/trigonometry/tanh.js +0 -1
- package/lib/esm/function/trigonometry/trigUnit.js +0 -1
- package/lib/esm/function/unit/to.js +1 -1
- package/lib/esm/function/utils/clone.js +0 -1
- package/lib/esm/function/utils/hasNumericValue.js +0 -1
- package/lib/esm/function/utils/isInteger.js +1 -1
- package/lib/esm/function/utils/isNaN.js +0 -1
- package/lib/esm/function/utils/isNegative.js +1 -1
- package/lib/esm/function/utils/isNumeric.js +0 -1
- package/lib/esm/function/utils/isPositive.js +0 -1
- package/lib/esm/function/utils/isPrime.js +4 -22
- package/lib/esm/function/utils/isZero.js +0 -1
- package/lib/esm/function/utils/numeric.js +3 -7
- package/lib/esm/function/utils/typeOf.js +0 -1
- package/lib/esm/json/replacer.js +0 -1
- package/lib/esm/json/reviver.js +0 -3
- package/lib/esm/plain/bignumber/index.js +2 -1
- package/lib/esm/plain/number/arithmetic.js +25 -45
- package/lib/esm/plain/number/bitwise.js +0 -7
- package/lib/esm/plain/number/combinations.js +4 -10
- package/lib/esm/plain/number/probability.js +12 -16
- package/lib/esm/type/bignumber/BigNumber.js +3 -6
- package/lib/esm/type/bignumber/function/bignumber.js +0 -6
- package/lib/esm/type/boolean.js +2 -6
- package/lib/esm/type/chain/Chain.js +16 -36
- package/lib/esm/type/chain/function/chain.js +0 -1
- package/lib/esm/type/complex/Complex.js +8 -28
- package/lib/esm/type/complex/function/complex.js +1 -3
- package/lib/esm/type/fraction/Fraction.js +2 -4
- package/lib/esm/type/fraction/function/fraction.js +1 -2
- package/lib/esm/type/matrix/DenseMatrix.js +143 -224
- package/lib/esm/type/matrix/FibonacciHeap.js +118 -156
- package/lib/esm/type/matrix/ImmutableDenseMatrix.js +19 -38
- package/lib/esm/type/matrix/Matrix.js +18 -36
- package/lib/esm/type/matrix/MatrixIndex.js +24 -60
- package/lib/esm/type/matrix/Range.js +14 -46
- package/lib/esm/type/matrix/Spa.js +32 -50
- package/lib/esm/type/matrix/SparseMatrix.js +412 -513
- package/lib/esm/type/matrix/function/index.js +0 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -4
- package/lib/esm/type/matrix/function/sparse.js +0 -1
- package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +36 -33
- package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +42 -39
- package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +40 -37
- package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +70 -67
- package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +72 -70
- package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +60 -56
- package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +46 -45
- package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +66 -63
- package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +56 -52
- package/lib/esm/type/matrix/utils/matAlgo10xSids.js +32 -30
- package/lib/esm/type/matrix/utils/matAlgo11xS0s.js +38 -35
- package/lib/esm/type/matrix/utils/matAlgo12xSfs.js +32 -30
- package/lib/esm/type/matrix/utils/matAlgo13xDD.js +26 -25
- package/lib/esm/type/matrix/utils/matAlgo14xDs.js +18 -16
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +9 -26
- package/lib/esm/type/number.js +7 -23
- package/lib/esm/type/resultset/ResultSet.js +5 -11
- package/lib/esm/type/string.js +0 -1
- package/lib/esm/type/unit/Unit.js +189 -362
- package/lib/esm/type/unit/function/createUnit.js +0 -1
- package/lib/esm/type/unit/function/splitUnit.js +0 -1
- package/lib/esm/type/unit/function/unit.js +4 -2
- package/lib/esm/type/unit/physicalConstants.js +22 -15
- package/lib/esm/utils/array.js +63 -113
- package/lib/esm/utils/bignumber/bitwise.js +13 -89
- package/lib/esm/utils/bignumber/constants.js +5 -5
- package/lib/esm/utils/bignumber/formatter.js +21 -42
- package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
- package/lib/esm/utils/collection.js +25 -35
- package/lib/esm/utils/complex.js +1 -1
- package/lib/esm/utils/customs.js +19 -39
- package/lib/esm/utils/emitter.js +3 -2
- package/lib/esm/utils/factory.js +12 -20
- package/lib/esm/utils/function.js +4 -13
- package/lib/esm/utils/is.js +3 -7
- package/lib/esm/utils/latex.js +6 -8
- package/lib/esm/utils/log.js +0 -2
- package/lib/esm/utils/lruQueue.js +0 -8
- package/lib/esm/utils/map.js +6 -21
- package/lib/esm/utils/number.js +72 -115
- package/lib/esm/utils/object.js +26 -66
- package/lib/esm/utils/product.js +0 -3
- package/lib/esm/utils/scope.js +1 -3
- package/lib/esm/utils/snapshot.js +10 -32
- package/lib/esm/utils/string.js +10 -32
- package/lib/esm/utils/switch.js +0 -4
- package/lib/esm/version.js +2 -1
- package/package.json +16 -15
- package/types/index.d.ts +30 -35
- package/types/index.ts +72 -7
- package/types/tsconfig.json +1 -0
|
@@ -1,54 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createUnitClass = void 0;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _is = require("../../utils/is.js");
|
|
17
|
-
|
|
18
12
|
var _factory = require("../../utils/factory.js");
|
|
19
|
-
|
|
20
13
|
var _function = require("../../utils/function.js");
|
|
21
|
-
|
|
22
14
|
var _string = require("../../utils/string.js");
|
|
23
|
-
|
|
24
15
|
var _object = require("../../utils/object.js");
|
|
25
|
-
|
|
26
16
|
var _constants = require("../../utils/bignumber/constants.js");
|
|
27
|
-
|
|
28
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
|
-
|
|
30
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
|
-
|
|
32
19
|
var name = 'Unit';
|
|
33
20
|
var dependencies = ['?on', 'config', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
|
|
34
21
|
var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
|
35
22
|
var on = _ref.on,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
23
|
+
config = _ref.config,
|
|
24
|
+
addScalar = _ref.addScalar,
|
|
25
|
+
subtract = _ref.subtract,
|
|
26
|
+
multiplyScalar = _ref.multiplyScalar,
|
|
27
|
+
divideScalar = _ref.divideScalar,
|
|
28
|
+
pow = _ref.pow,
|
|
29
|
+
abs = _ref.abs,
|
|
30
|
+
fix = _ref.fix,
|
|
31
|
+
round = _ref.round,
|
|
32
|
+
equal = _ref.equal,
|
|
33
|
+
isNumeric = _ref.isNumeric,
|
|
34
|
+
format = _ref.format,
|
|
35
|
+
number = _ref.number,
|
|
36
|
+
Complex = _ref.Complex,
|
|
37
|
+
_BigNumber = _ref.BigNumber,
|
|
38
|
+
_Fraction = _ref.Fraction;
|
|
52
39
|
var toNumber = number;
|
|
53
40
|
/**
|
|
54
41
|
* A unit can be constructed in the following ways:
|
|
@@ -69,24 +56,20 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
69
56
|
* @param {number | BigNumber | Fraction | Complex | boolean} [value] A value like 5.2
|
|
70
57
|
* @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like "cm"
|
|
71
58
|
*/
|
|
72
|
-
|
|
73
59
|
function Unit(value, valuelessUnit) {
|
|
74
60
|
if (!(this instanceof Unit)) {
|
|
75
61
|
throw new Error('Constructor must be called with the new operator');
|
|
76
62
|
}
|
|
77
|
-
|
|
78
63
|
if (!(value === null || value === undefined || isNumeric(value) || (0, _is.isComplex)(value))) {
|
|
79
64
|
throw new TypeError('First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined');
|
|
80
65
|
}
|
|
81
|
-
|
|
82
66
|
this.fixPrefix = false; // if true, function format will not search for the
|
|
83
67
|
// best prefix but leave it as initially provided.
|
|
84
68
|
// fixPrefix is set true by the method Unit.to
|
|
69
|
+
|
|
85
70
|
// The justification behind this is that if the constructor is explicitly called,
|
|
86
71
|
// the caller wishes the units to be returned exactly as supplied.
|
|
87
|
-
|
|
88
72
|
this.skipAutomaticSimplification = true;
|
|
89
|
-
|
|
90
73
|
if (valuelessUnit === undefined) {
|
|
91
74
|
this.units = [];
|
|
92
75
|
this.dimensions = BASE_DIMENSIONS.map(function (x) {
|
|
@@ -107,69 +90,59 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
107
90
|
} else {
|
|
108
91
|
throw new TypeError('Second parameter in Unit constructor must be a string or valueless Unit');
|
|
109
92
|
}
|
|
110
|
-
|
|
111
93
|
this.value = this._normalize(value);
|
|
112
94
|
}
|
|
95
|
+
|
|
113
96
|
/**
|
|
114
97
|
* Attach type information
|
|
115
98
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
118
99
|
Object.defineProperty(Unit, 'name', {
|
|
119
100
|
value: 'Unit'
|
|
120
101
|
});
|
|
121
102
|
Unit.prototype.constructor = Unit;
|
|
122
103
|
Unit.prototype.type = 'Unit';
|
|
123
|
-
Unit.prototype.isUnit = true;
|
|
104
|
+
Unit.prototype.isUnit = true;
|
|
124
105
|
|
|
106
|
+
// private variables and functions for the Unit parser
|
|
125
107
|
var text, index, c;
|
|
126
|
-
|
|
127
108
|
function skipWhitespace() {
|
|
128
109
|
while (c === ' ' || c === '\t') {
|
|
129
110
|
next();
|
|
130
111
|
}
|
|
131
112
|
}
|
|
132
|
-
|
|
133
113
|
function isDigitDot(c) {
|
|
134
114
|
return c >= '0' && c <= '9' || c === '.';
|
|
135
115
|
}
|
|
136
|
-
|
|
137
116
|
function isDigit(c) {
|
|
138
117
|
return c >= '0' && c <= '9';
|
|
139
118
|
}
|
|
140
|
-
|
|
141
119
|
function next() {
|
|
142
120
|
index++;
|
|
143
121
|
c = text.charAt(index);
|
|
144
122
|
}
|
|
145
|
-
|
|
146
123
|
function revert(oldIndex) {
|
|
147
124
|
index = oldIndex;
|
|
148
125
|
c = text.charAt(index);
|
|
149
126
|
}
|
|
150
|
-
|
|
151
127
|
function parseNumber() {
|
|
152
128
|
var number = '';
|
|
153
129
|
var oldIndex = index;
|
|
154
|
-
|
|
155
130
|
if (c === '+') {
|
|
156
131
|
next();
|
|
157
132
|
} else if (c === '-') {
|
|
158
133
|
number += c;
|
|
159
134
|
next();
|
|
160
135
|
}
|
|
161
|
-
|
|
162
136
|
if (!isDigitDot(c)) {
|
|
163
137
|
// a + or - must be followed by a digit
|
|
164
138
|
revert(oldIndex);
|
|
165
139
|
return null;
|
|
166
|
-
}
|
|
167
|
-
|
|
140
|
+
}
|
|
168
141
|
|
|
142
|
+
// get number, can have a single dot
|
|
169
143
|
if (c === '.') {
|
|
170
144
|
number += c;
|
|
171
145
|
next();
|
|
172
|
-
|
|
173
146
|
if (!isDigit(c)) {
|
|
174
147
|
// this is no legal number, it is just a dot
|
|
175
148
|
revert(oldIndex);
|
|
@@ -180,68 +153,62 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
180
153
|
number += c;
|
|
181
154
|
next();
|
|
182
155
|
}
|
|
183
|
-
|
|
184
156
|
if (c === '.') {
|
|
185
157
|
number += c;
|
|
186
158
|
next();
|
|
187
159
|
}
|
|
188
160
|
}
|
|
189
|
-
|
|
190
161
|
while (isDigit(c)) {
|
|
191
162
|
number += c;
|
|
192
163
|
next();
|
|
193
|
-
}
|
|
194
|
-
|
|
164
|
+
}
|
|
195
165
|
|
|
166
|
+
// check for exponential notation like "2.3e-4" or "1.23e50"
|
|
196
167
|
if (c === 'E' || c === 'e') {
|
|
197
168
|
// 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"
|
|
169
|
+
|
|
198
170
|
var tentativeNumber = '';
|
|
199
171
|
var tentativeIndex = index;
|
|
200
172
|
tentativeNumber += c;
|
|
201
173
|
next();
|
|
202
|
-
|
|
203
174
|
if (c === '+' || c === '-') {
|
|
204
175
|
tentativeNumber += c;
|
|
205
176
|
next();
|
|
206
|
-
}
|
|
207
|
-
|
|
177
|
+
}
|
|
208
178
|
|
|
179
|
+
// Scientific notation MUST be followed by an exponent (otherwise we assume it is not scientific notation)
|
|
209
180
|
if (!isDigit(c)) {
|
|
210
181
|
// The e or E must belong to something else, so return the number without the e or E.
|
|
211
182
|
revert(tentativeIndex);
|
|
212
183
|
return number;
|
|
213
|
-
}
|
|
214
|
-
|
|
184
|
+
}
|
|
215
185
|
|
|
186
|
+
// We can now safely say that this is scientific notation.
|
|
216
187
|
number = number + tentativeNumber;
|
|
217
|
-
|
|
218
188
|
while (isDigit(c)) {
|
|
219
189
|
number += c;
|
|
220
190
|
next();
|
|
221
191
|
}
|
|
222
192
|
}
|
|
223
|
-
|
|
224
193
|
return number;
|
|
225
194
|
}
|
|
226
|
-
|
|
227
195
|
function parseUnit() {
|
|
228
|
-
var unitName = '';
|
|
196
|
+
var unitName = '';
|
|
229
197
|
|
|
198
|
+
// Alphanumeric characters only; matches [a-zA-Z0-9]
|
|
230
199
|
while (isDigit(c) || Unit.isValidAlpha(c)) {
|
|
231
200
|
unitName += c;
|
|
232
201
|
next();
|
|
233
|
-
}
|
|
234
|
-
|
|
202
|
+
}
|
|
235
203
|
|
|
204
|
+
// Must begin with [a-zA-Z]
|
|
236
205
|
var firstC = unitName.charAt(0);
|
|
237
|
-
|
|
238
206
|
if (Unit.isValidAlpha(firstC)) {
|
|
239
207
|
return unitName;
|
|
240
208
|
} else {
|
|
241
209
|
return null;
|
|
242
210
|
}
|
|
243
211
|
}
|
|
244
|
-
|
|
245
212
|
function parseCharacter(toFind) {
|
|
246
213
|
if (c === toFind) {
|
|
247
214
|
next();
|
|
@@ -250,6 +217,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
250
217
|
return null;
|
|
251
218
|
}
|
|
252
219
|
}
|
|
220
|
+
|
|
253
221
|
/**
|
|
254
222
|
* Parse a string into a unit. The value of the unit is parsed as number,
|
|
255
223
|
* BigNumber, or Fraction depending on the math.js config setting `number`.
|
|
@@ -260,24 +228,23 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
260
228
|
* @param {string} str A string like "5.2 inch", "4e2 cm/s^2"
|
|
261
229
|
* @return {Unit} unit
|
|
262
230
|
*/
|
|
263
|
-
|
|
264
|
-
|
|
265
231
|
Unit.parse = function (str, options) {
|
|
266
232
|
options = options || {};
|
|
267
233
|
text = str;
|
|
268
234
|
index = -1;
|
|
269
235
|
c = '';
|
|
270
|
-
|
|
271
236
|
if (typeof text !== 'string') {
|
|
272
237
|
throw new TypeError('Invalid argument in Unit.parse, string expected');
|
|
273
238
|
}
|
|
274
|
-
|
|
275
239
|
var unit = new Unit();
|
|
276
240
|
unit.units = [];
|
|
277
241
|
var powerMultiplierCurrent = 1;
|
|
278
|
-
var expectingUnit = false;
|
|
242
|
+
var expectingUnit = false;
|
|
243
|
+
|
|
244
|
+
// A unit should follow this pattern:
|
|
279
245
|
// [number] ...[ [*/] unit[^number] ]
|
|
280
246
|
// unit[^number] ... [ [*/] unit[^number] ]
|
|
247
|
+
|
|
281
248
|
// Rules:
|
|
282
249
|
// number is any floating point number.
|
|
283
250
|
// 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!
|
|
@@ -289,11 +256,11 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
289
256
|
// 4erg
|
|
290
257
|
|
|
291
258
|
next();
|
|
292
|
-
skipWhitespace();
|
|
259
|
+
skipWhitespace();
|
|
293
260
|
|
|
261
|
+
// Optional number at the start of the string
|
|
294
262
|
var valueStr = parseNumber();
|
|
295
263
|
var value = null;
|
|
296
|
-
|
|
297
264
|
if (valueStr) {
|
|
298
265
|
if (config.number === 'BigNumber') {
|
|
299
266
|
value = new _BigNumber(valueStr);
|
|
@@ -308,10 +275,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
308
275
|
// number
|
|
309
276
|
value = parseFloat(valueStr);
|
|
310
277
|
}
|
|
311
|
-
|
|
312
278
|
skipWhitespace(); // Whitespace is not required here
|
|
313
|
-
// handle multiplication or division right after the value, like '1/s'
|
|
314
279
|
|
|
280
|
+
// handle multiplication or division right after the value, like '1/s'
|
|
315
281
|
if (parseCharacter('*')) {
|
|
316
282
|
powerMultiplierCurrent = 1;
|
|
317
283
|
expectingUnit = true;
|
|
@@ -319,93 +285,83 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
319
285
|
powerMultiplierCurrent = -1;
|
|
320
286
|
expectingUnit = true;
|
|
321
287
|
}
|
|
322
|
-
}
|
|
323
|
-
|
|
288
|
+
}
|
|
324
289
|
|
|
325
|
-
|
|
290
|
+
// Stack to keep track of powerMultipliers applied to each parentheses group
|
|
291
|
+
var powerMultiplierStack = [];
|
|
326
292
|
|
|
293
|
+
// Running product of all elements in powerMultiplierStack
|
|
327
294
|
var powerMultiplierStackProduct = 1;
|
|
328
|
-
|
|
329
295
|
while (true) {
|
|
330
|
-
skipWhitespace();
|
|
331
|
-
// A '(' will always appear directly before a unit.
|
|
296
|
+
skipWhitespace();
|
|
332
297
|
|
|
298
|
+
// Check for and consume opening parentheses, pushing powerMultiplierCurrent to the stack
|
|
299
|
+
// A '(' will always appear directly before a unit.
|
|
333
300
|
while (c === '(') {
|
|
334
301
|
powerMultiplierStack.push(powerMultiplierCurrent);
|
|
335
302
|
powerMultiplierStackProduct *= powerMultiplierCurrent;
|
|
336
303
|
powerMultiplierCurrent = 1;
|
|
337
304
|
next();
|
|
338
305
|
skipWhitespace();
|
|
339
|
-
}
|
|
340
|
-
|
|
306
|
+
}
|
|
341
307
|
|
|
308
|
+
// Is there something here?
|
|
342
309
|
var uStr = void 0;
|
|
343
|
-
|
|
344
310
|
if (c) {
|
|
345
311
|
var oldC = c;
|
|
346
312
|
uStr = parseUnit();
|
|
347
|
-
|
|
348
313
|
if (uStr === null) {
|
|
349
314
|
throw new SyntaxError('Unexpected "' + oldC + '" in "' + text + '" at index ' + index.toString());
|
|
350
315
|
}
|
|
351
316
|
} else {
|
|
352
317
|
// End of input.
|
|
353
318
|
break;
|
|
354
|
-
}
|
|
355
|
-
|
|
319
|
+
}
|
|
356
320
|
|
|
321
|
+
// Verify the unit exists and get the prefix (if any)
|
|
357
322
|
var res = _findUnit(uStr);
|
|
358
|
-
|
|
359
323
|
if (res === null) {
|
|
360
324
|
// Unit not found.
|
|
361
325
|
throw new SyntaxError('Unit "' + uStr + '" not found.');
|
|
362
326
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
327
|
+
var power = powerMultiplierCurrent * powerMultiplierStackProduct;
|
|
328
|
+
// Is there a "^ number"?
|
|
366
329
|
skipWhitespace();
|
|
367
|
-
|
|
368
330
|
if (parseCharacter('^')) {
|
|
369
331
|
skipWhitespace();
|
|
370
332
|
var p = parseNumber();
|
|
371
|
-
|
|
372
333
|
if (p === null) {
|
|
373
334
|
// No valid number found for the power!
|
|
374
335
|
throw new SyntaxError('In "' + str + '", "^" must be followed by a floating-point number');
|
|
375
336
|
}
|
|
376
|
-
|
|
377
337
|
power *= p;
|
|
378
|
-
}
|
|
379
|
-
|
|
338
|
+
}
|
|
380
339
|
|
|
340
|
+
// Add the unit to the list
|
|
381
341
|
unit.units.push({
|
|
382
342
|
unit: res.unit,
|
|
383
343
|
prefix: res.prefix,
|
|
384
344
|
power: power
|
|
385
345
|
});
|
|
386
|
-
|
|
387
346
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
388
347
|
unit.dimensions[i] += (res.unit.dimensions[i] || 0) * power;
|
|
389
|
-
}
|
|
390
|
-
// A ')' will always follow a unit.
|
|
391
|
-
|
|
348
|
+
}
|
|
392
349
|
|
|
350
|
+
// Check for and consume closing parentheses, popping from the stack.
|
|
351
|
+
// A ')' will always follow a unit.
|
|
393
352
|
skipWhitespace();
|
|
394
|
-
|
|
395
353
|
while (c === ')') {
|
|
396
354
|
if (powerMultiplierStack.length === 0) {
|
|
397
355
|
throw new SyntaxError('Unmatched ")" in "' + text + '" at index ' + index.toString());
|
|
398
356
|
}
|
|
399
|
-
|
|
400
357
|
powerMultiplierStackProduct /= powerMultiplierStack.pop();
|
|
401
358
|
next();
|
|
402
359
|
skipWhitespace();
|
|
403
|
-
}
|
|
404
|
-
// Is there a forward slash? If so, negate powerMultiplierCurrent. The next unit or paren group is in the denominator.
|
|
405
|
-
|
|
360
|
+
}
|
|
406
361
|
|
|
362
|
+
// "*" and "/" should mean we are expecting something to come next.
|
|
363
|
+
// Is there a forward slash? If so, negate powerMultiplierCurrent. The next unit or paren group is in the denominator.
|
|
407
364
|
expectingUnit = false;
|
|
408
|
-
|
|
409
365
|
if (parseCharacter('*')) {
|
|
410
366
|
// explicit multiplication
|
|
411
367
|
powerMultiplierCurrent = 1;
|
|
@@ -417,9 +373,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
417
373
|
} else {
|
|
418
374
|
// implicit multiplication
|
|
419
375
|
powerMultiplierCurrent = 1;
|
|
420
|
-
}
|
|
421
|
-
|
|
376
|
+
}
|
|
422
377
|
|
|
378
|
+
// Replace the unit into the auto unit system
|
|
423
379
|
if (res.unit.base) {
|
|
424
380
|
var baseDim = res.unit.base.key;
|
|
425
381
|
UNIT_SYSTEMS.auto[baseDim] = {
|
|
@@ -427,40 +383,37 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
427
383
|
prefix: res.prefix
|
|
428
384
|
};
|
|
429
385
|
}
|
|
430
|
-
}
|
|
431
|
-
|
|
386
|
+
}
|
|
432
387
|
|
|
388
|
+
// Has the string been entirely consumed?
|
|
433
389
|
skipWhitespace();
|
|
434
|
-
|
|
435
390
|
if (c) {
|
|
436
391
|
throw new SyntaxError('Could not parse: "' + str + '"');
|
|
437
|
-
}
|
|
438
|
-
|
|
392
|
+
}
|
|
439
393
|
|
|
394
|
+
// Is there a trailing slash?
|
|
440
395
|
if (expectingUnit) {
|
|
441
396
|
throw new SyntaxError('Trailing characters: "' + str + '"');
|
|
442
|
-
}
|
|
443
|
-
|
|
397
|
+
}
|
|
444
398
|
|
|
399
|
+
// Is the parentheses stack empty?
|
|
445
400
|
if (powerMultiplierStack.length !== 0) {
|
|
446
401
|
throw new SyntaxError('Unmatched "(" in "' + text + '"');
|
|
447
|
-
}
|
|
448
|
-
|
|
402
|
+
}
|
|
449
403
|
|
|
404
|
+
// Are there any units at all?
|
|
450
405
|
if (unit.units.length === 0 && !options.allowNoUnits) {
|
|
451
406
|
throw new SyntaxError('"' + str + '" contains no units');
|
|
452
407
|
}
|
|
453
|
-
|
|
454
408
|
unit.value = value !== undefined ? unit._normalize(value) : null;
|
|
455
409
|
return unit;
|
|
456
410
|
};
|
|
411
|
+
|
|
457
412
|
/**
|
|
458
413
|
* create a copy of this unit
|
|
459
414
|
* @memberof Unit
|
|
460
415
|
* @return {Unit} Returns a cloned version of the unit
|
|
461
416
|
*/
|
|
462
|
-
|
|
463
|
-
|
|
464
417
|
Unit.prototype.clone = function () {
|
|
465
418
|
var unit = new Unit();
|
|
466
419
|
unit.fixPrefix = this.fixPrefix;
|
|
@@ -468,44 +421,39 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
468
421
|
unit.value = (0, _object.clone)(this.value);
|
|
469
422
|
unit.dimensions = this.dimensions.slice(0);
|
|
470
423
|
unit.units = [];
|
|
471
|
-
|
|
472
424
|
for (var i = 0; i < this.units.length; i++) {
|
|
473
425
|
unit.units[i] = {};
|
|
474
|
-
|
|
475
426
|
for (var p in this.units[i]) {
|
|
476
427
|
if ((0, _object.hasOwnProperty)(this.units[i], p)) {
|
|
477
428
|
unit.units[i][p] = this.units[i][p];
|
|
478
429
|
}
|
|
479
430
|
}
|
|
480
431
|
}
|
|
481
|
-
|
|
482
432
|
return unit;
|
|
483
433
|
};
|
|
434
|
+
|
|
484
435
|
/**
|
|
485
436
|
* Return the type of the value of this unit
|
|
486
437
|
*
|
|
487
438
|
* @memberof Unit
|
|
488
439
|
* @ return {string} type of the value of the unit
|
|
489
440
|
*/
|
|
490
|
-
|
|
491
|
-
|
|
492
441
|
Unit.prototype.valueType = function () {
|
|
493
442
|
return (0, _is.typeOf)(this.value);
|
|
494
443
|
};
|
|
444
|
+
|
|
495
445
|
/**
|
|
496
446
|
* Return whether the unit is derived (such as m/s, or cm^2, but not N)
|
|
497
447
|
* @memberof Unit
|
|
498
448
|
* @return {boolean} True if the unit is derived
|
|
499
449
|
*/
|
|
500
|
-
|
|
501
|
-
|
|
502
450
|
Unit.prototype._isDerived = function () {
|
|
503
451
|
if (this.units.length === 0) {
|
|
504
452
|
return false;
|
|
505
453
|
}
|
|
506
|
-
|
|
507
454
|
return this.units.length > 1 || Math.abs(this.units[0].power - 1.0) > 1e-15;
|
|
508
455
|
};
|
|
456
|
+
|
|
509
457
|
/**
|
|
510
458
|
* Normalize a value, based on its currently set unit(s)
|
|
511
459
|
* @memberof Unit
|
|
@@ -513,27 +461,22 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
513
461
|
* @return {number | BigNumber | Fraction | boolean} normalized value
|
|
514
462
|
* @private
|
|
515
463
|
*/
|
|
516
|
-
|
|
517
|
-
|
|
518
464
|
Unit.prototype._normalize = function (value) {
|
|
519
465
|
if (value === null || value === undefined || this.units.length === 0) {
|
|
520
466
|
return value;
|
|
521
467
|
}
|
|
522
|
-
|
|
523
468
|
var res = value;
|
|
524
|
-
|
|
525
469
|
var convert = Unit._getNumberConverter((0, _is.typeOf)(value)); // convert to Fraction or BigNumber if needed
|
|
526
470
|
|
|
527
|
-
|
|
528
471
|
for (var i = 0; i < this.units.length; i++) {
|
|
529
472
|
var unitValue = convert(this.units[i].unit.value);
|
|
530
473
|
var unitPrefixValue = convert(this.units[i].prefix.value);
|
|
531
474
|
var unitPower = convert(this.units[i].power);
|
|
532
475
|
res = multiplyScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
|
533
476
|
}
|
|
534
|
-
|
|
535
477
|
return res;
|
|
536
478
|
};
|
|
479
|
+
|
|
537
480
|
/**
|
|
538
481
|
* Denormalize a value, based on its currently set unit(s)
|
|
539
482
|
* @memberof Unit
|
|
@@ -542,27 +485,22 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
542
485
|
* @return {number} denormalized value
|
|
543
486
|
* @private
|
|
544
487
|
*/
|
|
545
|
-
|
|
546
|
-
|
|
547
488
|
Unit.prototype._denormalize = function (value, prefixValue) {
|
|
548
489
|
if (value === null || value === undefined || this.units.length === 0) {
|
|
549
490
|
return value;
|
|
550
491
|
}
|
|
551
|
-
|
|
552
492
|
var res = value;
|
|
553
|
-
|
|
554
493
|
var convert = Unit._getNumberConverter((0, _is.typeOf)(value)); // convert to Fraction or BigNumber if needed
|
|
555
494
|
|
|
556
|
-
|
|
557
495
|
for (var i = 0; i < this.units.length; i++) {
|
|
558
496
|
var unitValue = convert(this.units[i].unit.value);
|
|
559
497
|
var unitPrefixValue = convert(this.units[i].prefix.value);
|
|
560
498
|
var unitPower = convert(this.units[i].power);
|
|
561
499
|
res = divideScalar(res, pow(multiplyScalar(unitValue, unitPrefixValue), unitPower));
|
|
562
500
|
}
|
|
563
|
-
|
|
564
501
|
return res;
|
|
565
502
|
};
|
|
503
|
+
|
|
566
504
|
/**
|
|
567
505
|
* Find a unit from a string
|
|
568
506
|
* @memberof Unit
|
|
@@ -571,8 +509,6 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
571
509
|
* prefix is returned. Else, null is returned.
|
|
572
510
|
* @private
|
|
573
511
|
*/
|
|
574
|
-
|
|
575
|
-
|
|
576
512
|
var _findUnit = (0, _function.memoize)(function (str) {
|
|
577
513
|
// 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.
|
|
578
514
|
if ((0, _object.hasOwnProperty)(UNITS, str)) {
|
|
@@ -583,16 +519,13 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
583
519
|
prefix: prefix
|
|
584
520
|
};
|
|
585
521
|
}
|
|
586
|
-
|
|
587
522
|
for (var _name in UNITS) {
|
|
588
523
|
if ((0, _object.hasOwnProperty)(UNITS, _name)) {
|
|
589
524
|
if ((0, _string.endsWith)(str, _name)) {
|
|
590
525
|
var _unit = UNITS[_name];
|
|
591
526
|
var prefixLen = str.length - _name.length;
|
|
592
527
|
var prefixName = str.substring(0, prefixLen);
|
|
593
|
-
|
|
594
528
|
var _prefix = (0, _object.hasOwnProperty)(_unit.prefixes, prefixName) ? _unit.prefixes[prefixName] : undefined;
|
|
595
|
-
|
|
596
529
|
if (_prefix !== undefined) {
|
|
597
530
|
// store unit, prefix, and value
|
|
598
531
|
return {
|
|
@@ -603,7 +536,6 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
603
536
|
}
|
|
604
537
|
}
|
|
605
538
|
}
|
|
606
|
-
|
|
607
539
|
return null;
|
|
608
540
|
}, {
|
|
609
541
|
hasher: function hasher(args) {
|
|
@@ -611,6 +543,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
611
543
|
},
|
|
612
544
|
limit: 100
|
|
613
545
|
});
|
|
546
|
+
|
|
614
547
|
/**
|
|
615
548
|
* Test if the given expression is a unit.
|
|
616
549
|
* The unit can have a prefix but cannot have a value.
|
|
@@ -619,37 +552,33 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
619
552
|
* The unit can have prefix, like "cm"
|
|
620
553
|
* @return {boolean} true if the given string is a unit
|
|
621
554
|
*/
|
|
622
|
-
|
|
623
|
-
|
|
624
555
|
Unit.isValuelessUnit = function (name) {
|
|
625
556
|
return _findUnit(name) !== null;
|
|
626
557
|
};
|
|
558
|
+
|
|
627
559
|
/**
|
|
628
560
|
* check if this unit has given base unit
|
|
629
561
|
* If this unit is a derived unit, this will ALWAYS return false, since by definition base units are not derived.
|
|
630
562
|
* @memberof Unit
|
|
631
563
|
* @param {BASE_UNITS | string | undefined} base
|
|
632
564
|
*/
|
|
633
|
-
|
|
634
|
-
|
|
635
565
|
Unit.prototype.hasBase = function (base) {
|
|
636
566
|
if (typeof base === 'string') {
|
|
637
567
|
base = BASE_UNITS[base];
|
|
638
568
|
}
|
|
639
|
-
|
|
640
569
|
if (!base) {
|
|
641
570
|
return false;
|
|
642
|
-
}
|
|
643
|
-
|
|
571
|
+
}
|
|
644
572
|
|
|
573
|
+
// All dimensions must be the same
|
|
645
574
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
646
575
|
if (Math.abs((this.dimensions[i] || 0) - (base.dimensions[i] || 0)) > 1e-12) {
|
|
647
576
|
return false;
|
|
648
577
|
}
|
|
649
578
|
}
|
|
650
|
-
|
|
651
579
|
return true;
|
|
652
580
|
};
|
|
581
|
+
|
|
653
582
|
/**
|
|
654
583
|
* Check if this unit has a base or bases equal to another base or bases
|
|
655
584
|
* For derived units, the exponent on each base also must match
|
|
@@ -657,8 +586,6 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
657
586
|
* @param {Unit} other
|
|
658
587
|
* @return {boolean} true if equal base
|
|
659
588
|
*/
|
|
660
|
-
|
|
661
|
-
|
|
662
589
|
Unit.prototype.equalBase = function (other) {
|
|
663
590
|
// All dimensions must be the same
|
|
664
591
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
@@ -666,46 +593,41 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
666
593
|
return false;
|
|
667
594
|
}
|
|
668
595
|
}
|
|
669
|
-
|
|
670
596
|
return true;
|
|
671
597
|
};
|
|
598
|
+
|
|
672
599
|
/**
|
|
673
600
|
* Check if this unit equals another unit
|
|
674
601
|
* @memberof Unit
|
|
675
602
|
* @param {Unit} other
|
|
676
603
|
* @return {boolean} true if both units are equal
|
|
677
604
|
*/
|
|
678
|
-
|
|
679
|
-
|
|
680
605
|
Unit.prototype.equals = function (other) {
|
|
681
606
|
return this.equalBase(other) && equal(this.value, other.value);
|
|
682
607
|
};
|
|
608
|
+
|
|
683
609
|
/**
|
|
684
610
|
* Multiply this unit with another one or with a scalar
|
|
685
611
|
* @memberof Unit
|
|
686
612
|
* @param {Unit} other
|
|
687
613
|
* @return {Unit} product of this unit and the other unit
|
|
688
614
|
*/
|
|
689
|
-
|
|
690
|
-
|
|
691
615
|
Unit.prototype.multiply = function (_other) {
|
|
692
616
|
var res = this.clone();
|
|
693
617
|
var other = (0, _is.isUnit)(_other) ? _other : new Unit(_other);
|
|
694
|
-
|
|
695
618
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
696
619
|
// Dimensions arrays may be of different lengths. Default to 0.
|
|
697
620
|
res.dimensions[i] = (this.dimensions[i] || 0) + (other.dimensions[i] || 0);
|
|
698
|
-
}
|
|
699
|
-
|
|
621
|
+
}
|
|
700
622
|
|
|
623
|
+
// Append other's units list onto res
|
|
701
624
|
for (var _i = 0; _i < other.units.length; _i++) {
|
|
702
625
|
// Make a shallow copy of every unit
|
|
703
626
|
var inverted = _objectSpread({}, other.units[_i]);
|
|
704
|
-
|
|
705
627
|
res.units.push(inverted);
|
|
706
|
-
}
|
|
707
|
-
|
|
628
|
+
}
|
|
708
629
|
|
|
630
|
+
// If at least one operand has a value, then the result should also have a value
|
|
709
631
|
if (this.value !== null || other.value !== null) {
|
|
710
632
|
var valThis = this.value === null ? this._normalize(1) : this.value;
|
|
711
633
|
var valOther = other.value === null ? other._normalize(1) : other.value;
|
|
@@ -713,13 +635,12 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
713
635
|
} else {
|
|
714
636
|
res.value = null;
|
|
715
637
|
}
|
|
716
|
-
|
|
717
638
|
if ((0, _is.isUnit)(_other)) {
|
|
718
639
|
res.skipAutomaticSimplification = false;
|
|
719
640
|
}
|
|
720
|
-
|
|
721
641
|
return getNumericIfUnitless(res);
|
|
722
642
|
};
|
|
643
|
+
|
|
723
644
|
/**
|
|
724
645
|
* Divide a number by this unit
|
|
725
646
|
*
|
|
@@ -727,39 +648,34 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
727
648
|
* @param {numeric} numerator
|
|
728
649
|
* @param {unit} result of dividing numerator by this unit
|
|
729
650
|
*/
|
|
730
|
-
|
|
731
|
-
|
|
732
651
|
Unit.prototype.divideInto = function (numerator) {
|
|
733
652
|
return new Unit(numerator).divide(this);
|
|
734
653
|
};
|
|
654
|
+
|
|
735
655
|
/**
|
|
736
656
|
* Divide this unit by another one
|
|
737
657
|
* @memberof Unit
|
|
738
658
|
* @param {Unit | numeric} other
|
|
739
659
|
* @return {Unit} result of dividing this unit by the other unit
|
|
740
660
|
*/
|
|
741
|
-
|
|
742
|
-
|
|
743
661
|
Unit.prototype.divide = function (_other) {
|
|
744
662
|
var res = this.clone();
|
|
745
663
|
var other = (0, _is.isUnit)(_other) ? _other : new Unit(_other);
|
|
746
|
-
|
|
747
664
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
748
665
|
// Dimensions arrays may be of different lengths. Default to 0.
|
|
749
666
|
res.dimensions[i] = (this.dimensions[i] || 0) - (other.dimensions[i] || 0);
|
|
750
|
-
}
|
|
751
|
-
|
|
667
|
+
}
|
|
752
668
|
|
|
669
|
+
// Invert and append other's units list onto res
|
|
753
670
|
for (var _i2 = 0; _i2 < other.units.length; _i2++) {
|
|
754
671
|
// Make a shallow copy of every unit
|
|
755
672
|
var inverted = _objectSpread(_objectSpread({}, other.units[_i2]), {}, {
|
|
756
673
|
power: -other.units[_i2].power
|
|
757
674
|
});
|
|
758
|
-
|
|
759
675
|
res.units.push(inverted);
|
|
760
|
-
}
|
|
761
|
-
|
|
676
|
+
}
|
|
762
677
|
|
|
678
|
+
// If at least one operand has a value, the result should have a value
|
|
763
679
|
if (this.value !== null || other.value !== null) {
|
|
764
680
|
var valThis = this.value === null ? this._normalize(1) : this.value;
|
|
765
681
|
var valOther = other.value === null ? other._normalize(1) : other.value;
|
|
@@ -767,36 +683,33 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
767
683
|
} else {
|
|
768
684
|
res.value = null;
|
|
769
685
|
}
|
|
770
|
-
|
|
771
686
|
if ((0, _is.isUnit)(_other)) {
|
|
772
687
|
res.skipAutomaticSimplification = false;
|
|
773
688
|
}
|
|
774
|
-
|
|
775
689
|
return getNumericIfUnitless(res);
|
|
776
690
|
};
|
|
691
|
+
|
|
777
692
|
/**
|
|
778
693
|
* Calculate the power of a unit
|
|
779
694
|
* @memberof Unit
|
|
780
695
|
* @param {number | Fraction | BigNumber} p
|
|
781
696
|
* @returns {Unit} The result: this^p
|
|
782
697
|
*/
|
|
783
|
-
|
|
784
|
-
|
|
785
698
|
Unit.prototype.pow = function (p) {
|
|
786
699
|
var res = this.clone();
|
|
787
|
-
|
|
788
700
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
789
701
|
// Dimensions arrays may be of different lengths. Default to 0.
|
|
790
702
|
res.dimensions[i] = (this.dimensions[i] || 0) * p;
|
|
791
|
-
}
|
|
792
|
-
|
|
703
|
+
}
|
|
793
704
|
|
|
705
|
+
// Adjust the power of each unit in the list
|
|
794
706
|
for (var _i3 = 0; _i3 < res.units.length; _i3++) {
|
|
795
707
|
res.units[_i3].power *= p;
|
|
796
708
|
}
|
|
797
|
-
|
|
798
709
|
if (res.value !== null) {
|
|
799
|
-
res.value = pow(res.value, p);
|
|
710
|
+
res.value = pow(res.value, p);
|
|
711
|
+
|
|
712
|
+
// only allow numeric output, we don't want to return a Complex number
|
|
800
713
|
// if (!isNumeric(res.value)) {
|
|
801
714
|
// res.value = NaN
|
|
802
715
|
// }
|
|
@@ -804,17 +717,15 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
804
717
|
} else {
|
|
805
718
|
res.value = null;
|
|
806
719
|
}
|
|
807
|
-
|
|
808
720
|
res.skipAutomaticSimplification = false;
|
|
809
721
|
return getNumericIfUnitless(res);
|
|
810
722
|
};
|
|
723
|
+
|
|
811
724
|
/**
|
|
812
725
|
* Return the numeric value of this unit if it is dimensionless, has a value, and config.predictable == false; or the original unit otherwise
|
|
813
726
|
* @param {Unit} unit
|
|
814
727
|
* @returns {number | Fraction | BigNumber | Unit} The numeric value of the unit if conditions are met, or the original unit otherwise
|
|
815
728
|
*/
|
|
816
|
-
|
|
817
|
-
|
|
818
729
|
function getNumericIfUnitless(unit) {
|
|
819
730
|
if (unit.equalBase(BASE_UNITS.NONE) && unit.value !== null && !config.predictable) {
|
|
820
731
|
return unit.value;
|
|
@@ -822,17 +733,15 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
822
733
|
return unit;
|
|
823
734
|
}
|
|
824
735
|
}
|
|
736
|
+
|
|
825
737
|
/**
|
|
826
738
|
* Calculate the absolute value of a unit
|
|
827
739
|
* @memberof Unit
|
|
828
740
|
* @param {number | Fraction | BigNumber} x
|
|
829
741
|
* @returns {Unit} The result: |x|, absolute value of x
|
|
830
742
|
*/
|
|
831
|
-
|
|
832
|
-
|
|
833
743
|
Unit.prototype.abs = function () {
|
|
834
744
|
var ret = this.clone();
|
|
835
|
-
|
|
836
745
|
if (ret.value !== null) {
|
|
837
746
|
if (ret._isDerived() || ret.units[0].unit.offset === 0) {
|
|
838
747
|
ret.value = abs(ret.value);
|
|
@@ -841,35 +750,29 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
841
750
|
// For example, abs(-283.15 degC) = -263.15 degC !!!
|
|
842
751
|
// We must take the offset into consideration here
|
|
843
752
|
var convert = ret._numberConverter(); // convert to Fraction or BigNumber if needed
|
|
844
|
-
|
|
845
|
-
|
|
846
753
|
var unitValue = convert(ret.units[0].unit.value);
|
|
847
754
|
var nominalOffset = convert(ret.units[0].unit.offset);
|
|
848
755
|
var unitOffset = multiplyScalar(unitValue, nominalOffset);
|
|
849
756
|
ret.value = subtract(abs(addScalar(ret.value, unitOffset)), unitOffset);
|
|
850
757
|
}
|
|
851
758
|
}
|
|
852
|
-
|
|
853
759
|
for (var i in ret.units) {
|
|
854
760
|
if (ret.units[i].unit.name === 'VA' || ret.units[i].unit.name === 'VAR') {
|
|
855
761
|
ret.units[i].unit = UNITS.W;
|
|
856
762
|
}
|
|
857
763
|
}
|
|
858
|
-
|
|
859
764
|
return ret;
|
|
860
765
|
};
|
|
766
|
+
|
|
861
767
|
/**
|
|
862
768
|
* Convert the unit to a specific unit name.
|
|
863
769
|
* @memberof Unit
|
|
864
770
|
* @param {string | Unit} valuelessUnit A unit without value. Can have prefix, like "cm"
|
|
865
771
|
* @returns {Unit} Returns a clone of the unit with a fixed prefix and unit.
|
|
866
772
|
*/
|
|
867
|
-
|
|
868
|
-
|
|
869
773
|
Unit.prototype.to = function (valuelessUnit) {
|
|
870
774
|
var value = this.value === null ? this._normalize(1) : this.value;
|
|
871
775
|
var other;
|
|
872
|
-
|
|
873
776
|
if (typeof valuelessUnit === 'string') {
|
|
874
777
|
other = Unit.parse(valuelessUnit);
|
|
875
778
|
} else if ((0, _is.isUnit)(valuelessUnit)) {
|
|
@@ -877,22 +780,18 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
877
780
|
} else {
|
|
878
781
|
throw new Error('String or Unit expected as parameter');
|
|
879
782
|
}
|
|
880
|
-
|
|
881
783
|
if (!this.equalBase(other)) {
|
|
882
784
|
throw new Error("Units do not match ('".concat(other.toString(), "' != '").concat(this.toString(), "')"));
|
|
883
785
|
}
|
|
884
|
-
|
|
885
786
|
if (other.value !== null) {
|
|
886
787
|
throw new Error('Cannot convert to a unit with a value');
|
|
887
788
|
}
|
|
888
|
-
|
|
889
789
|
if (this.value === null || this._isDerived() || this.units[0].unit.offset === other.units[0].unit.offset) {
|
|
890
790
|
other.value = (0, _object.clone)(value);
|
|
891
791
|
} else {
|
|
892
792
|
/* Need to adjust value by difference in offset to convert */
|
|
893
793
|
var convert = Unit._getNumberConverter((0, _is.typeOf)(value)); // convert to Fraction or BigNumber if needed
|
|
894
794
|
|
|
895
|
-
|
|
896
795
|
var thisUnitValue = convert(this.units[0].unit.value);
|
|
897
796
|
var thisNominalOffset = convert(this.units[0].unit.offset);
|
|
898
797
|
var thisUnitOffset = multiplyScalar(thisUnitValue, thisNominalOffset);
|
|
@@ -901,11 +800,11 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
901
800
|
var otherUnitOffset = multiplyScalar(otherUnitValue, otherNominalOffset);
|
|
902
801
|
other.value = subtract(addScalar(value, thisUnitOffset), otherUnitOffset);
|
|
903
802
|
}
|
|
904
|
-
|
|
905
803
|
other.fixPrefix = true;
|
|
906
804
|
other.skipAutomaticSimplification = true;
|
|
907
805
|
return other;
|
|
908
806
|
};
|
|
807
|
+
|
|
909
808
|
/**
|
|
910
809
|
* Return the value of the unit when represented with given valueless unit
|
|
911
810
|
* @memberof Unit
|
|
@@ -913,53 +812,46 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
913
812
|
* @return {number} Returns the unit value as number.
|
|
914
813
|
*/
|
|
915
814
|
// TODO: deprecate Unit.toNumber? It's always better to use toNumeric
|
|
916
|
-
|
|
917
|
-
|
|
918
815
|
Unit.prototype.toNumber = function (valuelessUnit) {
|
|
919
816
|
return toNumber(this.toNumeric(valuelessUnit));
|
|
920
817
|
};
|
|
818
|
+
|
|
921
819
|
/**
|
|
922
820
|
* Return the value of the unit in the original numeric type
|
|
923
821
|
* @memberof Unit
|
|
924
822
|
* @param {string | Unit} valuelessUnit For example 'cm' or 'inch'
|
|
925
823
|
* @return {number | BigNumber | Fraction} Returns the unit value
|
|
926
824
|
*/
|
|
927
|
-
|
|
928
|
-
|
|
929
825
|
Unit.prototype.toNumeric = function (valuelessUnit) {
|
|
930
826
|
var other;
|
|
931
|
-
|
|
932
827
|
if (valuelessUnit) {
|
|
933
828
|
// Allow getting the numeric value without converting to a different unit
|
|
934
829
|
other = this.to(valuelessUnit);
|
|
935
830
|
} else {
|
|
936
831
|
other = this.clone();
|
|
937
832
|
}
|
|
938
|
-
|
|
939
833
|
if (other._isDerived() || other.units.length === 0) {
|
|
940
834
|
return other._denormalize(other.value);
|
|
941
835
|
} else {
|
|
942
836
|
return other._denormalize(other.value, other.units[0].prefix.value);
|
|
943
837
|
}
|
|
944
838
|
};
|
|
839
|
+
|
|
945
840
|
/**
|
|
946
841
|
* Get a string representation of the unit.
|
|
947
842
|
* @memberof Unit
|
|
948
843
|
* @return {string}
|
|
949
844
|
*/
|
|
950
|
-
|
|
951
|
-
|
|
952
845
|
Unit.prototype.toString = function () {
|
|
953
846
|
return this.format();
|
|
954
847
|
};
|
|
848
|
+
|
|
955
849
|
/**
|
|
956
850
|
* Get a JSON representation of the unit
|
|
957
851
|
* @memberof Unit
|
|
958
852
|
* @returns {Object} Returns a JSON object structured as:
|
|
959
853
|
* `{"mathjs": "Unit", "value": 2, "unit": "cm", "fixPrefix": false}`
|
|
960
854
|
*/
|
|
961
|
-
|
|
962
|
-
|
|
963
855
|
Unit.prototype.toJSON = function () {
|
|
964
856
|
return {
|
|
965
857
|
mathjs: 'Unit',
|
|
@@ -968,6 +860,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
968
860
|
fixPrefix: this.fixPrefix
|
|
969
861
|
};
|
|
970
862
|
};
|
|
863
|
+
|
|
971
864
|
/**
|
|
972
865
|
* Instantiate a Unit from a JSON object
|
|
973
866
|
* @memberof Unit
|
|
@@ -975,32 +868,29 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
975
868
|
* `{"mathjs": "Unit", "value": 2, "unit": "cm", "fixPrefix": false}`
|
|
976
869
|
* @return {Unit}
|
|
977
870
|
*/
|
|
978
|
-
|
|
979
|
-
|
|
980
871
|
Unit.fromJSON = function (json) {
|
|
981
872
|
var unit = new Unit(json.value, json.unit);
|
|
982
873
|
unit.fixPrefix = json.fixPrefix || false;
|
|
983
874
|
return unit;
|
|
984
875
|
};
|
|
876
|
+
|
|
985
877
|
/**
|
|
986
878
|
* Returns the string representation of the unit.
|
|
987
879
|
* @memberof Unit
|
|
988
880
|
* @return {string}
|
|
989
881
|
*/
|
|
990
|
-
|
|
991
|
-
|
|
992
882
|
Unit.prototype.valueOf = Unit.prototype.toString;
|
|
883
|
+
|
|
993
884
|
/**
|
|
994
885
|
* Simplify this Unit's unit list and return a new Unit with the simplified list.
|
|
995
886
|
* The returned Unit will contain a list of the "best" units for formatting.
|
|
996
887
|
*/
|
|
997
|
-
|
|
998
888
|
Unit.prototype.simplify = function () {
|
|
999
889
|
var ret = this.clone();
|
|
1000
|
-
var proposedUnitList = [];
|
|
890
|
+
var proposedUnitList = [];
|
|
1001
891
|
|
|
892
|
+
// Search for a matching base
|
|
1002
893
|
var matchingBase;
|
|
1003
|
-
|
|
1004
894
|
for (var key in currentUnitSystem) {
|
|
1005
895
|
if ((0, _object.hasOwnProperty)(currentUnitSystem, key)) {
|
|
1006
896
|
if (ret.hasBase(BASE_UNITS[key])) {
|
|
@@ -1009,19 +899,16 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1009
899
|
}
|
|
1010
900
|
}
|
|
1011
901
|
}
|
|
1012
|
-
|
|
1013
902
|
if (matchingBase === 'NONE') {
|
|
1014
903
|
ret.units = [];
|
|
1015
904
|
} else {
|
|
1016
905
|
var matchingUnit;
|
|
1017
|
-
|
|
1018
906
|
if (matchingBase) {
|
|
1019
907
|
// Does the unit system have a matching unit?
|
|
1020
908
|
if ((0, _object.hasOwnProperty)(currentUnitSystem, matchingBase)) {
|
|
1021
909
|
matchingUnit = currentUnitSystem[matchingBase];
|
|
1022
910
|
}
|
|
1023
911
|
}
|
|
1024
|
-
|
|
1025
912
|
if (matchingUnit) {
|
|
1026
913
|
ret.units = [{
|
|
1027
914
|
unit: matchingUnit.unit,
|
|
@@ -1033,10 +920,8 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1033
920
|
// 5 (kg m^2) / (s^3 mol)
|
|
1034
921
|
// Build an representation from the base units of the current unit system
|
|
1035
922
|
var missingBaseDim = false;
|
|
1036
|
-
|
|
1037
923
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
1038
924
|
var baseDim = BASE_DIMENSIONS[i];
|
|
1039
|
-
|
|
1040
925
|
if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {
|
|
1041
926
|
if ((0, _object.hasOwnProperty)(currentUnitSystem, baseDim)) {
|
|
1042
927
|
proposedUnitList.push({
|
|
@@ -1048,32 +933,30 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1048
933
|
missingBaseDim = true;
|
|
1049
934
|
}
|
|
1050
935
|
}
|
|
1051
|
-
}
|
|
1052
|
-
|
|
936
|
+
}
|
|
1053
937
|
|
|
938
|
+
// Is the proposed unit list "simpler" than the existing one?
|
|
1054
939
|
if (proposedUnitList.length < ret.units.length && !missingBaseDim) {
|
|
1055
940
|
// Replace this unit list with the proposed list
|
|
1056
941
|
ret.units = proposedUnitList;
|
|
1057
942
|
}
|
|
1058
943
|
}
|
|
1059
944
|
}
|
|
1060
|
-
|
|
1061
945
|
return ret;
|
|
1062
946
|
};
|
|
947
|
+
|
|
1063
948
|
/**
|
|
1064
949
|
* Returns a new Unit in the SI system with the same value as this one
|
|
1065
950
|
*/
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
951
|
Unit.prototype.toSI = function () {
|
|
1069
952
|
var ret = this.clone();
|
|
1070
|
-
var proposedUnitList = [];
|
|
953
|
+
var proposedUnitList = [];
|
|
954
|
+
|
|
955
|
+
// Multiple units or units with powers are formatted like this:
|
|
1071
956
|
// 5 (kg m^2) / (s^3 mol)
|
|
1072
957
|
// Build an representation from the base units of the SI unit system
|
|
1073
|
-
|
|
1074
958
|
for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
|
|
1075
959
|
var baseDim = BASE_DIMENSIONS[i];
|
|
1076
|
-
|
|
1077
960
|
if (Math.abs(ret.dimensions[i] || 0) > 1e-12) {
|
|
1078
961
|
if ((0, _object.hasOwnProperty)(UNIT_SYSTEMS.si, baseDim)) {
|
|
1079
962
|
proposedUnitList.push({
|
|
@@ -1085,32 +968,29 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1085
968
|
throw new Error('Cannot express custom unit ' + baseDim + ' in SI units');
|
|
1086
969
|
}
|
|
1087
970
|
}
|
|
1088
|
-
}
|
|
1089
|
-
|
|
971
|
+
}
|
|
1090
972
|
|
|
973
|
+
// Replace this unit list with the proposed list
|
|
1091
974
|
ret.units = proposedUnitList;
|
|
1092
975
|
ret.fixPrefix = true;
|
|
1093
976
|
ret.skipAutomaticSimplification = true;
|
|
1094
977
|
return ret;
|
|
1095
978
|
};
|
|
979
|
+
|
|
1096
980
|
/**
|
|
1097
981
|
* Get a string representation of the units of this Unit, without the value. The unit list is formatted as-is without first being simplified.
|
|
1098
982
|
* @memberof Unit
|
|
1099
983
|
* @return {string}
|
|
1100
984
|
*/
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
985
|
Unit.prototype.formatUnits = function () {
|
|
1104
986
|
var strNum = '';
|
|
1105
987
|
var strDen = '';
|
|
1106
988
|
var nNum = 0;
|
|
1107
989
|
var nDen = 0;
|
|
1108
|
-
|
|
1109
990
|
for (var i = 0; i < this.units.length; i++) {
|
|
1110
991
|
if (this.units[i].power > 0) {
|
|
1111
992
|
nNum++;
|
|
1112
993
|
strNum += ' ' + this.units[i].prefix.name + this.units[i].unit.name;
|
|
1113
|
-
|
|
1114
994
|
if (Math.abs(this.units[i].power - 1.0) > 1e-15) {
|
|
1115
995
|
strNum += '^' + this.units[i].power;
|
|
1116
996
|
}
|
|
@@ -1118,13 +998,11 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1118
998
|
nDen++;
|
|
1119
999
|
}
|
|
1120
1000
|
}
|
|
1121
|
-
|
|
1122
1001
|
if (nDen > 0) {
|
|
1123
1002
|
for (var _i4 = 0; _i4 < this.units.length; _i4++) {
|
|
1124
1003
|
if (this.units[_i4].power < 0) {
|
|
1125
1004
|
if (nNum > 0) {
|
|
1126
1005
|
strDen += ' ' + this.units[_i4].prefix.name + this.units[_i4].unit.name;
|
|
1127
|
-
|
|
1128
1006
|
if (Math.abs(this.units[_i4].power + 1.0) > 1e-15) {
|
|
1129
1007
|
strDen += '^' + -this.units[_i4].power;
|
|
1130
1008
|
}
|
|
@@ -1134,29 +1012,26 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1134
1012
|
}
|
|
1135
1013
|
}
|
|
1136
1014
|
}
|
|
1137
|
-
}
|
|
1138
|
-
|
|
1139
|
-
|
|
1015
|
+
}
|
|
1016
|
+
// Remove leading " "
|
|
1140
1017
|
strNum = strNum.substr(1);
|
|
1141
|
-
strDen = strDen.substr(1);
|
|
1018
|
+
strDen = strDen.substr(1);
|
|
1142
1019
|
|
|
1020
|
+
// Add parans for better copy/paste back into evaluate, for example, or for better pretty print formatting
|
|
1143
1021
|
if (nNum > 1 && nDen > 0) {
|
|
1144
1022
|
strNum = '(' + strNum + ')';
|
|
1145
1023
|
}
|
|
1146
|
-
|
|
1147
1024
|
if (nDen > 1 && nNum > 0) {
|
|
1148
1025
|
strDen = '(' + strDen + ')';
|
|
1149
1026
|
}
|
|
1150
|
-
|
|
1151
1027
|
var str = strNum;
|
|
1152
|
-
|
|
1153
1028
|
if (nNum > 0 && nDen > 0) {
|
|
1154
1029
|
str += ' / ';
|
|
1155
1030
|
}
|
|
1156
|
-
|
|
1157
1031
|
str += strDen;
|
|
1158
1032
|
return str;
|
|
1159
1033
|
};
|
|
1034
|
+
|
|
1160
1035
|
/**
|
|
1161
1036
|
* Get a string representation of the Unit, with optional formatting options.
|
|
1162
1037
|
* @memberof Unit
|
|
@@ -1166,20 +1041,17 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1166
1041
|
* options.
|
|
1167
1042
|
* @return {string}
|
|
1168
1043
|
*/
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
1044
|
Unit.prototype.format = function (options) {
|
|
1172
1045
|
// Simplfy the unit list, unless it is valueless or was created directly in the
|
|
1173
1046
|
// constructor or as the result of to or toSI
|
|
1174
|
-
var simp = this.skipAutomaticSimplification || this.value === null ? this.clone() : this.simplify();
|
|
1047
|
+
var simp = this.skipAutomaticSimplification || this.value === null ? this.clone() : this.simplify();
|
|
1175
1048
|
|
|
1049
|
+
// 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.
|
|
1176
1050
|
var isImaginary = false;
|
|
1177
|
-
|
|
1178
1051
|
if (typeof simp.value !== 'undefined' && simp.value !== null && (0, _is.isComplex)(simp.value)) {
|
|
1179
1052
|
// TODO: Make this better, for example, use relative magnitude of re and im rather than absolute
|
|
1180
1053
|
isImaginary = Math.abs(simp.value.re) < 1e-14;
|
|
1181
1054
|
}
|
|
1182
|
-
|
|
1183
1055
|
for (var i in simp.units) {
|
|
1184
1056
|
if ((0, _object.hasOwnProperty)(simp.units, i)) {
|
|
1185
1057
|
if (simp.units[i].unit) {
|
|
@@ -1190,10 +1062,10 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1190
1062
|
}
|
|
1191
1063
|
}
|
|
1192
1064
|
}
|
|
1193
|
-
}
|
|
1194
|
-
// Units must have only one unit and not have the fixPrefix flag set
|
|
1195
|
-
|
|
1065
|
+
}
|
|
1196
1066
|
|
|
1067
|
+
// Now apply the best prefix
|
|
1068
|
+
// Units must have only one unit and not have the fixPrefix flag set
|
|
1197
1069
|
if (simp.units.length === 1 && !simp.fixPrefix) {
|
|
1198
1070
|
// Units must have integer powers, otherwise the prefix will change the
|
|
1199
1071
|
// outputted value by not-an-integer-power-of-ten
|
|
@@ -1202,12 +1074,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1202
1074
|
simp.units[0].prefix = simp._bestPrefix();
|
|
1203
1075
|
}
|
|
1204
1076
|
}
|
|
1205
|
-
|
|
1206
1077
|
var value = simp._denormalize(simp.value);
|
|
1207
|
-
|
|
1208
1078
|
var str = simp.value !== null ? format(value, options || {}) : '';
|
|
1209
1079
|
var unitStr = simp.formatUnits();
|
|
1210
|
-
|
|
1211
1080
|
if (simp.value && (0, _is.isComplex)(simp.value)) {
|
|
1212
1081
|
str = '(' + str + ')'; // Surround complex values with ( ) to enable better parsing
|
|
1213
1082
|
}
|
|
@@ -1215,56 +1084,48 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1215
1084
|
if (unitStr.length > 0 && str.length > 0) {
|
|
1216
1085
|
str += ' ';
|
|
1217
1086
|
}
|
|
1218
|
-
|
|
1219
1087
|
str += unitStr;
|
|
1220
1088
|
return str;
|
|
1221
1089
|
};
|
|
1090
|
+
|
|
1222
1091
|
/**
|
|
1223
1092
|
* Calculate the best prefix using current value.
|
|
1224
1093
|
* @memberof Unit
|
|
1225
1094
|
* @returns {Object} prefix
|
|
1226
1095
|
* @private
|
|
1227
1096
|
*/
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
1097
|
Unit.prototype._bestPrefix = function () {
|
|
1231
1098
|
if (this.units.length !== 1) {
|
|
1232
1099
|
throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');
|
|
1233
1100
|
}
|
|
1234
|
-
|
|
1235
1101
|
if (Math.abs(this.units[0].power - Math.round(this.units[0].power)) >= 1e-14) {
|
|
1236
1102
|
throw new Error('Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!');
|
|
1237
|
-
}
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
// find the best prefix value (resulting in the value of which
|
|
1238
1106
|
// the absolute value of the log10 is closest to zero,
|
|
1239
1107
|
// though with a little offset of 1.2 for nicer values: you get a
|
|
1240
1108
|
// sequence 1mm 100mm 500mm 0.6m 1m 10m 100m 500m 0.6km 1km ...
|
|
1109
|
+
|
|
1241
1110
|
// Note: the units value can be any numeric type, but to find the best
|
|
1242
1111
|
// prefix it's enough to work with limited precision of a regular number
|
|
1243
1112
|
// Update: using mathjs abs since we also allow complex numbers
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
1113
|
var absValue = this.value !== null ? abs(this.value) : 0;
|
|
1247
1114
|
var absUnitValue = abs(this.units[0].unit.value);
|
|
1248
1115
|
var bestPrefix = this.units[0].prefix;
|
|
1249
|
-
|
|
1250
1116
|
if (absValue === 0) {
|
|
1251
1117
|
return bestPrefix;
|
|
1252
1118
|
}
|
|
1253
|
-
|
|
1254
1119
|
var power = this.units[0].power;
|
|
1255
1120
|
var bestDiff = Math.log(absValue / Math.pow(bestPrefix.value * absUnitValue, power)) / Math.LN10 - 1.2;
|
|
1256
1121
|
if (bestDiff > -2.200001 && bestDiff < 1.800001) return bestPrefix; // Allow the original prefix
|
|
1257
|
-
|
|
1258
1122
|
bestDiff = Math.abs(bestDiff);
|
|
1259
1123
|
var prefixes = this.units[0].unit.prefixes;
|
|
1260
|
-
|
|
1261
1124
|
for (var p in prefixes) {
|
|
1262
1125
|
if ((0, _object.hasOwnProperty)(prefixes, p)) {
|
|
1263
1126
|
var prefix = prefixes[p];
|
|
1264
|
-
|
|
1265
1127
|
if (prefix.scientific) {
|
|
1266
1128
|
var diff = Math.abs(Math.log(absValue / Math.pow(prefix.value * absUnitValue, power)) / Math.LN10 - 1.2);
|
|
1267
|
-
|
|
1268
1129
|
if (diff < bestDiff || diff === bestDiff && prefix.name.length < bestPrefix.name.length) {
|
|
1269
1130
|
// choose the prefix with the smallest diff, or if equal, choose the one
|
|
1270
1131
|
// with the shortest name (can happen with SHORTLONG for example)
|
|
@@ -1274,9 +1135,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1274
1135
|
}
|
|
1275
1136
|
}
|
|
1276
1137
|
}
|
|
1277
|
-
|
|
1278
1138
|
return bestPrefix;
|
|
1279
1139
|
};
|
|
1140
|
+
|
|
1280
1141
|
/**
|
|
1281
1142
|
* Returns an array of units whose sum is equal to this unit
|
|
1282
1143
|
* @memberof Unit
|
|
@@ -1290,53 +1151,46 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1290
1151
|
*
|
|
1291
1152
|
* @return {Array} An array of units.
|
|
1292
1153
|
*/
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
1154
|
Unit.prototype.splitUnit = function (parts) {
|
|
1296
1155
|
var x = this.clone();
|
|
1297
1156
|
var ret = [];
|
|
1298
|
-
|
|
1299
1157
|
for (var i = 0; i < parts.length; i++) {
|
|
1300
1158
|
// Convert x to the requested unit
|
|
1301
1159
|
x = x.to(parts[i]);
|
|
1302
|
-
if (i === parts.length - 1) break;
|
|
1160
|
+
if (i === parts.length - 1) break;
|
|
1303
1161
|
|
|
1304
|
-
|
|
1305
|
-
|
|
1162
|
+
// Get the numeric value of this unit
|
|
1163
|
+
var xNumeric = x.toNumeric();
|
|
1306
1164
|
|
|
1165
|
+
// Check to see if xNumeric is nearly equal to an integer,
|
|
1166
|
+
// since fix can incorrectly round down if there is round-off error
|
|
1307
1167
|
var xRounded = round(xNumeric);
|
|
1308
1168
|
var xFixed = void 0;
|
|
1309
1169
|
var isNearlyEqual = equal(xRounded, xNumeric);
|
|
1310
|
-
|
|
1311
1170
|
if (isNearlyEqual) {
|
|
1312
1171
|
xFixed = xRounded;
|
|
1313
1172
|
} else {
|
|
1314
1173
|
xFixed = fix(x.toNumeric());
|
|
1315
1174
|
}
|
|
1316
|
-
|
|
1317
1175
|
var y = new Unit(xFixed, parts[i].toString());
|
|
1318
1176
|
ret.push(y);
|
|
1319
1177
|
x = subtract(x, y);
|
|
1320
|
-
}
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
// This little bit fixes a bug where the remainder should be 0 but is a little bit off.
|
|
1321
1181
|
// But instead of comparing x, the remainder, with zero--we will compare the sum of
|
|
1322
1182
|
// all the parts so far with the original value. If they are nearly equal,
|
|
1323
1183
|
// we set the remainder to 0.
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
1184
|
var testSum = 0;
|
|
1327
|
-
|
|
1328
1185
|
for (var _i5 = 0; _i5 < ret.length; _i5++) {
|
|
1329
1186
|
testSum = addScalar(testSum, ret[_i5].value);
|
|
1330
1187
|
}
|
|
1331
|
-
|
|
1332
1188
|
if (equal(testSum, this.value)) {
|
|
1333
1189
|
x.value = 0;
|
|
1334
1190
|
}
|
|
1335
|
-
|
|
1336
1191
|
ret.push(x);
|
|
1337
1192
|
return ret;
|
|
1338
1193
|
};
|
|
1339
|
-
|
|
1340
1194
|
var PREFIXES = {
|
|
1341
1195
|
NONE: {
|
|
1342
1196
|
'': {
|
|
@@ -1977,6 +1831,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
1977
1831
|
PREFIXES.SHORTLONG = (0, _extends2["default"])({}, PREFIXES.SHORT, PREFIXES.LONG);
|
|
1978
1832
|
PREFIXES.BINARY_SHORT = (0, _extends2["default"])({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);
|
|
1979
1833
|
PREFIXES.BINARY_LONG = (0, _extends2["default"])({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);
|
|
1834
|
+
|
|
1980
1835
|
/* Internally, each unit is represented by a value and a dimension array. The elements of the dimensions array have the following meaning:
|
|
1981
1836
|
* Index Dimension
|
|
1982
1837
|
* ----- ---------
|
|
@@ -2071,13 +1926,11 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2071
1926
|
dimensions: [0, 0, 0, 0, 0, 0, 0, 0, 1]
|
|
2072
1927
|
}
|
|
2073
1928
|
};
|
|
2074
|
-
|
|
2075
1929
|
for (var key in BASE_UNITS) {
|
|
2076
1930
|
if ((0, _object.hasOwnProperty)(BASE_UNITS, key)) {
|
|
2077
1931
|
BASE_UNITS[key].key = key;
|
|
2078
1932
|
}
|
|
2079
1933
|
}
|
|
2080
|
-
|
|
2081
1934
|
var BASE_UNIT_NONE = {};
|
|
2082
1935
|
var UNIT_NONE = {
|
|
2083
1936
|
name: '',
|
|
@@ -2217,6 +2070,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2217
2070
|
offset: 0
|
|
2218
2071
|
},
|
|
2219
2072
|
// 1/1000 inch
|
|
2073
|
+
|
|
2220
2074
|
// Surface
|
|
2221
2075
|
m2: {
|
|
2222
2076
|
name: 'm2',
|
|
@@ -2297,6 +2151,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2297
2151
|
offset: 0
|
|
2298
2152
|
},
|
|
2299
2153
|
// 10000 m2
|
|
2154
|
+
|
|
2300
2155
|
// Volume
|
|
2301
2156
|
m3: {
|
|
2302
2157
|
name: 'm3',
|
|
@@ -2385,6 +2240,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2385
2240
|
offset: 0
|
|
2386
2241
|
},
|
|
2387
2242
|
// 0.05 mL = 5e-8 m3
|
|
2243
|
+
|
|
2388
2244
|
// Liquid volume
|
|
2389
2245
|
minim: {
|
|
2390
2246
|
name: 'minim',
|
|
@@ -2482,6 +2338,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2482
2338
|
offset: 0
|
|
2483
2339
|
},
|
|
2484
2340
|
// 238.4810 L
|
|
2341
|
+
|
|
2485
2342
|
// {name: 'min', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.00000006161152, offset: 0}, // 0.06161152 mL // min is already in use as minute
|
|
2486
2343
|
fldr: {
|
|
2487
2344
|
name: 'fldr',
|
|
@@ -2556,6 +2413,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2556
2413
|
},
|
|
2557
2414
|
// 158.9873 L
|
|
2558
2415
|
// {name: 'hogshead', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.2384810, offset: 0}, // 238.4810 L // TODO: hh?
|
|
2416
|
+
|
|
2559
2417
|
// Mass
|
|
2560
2418
|
g: {
|
|
2561
2419
|
name: 'g',
|
|
@@ -2981,6 +2839,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
2981
2839
|
// TODO: units STERADIAN
|
|
2982
2840
|
// {name: 'sr', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},
|
|
2983
2841
|
// {name: 'steradian', base: BASE_UNITS.STERADIAN, prefixes: PREFIXES.NONE, value: 1, offset: 0},
|
|
2842
|
+
|
|
2984
2843
|
// Force
|
|
2985
2844
|
N: {
|
|
2986
2845
|
name: 'N',
|
|
@@ -3236,7 +3095,6 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3236
3095
|
value: 1,
|
|
3237
3096
|
offset: 0
|
|
3238
3097
|
},
|
|
3239
|
-
|
|
3240
3098
|
/*
|
|
3241
3099
|
* Unicode breaks in browsers if charset is not specified
|
|
3242
3100
|
Ω: {
|
|
@@ -3336,8 +3194,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3336
3194
|
value: 8,
|
|
3337
3195
|
offset: 0
|
|
3338
3196
|
}
|
|
3339
|
-
};
|
|
3197
|
+
};
|
|
3340
3198
|
|
|
3199
|
+
// aliases (formerly plurals)
|
|
3341
3200
|
var ALIASES = {
|
|
3342
3201
|
meters: 'meter',
|
|
3343
3202
|
inches: 'inch',
|
|
@@ -3426,48 +3285,39 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3426
3285
|
bit: 'bits',
|
|
3427
3286
|
"byte": 'bytes'
|
|
3428
3287
|
};
|
|
3288
|
+
|
|
3429
3289
|
/**
|
|
3430
3290
|
* Calculate the values for the angle units.
|
|
3431
3291
|
* Value is calculated as number or BigNumber depending on the configuration
|
|
3432
3292
|
* @param {{number: 'number' | 'BigNumber'}} config
|
|
3433
3293
|
*/
|
|
3434
|
-
|
|
3435
3294
|
function calculateAngleValues(config) {
|
|
3436
3295
|
if (config.number === 'BigNumber') {
|
|
3437
3296
|
var pi = (0, _constants.createBigNumberPi)(_BigNumber);
|
|
3438
3297
|
UNITS.rad.value = new _BigNumber(1);
|
|
3439
3298
|
UNITS.deg.value = pi.div(180); // 2 * pi / 360
|
|
3440
|
-
|
|
3441
3299
|
UNITS.grad.value = pi.div(200); // 2 * pi / 400
|
|
3442
|
-
|
|
3443
3300
|
UNITS.cycle.value = pi.times(2); // 2 * pi
|
|
3444
|
-
|
|
3445
3301
|
UNITS.arcsec.value = pi.div(648000); // 2 * pi / 360 / 3600
|
|
3446
|
-
|
|
3447
3302
|
UNITS.arcmin.value = pi.div(10800); // 2 * pi / 360 / 60
|
|
3448
3303
|
} else {
|
|
3449
3304
|
// number
|
|
3450
3305
|
UNITS.rad.value = 1;
|
|
3451
3306
|
UNITS.deg.value = Math.PI / 180; // 2 * pi / 360
|
|
3452
|
-
|
|
3453
3307
|
UNITS.grad.value = Math.PI / 200; // 2 * pi / 400
|
|
3454
|
-
|
|
3455
3308
|
UNITS.cycle.value = Math.PI * 2; // 2 * pi
|
|
3456
|
-
|
|
3457
3309
|
UNITS.arcsec.value = Math.PI / 648000; // 2 * pi / 360 / 3600
|
|
3458
|
-
|
|
3459
3310
|
UNITS.arcmin.value = Math.PI / 10800; // 2 * pi / 360 / 60
|
|
3460
|
-
}
|
|
3461
|
-
|
|
3311
|
+
}
|
|
3462
3312
|
|
|
3313
|
+
// copy to the full names of the angles
|
|
3463
3314
|
UNITS.radian.value = UNITS.rad.value;
|
|
3464
3315
|
UNITS.degree.value = UNITS.deg.value;
|
|
3465
3316
|
UNITS.gradian.value = UNITS.grad.value;
|
|
3466
|
-
}
|
|
3467
|
-
|
|
3317
|
+
}
|
|
3468
3318
|
|
|
3319
|
+
// apply the angle values now
|
|
3469
3320
|
calculateAngleValues(config);
|
|
3470
|
-
|
|
3471
3321
|
if (on) {
|
|
3472
3322
|
// recalculate the values on change of configuration
|
|
3473
3323
|
on('config', function (curr, prev) {
|
|
@@ -3476,13 +3326,12 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3476
3326
|
}
|
|
3477
3327
|
});
|
|
3478
3328
|
}
|
|
3329
|
+
|
|
3479
3330
|
/**
|
|
3480
3331
|
* 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.
|
|
3481
3332
|
* A user perhaps could issue a command to select a preferred unit system, or use the default (see below).
|
|
3482
3333
|
* 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.
|
|
3483
3334
|
*/
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
3335
|
var UNIT_SYSTEMS = {
|
|
3487
3336
|
si: {
|
|
3488
3337
|
// Base units
|
|
@@ -3580,8 +3429,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3580
3429
|
prefix: PREFIXES.SHORT['']
|
|
3581
3430
|
}
|
|
3582
3431
|
}
|
|
3583
|
-
};
|
|
3432
|
+
};
|
|
3584
3433
|
|
|
3434
|
+
// Clone to create the other unit systems
|
|
3585
3435
|
UNIT_SYSTEMS.cgs = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
|
3586
3436
|
UNIT_SYSTEMS.cgs.LENGTH = {
|
|
3587
3437
|
unit: UNITS.m,
|
|
@@ -3598,7 +3448,8 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3598
3448
|
UNIT_SYSTEMS.cgs.ENERGY = {
|
|
3599
3449
|
unit: UNITS.erg,
|
|
3600
3450
|
prefix: PREFIXES.NONE['']
|
|
3601
|
-
};
|
|
3451
|
+
};
|
|
3452
|
+
// there are wholly 4 unique cgs systems for electricity and magnetism,
|
|
3602
3453
|
// so let's not worry about it unless somebody complains
|
|
3603
3454
|
|
|
3604
3455
|
UNIT_SYSTEMS.us = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
|
@@ -3629,17 +3480,20 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3629
3480
|
UNIT_SYSTEMS.us.PRESSURE = {
|
|
3630
3481
|
unit: UNITS.psi,
|
|
3631
3482
|
prefix: PREFIXES.NONE['']
|
|
3632
|
-
};
|
|
3633
|
-
// Choose a unit system to seed the auto unit system.
|
|
3483
|
+
};
|
|
3634
3484
|
|
|
3635
|
-
|
|
3485
|
+
// Add additional unit systems here.
|
|
3636
3486
|
|
|
3487
|
+
// Choose a unit system to seed the auto unit system.
|
|
3488
|
+
UNIT_SYSTEMS.auto = JSON.parse(JSON.stringify(UNIT_SYSTEMS.si));
|
|
3489
|
+
|
|
3490
|
+
// Set the current unit system
|
|
3637
3491
|
var currentUnitSystem = UNIT_SYSTEMS.auto;
|
|
3492
|
+
|
|
3638
3493
|
/**
|
|
3639
3494
|
* Set a unit system for formatting derived units.
|
|
3640
3495
|
* @param {string} [name] The name of the unit system.
|
|
3641
3496
|
*/
|
|
3642
|
-
|
|
3643
3497
|
Unit.setUnitSystem = function (name) {
|
|
3644
3498
|
if ((0, _object.hasOwnProperty)(UNIT_SYSTEMS, name)) {
|
|
3645
3499
|
currentUnitSystem = UNIT_SYSTEMS[name];
|
|
@@ -3647,12 +3501,11 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3647
3501
|
throw new Error('Unit system ' + name + ' does not exist. Choices are: ' + Object.keys(UNIT_SYSTEMS).join(', '));
|
|
3648
3502
|
}
|
|
3649
3503
|
};
|
|
3504
|
+
|
|
3650
3505
|
/**
|
|
3651
3506
|
* Return the current unit system.
|
|
3652
3507
|
* @return {string} The current unit system.
|
|
3653
3508
|
*/
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
3509
|
Unit.getUnitSystem = function () {
|
|
3657
3510
|
for (var _key in UNIT_SYSTEMS) {
|
|
3658
3511
|
if ((0, _object.hasOwnProperty)(UNIT_SYSTEMS, _key)) {
|
|
@@ -3662,16 +3515,16 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3662
3515
|
}
|
|
3663
3516
|
}
|
|
3664
3517
|
};
|
|
3518
|
+
|
|
3665
3519
|
/**
|
|
3666
3520
|
* Converters to convert from number to an other numeric type like BigNumber
|
|
3667
3521
|
* or Fraction
|
|
3668
3522
|
*/
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
3523
|
Unit.typeConverters = {
|
|
3672
3524
|
BigNumber: function BigNumber(x) {
|
|
3673
3525
|
return new _BigNumber(x + ''); // stringify to prevent constructor error
|
|
3674
3526
|
},
|
|
3527
|
+
|
|
3675
3528
|
Fraction: function Fraction(x) {
|
|
3676
3529
|
return new _Fraction(x);
|
|
3677
3530
|
},
|
|
@@ -3682,6 +3535,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3682
3535
|
return x;
|
|
3683
3536
|
}
|
|
3684
3537
|
};
|
|
3538
|
+
|
|
3685
3539
|
/**
|
|
3686
3540
|
* Retrieve the right converter function corresponding with this unit's
|
|
3687
3541
|
* value
|
|
@@ -3689,16 +3543,14 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3689
3543
|
* @memberof Unit
|
|
3690
3544
|
* @return {Function}
|
|
3691
3545
|
*/
|
|
3692
|
-
|
|
3693
3546
|
Unit.prototype._numberConverter = function () {
|
|
3694
3547
|
var convert = Unit.typeConverters[this.valueType()];
|
|
3695
|
-
|
|
3696
3548
|
if (convert) {
|
|
3697
3549
|
return convert;
|
|
3698
3550
|
}
|
|
3699
|
-
|
|
3700
3551
|
throw new TypeError('Unsupported Unit value type "' + this.valueType() + '"');
|
|
3701
3552
|
};
|
|
3553
|
+
|
|
3702
3554
|
/**
|
|
3703
3555
|
* Retrieve the right convertor function corresponding with the type
|
|
3704
3556
|
* of provided exampleValue.
|
|
@@ -3707,64 +3559,56 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3707
3559
|
* In case of an unknown type,
|
|
3708
3560
|
* @return {Function}
|
|
3709
3561
|
*/
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
3562
|
Unit._getNumberConverter = function (type) {
|
|
3713
3563
|
if (!Unit.typeConverters[type]) {
|
|
3714
3564
|
throw new TypeError('Unsupported type "' + type + '"');
|
|
3715
3565
|
}
|
|
3716
|
-
|
|
3717
3566
|
return Unit.typeConverters[type];
|
|
3718
|
-
};
|
|
3719
|
-
|
|
3567
|
+
};
|
|
3720
3568
|
|
|
3569
|
+
// Add dimensions to each built-in unit
|
|
3721
3570
|
for (var _key2 in UNITS) {
|
|
3722
3571
|
if ((0, _object.hasOwnProperty)(UNITS, _key2)) {
|
|
3723
3572
|
var unit = UNITS[_key2];
|
|
3724
3573
|
unit.dimensions = unit.base.dimensions;
|
|
3725
3574
|
}
|
|
3726
|
-
}
|
|
3727
|
-
|
|
3575
|
+
}
|
|
3728
3576
|
|
|
3577
|
+
// Create aliases
|
|
3729
3578
|
for (var _name2 in ALIASES) {
|
|
3730
3579
|
if ((0, _object.hasOwnProperty)(ALIASES, _name2)) {
|
|
3731
3580
|
var _unit2 = UNITS[ALIASES[_name2]];
|
|
3732
3581
|
var alias = {};
|
|
3733
|
-
|
|
3734
3582
|
for (var _key3 in _unit2) {
|
|
3735
3583
|
if ((0, _object.hasOwnProperty)(_unit2, _key3)) {
|
|
3736
3584
|
alias[_key3] = _unit2[_key3];
|
|
3737
3585
|
}
|
|
3738
3586
|
}
|
|
3739
|
-
|
|
3740
3587
|
alias.name = _name2;
|
|
3741
3588
|
UNITS[_name2] = alias;
|
|
3742
3589
|
}
|
|
3743
3590
|
}
|
|
3591
|
+
|
|
3744
3592
|
/**
|
|
3745
3593
|
* Checks if a character is a valid latin letter (upper or lower case).
|
|
3746
3594
|
* Note that this function can be overridden, for example to allow support of other alphabets.
|
|
3747
3595
|
* @param {string} c Tested character
|
|
3748
3596
|
*/
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
3597
|
Unit.isValidAlpha = function isValidAlpha(c) {
|
|
3752
3598
|
return /^[a-zA-Z]$/.test(c);
|
|
3753
3599
|
};
|
|
3754
|
-
|
|
3755
3600
|
function assertUnitNameIsValid(name) {
|
|
3756
3601
|
for (var i = 0; i < name.length; i++) {
|
|
3757
3602
|
c = name.charAt(i);
|
|
3758
|
-
|
|
3759
3603
|
if (i === 0 && !Unit.isValidAlpha(c)) {
|
|
3760
3604
|
throw new Error('Invalid unit name (must begin with alpha character): "' + name + '"');
|
|
3761
3605
|
}
|
|
3762
|
-
|
|
3763
3606
|
if (i > 0 && !(Unit.isValidAlpha(c) || isDigit(c))) {
|
|
3764
3607
|
throw new Error('Invalid unit name (only alphanumeric characters are allowed): "' + name + '"');
|
|
3765
3608
|
}
|
|
3766
3609
|
}
|
|
3767
3610
|
}
|
|
3611
|
+
|
|
3768
3612
|
/**
|
|
3769
3613
|
* Wrapper around createUnitSingle.
|
|
3770
3614
|
* Example:
|
|
@@ -3783,39 +3627,35 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3783
3627
|
* @param {object} obj Object map. Each key becomes a unit which is defined by its value.
|
|
3784
3628
|
* @param {object} options
|
|
3785
3629
|
*/
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
3630
|
Unit.createUnit = function (obj, options) {
|
|
3789
3631
|
if ((0, _typeof2["default"])(obj) !== 'object') {
|
|
3790
3632
|
throw new TypeError("createUnit expects first parameter to be of type 'Object'");
|
|
3791
|
-
}
|
|
3792
|
-
|
|
3633
|
+
}
|
|
3793
3634
|
|
|
3635
|
+
// Remove all units and aliases we are overriding
|
|
3794
3636
|
if (options && options.override) {
|
|
3795
3637
|
for (var _key4 in obj) {
|
|
3796
3638
|
if ((0, _object.hasOwnProperty)(obj, _key4)) {
|
|
3797
3639
|
Unit.deleteUnit(_key4);
|
|
3798
3640
|
}
|
|
3799
|
-
|
|
3800
3641
|
if (obj[_key4].aliases) {
|
|
3801
3642
|
for (var i = 0; i < obj[_key4].aliases.length; i++) {
|
|
3802
3643
|
Unit.deleteUnit(obj[_key4].aliases[i]);
|
|
3803
3644
|
}
|
|
3804
3645
|
}
|
|
3805
3646
|
}
|
|
3806
|
-
}
|
|
3807
|
-
|
|
3647
|
+
}
|
|
3808
3648
|
|
|
3649
|
+
// TODO: traverse multiple times until all units have been added
|
|
3809
3650
|
var lastUnit;
|
|
3810
|
-
|
|
3811
3651
|
for (var _key5 in obj) {
|
|
3812
3652
|
if ((0, _object.hasOwnProperty)(obj, _key5)) {
|
|
3813
3653
|
lastUnit = Unit.createUnitSingle(_key5, obj[_key5]);
|
|
3814
3654
|
}
|
|
3815
3655
|
}
|
|
3816
|
-
|
|
3817
3656
|
return lastUnit;
|
|
3818
3657
|
};
|
|
3658
|
+
|
|
3819
3659
|
/**
|
|
3820
3660
|
* Create a user-defined unit and register it with the Unit type.
|
|
3821
3661
|
* Example:
|
|
@@ -3844,32 +3684,28 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3844
3684
|
*
|
|
3845
3685
|
* @return {Unit}
|
|
3846
3686
|
*/
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
3687
|
Unit.createUnitSingle = function (name, obj, options) {
|
|
3850
3688
|
if (typeof obj === 'undefined' || obj === null) {
|
|
3851
3689
|
obj = {};
|
|
3852
3690
|
}
|
|
3853
|
-
|
|
3854
3691
|
if (typeof name !== 'string') {
|
|
3855
3692
|
throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");
|
|
3856
|
-
}
|
|
3857
|
-
|
|
3693
|
+
}
|
|
3858
3694
|
|
|
3695
|
+
// Check collisions with existing units
|
|
3859
3696
|
if ((0, _object.hasOwnProperty)(UNITS, name)) {
|
|
3860
3697
|
throw new Error('Cannot create unit "' + name + '": a unit with that name already exists');
|
|
3861
|
-
}
|
|
3698
|
+
}
|
|
3862
3699
|
|
|
3700
|
+
// 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.
|
|
3863
3701
|
|
|
3864
3702
|
assertUnitNameIsValid(name);
|
|
3865
3703
|
var defUnit = null; // The Unit from which the new unit will be created.
|
|
3866
|
-
|
|
3867
3704
|
var aliases = [];
|
|
3868
3705
|
var offset = 0;
|
|
3869
3706
|
var definition;
|
|
3870
3707
|
var prefixes;
|
|
3871
3708
|
var baseName;
|
|
3872
|
-
|
|
3873
3709
|
if (obj && obj.type === 'Unit') {
|
|
3874
3710
|
defUnit = obj.clone();
|
|
3875
3711
|
} else if (typeof obj === 'string') {
|
|
@@ -3881,14 +3717,12 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3881
3717
|
prefixes = obj.prefixes;
|
|
3882
3718
|
offset = obj.offset;
|
|
3883
3719
|
baseName = obj.baseName;
|
|
3884
|
-
|
|
3885
3720
|
if (obj.aliases) {
|
|
3886
3721
|
aliases = obj.aliases.valueOf(); // aliases could be a Matrix, so convert to Array
|
|
3887
3722
|
}
|
|
3888
3723
|
} else {
|
|
3889
3724
|
throw new TypeError('Cannot create unit "' + name + '" from "' + obj.toString() + '": expecting "string" or "Unit" or "Object"');
|
|
3890
3725
|
}
|
|
3891
|
-
|
|
3892
3726
|
if (aliases) {
|
|
3893
3727
|
for (var i = 0; i < aliases.length; i++) {
|
|
3894
3728
|
if ((0, _object.hasOwnProperty)(UNITS, aliases[i])) {
|
|
@@ -3896,7 +3730,6 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3896
3730
|
}
|
|
3897
3731
|
}
|
|
3898
3732
|
}
|
|
3899
|
-
|
|
3900
3733
|
if (definition && typeof definition === 'string' && !defUnit) {
|
|
3901
3734
|
try {
|
|
3902
3735
|
defUnit = Unit.parse(definition, {
|
|
@@ -3909,45 +3742,39 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3909
3742
|
} else if (definition && definition.type === 'Unit') {
|
|
3910
3743
|
defUnit = definition.clone();
|
|
3911
3744
|
}
|
|
3912
|
-
|
|
3913
3745
|
aliases = aliases || [];
|
|
3914
3746
|
offset = offset || 0;
|
|
3915
|
-
|
|
3916
3747
|
if (prefixes && prefixes.toUpperCase) {
|
|
3917
3748
|
prefixes = PREFIXES[prefixes.toUpperCase()] || PREFIXES.NONE;
|
|
3918
3749
|
} else {
|
|
3919
3750
|
prefixes = PREFIXES.NONE;
|
|
3920
|
-
}
|
|
3921
|
-
// specify a defintion. So create a new base dimension.
|
|
3922
|
-
|
|
3751
|
+
}
|
|
3923
3752
|
|
|
3753
|
+
// If defUnit is null, it is because the user did not
|
|
3754
|
+
// specify a defintion. So create a new base dimension.
|
|
3924
3755
|
var newUnit = {};
|
|
3925
|
-
|
|
3926
3756
|
if (!defUnit) {
|
|
3927
3757
|
// Add a new base dimension
|
|
3928
3758
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
|
3929
|
-
|
|
3930
3759
|
if (BASE_DIMENSIONS.indexOf(baseName) >= 0) {
|
|
3931
3760
|
throw new Error('Cannot create new base unit "' + name + '": a base unit with that name already exists (and cannot be overridden)');
|
|
3932
3761
|
}
|
|
3762
|
+
BASE_DIMENSIONS.push(baseName);
|
|
3933
3763
|
|
|
3934
|
-
|
|
3935
|
-
|
|
3764
|
+
// Push 0 onto existing base units
|
|
3936
3765
|
for (var b in BASE_UNITS) {
|
|
3937
3766
|
if ((0, _object.hasOwnProperty)(BASE_UNITS, b)) {
|
|
3938
3767
|
BASE_UNITS[b].dimensions[BASE_DIMENSIONS.length - 1] = 0;
|
|
3939
3768
|
}
|
|
3940
|
-
}
|
|
3941
|
-
|
|
3769
|
+
}
|
|
3942
3770
|
|
|
3771
|
+
// Add the new base unit
|
|
3943
3772
|
var newBaseUnit = {
|
|
3944
3773
|
dimensions: []
|
|
3945
3774
|
};
|
|
3946
|
-
|
|
3947
3775
|
for (var _i6 = 0; _i6 < BASE_DIMENSIONS.length; _i6++) {
|
|
3948
3776
|
newBaseUnit.dimensions[_i6] = 0;
|
|
3949
3777
|
}
|
|
3950
|
-
|
|
3951
3778
|
newBaseUnit.dimensions[BASE_DIMENSIONS.length - 1] = 1;
|
|
3952
3779
|
newBaseUnit.key = baseName;
|
|
3953
3780
|
BASE_UNITS[baseName] = newBaseUnit;
|
|
@@ -3970,21 +3797,19 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3970
3797
|
dimensions: defUnit.dimensions.slice(0),
|
|
3971
3798
|
prefixes: prefixes,
|
|
3972
3799
|
offset: offset
|
|
3973
|
-
};
|
|
3800
|
+
};
|
|
3974
3801
|
|
|
3802
|
+
// Create a new base if no matching base exists
|
|
3975
3803
|
var anyMatch = false;
|
|
3976
|
-
|
|
3977
3804
|
for (var _i7 in BASE_UNITS) {
|
|
3978
3805
|
if ((0, _object.hasOwnProperty)(BASE_UNITS, _i7)) {
|
|
3979
3806
|
var match = true;
|
|
3980
|
-
|
|
3981
3807
|
for (var j = 0; j < BASE_DIMENSIONS.length; j++) {
|
|
3982
3808
|
if (Math.abs((newUnit.dimensions[j] || 0) - (BASE_UNITS[_i7].dimensions[j] || 0)) > 1e-12) {
|
|
3983
3809
|
match = false;
|
|
3984
3810
|
break;
|
|
3985
3811
|
}
|
|
3986
3812
|
}
|
|
3987
|
-
|
|
3988
3813
|
if (match) {
|
|
3989
3814
|
anyMatch = true;
|
|
3990
3815
|
newUnit.base = BASE_UNITS[_i7];
|
|
@@ -3992,11 +3817,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
3992
3817
|
}
|
|
3993
3818
|
}
|
|
3994
3819
|
}
|
|
3995
|
-
|
|
3996
3820
|
if (!anyMatch) {
|
|
3997
3821
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
|
3998
3822
|
// Add the new base unit
|
|
3999
|
-
|
|
4000
3823
|
var _newBaseUnit = {
|
|
4001
3824
|
dimensions: defUnit.dimensions.slice(0)
|
|
4002
3825
|
};
|
|
@@ -4009,34 +3832,28 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
|
|
|
4009
3832
|
newUnit.base = BASE_UNITS[baseName];
|
|
4010
3833
|
}
|
|
4011
3834
|
}
|
|
4012
|
-
|
|
4013
3835
|
Unit.UNITS[name] = newUnit;
|
|
4014
|
-
|
|
4015
3836
|
for (var _i8 = 0; _i8 < aliases.length; _i8++) {
|
|
4016
3837
|
var aliasName = aliases[_i8];
|
|
4017
3838
|
var _alias = {};
|
|
4018
|
-
|
|
4019
3839
|
for (var _key6 in newUnit) {
|
|
4020
3840
|
if ((0, _object.hasOwnProperty)(newUnit, _key6)) {
|
|
4021
3841
|
_alias[_key6] = newUnit[_key6];
|
|
4022
3842
|
}
|
|
4023
3843
|
}
|
|
4024
|
-
|
|
4025
3844
|
_alias.name = aliasName;
|
|
4026
3845
|
Unit.UNITS[aliasName] = _alias;
|
|
4027
|
-
}
|
|
3846
|
+
}
|
|
3847
|
+
// delete the memoization cache, since adding a new unit to the array
|
|
4028
3848
|
// invalidates all old results
|
|
4029
|
-
|
|
4030
|
-
|
|
4031
3849
|
delete _findUnit.cache;
|
|
4032
3850
|
return new Unit(null, name);
|
|
4033
3851
|
};
|
|
4034
|
-
|
|
4035
3852
|
Unit.deleteUnit = function (name) {
|
|
4036
3853
|
delete Unit.UNITS[name];
|
|
4037
|
-
};
|
|
4038
|
-
|
|
3854
|
+
};
|
|
4039
3855
|
|
|
3856
|
+
// expose arrays with prefixes, dimensions, units, systems
|
|
4040
3857
|
Unit.PREFIXES = PREFIXES;
|
|
4041
3858
|
Unit.BASE_DIMENSIONS = BASE_DIMENSIONS;
|
|
4042
3859
|
Unit.BASE_UNITS = BASE_UNITS;
|