mathjs 13.0.2 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HISTORY.md +26 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +12 -9
- package/lib/cjs/core/function/import.js +1 -1
- package/lib/cjs/core/function/typed.js +3 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
- package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
- package/lib/cjs/entry/typeChecks.js +18 -0
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/cjs/expression/function/evaluate.js +5 -0
- package/lib/cjs/expression/node/FunctionNode.js +1 -1
- package/lib/cjs/expression/transform/filter.transform.js +2 -2
- package/lib/cjs/expression/transform/map.transform.js +104 -37
- package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
- package/lib/cjs/function/arithmetic/hypot.js +3 -3
- package/lib/cjs/function/matrix/apply.js +1 -1
- package/lib/cjs/function/matrix/fft.js +3 -3
- package/lib/cjs/function/matrix/filter.js +2 -2
- package/lib/cjs/function/matrix/flatten.js +5 -6
- package/lib/cjs/function/matrix/ifft.js +2 -2
- package/lib/cjs/function/matrix/kron.js +4 -4
- package/lib/cjs/function/matrix/map.js +109 -18
- package/lib/cjs/function/matrix/size.js +7 -7
- package/lib/cjs/function/matrix/squeeze.js +3 -4
- package/lib/cjs/function/probability/random.js +1 -1
- package/lib/cjs/function/probability/randomInt.js +1 -1
- package/lib/cjs/function/statistics/cumsum.js +2 -2
- package/lib/cjs/function/trigonometry/acoth.js +2 -2
- package/lib/cjs/function/trigonometry/acsch.js +2 -2
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
- package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
- package/lib/cjs/type/unit/Unit.js +57 -114
- package/lib/cjs/utils/array.js +27 -0
- package/lib/cjs/utils/collection.js +1 -1
- package/lib/cjs/utils/function.js +0 -14
- package/lib/cjs/utils/is.js +27 -0
- package/lib/cjs/utils/map.js +2 -20
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +9 -6
- package/lib/esm/core/function/import.js +1 -1
- package/lib/esm/core/function/typed.js +2 -3
- package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
- package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -1
- package/lib/esm/expression/function/evaluate.js +8 -3
- package/lib/esm/expression/node/FunctionNode.js +1 -1
- package/lib/esm/expression/parse.js +2 -2
- package/lib/esm/expression/transform/filter.transform.js +4 -4
- package/lib/esm/expression/transform/forEach.transform.js +4 -4
- package/lib/esm/expression/transform/map.transform.js +104 -37
- package/lib/esm/expression/transform/print.transform.js +2 -2
- package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
- package/lib/esm/function/algebra/decomposition/slu.js +1 -1
- package/lib/esm/function/algebra/derivative.js +15 -15
- package/lib/esm/function/algebra/lyap.js +4 -4
- package/lib/esm/function/algebra/simplify/util.js +3 -3
- package/lib/esm/function/algebra/simplifyConstant.js +9 -9
- package/lib/esm/function/algebra/solver/lsolve.js +3 -3
- package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
- package/lib/esm/function/algebra/solver/lusolve.js +5 -5
- package/lib/esm/function/algebra/solver/usolve.js +3 -3
- package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
- package/lib/esm/function/algebra/sylvester.js +7 -7
- package/lib/esm/function/arithmetic/addScalar.js +4 -4
- package/lib/esm/function/arithmetic/ceil.js +6 -6
- package/lib/esm/function/arithmetic/divide.js +5 -5
- package/lib/esm/function/arithmetic/divideScalar.js +5 -5
- package/lib/esm/function/arithmetic/fix.js +5 -5
- package/lib/esm/function/arithmetic/floor.js +6 -6
- package/lib/esm/function/arithmetic/hypot.js +3 -3
- package/lib/esm/function/arithmetic/mod.js +3 -3
- package/lib/esm/function/arithmetic/multiply.js +7 -7
- package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
- package/lib/esm/function/arithmetic/norm.js +2 -2
- package/lib/esm/function/arithmetic/pow.js +6 -6
- package/lib/esm/function/arithmetic/round.js +7 -7
- package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
- package/lib/esm/function/arithmetic/xgcd.js +1 -1
- package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
- package/lib/esm/function/combinatorics/catalan.js +1 -1
- package/lib/esm/function/combinatorics/composition.js +1 -1
- package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
- package/lib/esm/function/geometry/distance.js +4 -4
- package/lib/esm/function/geometry/intersect.js +2 -2
- package/lib/esm/function/logical/and.js +2 -2
- package/lib/esm/function/logical/or.js +2 -2
- package/lib/esm/function/logical/xor.js +2 -2
- package/lib/esm/function/matrix/apply.js +2 -2
- package/lib/esm/function/matrix/column.js +1 -1
- package/lib/esm/function/matrix/concat.js +1 -1
- package/lib/esm/function/matrix/count.js +1 -1
- package/lib/esm/function/matrix/cross.js +3 -3
- package/lib/esm/function/matrix/diag.js +10 -10
- package/lib/esm/function/matrix/diff.js +2 -2
- package/lib/esm/function/matrix/eigs.js +3 -3
- package/lib/esm/function/matrix/fft.js +3 -3
- package/lib/esm/function/matrix/filter.js +4 -4
- package/lib/esm/function/matrix/flatten.js +5 -6
- package/lib/esm/function/matrix/forEach.js +4 -4
- package/lib/esm/function/matrix/identity.js +6 -6
- package/lib/esm/function/matrix/ifft.js +3 -3
- package/lib/esm/function/matrix/inv.js +1 -1
- package/lib/esm/function/matrix/kron.js +7 -7
- package/lib/esm/function/matrix/map.js +110 -19
- package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
- package/lib/esm/function/matrix/ones.js +2 -2
- package/lib/esm/function/matrix/partitionSelect.js +2 -2
- package/lib/esm/function/matrix/pinv.js +1 -1
- package/lib/esm/function/matrix/range.js +10 -10
- package/lib/esm/function/matrix/reshape.js +2 -2
- package/lib/esm/function/matrix/rotate.js +4 -4
- package/lib/esm/function/matrix/rotationMatrix.js +6 -6
- package/lib/esm/function/matrix/row.js +1 -1
- package/lib/esm/function/matrix/size.js +8 -8
- package/lib/esm/function/matrix/sort.js +4 -4
- package/lib/esm/function/matrix/sqrtm.js +1 -1
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +2 -2
- package/lib/esm/function/matrix/zeros.js +2 -2
- package/lib/esm/function/probability/combinations.js +1 -1
- package/lib/esm/function/probability/combinationsWithRep.js +2 -2
- package/lib/esm/function/probability/kldivergence.js +4 -4
- package/lib/esm/function/probability/multinomial.js +1 -1
- package/lib/esm/function/probability/permutations.js +2 -2
- package/lib/esm/function/probability/pickRandom.js +6 -6
- package/lib/esm/function/probability/random.js +1 -1
- package/lib/esm/function/probability/randomInt.js +1 -1
- package/lib/esm/function/relational/compare.js +6 -6
- package/lib/esm/function/relational/deepEqual.js +1 -1
- package/lib/esm/function/relational/equal.js +1 -1
- package/lib/esm/function/relational/equalScalar.js +7 -7
- package/lib/esm/function/relational/equalText.js +1 -1
- package/lib/esm/function/relational/larger.js +3 -3
- package/lib/esm/function/relational/largerEq.js +4 -4
- package/lib/esm/function/relational/smaller.js +3 -3
- package/lib/esm/function/relational/smallerEq.js +3 -3
- package/lib/esm/function/relational/unequal.js +1 -1
- package/lib/esm/function/set/setCartesian.js +1 -1
- package/lib/esm/function/set/setDifference.js +1 -1
- package/lib/esm/function/set/setDistinct.js +1 -1
- package/lib/esm/function/set/setIntersect.js +1 -1
- package/lib/esm/function/set/setIsSubset.js +1 -1
- package/lib/esm/function/set/setMultiplicity.js +1 -1
- package/lib/esm/function/set/setPowerset.js +1 -1
- package/lib/esm/function/set/setSize.js +2 -2
- package/lib/esm/function/set/setSymDifference.js +1 -1
- package/lib/esm/function/set/setUnion.js +1 -1
- package/lib/esm/function/signal/freqz.js +6 -6
- package/lib/esm/function/statistics/corr.js +2 -2
- package/lib/esm/function/statistics/cumsum.js +3 -3
- package/lib/esm/function/statistics/max.js +1 -1
- package/lib/esm/function/statistics/median.js +3 -3
- package/lib/esm/function/statistics/min.js +1 -1
- package/lib/esm/function/statistics/prod.js +1 -1
- package/lib/esm/function/statistics/variance.js +2 -2
- package/lib/esm/function/string/bin.js +2 -2
- package/lib/esm/function/string/hex.js +2 -2
- package/lib/esm/function/string/oct.js +2 -2
- package/lib/esm/function/trigonometry/acoth.js +2 -2
- package/lib/esm/function/trigonometry/acsch.js +2 -2
- package/lib/esm/type/bigint.js +1 -1
- package/lib/esm/type/complex/function/complex.js +2 -2
- package/lib/esm/type/fraction/function/fraction.js +1 -1
- package/lib/esm/type/matrix/DenseMatrix.js +13 -38
- package/lib/esm/type/matrix/SparseMatrix.js +5 -8
- package/lib/esm/type/matrix/function/index.js +1 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -1
- package/lib/esm/type/matrix/function/sparse.js +2 -2
- package/lib/esm/type/number.js +1 -1
- package/lib/esm/type/unit/Unit.js +57 -114
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +1 -1
- package/lib/esm/type/unit/function/unit.js +2 -2
- package/lib/esm/utils/array.js +26 -0
- package/lib/esm/utils/collection.js +1 -1
- package/lib/esm/utils/function.js +0 -13
- package/lib/esm/utils/is.js +24 -0
- package/lib/esm/utils/map.js +2 -19
- package/lib/esm/version.js +1 -1
- package/package.json +19 -19
- package/types/index.d.ts +108 -25
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { config } from './configReadonly.js';
|
|
6
6
|
import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2,
|
|
7
7
|
// eslint-disable-line camelcase
|
|
8
|
-
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize,
|
|
8
|
+
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createFlatten, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createSqueeze, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnaryPlus, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createUnequal, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
|
|
9
9
|
export var BigNumber = /* #__PURE__ */createBigNumberClass({
|
|
10
10
|
config
|
|
11
11
|
});
|
|
@@ -185,6 +185,9 @@ export var expm1 = /* #__PURE__ */createExpm1({
|
|
|
185
185
|
export var filter = /* #__PURE__ */createFilter({
|
|
186
186
|
typed
|
|
187
187
|
});
|
|
188
|
+
export var flatten = /* #__PURE__ */createFlatten({
|
|
189
|
+
typed
|
|
190
|
+
});
|
|
188
191
|
export var forEach = /* #__PURE__ */createForEach({
|
|
189
192
|
typed
|
|
190
193
|
});
|
|
@@ -359,6 +362,9 @@ export var sqrt = /* #__PURE__ */createSqrt({
|
|
|
359
362
|
config,
|
|
360
363
|
typed
|
|
361
364
|
});
|
|
365
|
+
export var squeeze = /* #__PURE__ */createSqueeze({
|
|
366
|
+
typed
|
|
367
|
+
});
|
|
362
368
|
export var tanh = /* #__PURE__ */createTanh({
|
|
363
369
|
typed
|
|
364
370
|
});
|
|
@@ -423,10 +429,6 @@ export var size = /* #__PURE__ */createSize({
|
|
|
423
429
|
config,
|
|
424
430
|
typed
|
|
425
431
|
});
|
|
426
|
-
export var squeeze = /* #__PURE__ */createSqueeze({
|
|
427
|
-
matrix,
|
|
428
|
-
typed
|
|
429
|
-
});
|
|
430
432
|
export var transpose = /* #__PURE__ */createTranspose({
|
|
431
433
|
matrix,
|
|
432
434
|
typed
|
|
@@ -498,10 +500,6 @@ export var equal = /* #__PURE__ */createEqual({
|
|
|
498
500
|
matrix,
|
|
499
501
|
typed
|
|
500
502
|
});
|
|
501
|
-
export var flatten = /* #__PURE__ */createFlatten({
|
|
502
|
-
matrix,
|
|
503
|
-
typed
|
|
504
|
-
});
|
|
505
503
|
export var hasNumericValue = /* #__PURE__ */createHasNumericValue({
|
|
506
504
|
isNumeric,
|
|
507
505
|
typed
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// util functions
|
|
2
|
-
export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
|
|
2
|
+
export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isMap, isPartitionedMap, isObjectWrappingMap, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
|
|
@@ -316,7 +316,7 @@ export var embeddedDocs = {
|
|
|
316
316
|
examples: ['elementaryCharge']
|
|
317
317
|
},
|
|
318
318
|
bohrMagneton: {
|
|
319
|
-
description: '
|
|
319
|
+
description: 'Bohr magneton',
|
|
320
320
|
examples: ['bohrMagneton']
|
|
321
321
|
},
|
|
322
322
|
conductanceQuantum: {
|
|
@@ -341,7 +341,7 @@ export var embeddedDocs = {
|
|
|
341
341
|
examples: ['klitzing']
|
|
342
342
|
},
|
|
343
343
|
bohrRadius: {
|
|
344
|
-
description: '
|
|
344
|
+
description: 'Bohr radius',
|
|
345
345
|
examples: ['bohrRadius']
|
|
346
346
|
},
|
|
347
347
|
classicalElectronRadius: {
|
|
@@ -2,7 +2,7 @@ export var hypotDocs = {
|
|
|
2
2
|
name: 'hypot',
|
|
3
3
|
category: 'Arithmetic',
|
|
4
4
|
syntax: ['hypot(a, b, c, ...)', 'hypot([a, b, c, ...])'],
|
|
5
|
-
description: 'Calculate the
|
|
5
|
+
description: 'Calculate the hypotenuse of a list with values.',
|
|
6
6
|
examples: ['hypot(3, 4)', 'sqrt(3^2 + 4^2)', 'hypot(-2)', 'hypot([3, 4, 5])'],
|
|
7
7
|
seealso: ['abs', 'norm']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var diffDocs = {
|
|
|
2
2
|
name: 'diff',
|
|
3
3
|
category: 'Matrix',
|
|
4
4
|
syntax: ['diff(arr)', 'diff(arr, dim)'],
|
|
5
|
-
description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to
|
|
5
|
+
description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to indicate the dimension of the array/matrix to apply the difference', 'If no dimension parameter is passed it is assumed as dimension 0', 'Dimension is zero-based in javascript and one-based in the parser', 'Arrays must be \'rectangular\' meaning arrays like [1, 2]', 'If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays'],
|
|
6
6
|
examples: ['A = [1, 2, 4, 7, 0]', 'diff(A)', 'diff(A, 1)', 'B = [[1, 2], [3, 4]]', 'diff(B)', 'diff(B, 1)', 'diff(B, 2)', 'diff(B, bignumber(2))', 'diff([[1, 2], matrix([3, 4])], 2)'],
|
|
7
7
|
seealso: ['subtract', 'partitionSelect']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var ifftDocs = {
|
|
|
2
2
|
name: 'ifft',
|
|
3
3
|
category: 'Matrix',
|
|
4
4
|
syntax: ['ifft(x)'],
|
|
5
|
-
description: 'Calculate N-dimensional inverse
|
|
5
|
+
description: 'Calculate N-dimensional inverse Fourier transform',
|
|
6
6
|
examples: ['ifft([[2, 2], [0, 0]])'],
|
|
7
7
|
seealso: ['fft']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var kronDocs = {
|
|
|
2
2
|
name: 'kron',
|
|
3
3
|
category: 'Matrix',
|
|
4
4
|
syntax: ['kron(x, y)'],
|
|
5
|
-
description: 'Calculates the
|
|
5
|
+
description: 'Calculates the Kronecker product of 2 matrices or vectors.',
|
|
6
6
|
examples: ['kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])', 'kron([1,1], [2,3,4])'],
|
|
7
7
|
seealso: ['multiply', 'dot', 'cross']
|
|
8
8
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export var mapDocs = {
|
|
2
2
|
name: 'map',
|
|
3
3
|
category: 'Matrix',
|
|
4
|
-
syntax: ['map(x, callback)'],
|
|
5
|
-
description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.',
|
|
6
|
-
examples: ['map([1, 2, 3], square)'],
|
|
4
|
+
syntax: ['map(x, callback)', 'map(x, y, ..., callback)'],
|
|
5
|
+
description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array or the matrices/arrays.',
|
|
6
|
+
examples: ['map([1, 2, 3], square)', 'map([1, 2], [3, 4], f(a,b) = a + b)'],
|
|
7
7
|
seealso: ['filter', 'forEach']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var zetaDocs = {
|
|
|
2
2
|
name: 'zeta',
|
|
3
3
|
category: 'Special',
|
|
4
4
|
syntax: ['zeta(s)'],
|
|
5
|
-
description: 'Compute the Riemann Zeta Function using an infinite series and
|
|
5
|
+
description: 'Compute the Riemann Zeta Function using an infinite series and Riemann\'s Functional Equation for the entire complex plane',
|
|
6
6
|
examples: ['zeta(0.2)', 'zeta(-0.5)', 'zeta(4)'],
|
|
7
7
|
seealso: []
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var quantileSeqDocs = {
|
|
|
2
2
|
name: 'quantileSeq',
|
|
3
3
|
category: 'Statistics',
|
|
4
4
|
syntax: ['quantileSeq(A, prob[, sorted])', 'quantileSeq(A, [prob1, prob2, ...][, sorted])', 'quantileSeq(A, N[, sorted])'],
|
|
5
|
-
description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of
|
|
5
|
+
description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probability are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.',
|
|
6
6
|
examples: ['quantileSeq([3, -1, 5, 7], 0.5)', 'quantileSeq([3, -1, 5, 7], [1/3, 2/3])', 'quantileSeq([3, -1, 5, 7], 2)', 'quantileSeq([-1, 3, 5, 7], 0.5, true)'],
|
|
7
7
|
seealso: ['mean', 'median', 'min', 'max', 'prod', 'std', 'sum', 'variance']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var acothDocs = {
|
|
|
2
2
|
name: 'acoth',
|
|
3
3
|
category: 'Trigonometry',
|
|
4
4
|
syntax: ['acoth(x)'],
|
|
5
|
-
description: 'Calculate the hyperbolic
|
|
5
|
+
description: 'Calculate the inverse hyperbolic tangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.',
|
|
6
6
|
examples: ['acoth(2)', 'acoth(0.5)'],
|
|
7
7
|
seealso: ['acsch', 'asech']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var acschDocs = {
|
|
|
2
2
|
name: 'acsch',
|
|
3
3
|
category: 'Trigonometry',
|
|
4
4
|
syntax: ['acsch(x)'],
|
|
5
|
-
description: 'Calculate the hyperbolic
|
|
5
|
+
description: 'Calculate the inverse hyperbolic cosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.',
|
|
6
6
|
examples: ['acsch(0.5)'],
|
|
7
7
|
seealso: ['asech', 'acoth']
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ export var cloneDocs = {
|
|
|
2
2
|
name: 'clone',
|
|
3
3
|
category: 'Utils',
|
|
4
4
|
syntax: ['clone(x)'],
|
|
5
|
-
description: 'Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices',
|
|
5
|
+
description: 'Clone a variable. Creates a copy of primitive variables, and a deep copy of matrices',
|
|
6
6
|
examples: ['clone(3.5)', 'clone(2 - 4i)', 'clone(45 deg)', 'clone([1, 2; 3, 4])', 'clone("hello world")'],
|
|
7
7
|
seealso: []
|
|
8
8
|
};
|
|
@@ -45,7 +45,7 @@ export var createCompile = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
45
45
|
string: function string(expr) {
|
|
46
46
|
return parse(expr).compile();
|
|
47
47
|
},
|
|
48
|
-
'Array | Matrix': function
|
|
48
|
+
'Array | Matrix': function Array__Matrix(expr) {
|
|
49
49
|
return deepMap(expr, function (entry) {
|
|
50
50
|
return parse(entry).compile();
|
|
51
51
|
});
|
|
@@ -11,6 +11,11 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
11
11
|
/**
|
|
12
12
|
* Evaluate an expression.
|
|
13
13
|
*
|
|
14
|
+
* The expression parser does not use JavaScript. Its syntax is close
|
|
15
|
+
* to JavaScript but more suited for mathematical expressions.
|
|
16
|
+
* See [https://mathjs.org/docs/expressions/syntax.html](https://mathjs.org/docs/expressions/syntax.html) to learn
|
|
17
|
+
* the syntax and get an overview of the exact differences from JavaScript.
|
|
18
|
+
*
|
|
14
19
|
* Note the evaluating arbitrary expressions may involve security risks,
|
|
15
20
|
* see [https://mathjs.org/docs/expressions/security.html](https://mathjs.org/docs/expressions/security.html) for more information.
|
|
16
21
|
*
|
|
@@ -45,16 +50,16 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
45
50
|
var scope = createEmptyMap();
|
|
46
51
|
return parse(expr).compile().evaluate(scope);
|
|
47
52
|
},
|
|
48
|
-
'string, Map | Object': function
|
|
53
|
+
'string, Map | Object': function string_Map__Object(expr, scope) {
|
|
49
54
|
return parse(expr).compile().evaluate(scope);
|
|
50
55
|
},
|
|
51
|
-
'Array | Matrix': function
|
|
56
|
+
'Array | Matrix': function Array__Matrix(expr) {
|
|
52
57
|
var scope = createEmptyMap();
|
|
53
58
|
return deepMap(expr, function (entry) {
|
|
54
59
|
return parse(entry).compile().evaluate(scope);
|
|
55
60
|
});
|
|
56
61
|
},
|
|
57
|
-
'Array | Matrix, Map | Object': function
|
|
62
|
+
'Array | Matrix, Map | Object': function Array__Matrix_Map__Object(expr, scope) {
|
|
58
63
|
return deepMap(expr, function (entry) {
|
|
59
64
|
return parse(entry).compile().evaluate(scope);
|
|
60
65
|
});
|
|
@@ -97,7 +97,7 @@ export var createFunctionNode = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
97
97
|
* invoke a list with arguments on a node
|
|
98
98
|
* @param {./Node | string} fn
|
|
99
99
|
* Item resolving to a function on which to invoke
|
|
100
|
-
* the arguments, typically a
|
|
100
|
+
* the arguments, typically a SymbolNode or AccessorNode
|
|
101
101
|
* @param {./Node[]} args
|
|
102
102
|
*/
|
|
103
103
|
constructor(fn, args) {
|
|
@@ -70,10 +70,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
70
70
|
string: function string(expression) {
|
|
71
71
|
return parseStart(expression, {});
|
|
72
72
|
},
|
|
73
|
-
'Array | Matrix': function
|
|
73
|
+
'Array | Matrix': function Array__Matrix(expressions) {
|
|
74
74
|
return parseMultiple(expressions, {});
|
|
75
75
|
},
|
|
76
|
-
'string, Object': function
|
|
76
|
+
'string, Object': function string_Object(expression, options) {
|
|
77
77
|
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
|
78
78
|
return parseStart(expression, extraNodes);
|
|
79
79
|
},
|
|
@@ -37,12 +37,12 @@ export var createFilterTransform = /* #__PURE__ */factory(name, dependencies, _r
|
|
|
37
37
|
// one based version of function filter
|
|
38
38
|
var filter = typed('filter', {
|
|
39
39
|
'Array, function': _filter,
|
|
40
|
-
'Matrix, function': function
|
|
41
|
-
return x.create(_filter(x.toArray(), test));
|
|
40
|
+
'Matrix, function': function Matrix_function(x, test) {
|
|
41
|
+
return x.create(_filter(x.toArray(), test), x.datatype());
|
|
42
42
|
},
|
|
43
43
|
'Array, RegExp': filterRegExp,
|
|
44
|
-
'Matrix, RegExp': function
|
|
45
|
-
return x.create(filterRegExp(x.toArray(), test));
|
|
44
|
+
'Matrix, RegExp': function Matrix_RegExp(x, test) {
|
|
45
|
+
return x.create(filterRegExp(x.toArray(), test), x.datatype());
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
return filterTransform;
|
|
@@ -35,19 +35,19 @@ export var createForEachTransform = /* #__PURE__ */factory(name, dependencies, _
|
|
|
35
35
|
|
|
36
36
|
// one-based version of forEach
|
|
37
37
|
var _forEach = typed('forEach', {
|
|
38
|
-
'Array | Matrix, function': function
|
|
39
|
-
var
|
|
38
|
+
'Array | Matrix, function': function Array__Matrix_function(array, callback) {
|
|
39
|
+
var _recurse = function recurse(value, index) {
|
|
40
40
|
if (Array.isArray(value)) {
|
|
41
41
|
forEach(value, function (child, i) {
|
|
42
42
|
// we create a copy of the index array and append the new index value
|
|
43
|
-
|
|
43
|
+
_recurse(child, index.concat(i + 1)); // one based index, hence i+1
|
|
44
44
|
});
|
|
45
45
|
} else {
|
|
46
46
|
// invoke the callback function with the right number of arguments
|
|
47
47
|
return applyCallback(callback, value, index, array, 'forEach');
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
-
|
|
50
|
+
_recurse(array.valueOf(), []); // pass Array
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
return forEachTransform;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { applyCallback } from '../../utils/applyCallback.js';
|
|
2
|
-
import { map } from '../../utils/array.js';
|
|
3
1
|
import { factory } from '../../utils/factory.js';
|
|
4
2
|
import { isFunctionAssignmentNode, isSymbolNode } from '../../utils/is.js';
|
|
3
|
+
import { createMap } from '../../function/matrix/map.js';
|
|
5
4
|
import { compileInlineExpression } from './utils/compileInlineExpression.js';
|
|
6
5
|
var name = 'map';
|
|
7
6
|
var dependencies = ['typed'];
|
|
@@ -15,57 +14,125 @@ export var createMapTransform = /* #__PURE__ */factory(name, dependencies, _ref
|
|
|
15
14
|
*
|
|
16
15
|
* This transform creates a one-based index instead of a zero-based index
|
|
17
16
|
*/
|
|
17
|
+
var map = createMap({
|
|
18
|
+
typed
|
|
19
|
+
});
|
|
18
20
|
function mapTransform(args, math, scope) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
x = args[0].compile().evaluate(scope);
|
|
21
|
+
if (args.length === 0) {
|
|
22
|
+
return map();
|
|
22
23
|
}
|
|
23
|
-
if (args
|
|
24
|
-
|
|
24
|
+
if (args.length === 1) {
|
|
25
|
+
return map(args[0]);
|
|
26
|
+
}
|
|
27
|
+
var N = args.length - 1;
|
|
28
|
+
var X, callback;
|
|
29
|
+
callback = args[N];
|
|
30
|
+
X = args.slice(0, N);
|
|
31
|
+
X = X.map(arg => _compileAndEvaluate(arg, scope));
|
|
32
|
+
if (callback) {
|
|
33
|
+
if (isSymbolNode(callback) || isFunctionAssignmentNode(callback)) {
|
|
25
34
|
// a function pointer, like filter([3, -2, 5], myTestFunction)
|
|
26
|
-
callback =
|
|
35
|
+
callback = _compileAndEvaluate(callback, scope);
|
|
27
36
|
} else {
|
|
28
37
|
// an expression like filter([3, -2, 5], x > 0)
|
|
29
|
-
callback = compileInlineExpression(
|
|
38
|
+
callback = compileInlineExpression(callback, math, scope);
|
|
30
39
|
}
|
|
31
40
|
}
|
|
32
|
-
return map(
|
|
41
|
+
return map(...X, _transformCallback(callback, N));
|
|
42
|
+
function _compileAndEvaluate(arg, scope) {
|
|
43
|
+
return arg.compile().evaluate(scope);
|
|
44
|
+
}
|
|
33
45
|
}
|
|
34
46
|
mapTransform.rawArgs = true;
|
|
47
|
+
return mapTransform;
|
|
35
48
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Transforms the given callback function based on its type and number of arrays.
|
|
51
|
+
*
|
|
52
|
+
* @param {Function} callback - The callback function to transform.
|
|
53
|
+
* @param {number} numberOfArrays - The number of arrays to pass to the callback function.
|
|
54
|
+
* @returns {*} - The transformed callback function.
|
|
55
|
+
*/
|
|
56
|
+
function _transformCallback(callback, numberOfArrays) {
|
|
57
|
+
if (typed.isTypedFunction(callback)) {
|
|
58
|
+
return _transformTypedCallbackFunction(callback, numberOfArrays);
|
|
59
|
+
} else {
|
|
60
|
+
return _transformCallbackFunction(callback, callback.length, numberOfArrays);
|
|
43
61
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Transforms the given typed callback function based on the number of arrays.
|
|
66
|
+
*
|
|
67
|
+
* @param {Function} typedFunction - The typed callback function to transform.
|
|
68
|
+
* @param {number} numberOfArrays - The number of arrays to pass to the callback function.
|
|
69
|
+
* @returns {*} - The transformed typed callback function.
|
|
70
|
+
*/
|
|
71
|
+
function _transformTypedCallbackFunction(typedFunction, numberOfArrays) {
|
|
72
|
+
var signatures = Object.fromEntries(Object.entries(typedFunction.signatures).map(_ref2 => {
|
|
73
|
+
var [signature, callbackFunction] = _ref2;
|
|
74
|
+
var numberOfCallbackInputs = signature.split(',').length;
|
|
75
|
+
if (typed.isTypedFunction(callbackFunction)) {
|
|
76
|
+
return [signature, _transformTypedCallbackFunction(callbackFunction, numberOfArrays)];
|
|
77
|
+
} else {
|
|
78
|
+
return [signature, _transformCallbackFunction(callbackFunction, numberOfCallbackInputs, numberOfArrays)];
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
if (typeof typedFunction.name === 'string') {
|
|
82
|
+
return typed(typedFunction.name, signatures);
|
|
83
|
+
} else {
|
|
84
|
+
return typed(signatures);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
46
87
|
}, {
|
|
47
88
|
isTransformFunction: true
|
|
48
89
|
});
|
|
49
90
|
|
|
50
91
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
92
|
+
* Transforms the callback function based on the number of callback inputs and arrays.
|
|
93
|
+
* There are three cases:
|
|
94
|
+
* 1. The callback function has N arguments.
|
|
95
|
+
* 2. The callback function has N+1 arguments.
|
|
96
|
+
* 3. The callback function has 2N+1 arguments.
|
|
97
|
+
*
|
|
98
|
+
* @param {Function} callbackFunction - The callback function to transform.
|
|
99
|
+
* @param {number} numberOfCallbackInputs - The number of callback inputs.
|
|
100
|
+
* @param {number} numberOfArrays - The number of arrays.
|
|
101
|
+
* @returns {Function} The transformed callback function.
|
|
57
102
|
*/
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
103
|
+
function _transformCallbackFunction(callbackFunction, numberOfCallbackInputs, numberOfArrays) {
|
|
104
|
+
if (numberOfCallbackInputs === numberOfArrays) {
|
|
105
|
+
return callbackFunction;
|
|
106
|
+
} else if (numberOfCallbackInputs === numberOfArrays + 1) {
|
|
107
|
+
return function () {
|
|
108
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
109
|
+
args[_key] = arguments[_key];
|
|
110
|
+
}
|
|
111
|
+
var vals = args.slice(0, numberOfArrays);
|
|
112
|
+
var idx = _transformDims(args[numberOfArrays]);
|
|
113
|
+
return callbackFunction(...vals, idx);
|
|
114
|
+
};
|
|
115
|
+
} else if (numberOfCallbackInputs > numberOfArrays + 1) {
|
|
116
|
+
return function () {
|
|
117
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
118
|
+
args[_key2] = arguments[_key2];
|
|
119
|
+
}
|
|
120
|
+
var vals = args.slice(0, numberOfArrays);
|
|
121
|
+
var idx = _transformDims(args[numberOfArrays]);
|
|
122
|
+
var rest = args.slice(numberOfArrays + 1);
|
|
123
|
+
return callbackFunction(...vals, idx, ...rest);
|
|
124
|
+
};
|
|
125
|
+
} else {
|
|
126
|
+
return callbackFunction;
|
|
69
127
|
}
|
|
70
|
-
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Transforms the dimensions by adding 1 to each dimension.
|
|
132
|
+
*
|
|
133
|
+
* @param {Array} dims - The dimensions to transform.
|
|
134
|
+
* @returns {Array} The transformed dimensions.
|
|
135
|
+
*/
|
|
136
|
+
function _transformDims(dims) {
|
|
137
|
+
return dims.map(dim => dim.isBigNumber ? dim.plus(1) : dim + 1);
|
|
71
138
|
}
|
|
@@ -17,10 +17,10 @@ export var createPrintTransform = /* #__PURE__ */factory(name, dependencies, _re
|
|
|
17
17
|
add
|
|
18
18
|
});
|
|
19
19
|
return typed(name, {
|
|
20
|
-
'string, Object | Array': function
|
|
20
|
+
'string, Object | Array': function string_Object__Array(template, values) {
|
|
21
21
|
return print(_convertTemplateToZeroBasedIndex(template), values);
|
|
22
22
|
},
|
|
23
|
-
'string, Object | Array, number | Object': function
|
|
23
|
+
'string, Object | Array, number | Object': function string_Object__Array_number__Object(template, values, options) {
|
|
24
24
|
return print(_convertTemplateToZeroBasedIndex(template), values, options);
|
|
25
25
|
}
|
|
26
26
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isNumber, isBigNumber } from '../../../utils/is.js';
|
|
2
|
+
/**
|
|
3
|
+
* Change last argument dim from one-based to zero-based.
|
|
4
|
+
*/
|
|
5
|
+
export function dimToZeroBase(dim) {
|
|
6
|
+
if (isNumber(dim)) {
|
|
7
|
+
return dim - 1;
|
|
8
|
+
} else if (isBigNumber(dim)) {
|
|
9
|
+
return dim.minus(1);
|
|
10
|
+
} else {
|
|
11
|
+
return dim;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function isNumberOrBigNumber(n) {
|
|
15
|
+
return isNumber(n) || isBigNumber(n);
|
|
16
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { isCollection } from '../../../utils/is.js';
|
|
2
|
+
import { dimToZeroBase, isNumberOrBigNumber } from './dimToZeroBase.js';
|
|
3
3
|
/**
|
|
4
4
|
* Change last argument dim from one-based to zero-based.
|
|
5
5
|
*/
|
|
@@ -7,10 +7,8 @@ export function lastDimToZeroBase(args) {
|
|
|
7
7
|
if (args.length === 2 && isCollection(args[0])) {
|
|
8
8
|
args = args.slice();
|
|
9
9
|
var dim = args[1];
|
|
10
|
-
if (
|
|
11
|
-
args[1] = dim
|
|
12
|
-
} else if (isBigNumber(dim)) {
|
|
13
|
-
args[1] = dim.minus(1);
|
|
10
|
+
if (isNumberOrBigNumber(dim)) {
|
|
11
|
+
args[1] = dimToZeroBase(dim);
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
return args;
|
|
@@ -70,7 +70,7 @@ export var createSlu = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
70
70
|
* @return {Object} The lower triangular matrix, the upper triangular matrix and the permutation vectors.
|
|
71
71
|
*/
|
|
72
72
|
return typed(name, {
|
|
73
|
-
'SparseMatrix, number, number': function
|
|
73
|
+
'SparseMatrix, number, number': function SparseMatrix_number_number(a, order, threshold) {
|
|
74
74
|
// verify order
|
|
75
75
|
if (!isInteger(order) || order < 0 || order > 3) {
|
|
76
76
|
throw new Error('Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]');
|