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