mathjs 11.2.1 → 11.3.1
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +19 -1
- package/README.md +26 -0
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +21 -23
- package/lib/cjs/core/create.js +23 -41
- package/lib/cjs/core/function/config.js +12 -16
- package/lib/cjs/core/function/import.js +21 -66
- package/lib/cjs/core/function/typed.js +24 -50
- package/lib/cjs/defaultInstance.js +0 -7
- package/lib/cjs/entry/allFactoriesAny.js +1 -5
- package/lib/cjs/entry/allFactoriesNumber.js +1 -5
- package/lib/cjs/entry/configReadonly.js +0 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +1 -32
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +1 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +1 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +1 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +1 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +2 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +1 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +1 -26
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +1 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +1 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +1 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +1 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +1 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +1 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +1 -3
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +1 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +1 -5
- package/lib/cjs/entry/dependenciesAny.generated.js +0 -346
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +1 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +1 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +1 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +1 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +1 -24
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +1 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +1 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +1 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +1 -14
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +1 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +1 -4
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +1 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +1 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +1 -3
- package/lib/cjs/entry/dependenciesNumber.generated.js +0 -202
- package/lib/cjs/entry/impureFunctionsAny.generated.js +1 -9
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -9
- package/lib/cjs/entry/mainAny.js +0 -16
- package/lib/cjs/entry/mainNumber.js +0 -16
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -15
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +1 -15
- package/lib/cjs/entry/typeChecks.js +0 -1
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +5 -28
- package/lib/cjs/expression/Parser.js +8 -21
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +1 -235
- package/lib/cjs/expression/function/compile.js +1 -5
- package/lib/cjs/expression/function/evaluate.js +1 -6
- package/lib/cjs/expression/function/help.js +3 -12
- package/lib/cjs/expression/function/parser.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +15 -45
- package/lib/cjs/expression/node/ArrayNode.js +10 -33
- package/lib/cjs/expression/node/AssignmentNode.js +28 -68
- package/lib/cjs/expression/node/BlockNode.js +11 -37
- package/lib/cjs/expression/node/ConditionalNode.js +14 -56
- package/lib/cjs/expression/node/ConstantNode.js +10 -41
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +34 -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 +206 -394
- 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 +22 -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 +190 -368
- 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 +19 -18
- package/types/index.d.ts +34 -35
- package/types/index.ts +0 -2265
- package/types/tsconfig.json +0 -22
@@ -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:
|
@@ -3813,39 +3663,30 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3813
3663
|
* base unit, the name of the newly create base unit. Otherwise, this property
|
3814
3664
|
* has no effect.
|
3815
3665
|
*
|
3816
|
-
* @param {Object} options (optional) An object containing any of the following
|
3817
|
-
* properties:
|
3818
|
-
* - override {boolean} Whether this unit should be allowed to override existing
|
3819
|
-
* units.
|
3820
|
-
*
|
3821
3666
|
* @return {Unit}
|
3822
3667
|
*/
|
3823
|
-
|
3824
|
-
|
3825
|
-
Unit.createUnitSingle = function (name, obj, options) {
|
3668
|
+
Unit.createUnitSingle = function (name, obj) {
|
3826
3669
|
if (typeof obj === 'undefined' || obj === null) {
|
3827
3670
|
obj = {};
|
3828
3671
|
}
|
3829
|
-
|
3830
3672
|
if (typeof name !== 'string') {
|
3831
3673
|
throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");
|
3832
|
-
}
|
3833
|
-
|
3674
|
+
}
|
3834
3675
|
|
3676
|
+
// Check collisions with existing units
|
3835
3677
|
if (hasOwnProperty(UNITS, name)) {
|
3836
3678
|
throw new Error('Cannot create unit "' + name + '": a unit with that name already exists');
|
3837
|
-
}
|
3679
|
+
}
|
3838
3680
|
|
3681
|
+
// 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
3682
|
|
3840
3683
|
assertUnitNameIsValid(name);
|
3841
3684
|
var defUnit = null; // The Unit from which the new unit will be created.
|
3842
|
-
|
3843
3685
|
var aliases = [];
|
3844
3686
|
var offset = 0;
|
3845
3687
|
var definition;
|
3846
3688
|
var prefixes;
|
3847
3689
|
var baseName;
|
3848
|
-
|
3849
3690
|
if (obj && obj.type === 'Unit') {
|
3850
3691
|
defUnit = obj.clone();
|
3851
3692
|
} else if (typeof obj === 'string') {
|
@@ -3857,14 +3698,12 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3857
3698
|
prefixes = obj.prefixes;
|
3858
3699
|
offset = obj.offset;
|
3859
3700
|
baseName = obj.baseName;
|
3860
|
-
|
3861
3701
|
if (obj.aliases) {
|
3862
3702
|
aliases = obj.aliases.valueOf(); // aliases could be a Matrix, so convert to Array
|
3863
3703
|
}
|
3864
3704
|
} else {
|
3865
3705
|
throw new TypeError('Cannot create unit "' + name + '" from "' + obj.toString() + '": expecting "string" or "Unit" or "Object"');
|
3866
3706
|
}
|
3867
|
-
|
3868
3707
|
if (aliases) {
|
3869
3708
|
for (var i = 0; i < aliases.length; i++) {
|
3870
3709
|
if (hasOwnProperty(UNITS, aliases[i])) {
|
@@ -3872,7 +3711,6 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3872
3711
|
}
|
3873
3712
|
}
|
3874
3713
|
}
|
3875
|
-
|
3876
3714
|
if (definition && typeof definition === 'string' && !defUnit) {
|
3877
3715
|
try {
|
3878
3716
|
defUnit = Unit.parse(definition, {
|
@@ -3885,45 +3723,39 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3885
3723
|
} else if (definition && definition.type === 'Unit') {
|
3886
3724
|
defUnit = definition.clone();
|
3887
3725
|
}
|
3888
|
-
|
3889
3726
|
aliases = aliases || [];
|
3890
3727
|
offset = offset || 0;
|
3891
|
-
|
3892
3728
|
if (prefixes && prefixes.toUpperCase) {
|
3893
3729
|
prefixes = PREFIXES[prefixes.toUpperCase()] || PREFIXES.NONE;
|
3894
3730
|
} else {
|
3895
3731
|
prefixes = PREFIXES.NONE;
|
3896
|
-
}
|
3897
|
-
// specify a defintion. So create a new base dimension.
|
3898
|
-
|
3732
|
+
}
|
3899
3733
|
|
3734
|
+
// If defUnit is null, it is because the user did not
|
3735
|
+
// specify a defintion. So create a new base dimension.
|
3900
3736
|
var newUnit = {};
|
3901
|
-
|
3902
3737
|
if (!defUnit) {
|
3903
3738
|
// Add a new base dimension
|
3904
3739
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
3905
|
-
|
3906
3740
|
if (BASE_DIMENSIONS.indexOf(baseName) >= 0) {
|
3907
3741
|
throw new Error('Cannot create new base unit "' + name + '": a base unit with that name already exists (and cannot be overridden)');
|
3908
3742
|
}
|
3743
|
+
BASE_DIMENSIONS.push(baseName);
|
3909
3744
|
|
3910
|
-
|
3911
|
-
|
3745
|
+
// Push 0 onto existing base units
|
3912
3746
|
for (var b in BASE_UNITS) {
|
3913
3747
|
if (hasOwnProperty(BASE_UNITS, b)) {
|
3914
3748
|
BASE_UNITS[b].dimensions[BASE_DIMENSIONS.length - 1] = 0;
|
3915
3749
|
}
|
3916
|
-
}
|
3917
|
-
|
3750
|
+
}
|
3918
3751
|
|
3752
|
+
// Add the new base unit
|
3919
3753
|
var newBaseUnit = {
|
3920
3754
|
dimensions: []
|
3921
3755
|
};
|
3922
|
-
|
3923
3756
|
for (var _i6 = 0; _i6 < BASE_DIMENSIONS.length; _i6++) {
|
3924
3757
|
newBaseUnit.dimensions[_i6] = 0;
|
3925
3758
|
}
|
3926
|
-
|
3927
3759
|
newBaseUnit.dimensions[BASE_DIMENSIONS.length - 1] = 1;
|
3928
3760
|
newBaseUnit.key = baseName;
|
3929
3761
|
BASE_UNITS[baseName] = newBaseUnit;
|
@@ -3946,21 +3778,19 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3946
3778
|
dimensions: defUnit.dimensions.slice(0),
|
3947
3779
|
prefixes,
|
3948
3780
|
offset
|
3949
|
-
};
|
3781
|
+
};
|
3950
3782
|
|
3783
|
+
// Create a new base if no matching base exists
|
3951
3784
|
var anyMatch = false;
|
3952
|
-
|
3953
3785
|
for (var _i7 in BASE_UNITS) {
|
3954
3786
|
if (hasOwnProperty(BASE_UNITS, _i7)) {
|
3955
3787
|
var match = true;
|
3956
|
-
|
3957
3788
|
for (var j = 0; j < BASE_DIMENSIONS.length; j++) {
|
3958
3789
|
if (Math.abs((newUnit.dimensions[j] || 0) - (BASE_UNITS[_i7].dimensions[j] || 0)) > 1e-12) {
|
3959
3790
|
match = false;
|
3960
3791
|
break;
|
3961
3792
|
}
|
3962
3793
|
}
|
3963
|
-
|
3964
3794
|
if (match) {
|
3965
3795
|
anyMatch = true;
|
3966
3796
|
newUnit.base = BASE_UNITS[_i7];
|
@@ -3968,11 +3798,9 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3968
3798
|
}
|
3969
3799
|
}
|
3970
3800
|
}
|
3971
|
-
|
3972
3801
|
if (!anyMatch) {
|
3973
3802
|
baseName = baseName || name + '_STUFF'; // foo --> foo_STUFF, or the essence of foo
|
3974
3803
|
// Add the new base unit
|
3975
|
-
|
3976
3804
|
var _newBaseUnit = {
|
3977
3805
|
dimensions: defUnit.dimensions.slice(0)
|
3978
3806
|
};
|
@@ -3985,34 +3813,28 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
3985
3813
|
newUnit.base = BASE_UNITS[baseName];
|
3986
3814
|
}
|
3987
3815
|
}
|
3988
|
-
|
3989
3816
|
Unit.UNITS[name] = newUnit;
|
3990
|
-
|
3991
3817
|
for (var _i8 = 0; _i8 < aliases.length; _i8++) {
|
3992
3818
|
var aliasName = aliases[_i8];
|
3993
3819
|
var _alias = {};
|
3994
|
-
|
3995
3820
|
for (var _key6 in newUnit) {
|
3996
3821
|
if (hasOwnProperty(newUnit, _key6)) {
|
3997
3822
|
_alias[_key6] = newUnit[_key6];
|
3998
3823
|
}
|
3999
3824
|
}
|
4000
|
-
|
4001
3825
|
_alias.name = aliasName;
|
4002
3826
|
Unit.UNITS[aliasName] = _alias;
|
4003
|
-
}
|
3827
|
+
}
|
3828
|
+
// delete the memoization cache, since adding a new unit to the array
|
4004
3829
|
// invalidates all old results
|
4005
|
-
|
4006
|
-
|
4007
3830
|
delete _findUnit.cache;
|
4008
3831
|
return new Unit(null, name);
|
4009
3832
|
};
|
4010
|
-
|
4011
3833
|
Unit.deleteUnit = function (name) {
|
4012
3834
|
delete Unit.UNITS[name];
|
4013
|
-
};
|
4014
|
-
|
3835
|
+
};
|
4015
3836
|
|
3837
|
+
// expose arrays with prefixes, dimensions, units, systems
|
4016
3838
|
Unit.PREFIXES = PREFIXES;
|
4017
3839
|
Unit.BASE_DIMENSIONS = BASE_DIMENSIONS;
|
4018
3840
|
Unit.BASE_UNITS = BASE_UNITS;
|