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