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