@@ -17,3 +17,3 @@ /*! | ||
| * | ||
| * @version 14.9.1 | ||
| * @version 15.0.0 | ||
| * @date 2025-10-10 | ||
@@ -20,0 +20,0 @@ * |
@@ -30,3 +30,7 @@ "use strict"; | ||
| // null = randomly seed | ||
| randomSeed: null | ||
| randomSeed: null, | ||
| // legacy behavior for matrix subset. When true, the subset function | ||
| // returns a matrix or array with the same size as the index (except for scalars). | ||
| // When false, it returns a matrix or array with a size depending on the type of index. | ||
| legacySubset: false | ||
| }; |
@@ -69,2 +69,6 @@ "use strict"; | ||
| } | ||
| if (options.legacySubset === true) { | ||
| // this if is only for backwards compatibility, it can be removed in the future. | ||
| console.warn('Warning: The configuration option "legacySubset" is for compatibility only and might be deprecated in the future.'); | ||
| } | ||
| const prev = (0, _object.clone)(config); | ||
@@ -71,0 +75,0 @@ |
@@ -7,3 +7,2 @@ "use strict"; | ||
| exports.sizeDependencies = void 0; | ||
| var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js"); | ||
| var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js"); | ||
@@ -17,5 +16,4 @@ var _factoriesAny = require("../../factoriesAny.js"); | ||
| const sizeDependencies = exports.sizeDependencies = { | ||
| matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies, | ||
| typedDependencies: _dependenciesTypedGenerated.typedDependencies, | ||
| createSize: _factoriesAny.createSize | ||
| }; |
@@ -7,3 +7,2 @@ "use strict"; | ||
| exports.sizeDependencies = void 0; | ||
| var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js"); | ||
| var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js"); | ||
@@ -17,5 +16,4 @@ var _factoriesNumber = require("../../factoriesNumber.js"); | ||
| const sizeDependencies = exports.sizeDependencies = { | ||
| matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies, | ||
| typedDependencies: _dependenciesTypedGenerated.typedDependencies, | ||
| createSize: _factoriesNumber.createSize | ||
| }; |
@@ -75,2 +75,6 @@ "use strict"; | ||
| }); | ||
| const IndexNode = exports.IndexNode = (0, _factoriesAny.createIndexNode)({ | ||
| Node, | ||
| size: _pureFunctionsAnyGenerated.size | ||
| }); | ||
| const AccessorNode = exports.AccessorNode = (0, _factoriesAny.createAccessorNode)({ | ||
@@ -85,6 +89,2 @@ Node, | ||
| }); | ||
| const IndexNode = exports.IndexNode = (0, _factoriesAny.createIndexNode)({ | ||
| Node, | ||
| size: _pureFunctionsAnyGenerated.size | ||
| }); | ||
| const SymbolNode = exports.SymbolNode = (0, _factoriesAny.createSymbolNode)({ | ||
@@ -336,2 +336,3 @@ Unit: _pureFunctionsAnyGenerated.Unit, | ||
| sin: _pureFunctionsAnyGenerated.sin, | ||
| size: _pureFunctionsAnyGenerated.size, | ||
| splitUnit: _pureFunctionsAnyGenerated.splitUnit, | ||
@@ -352,2 +353,3 @@ square: _pureFunctionsAnyGenerated.square, | ||
| csch: _pureFunctionsAnyGenerated.csch, | ||
| dot: _pureFunctionsAnyGenerated.dot, | ||
| isNaN: _pureFunctionsAnyGenerated.isNaN, | ||
@@ -358,2 +360,3 @@ isPrime: _pureFunctionsAnyGenerated.isPrime, | ||
| matrixFromFunction: _pureFunctionsAnyGenerated.matrixFromFunction, | ||
| multiply: _pureFunctionsAnyGenerated.multiply, | ||
| ones: _pureFunctionsAnyGenerated.ones, | ||
@@ -386,2 +389,3 @@ randomInt: _pureFunctionsAnyGenerated.randomInt, | ||
| leftShift: _pureFunctionsAnyGenerated.leftShift, | ||
| matrixFromRows: _pureFunctionsAnyGenerated.matrixFromRows, | ||
| mode: _pureFunctionsAnyGenerated.mode, | ||
@@ -394,3 +398,2 @@ nthRoot: _pureFunctionsAnyGenerated.nthRoot, | ||
| round: _pureFunctionsAnyGenerated.round, | ||
| size: _pureFunctionsAnyGenerated.size, | ||
| smaller: _pureFunctionsAnyGenerated.smaller, | ||
@@ -412,3 +415,2 @@ to: _pureFunctionsAnyGenerated.to, | ||
| divideScalar: _pureFunctionsAnyGenerated.divideScalar, | ||
| dotDivide: _pureFunctionsAnyGenerated.dotDivide, | ||
| equalText: _pureFunctionsAnyGenerated.equalText, | ||
@@ -423,3 +425,2 @@ floor: _pureFunctionsAnyGenerated.floor, | ||
| matrixFromColumns: _pureFunctionsAnyGenerated.matrixFromColumns, | ||
| max: _pureFunctionsAnyGenerated.max, | ||
| min: _pureFunctionsAnyGenerated.min, | ||
@@ -438,9 +439,13 @@ mod: _pureFunctionsAnyGenerated.mod, | ||
| usolve: _pureFunctionsAnyGenerated.usolve, | ||
| zpk2tf: _pureFunctionsAnyGenerated.zpk2tf, | ||
| catalan: _pureFunctionsAnyGenerated.catalan, | ||
| compareNatural: _pureFunctionsAnyGenerated.compareNatural, | ||
| composition: _pureFunctionsAnyGenerated.composition, | ||
| cross: _pureFunctionsAnyGenerated.cross, | ||
| det: _pureFunctionsAnyGenerated.det, | ||
| diff: _pureFunctionsAnyGenerated.diff, | ||
| distance: _pureFunctionsAnyGenerated.distance, | ||
| dot: _pureFunctionsAnyGenerated.dot, | ||
| dotDivide: _pureFunctionsAnyGenerated.dotDivide, | ||
| index: _pureFunctionsAnyGenerated.index, | ||
| intersect: _pureFunctionsAnyGenerated.intersect, | ||
| invmod: _pureFunctionsAnyGenerated.invmod, | ||
@@ -450,4 +455,3 @@ lcm: _pureFunctionsAnyGenerated.lcm, | ||
| lsolveAll: _pureFunctionsAnyGenerated.lsolveAll, | ||
| matrixFromRows: _pureFunctionsAnyGenerated.matrixFromRows, | ||
| multiply: _pureFunctionsAnyGenerated.multiply, | ||
| max: _pureFunctionsAnyGenerated.max, | ||
| range: _pureFunctionsAnyGenerated.range, | ||
@@ -463,17 +467,18 @@ row: _pureFunctionsAnyGenerated.row, | ||
| usolveAll: _pureFunctionsAnyGenerated.usolveAll, | ||
| zpk2tf: _pureFunctionsAnyGenerated.zpk2tf, | ||
| and: _pureFunctionsAnyGenerated.and, | ||
| ceil: _pureFunctionsAnyGenerated.ceil, | ||
| column: _pureFunctionsAnyGenerated.column, | ||
| cross: _pureFunctionsAnyGenerated.cross, | ||
| det: _pureFunctionsAnyGenerated.det, | ||
| cumsum: _pureFunctionsAnyGenerated.cumsum, | ||
| fix: _pureFunctionsAnyGenerated.fix, | ||
| setDifference: _pureFunctionsAnyGenerated.setDifference, | ||
| setMultiplicity: _pureFunctionsAnyGenerated.setMultiplicity, | ||
| setSymDifference: _pureFunctionsAnyGenerated.setSymDifference, | ||
| sum: _pureFunctionsAnyGenerated.sum, | ||
| inv: _pureFunctionsAnyGenerated.inv, | ||
| lup: _pureFunctionsAnyGenerated.lup, | ||
| pinv: _pureFunctionsAnyGenerated.pinv, | ||
| pow: _pureFunctionsAnyGenerated.pow, | ||
| setDifference: _pureFunctionsAnyGenerated.setDifference, | ||
| setMultiplicity: _pureFunctionsAnyGenerated.setMultiplicity, | ||
| setSymDifference: _pureFunctionsAnyGenerated.setSymDifference, | ||
| setIntersect: _pureFunctionsAnyGenerated.setIntersect, | ||
| setUnion: _pureFunctionsAnyGenerated.setUnion, | ||
| sqrtm: _pureFunctionsAnyGenerated.sqrtm, | ||
| sum: _pureFunctionsAnyGenerated.sum, | ||
| vacuumImpedance: _pureFunctionsAnyGenerated.vacuumImpedance, | ||
@@ -498,3 +503,2 @@ wienDisplacement: _pureFunctionsAnyGenerated.wienDisplacement, | ||
| ifft: _pureFunctionsAnyGenerated.ifft, | ||
| inverseConductanceQuantum: _pureFunctionsAnyGenerated.inverseConductanceQuantum, | ||
| klitzing: _pureFunctionsAnyGenerated.klitzing, | ||
@@ -515,3 +519,2 @@ loschmidt: _pureFunctionsAnyGenerated.loschmidt, | ||
| secondRadiation: _pureFunctionsAnyGenerated.secondRadiation, | ||
| setSize: _pureFunctionsAnyGenerated.setSize, | ||
| speedOfLight: _pureFunctionsAnyGenerated.speedOfLight, | ||
@@ -528,4 +531,4 @@ stefanBoltzmann: _pureFunctionsAnyGenerated.stefanBoltzmann, | ||
| gravity: _pureFunctionsAnyGenerated.gravity, | ||
| intersect: _pureFunctionsAnyGenerated.intersect, | ||
| lup: _pureFunctionsAnyGenerated.lup, | ||
| inverseConductanceQuantum: _pureFunctionsAnyGenerated.inverseConductanceQuantum, | ||
| lusolve: _pureFunctionsAnyGenerated.lusolve, | ||
| magneticFluxQuantum: _pureFunctionsAnyGenerated.magneticFluxQuantum, | ||
@@ -539,3 +542,3 @@ molarMassC12: _pureFunctionsAnyGenerated.molarMassC12, | ||
| resolve, | ||
| setIntersect: _pureFunctionsAnyGenerated.setIntersect, | ||
| setSize: _pureFunctionsAnyGenerated.setSize, | ||
| simplifyConstant, | ||
@@ -547,3 +550,2 @@ solveODE: _pureFunctionsAnyGenerated.solveODE, | ||
| compile, | ||
| cumsum: _pureFunctionsAnyGenerated.cumsum, | ||
| eigs: _pureFunctionsAnyGenerated.eigs, | ||
@@ -553,3 +555,2 @@ fermiCoupling: _pureFunctionsAnyGenerated.fermiCoupling, | ||
| kldivergence: _pureFunctionsAnyGenerated.kldivergence, | ||
| lusolve: _pureFunctionsAnyGenerated.lusolve, | ||
| mean: _pureFunctionsAnyGenerated.mean, | ||
@@ -559,3 +560,2 @@ molarVolume: _pureFunctionsAnyGenerated.molarVolume, | ||
| quantileSeq: _pureFunctionsAnyGenerated.quantileSeq, | ||
| setUnion: _pureFunctionsAnyGenerated.setUnion, | ||
| simplifyCore, | ||
@@ -622,5 +622,8 @@ variance: _pureFunctionsAnyGenerated.variance, | ||
| }), | ||
| index: (0, _factoriesAny.createIndexTransform)({ | ||
| Index: _pureFunctionsAnyGenerated.Index, | ||
| getMatrixDataType: _pureFunctionsAnyGenerated.getMatrixDataType | ||
| max: (0, _factoriesAny.createMaxTransform)({ | ||
| config: _configReadonly.config, | ||
| isNaN: _pureFunctionsAnyGenerated.isNaN, | ||
| larger: _pureFunctionsAnyGenerated.larger, | ||
| numeric: _pureFunctionsAnyGenerated.numeric, | ||
| typed: _pureFunctionsAnyGenerated.typed | ||
| }), | ||
@@ -675,7 +678,2 @@ print: (0, _factoriesAny.createPrintTransform)({ | ||
| }), | ||
| cumsum: (0, _factoriesAny.createCumSumTransform)({ | ||
| add: _pureFunctionsAnyGenerated.add, | ||
| typed: _pureFunctionsAnyGenerated.typed, | ||
| unaryPlus: _pureFunctionsAnyGenerated.unaryPlus | ||
| }), | ||
| diff: (0, _factoriesAny.createDiffTransform)({ | ||
@@ -688,8 +686,5 @@ bignumber: _pureFunctionsAnyGenerated.bignumber, | ||
| }), | ||
| max: (0, _factoriesAny.createMaxTransform)({ | ||
| config: _configReadonly.config, | ||
| isNaN: _pureFunctionsAnyGenerated.isNaN, | ||
| larger: _pureFunctionsAnyGenerated.larger, | ||
| numeric: _pureFunctionsAnyGenerated.numeric, | ||
| typed: _pureFunctionsAnyGenerated.typed | ||
| index: (0, _factoriesAny.createIndexTransform)({ | ||
| Index: _pureFunctionsAnyGenerated.Index, | ||
| getMatrixDataType: _pureFunctionsAnyGenerated.getMatrixDataType | ||
| }), | ||
@@ -722,2 +717,7 @@ range: (0, _factoriesAny.createRangeTransform)({ | ||
| }), | ||
| cumsum: (0, _factoriesAny.createCumSumTransform)({ | ||
| add: _pureFunctionsAnyGenerated.add, | ||
| typed: _pureFunctionsAnyGenerated.typed, | ||
| unaryPlus: _pureFunctionsAnyGenerated.unaryPlus | ||
| }), | ||
| mean: (0, _factoriesAny.createMeanTransform)({ | ||
@@ -780,2 +780,3 @@ add: _pureFunctionsAnyGenerated.add, | ||
| SparseMatrix: _pureFunctionsAnyGenerated.SparseMatrix, | ||
| IndexNode, | ||
| ImmutableDenseMatrix: _pureFunctionsAnyGenerated.ImmutableDenseMatrix, | ||
@@ -786,3 +787,2 @@ Index: _pureFunctionsAnyGenerated.Index, | ||
| FibonacciHeap: _pureFunctionsAnyGenerated.FibonacciHeap, | ||
| IndexNode, | ||
| Spa: _pureFunctionsAnyGenerated.Spa, | ||
@@ -789,0 +789,0 @@ Unit: _pureFunctionsAnyGenerated.Unit, |
@@ -73,3 +73,4 @@ "use strict"; | ||
| const DenseMatrix = exports.DenseMatrix = /* #__PURE__ */(0, _factoriesAny.createDenseMatrixClass)({ | ||
| Matrix | ||
| Matrix, | ||
| config: _configReadonly.config | ||
| }); | ||
@@ -292,2 +293,5 @@ const efimovFactor = exports.efimovFactor = /* #__PURE__ */(0, _factoriesAny.createEfimovFactor)({ | ||
| }); | ||
| const size = exports.size = /* #__PURE__ */(0, _factoriesAny.createSize)({ | ||
| typed | ||
| }); | ||
| const SparseMatrix = exports.SparseMatrix = /* #__PURE__ */(0, _factoriesAny.createSparseMatrixClass)({ | ||
@@ -348,2 +352,9 @@ Matrix, | ||
| }); | ||
| const dot = exports.dot = /* #__PURE__ */(0, _factoriesAny.createDot)({ | ||
| addScalar, | ||
| conj, | ||
| multiplyScalar, | ||
| size, | ||
| typed | ||
| }); | ||
| const isNaN = exports.isNaN = /* #__PURE__ */(0, _factoriesAny.createIsNaN)({ | ||
@@ -371,2 +382,10 @@ typed | ||
| }); | ||
| const multiply = exports.multiply = /* #__PURE__ */(0, _factoriesAny.createMultiply)({ | ||
| addScalar, | ||
| dot, | ||
| equalScalar, | ||
| matrix, | ||
| multiplyScalar, | ||
| typed | ||
| }); | ||
| const ones = exports.ones = /* #__PURE__ */(0, _factoriesAny.createOnes)({ | ||
@@ -512,2 +531,8 @@ BigNumber, | ||
| }); | ||
| const matrixFromRows = exports.matrixFromRows = /* #__PURE__ */(0, _factoriesAny.createMatrixFromRows)({ | ||
| flatten, | ||
| matrix, | ||
| size, | ||
| typed | ||
| }); | ||
| const mode = exports.mode = /* #__PURE__ */(0, _factoriesAny.createMode)({ | ||
@@ -557,7 +582,2 @@ isNaN, | ||
| }); | ||
| const size = exports.size = /* #__PURE__ */(0, _factoriesAny.createSize)({ | ||
| matrix, | ||
| config: _configReadonly.config, | ||
| typed | ||
| }); | ||
| const smaller = exports.smaller = /* #__PURE__ */(0, _factoriesAny.createSmaller)({ | ||
@@ -671,11 +691,2 @@ DenseMatrix, | ||
| }); | ||
| const dotDivide = exports.dotDivide = /* #__PURE__ */(0, _factoriesAny.createDotDivide)({ | ||
| DenseMatrix, | ||
| SparseMatrix, | ||
| concat, | ||
| divideScalar, | ||
| equalScalar, | ||
| matrix, | ||
| typed | ||
| }); | ||
| const equalText = exports.equalText = /* #__PURE__ */(0, _factoriesAny.createEqualText)({ | ||
@@ -759,9 +770,2 @@ compareText, | ||
| }); | ||
| const max = exports.max = /* #__PURE__ */(0, _factoriesAny.createMax)({ | ||
| config: _configReadonly.config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| }); | ||
| const min = exports.min = /* #__PURE__ */(0, _factoriesAny.createMin)({ | ||
@@ -872,2 +876,9 @@ config: _configReadonly.config, | ||
| }); | ||
| const zpk2tf = exports.zpk2tf = /* #__PURE__ */(0, _factoriesAny.createZpk2tf)({ | ||
| Complex, | ||
| add, | ||
| multiply, | ||
| number, | ||
| typed | ||
| }); | ||
| const catalan = exports.catalan = /* #__PURE__ */(0, _factoriesAny.createCatalan)({ | ||
@@ -895,2 +906,17 @@ addScalar, | ||
| }); | ||
| const cross = exports.cross = /* #__PURE__ */(0, _factoriesAny.createCross)({ | ||
| matrix, | ||
| multiply, | ||
| subtract, | ||
| typed | ||
| }); | ||
| const det = exports.det = /* #__PURE__ */(0, _factoriesAny.createDet)({ | ||
| divideScalar, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| subtractScalar, | ||
| typed, | ||
| unaryMinus | ||
| }); | ||
| const diff = exports.diff = /* #__PURE__ */(0, _factoriesAny.createDiff)({ | ||
@@ -912,7 +938,9 @@ matrix, | ||
| }); | ||
| const dot = exports.dot = /* #__PURE__ */(0, _factoriesAny.createDot)({ | ||
| addScalar, | ||
| conj, | ||
| multiplyScalar, | ||
| size, | ||
| const dotDivide = exports.dotDivide = /* #__PURE__ */(0, _factoriesAny.createDotDivide)({ | ||
| DenseMatrix, | ||
| SparseMatrix, | ||
| concat, | ||
| divideScalar, | ||
| equalScalar, | ||
| matrix, | ||
| typed | ||
@@ -928,2 +956,19 @@ }); | ||
| }); | ||
| const intersect = exports.intersect = /* #__PURE__ */(0, _factoriesAny.createIntersect)({ | ||
| abs, | ||
| add, | ||
| addScalar, | ||
| config: _configReadonly.config, | ||
| divideScalar, | ||
| equalScalar, | ||
| flatten, | ||
| isNumeric, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| multiplyScalar, | ||
| smaller, | ||
| subtract, | ||
| typed | ||
| }); | ||
| const invmod = exports.invmod = /* #__PURE__ */(0, _factoriesAny.createInvmod)({ | ||
@@ -962,16 +1007,9 @@ BigNumber, | ||
| }); | ||
| const matrixFromRows = exports.matrixFromRows = /* #__PURE__ */(0, _factoriesAny.createMatrixFromRows)({ | ||
| flatten, | ||
| matrix, | ||
| size, | ||
| const max = exports.max = /* #__PURE__ */(0, _factoriesAny.createMax)({ | ||
| config: _configReadonly.config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| }); | ||
| const multiply = exports.multiply = /* #__PURE__ */(0, _factoriesAny.createMultiply)({ | ||
| addScalar, | ||
| dot, | ||
| equalScalar, | ||
| matrix, | ||
| multiplyScalar, | ||
| typed | ||
| }); | ||
| const range = exports.range = /* #__PURE__ */(0, _factoriesAny.createRange)({ | ||
@@ -1059,9 +1097,2 @@ bignumber, | ||
| }); | ||
| const zpk2tf = exports.zpk2tf = /* #__PURE__ */(0, _factoriesAny.createZpk2tf)({ | ||
| Complex, | ||
| add, | ||
| multiply, | ||
| number, | ||
| typed | ||
| }); | ||
| const and = exports.and = /* #__PURE__ */(0, _factoriesAny.createAnd)({ | ||
@@ -1090,16 +1121,6 @@ concat, | ||
| }); | ||
| const cross = exports.cross = /* #__PURE__ */(0, _factoriesAny.createCross)({ | ||
| matrix, | ||
| multiply, | ||
| subtract, | ||
| typed | ||
| }); | ||
| const det = exports.det = /* #__PURE__ */(0, _factoriesAny.createDet)({ | ||
| divideScalar, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| subtractScalar, | ||
| const cumsum = exports.cumsum = /* #__PURE__ */(0, _factoriesAny.createCumSum)({ | ||
| add, | ||
| typed, | ||
| unaryMinus | ||
| unaryPlus | ||
| }); | ||
@@ -1116,2 +1137,36 @@ const fix = exports.fix = /* #__PURE__ */(0, _factoriesAny.createFix)({ | ||
| }); | ||
| const setDifference = exports.setDifference = /* #__PURE__ */(0, _factoriesAny.createSetDifference)({ | ||
| DenseMatrix, | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| const setMultiplicity = exports.setMultiplicity = /* #__PURE__ */(0, _factoriesAny.createSetMultiplicity)({ | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| const setSymDifference = exports.setSymDifference = /* #__PURE__ */(0, _factoriesAny.createSetSymDifference)({ | ||
| Index, | ||
| concat, | ||
| setDifference, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| const Spa = exports.Spa = /* #__PURE__ */(0, _factoriesAny.createSpaClass)({ | ||
| FibonacciHeap, | ||
| addScalar, | ||
| equalScalar | ||
| }); | ||
| const sum = exports.sum = /* #__PURE__ */(0, _factoriesAny.createSum)({ | ||
| add, | ||
| config: _configReadonly.config, | ||
| numeric, | ||
| typed | ||
| }); | ||
| const inv = exports.inv = /* #__PURE__ */(0, _factoriesAny.createInv)({ | ||
@@ -1128,2 +1183,17 @@ abs, | ||
| }); | ||
| const lup = exports.lup = /* #__PURE__ */(0, _factoriesAny.createLup)({ | ||
| DenseMatrix, | ||
| Spa, | ||
| SparseMatrix, | ||
| abs, | ||
| addScalar, | ||
| divideScalar, | ||
| equalScalar, | ||
| larger, | ||
| matrix, | ||
| multiplyScalar, | ||
| subtractScalar, | ||
| typed, | ||
| unaryMinus | ||
| }); | ||
| const pinv = exports.pinv = /* #__PURE__ */(0, _factoriesAny.createPinv)({ | ||
@@ -1154,3 +1224,3 @@ Complex, | ||
| }); | ||
| const setDifference = exports.setDifference = /* #__PURE__ */(0, _factoriesAny.createSetDifference)({ | ||
| const setIntersect = exports.setIntersect = /* #__PURE__ */(0, _factoriesAny.createSetIntersect)({ | ||
| DenseMatrix, | ||
@@ -1163,13 +1233,7 @@ Index, | ||
| }); | ||
| const setMultiplicity = exports.setMultiplicity = /* #__PURE__ */(0, _factoriesAny.createSetMultiplicity)({ | ||
| const setUnion = exports.setUnion = /* #__PURE__ */(0, _factoriesAny.createSetUnion)({ | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| const setSymDifference = exports.setSymDifference = /* #__PURE__ */(0, _factoriesAny.createSetSymDifference)({ | ||
| Index, | ||
| concat, | ||
| setDifference, | ||
| setIntersect, | ||
| setSymDifference, | ||
| size, | ||
@@ -1179,7 +1243,2 @@ subset, | ||
| }); | ||
| const Spa = exports.Spa = /* #__PURE__ */(0, _factoriesAny.createSpaClass)({ | ||
| FibonacciHeap, | ||
| addScalar, | ||
| equalScalar | ||
| }); | ||
| const sqrtm = exports.sqrtm = /* #__PURE__ */(0, _factoriesAny.createSqrtm)({ | ||
@@ -1198,8 +1257,2 @@ abs, | ||
| }); | ||
| const sum = exports.sum = /* #__PURE__ */(0, _factoriesAny.createSum)({ | ||
| add, | ||
| config: _configReadonly.config, | ||
| numeric, | ||
| typed | ||
| }); | ||
| const Unit = exports.Unit = /* #__PURE__ */(0, _factoriesAny.createUnitClass)({ | ||
@@ -1339,7 +1392,2 @@ BigNumber, | ||
| }); | ||
| const inverseConductanceQuantum = exports.inverseConductanceQuantum = /* #__PURE__ */(0, _factoriesAny.createInverseConductanceQuantum)({ | ||
| BigNumber, | ||
| Unit, | ||
| config: _configReadonly.config | ||
| }); | ||
| const klitzing = exports.klitzing = /* #__PURE__ */(0, _factoriesAny.createKlitzing)({ | ||
@@ -1420,6 +1468,2 @@ BigNumber, | ||
| }); | ||
| const setSize = exports.setSize = /* #__PURE__ */(0, _factoriesAny.createSetSize)({ | ||
| compareNatural, | ||
| typed | ||
| }); | ||
| const speedOfLight = exports.speedOfLight = /* #__PURE__ */(0, _factoriesAny.createSpeedOfLight)({ | ||
@@ -1482,33 +1526,15 @@ BigNumber, | ||
| }); | ||
| const intersect = exports.intersect = /* #__PURE__ */(0, _factoriesAny.createIntersect)({ | ||
| abs, | ||
| add, | ||
| addScalar, | ||
| config: _configReadonly.config, | ||
| divideScalar, | ||
| equalScalar, | ||
| flatten, | ||
| isNumeric, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| multiplyScalar, | ||
| smaller, | ||
| subtract, | ||
| typed | ||
| const inverseConductanceQuantum = exports.inverseConductanceQuantum = /* #__PURE__ */(0, _factoriesAny.createInverseConductanceQuantum)({ | ||
| BigNumber, | ||
| Unit, | ||
| config: _configReadonly.config | ||
| }); | ||
| const lup = exports.lup = /* #__PURE__ */(0, _factoriesAny.createLup)({ | ||
| const lusolve = exports.lusolve = /* #__PURE__ */(0, _factoriesAny.createLusolve)({ | ||
| DenseMatrix, | ||
| Spa, | ||
| SparseMatrix, | ||
| abs, | ||
| addScalar, | ||
| divideScalar, | ||
| equalScalar, | ||
| larger, | ||
| lsolve, | ||
| lup, | ||
| matrix, | ||
| multiplyScalar, | ||
| subtractScalar, | ||
| slu, | ||
| typed, | ||
| unaryMinus | ||
| usolve | ||
| }); | ||
@@ -1558,8 +1584,4 @@ const magneticFluxQuantum = exports.magneticFluxQuantum = /* #__PURE__ */(0, _factoriesAny.createMagneticFluxQuantum)({ | ||
| }); | ||
| const setIntersect = exports.setIntersect = /* #__PURE__ */(0, _factoriesAny.createSetIntersect)({ | ||
| DenseMatrix, | ||
| Index, | ||
| const setSize = exports.setSize = /* #__PURE__ */(0, _factoriesAny.createSetSize)({ | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
@@ -1610,7 +1632,2 @@ }); | ||
| }); | ||
| const cumsum = exports.cumsum = /* #__PURE__ */(0, _factoriesAny.createCumSum)({ | ||
| add, | ||
| typed, | ||
| unaryPlus | ||
| }); | ||
| const eigs = exports.eigs = /* #__PURE__ */(0, _factoriesAny.createEigs)({ | ||
@@ -1672,11 +1689,2 @@ abs, | ||
| }); | ||
| const lusolve = exports.lusolve = /* #__PURE__ */(0, _factoriesAny.createLusolve)({ | ||
| DenseMatrix, | ||
| lsolve, | ||
| lup, | ||
| matrix, | ||
| slu, | ||
| typed, | ||
| usolve | ||
| }); | ||
| const mean = exports.mean = /* #__PURE__ */(0, _factoriesAny.createMean)({ | ||
@@ -1712,11 +1720,2 @@ add, | ||
| }); | ||
| const setUnion = exports.setUnion = /* #__PURE__ */(0, _factoriesAny.createSetUnion)({ | ||
| Index, | ||
| concat, | ||
| setIntersect, | ||
| setSymDifference, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| const variance = exports.variance = /* #__PURE__ */(0, _factoriesAny.createVariance)({ | ||
@@ -1723,0 +1722,0 @@ add, |
@@ -221,4 +221,2 @@ "use strict"; | ||
| const size = exports.size = /* #__PURE__ */(0, _factoriesNumber.createSize)({ | ||
| matrix, | ||
| config: _configReadonly.config, | ||
| typed | ||
@@ -225,0 +223,0 @@ }); |
@@ -89,3 +89,3 @@ "use strict"; | ||
| } | ||
| const s = size(context).valueOf(); | ||
| const s = size(context); | ||
| const childArgs = Object.create(args); | ||
@@ -92,0 +92,0 @@ childArgs.end = s[i]; |
@@ -332,3 +332,3 @@ "use strict"; | ||
| next(state); | ||
| while (parse.isHexDigit(currentCharacter(state))) { | ||
| while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) { | ||
| state.token += currentCharacter(state); | ||
@@ -342,3 +342,3 @@ next(state); | ||
| // get the digits after the radix | ||
| while (parse.isHexDigit(currentCharacter(state))) { | ||
| while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) { | ||
| state.token += currentCharacter(state); | ||
@@ -550,11 +550,2 @@ next(state); | ||
| /** | ||
| * checks if the given char c is a hex digit | ||
| * @param {string} c a string with one character | ||
| * @return {boolean} | ||
| */ | ||
| parse.isHexDigit = function isHexDigit(c) { | ||
| return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F'; | ||
| }; | ||
| /** | ||
| * Start of the parse levels below, in order of precedence | ||
@@ -947,3 +938,3 @@ * @return {Node} node | ||
| let node, name, fn, params; | ||
| node = parseMultiplyDivideModulusPercentage(state); | ||
| node = parseMultiplyDivideModulus(state); | ||
| const operators = { | ||
@@ -957,3 +948,3 @@ '+': 'add', | ||
| getTokenSkipNewline(state); | ||
| const rightNode = parseMultiplyDivideModulusPercentage(state); | ||
| const rightNode = parseMultiplyDivideModulus(state); | ||
| if (rightNode.isPercentage) { | ||
@@ -970,7 +961,7 @@ params = [node, new OperatorNode('*', 'multiply', [node, rightNode])]; | ||
| /** | ||
| * multiply, divide, modulus, percentage | ||
| * multiply, divide, modulus | ||
| * @return {Node} node | ||
| * @private | ||
| */ | ||
| function parseMultiplyDivideModulusPercentage(state) { | ||
| function parseMultiplyDivideModulus(state) { | ||
| let node, last, name, fn; | ||
@@ -993,19 +984,4 @@ node = parseImplicitMultiplication(state); | ||
| getTokenSkipNewline(state); | ||
| if (name === '%' && state.tokenType === TOKENTYPE.DELIMITER && state.token !== '(') { | ||
| // If the expression contains only %, then treat that as /100 | ||
| if (state.token !== '' && operators[state.token]) { | ||
| const left = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| name = state.token; | ||
| fn = operators[name]; | ||
| getTokenSkipNewline(state); | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [left, last]); | ||
| } else { | ||
| node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| } | ||
| // return node | ||
| } else { | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [node, last]); | ||
| } | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [node, last]); | ||
| } else { | ||
@@ -1053,3 +1029,3 @@ break; | ||
| function parseRule2(state) { | ||
| let node = parseUnary(state); | ||
| let node = parseUnaryPercentage(state); | ||
| let last = node; | ||
@@ -1076,3 +1052,3 @@ const tokenStates = []; | ||
| tokenStates.pop(); | ||
| last = parseUnary(state); | ||
| last = parseUnaryPercentage(state); | ||
| node = new OperatorNode('/', 'divide', [node, last]); | ||
@@ -1098,2 +1074,30 @@ } else { | ||
| /** | ||
| * Unary percentage operator (treated as `value / 100`) | ||
| * @return {Node} node | ||
| * @private | ||
| */ | ||
| function parseUnaryPercentage(state) { | ||
| let node = parseUnary(state); | ||
| if (state.token === '%') { | ||
| const previousState = (0, _extends2.default)({}, state); | ||
| getTokenSkipNewline(state); | ||
| // We need to decide if this is a unary percentage % or binary modulo % | ||
| // So we attempt to parse a unary expression at this point. | ||
| // If it fails, then the only possibility is that this is a unary percentage. | ||
| // If it succeeds, then we presume that this must be binary modulo, since the | ||
| // only things that parseUnary can handle are _higher_ precedence than unary %. | ||
| try { | ||
| parseUnary(state); | ||
| // Not sure if we could somehow use the result of that parseUnary? Without | ||
| // further analysis/testing, safer just to discard and let the parse proceed | ||
| (0, _extends2.default)(state, previousState); | ||
| } catch (_unused) { | ||
| // Not seeing a term at this point, so was a unary % | ||
| node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| } | ||
| } | ||
| return node; | ||
| } | ||
| /** | ||
| * Unary plus and minus, and logical and bitwise not | ||
@@ -1100,0 +1104,0 @@ * @return {Node} node |
@@ -26,3 +26,4 @@ "use strict"; | ||
| lusolve, | ||
| abs | ||
| abs, | ||
| config | ||
| } = _ref; | ||
@@ -98,3 +99,3 @@ /** | ||
| if (k < n - 1 && abs(subset(G, index(k + 1, k))) > 1e-5) { | ||
| let RHS = vc(subset(D, index(all, k)), subset(D, index(all, k + 1))); | ||
| let RHS = vc(subset(D, index(all, [k])), subset(D, index(all, [k + 1]))); | ||
| for (let j = 0; j < k; j++) { | ||
@@ -109,7 +110,7 @@ RHS = add(RHS, vc(multiply(y[j], subset(G, index(j, k))), multiply(y[j], subset(G, index(j, k + 1))))); | ||
| const yAux = lusolve(LHS, RHS); | ||
| y[k] = yAux.subset(index(range(0, m), 0)); | ||
| y[k + 1] = yAux.subset(index(range(m, 2 * m), 0)); | ||
| y[k] = yAux.subset(index(range(0, m), [0])); | ||
| y[k + 1] = yAux.subset(index(range(m, 2 * m), [0])); | ||
| k++; | ||
| } else { | ||
| let RHS = subset(D, index(all, k)); | ||
| let RHS = subset(D, index(all, [k])); | ||
| for (let j = 0; j < k; j++) { | ||
@@ -116,0 +117,0 @@ RHS = add(RHS, multiply(y[j], subset(G, index(j, k)))); |
@@ -71,4 +71,4 @@ "use strict"; | ||
| 'SparseMatrix, Array | Matrix': (x, y) => { | ||
| const sx = flatten(size(x).valueOf()); // work around #3529/#3530 | ||
| const sy = flatten(size(y).valueOf()); | ||
| const sx = size(x); | ||
| const sy = size(y); | ||
| if (deepEqual(sx, sy)) return x; | ||
@@ -75,0 +75,0 @@ throw new _DimensionError.DimensionError(sx, sy); |
@@ -61,6 +61,7 @@ "use strict"; | ||
| const rowRange = range(0, value.size()[0]); | ||
| const index = new Index(rowRange, column); | ||
| const index = new Index(rowRange, [column]); | ||
| const result = value.subset(index); | ||
| // once config.legacySubset just return result | ||
| return (0, _is.isMatrix)(result) ? result : matrix([[result]]); | ||
| } | ||
| }); |
@@ -47,4 +47,4 @@ "use strict"; | ||
| function _validateDim(x, y) { | ||
| const xSize = _size(x); | ||
| const ySize = _size(y); | ||
| const xSize = size(x); | ||
| const ySize = size(y); | ||
| let xLen, yLen; | ||
@@ -77,4 +77,4 @@ if (xSize.length === 1) { | ||
| // are these 2-dimensional column vectors? (as opposed to 1-dimensional vectors) | ||
| const aIsColumn = _size(a).length === 2; | ||
| const bIsColumn = _size(b).length === 2; | ||
| const aIsColumn = size(a).length === 2; | ||
| const bIsColumn = size(b).length === 2; | ||
| let add = addScalar; | ||
@@ -159,7 +159,2 @@ let mul = multiplyScalar; | ||
| } | ||
| // TODO remove this once #1771 is fixed | ||
| function _size(x) { | ||
| return (0, _is.isMatrix)(x) ? x.size() : size(x); | ||
| } | ||
| }); |
@@ -31,4 +31,4 @@ "use strict"; | ||
| * | ||
| * @param {Matrix | Array} x Matrix to be flattened | ||
| * @return {Matrix | Array} Returns the flattened matrix | ||
| * @param {DenseMatrix | Array} x Matrix to be flattened | ||
| * @return {DenseMatrix | Array} Returns the flattened matrix | ||
| */ | ||
@@ -39,8 +39,11 @@ return typed(name, { | ||
| }, | ||
| Matrix: function (x) { | ||
| DenseMatrix: function (x) { | ||
| // Return the same matrix type as x (Dense or Sparse Matrix) | ||
| // Return the same data type as x | ||
| return x.create((0, _array.flatten)(x.valueOf(), true), x.datatype()); | ||
| }, | ||
| SparseMatrix: function (_x) { | ||
| throw new TypeError('SparseMatrix is not supported by function flatten ' + 'because it does not support 1D vectors. ' + 'Convert to a DenseMatrix or Array first. Example: flatten(x.toArray())'); | ||
| } | ||
| }); | ||
| }); |
@@ -34,3 +34,3 @@ "use strict"; | ||
| * math.kron([1,1], [2,3,4]) | ||
| * // returns [ [ 2, 3, 4, 2, 3, 4 ] ] | ||
| * // returns [2, 3, 4, 2, 3, 4] | ||
| * | ||
@@ -59,35 +59,36 @@ * See also: | ||
| /** | ||
| * Calculate the Kronecker product of two matrices / vectors | ||
| * @param {Array} a First vector | ||
| * @param {Array} b Second vector | ||
| * @returns {Array} Returns the Kronecker product of x and y | ||
| * @private | ||
| * Calculate the Kronecker product of two (1-dimensional) vectors, | ||
| * with no dimension checking | ||
| * @param {Array} a First vector | ||
| * @param {Array} b Second vector | ||
| * @returns {Array} the 1-dimensional Kronecker product of a and b | ||
| * @private | ||
| */ | ||
| function _kron1d(a, b) { | ||
| // TODO in core overhaul: would be faster to see if we can choose a | ||
| // particular implementation of multiplyScalar at the beginning, | ||
| // rather than re-dispatch for _every_ ordered pair of entries. | ||
| return a.flatMap(x => b.map(y => multiplyScalar(x, y))); | ||
| } | ||
| /** | ||
| * Calculate the Kronecker product of two possibly multidimensional arrays | ||
| * @param {Array} a First array | ||
| * @param {Array} b Second array | ||
| * @param {number} [d] common dimension; if missing, compute and match args | ||
| * @returns {Array} Returns the Kronecker product of x and y | ||
| * @private | ||
| */ | ||
| function _kron(a, b) { | ||
| // Deal with the dimensions of the matricies. | ||
| if ((0, _array.arraySize)(a).length === 1) { | ||
| // Wrap it in a 2D Matrix | ||
| a = [a]; | ||
| let d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1; | ||
| if (d < 0) { | ||
| let adim = (0, _array.arraySize)(a).length; | ||
| let bdim = (0, _array.arraySize)(b).length; | ||
| d = Math.max(adim, bdim); | ||
| while (adim++ < d) a = [a]; | ||
| while (bdim++ < d) b = [b]; | ||
| } | ||
| if ((0, _array.arraySize)(b).length === 1) { | ||
| // Wrap it in a 2D Matrix | ||
| b = [b]; | ||
| } | ||
| if ((0, _array.arraySize)(a).length > 2 || (0, _array.arraySize)(b).length > 2) { | ||
| throw new RangeError('Vectors with dimensions greater then 2 are not supported expected ' + '(Size x = ' + JSON.stringify(a.length) + ', y = ' + JSON.stringify(b.length) + ')'); | ||
| } | ||
| const t = []; | ||
| let r = []; | ||
| return a.map(function (a) { | ||
| return b.map(function (b) { | ||
| r = []; | ||
| t.push(r); | ||
| return a.map(function (y) { | ||
| return b.map(function (x) { | ||
| return r.push(multiplyScalar(y, x)); | ||
| }); | ||
| }); | ||
| }); | ||
| }) && t; | ||
| if (d === 1) return _kron1d(a, b); | ||
| return a.flatMap(aSlice => b.map(bSlice => _kron(aSlice, bSlice, d - 1))); | ||
| } | ||
| }); |
@@ -61,6 +61,7 @@ "use strict"; | ||
| const columnRange = range(0, value.size()[1]); | ||
| const index = new Index(row, columnRange); | ||
| const index = new Index([row], columnRange); | ||
| const result = value.subset(index); | ||
| // once config.legacySubset just return result | ||
| return (0, _is.isMatrix)(result) ? result : matrix([[result]]); | ||
| } | ||
| }); |
@@ -9,14 +9,14 @@ "use strict"; | ||
| var _factory = require("../../utils/factory.js"); | ||
| var _noop = require("../../utils/noop.js"); | ||
| const name = 'size'; | ||
| const dependencies = ['typed', 'config', '?matrix']; | ||
| const dependencies = ['typed']; | ||
| const createSize = exports.createSize = /* #__PURE__ */(0, _factory.factory)(name, dependencies, _ref => { | ||
| let { | ||
| typed, | ||
| config, | ||
| matrix | ||
| typed | ||
| } = _ref; | ||
| /** | ||
| * Calculate the size of a matrix or scalar. | ||
| * Calculate the size of a matrix or scalar. Always returns an Array containing numbers. | ||
| * | ||
| * Note that in mathjs v14 and older, function size could return a Matrix depending on | ||
| * the input type and configuration. | ||
| * | ||
| * Syntax: | ||
@@ -40,17 +40,11 @@ * | ||
| * @param {boolean | number | Complex | Unit | string | Array | Matrix} x A matrix | ||
| * @return {Array | Matrix} A vector with size of `x`. | ||
| * @return {Array} A vector with size of `x`. | ||
| */ | ||
| return typed(name, { | ||
| Matrix: function (x) { | ||
| return x.create(x.size(), 'number'); | ||
| }, | ||
| Matrix: x => x.size(), | ||
| Array: _array.arraySize, | ||
| string: function (x) { | ||
| return config.matrix === 'Array' ? [x.length] : matrix([x.length], 'dense', 'number'); | ||
| }, | ||
| 'number | Complex | BigNumber | Unit | boolean | null': function (x) { | ||
| // scalar | ||
| return config.matrix === 'Array' ? [] : matrix ? matrix([], 'dense', 'number') : (0, _noop.noMatrix)(); | ||
| } | ||
| string: x => [x.length], | ||
| // scalar | ||
| 'number | Complex | BigNumber | Unit | boolean | null': _x => [] | ||
| }); | ||
| }); |
@@ -34,4 +34,4 @@ "use strict"; | ||
| * math.subset(d, math.index(1, 0)) // returns 3 | ||
| * math.subset(d, math.index([0, 1], 1)) // returns [[2], [4]] | ||
| * math.subset(d, math.index([false, true], 0)) // returns [[3]] | ||
| * math.subset(d, math.index([0, 1], [1])) // returns [[2], [4]] | ||
| * math.subset(d, math.index([false, true], [0])) // returns [[3]] | ||
| * | ||
@@ -46,5 +46,5 @@ * // replace a subset | ||
| * const M = [ | ||
| * [1,2,3], | ||
| * [4,5,6], | ||
| * [7,8,9] | ||
| * [1, 2, 3], | ||
| * [4, 5, 6], | ||
| * [7, 8, 9] | ||
| * ] | ||
@@ -128,3 +128,3 @@ * math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]] | ||
| } | ||
| if (index._isScalar) { | ||
| if (index.isScalar()) { | ||
| return replacement; | ||
@@ -171,5 +171,10 @@ } | ||
| let substr = ''; | ||
| range.forEach(function (v) { | ||
| function callback(v) { | ||
| substr += str.charAt(v); | ||
| }); | ||
| } | ||
| if (Number.isInteger(range)) { | ||
| callback(range); | ||
| } else { | ||
| range.forEach(callback); | ||
| } | ||
| return substr; | ||
@@ -208,3 +213,3 @@ } | ||
| const range = index.dimension(0); | ||
| const len = range.size()[0]; | ||
| const len = Number.isInteger(range) ? 1 : range.size()[0]; | ||
| if (len !== replacement.length) { | ||
@@ -224,5 +229,10 @@ throw new _DimensionError.DimensionError(range.size()[0], replacement.length); | ||
| } | ||
| range.forEach(function (v, i) { | ||
| function callback(v, i) { | ||
| chars[v] = replacement.charAt(i[0]); | ||
| }); | ||
| } | ||
| if (Number.isInteger(range)) { | ||
| callback(range, [0]); | ||
| } else { | ||
| range.forEach(callback); | ||
| } | ||
@@ -229,0 +239,0 @@ // initialize undefined characters with a space |
@@ -9,3 +9,3 @@ /** | ||
| * | ||
| * @version 14.9.1 | ||
| * @version 15.0.0 | ||
| * @date 2025-10-10 | ||
@@ -12,0 +12,0 @@ * |
@@ -18,6 +18,7 @@ "use strict"; | ||
| const name = 'DenseMatrix'; | ||
| const dependencies = ['Matrix']; | ||
| const dependencies = ['Matrix', 'config']; | ||
| const createDenseMatrixClass = exports.createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, _ref => { | ||
| let { | ||
| Matrix | ||
| Matrix, | ||
| config | ||
| } = _ref; | ||
@@ -232,3 +233,3 @@ /** | ||
| } | ||
| const isScalar = index.isScalar(); | ||
| const isScalar = config.legacySubset ? index.size().every(idx => idx === 1) : index.isScalar(); | ||
| if (isScalar) { | ||
@@ -253,3 +254,3 @@ // return a scalar | ||
| // retrieve submatrix | ||
| const returnMatrix = new DenseMatrix([]); | ||
| const returnMatrix = new DenseMatrix(); | ||
| const submatrix = _getSubmatrix(matrix._data, index); | ||
@@ -259,3 +260,3 @@ returnMatrix._size = submatrix.size; | ||
| returnMatrix._data = submatrix.data; | ||
| return returnMatrix; | ||
| return config.legacySubset ? returnMatrix.reshape(index.size()) : returnMatrix; | ||
| } | ||
@@ -278,18 +279,26 @@ } | ||
| data: getSubmatrixRecursive(data), | ||
| size | ||
| size: size.filter(x => x !== null) | ||
| }; | ||
| function getSubmatrixRecursive(data) { | ||
| let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
| const ranges = index.dimension(depth); | ||
| size[depth] = ranges.size()[0]; | ||
| const dims = index.dimension(depth); | ||
| function _mapIndex(dim, callback) { | ||
| // applies a callback for when the index is a Number or a Matrix | ||
| if ((0, _is.isNumber)(dim)) return callback(dim);else return dim.map(callback).valueOf(); | ||
| } | ||
| if ((0, _is.isNumber)(dims)) { | ||
| size[depth] = null; | ||
| } else { | ||
| size[depth] = dims.size()[0]; | ||
| } | ||
| if (depth < maxDepth) { | ||
| return ranges.map(rangeIndex => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| return getSubmatrixRecursive(data[rangeIndex], depth + 1); | ||
| }).valueOf(); | ||
| return _mapIndex(dims, dimIndex => { | ||
| (0, _array.validateIndex)(dimIndex, data.length); | ||
| return getSubmatrixRecursive(data[dimIndex], depth + 1); | ||
| }); | ||
| } else { | ||
| return ranges.map(rangeIndex => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| return data[rangeIndex]; | ||
| }).valueOf(); | ||
| return _mapIndex(dims, dimIndex => { | ||
| (0, _array.validateIndex)(dimIndex, data.length); | ||
| return data[dimIndex]; | ||
| }); | ||
| } | ||
@@ -321,8 +330,8 @@ } | ||
| // calculate the size of the submatrix, and convert it into an Array if needed | ||
| let sSize; | ||
| let submatrixSize; | ||
| if ((0, _is.isMatrix)(submatrix)) { | ||
| sSize = submatrix.size(); | ||
| submatrixSize = submatrix.size(); | ||
| submatrix = submatrix.valueOf(); | ||
| } else { | ||
| sSize = (0, _array.arraySize)(submatrix); | ||
| submatrixSize = (0, _array.arraySize)(submatrix); | ||
| } | ||
@@ -333,3 +342,3 @@ if (isScalar) { | ||
| // check whether submatrix is a scalar | ||
| if (sSize.length !== 0) { | ||
| if (submatrixSize.length !== 0) { | ||
| throw new TypeError('Scalar expected'); | ||
@@ -342,11 +351,11 @@ } | ||
| // broadcast submatrix | ||
| if (!(0, _object.deepStrictEqual)(sSize, iSize)) { | ||
| try { | ||
| if (sSize.length === 0) { | ||
| submatrix = (0, _array.broadcastTo)([submatrix], iSize); | ||
| } else { | ||
| if (!(0, _object.deepStrictEqual)(submatrixSize, iSize)) { | ||
| if (submatrixSize.length === 0) { | ||
| submatrix = (0, _array.broadcastTo)([submatrix], iSize); | ||
| } else { | ||
| try { | ||
| submatrix = (0, _array.broadcastTo)(submatrix, iSize); | ||
| } | ||
| sSize = (0, _array.arraySize)(submatrix); | ||
| } catch (_unused) {} | ||
| } catch (error) {} | ||
| } | ||
| submatrixSize = (0, _array.arraySize)(submatrix); | ||
| } | ||
@@ -358,7 +367,7 @@ | ||
| } | ||
| if (sSize.length < iSize.length) { | ||
| if (submatrixSize.length < iSize.length) { | ||
| // calculate number of missing outer dimensions | ||
| let i = 0; | ||
| let outer = 0; | ||
| while (iSize[i] === 1 && sSize[i] === 1) { | ||
| while (iSize[i] === 1 && submatrixSize[i] === 1) { | ||
| i++; | ||
@@ -372,8 +381,8 @@ } | ||
| // unsqueeze both outer and inner dimensions | ||
| submatrix = (0, _array.unsqueeze)(submatrix, iSize.length, outer, sSize); | ||
| submatrix = (0, _array.unsqueeze)(submatrix, iSize.length, outer, submatrixSize); | ||
| } | ||
| // check whether the size of the submatrix matches the index size | ||
| if (!(0, _object.deepStrictEqual)(iSize, sSize)) { | ||
| throw new _DimensionError.DimensionError(iSize, sSize, '>'); | ||
| if (!(0, _object.deepStrictEqual)(iSize, submatrixSize)) { | ||
| throw new _DimensionError.DimensionError(iSize, submatrixSize, '>'); | ||
| } | ||
@@ -407,12 +416,14 @@ | ||
| const range = index.dimension(depth); | ||
| const recursiveCallback = (rangeIndex, i) => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| setSubmatrixRecursive(data[rangeIndex], submatrix[i[0]], depth + 1); | ||
| }; | ||
| const finalCallback = (rangeIndex, i) => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| data[rangeIndex] = submatrix[i[0]]; | ||
| }; | ||
| if (depth < maxDepth) { | ||
| range.forEach((rangeIndex, i) => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| setSubmatrixRecursive(data[rangeIndex], submatrix[i[0]], depth + 1); | ||
| }); | ||
| if ((0, _is.isNumber)(range)) recursiveCallback(range, [0]);else range.forEach(recursiveCallback); | ||
| } else { | ||
| range.forEach((rangeIndex, i) => { | ||
| (0, _array.validateIndex)(rangeIndex, data.length); | ||
| data[rangeIndex] = submatrix[i[0]]; | ||
| }); | ||
| if ((0, _is.isNumber)(range)) finalCallback(range, [0]);else range.forEach(finalCallback); | ||
| } | ||
@@ -419,0 +430,0 @@ } |
@@ -40,3 +40,3 @@ "use strict"; | ||
| */ | ||
| function Index(ranges) { | ||
| function Index() { | ||
| if (!(this instanceof Index)) { | ||
@@ -49,3 +49,3 @@ throw new SyntaxError('Constructor must be called with the new operator'); | ||
| for (let i = 0, ii = arguments.length; i < ii; i++) { | ||
| const arg = arguments[i]; | ||
| const arg = i < 0 || arguments.length <= i ? undefined : arguments[i]; | ||
| const argIsArray = (0, _is.isArray)(arg); | ||
@@ -61,2 +61,3 @@ const argIsMatrix = (0, _is.isMatrix)(arg); | ||
| let m; | ||
| this._isScalar = false; | ||
| if (getMatrixDataType(arg) === 'boolean') { | ||
@@ -70,12 +71,6 @@ if (argIsArray) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg).valueOf()); | ||
| this._dimensions.push(m); | ||
| // size | ||
| const size = m.size(); | ||
| // scalar | ||
| if (size.length !== 1 || size[0] !== 1 || sourceSize !== null) { | ||
| this._isScalar = false; | ||
| } | ||
| } else if (argType === 'number') { | ||
| this._dimensions.push(_createImmutableMatrix([arg])); | ||
| this._dimensions.push(arg); | ||
| } else if (argType === 'bigint') { | ||
| this._dimensions.push(_createImmutableMatrix([Number(arg)])); | ||
| this._dimensions.push(Number(arg)); | ||
| } else if (argType === 'string') { | ||
@@ -100,3 +95,3 @@ // object property (arguments.count should be 1) | ||
| for (let i = 0, l = arg.length; i < l; i++) { | ||
| if (typeof arg[i] !== 'number' || !(0, _number.isInteger)(arg[i])) { | ||
| if (!(0, _is.isNumber)(arg[i]) || !(0, _number.isInteger)(arg[i])) { | ||
| throw new TypeError('Index parameters must be positive integer numbers'); | ||
@@ -106,3 +101,6 @@ } | ||
| // create matrix | ||
| return new ImmutableDenseMatrix(arg); | ||
| const matrix = new ImmutableDenseMatrix(); | ||
| matrix._data = arg; | ||
| matrix._size = [arg.length]; | ||
| return matrix; | ||
| } | ||
@@ -145,3 +143,3 @@ | ||
| const d = this._dimensions[i]; | ||
| size[i] = typeof d === 'string' ? 1 : d.size()[0]; | ||
| size[i] = (0, _is.isString)(d) || (0, _is.isNumber)(d) ? 1 : d.size()[0]; | ||
| } | ||
@@ -160,3 +158,3 @@ return size; | ||
| const range = this._dimensions[i]; | ||
| values[i] = typeof range === 'string' ? range : range.max(); | ||
| values[i] = (0, _is.isString)(range) || (0, _is.isNumber)(range) ? range : range.max(); | ||
| } | ||
@@ -175,3 +173,3 @@ return values; | ||
| const range = this._dimensions[i]; | ||
| values[i] = typeof range === 'string' ? range : range.min(); | ||
| values[i] = (0, _is.isString)(range) || (0, _is.isNumber)(range) ? range : range.min(); | ||
| } | ||
@@ -201,6 +199,7 @@ return values; | ||
| Index.prototype.dimension = function (dim) { | ||
| if (typeof dim !== 'number') { | ||
| var _this$_dimensions$dim; | ||
| if (!(0, _is.isNumber)(dim)) { | ||
| return null; | ||
| } | ||
| return this._dimensions[dim] || null; | ||
| return (_this$_dimensions$dim = this._dimensions[dim]) !== null && _this$_dimensions$dim !== void 0 ? _this$_dimensions$dim : null; | ||
| }; | ||
@@ -213,3 +212,3 @@ | ||
| Index.prototype.isObjectProperty = function () { | ||
| return this._dimensions.length === 1 && typeof this._dimensions[0] === 'string'; | ||
| return this._dimensions.length === 1 && (0, _is.isString)(this._dimensions[0]); | ||
| }; | ||
@@ -248,3 +247,3 @@ | ||
| const dimension = this._dimensions[i]; | ||
| array.push(typeof dimension === 'string' ? dimension : dimension.toArray()); | ||
| array.push((0, _is.isString)(dimension) || (0, _is.isNumber)(dimension) ? dimension : dimension.toArray()); | ||
| } | ||
@@ -271,3 +270,3 @@ return array; | ||
| const dimension = this._dimensions[i]; | ||
| if (typeof dimension === 'string') { | ||
| if ((0, _is.isString)(dimension)) { | ||
| strings.push(JSON.stringify(dimension)); | ||
@@ -274,0 +273,0 @@ } else { |
@@ -307,3 +307,3 @@ "use strict"; | ||
| // loop rows in resulting matrix | ||
| rows.forEach(function (i, r) { | ||
| function rowsCallback(i, r) { | ||
| // update permutation vector | ||
@@ -313,3 +313,4 @@ pv[i] = r[0]; | ||
| w[i] = true; | ||
| }); | ||
| } | ||
| if (Number.isInteger(rows)) rowsCallback(rows, [0]);else rows.forEach(rowsCallback); | ||
@@ -322,3 +323,3 @@ // result matrix arrays | ||
| // loop columns in result matrix | ||
| columns.forEach(function (j) { | ||
| function columnsCallback(j) { | ||
| // update ptr | ||
@@ -340,3 +341,4 @@ ptr.push(index.length); | ||
| } | ||
| }); | ||
| } | ||
| if (Number.isInteger(columns)) columnsCallback(columns);else columns.forEach(columnsCallback); | ||
| // update ptr | ||
@@ -415,3 +417,3 @@ ptr.push(index.length); | ||
| const range = index.dimension(0); | ||
| range.forEach(function (dataIndex, subIndex) { | ||
| _forEachIndex(range, (dataIndex, subIndex) => { | ||
| (0, _array.validateIndex)(dataIndex); | ||
@@ -424,5 +426,5 @@ matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue); | ||
| const secondDimensionRange = index.dimension(1); | ||
| firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) { | ||
| _forEachIndex(firstDimensionRange, (firstDataIndex, firstSubIndex) => { | ||
| (0, _array.validateIndex)(firstDataIndex); | ||
| secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) { | ||
| _forEachIndex(secondDimensionRange, (secondDataIndex, secondSubIndex) => { | ||
| (0, _array.validateIndex)(secondDataIndex); | ||
@@ -435,2 +437,6 @@ matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue); | ||
| return matrix; | ||
| function _forEachIndex(index, callback) { | ||
| // iterate cases where index is a Matrix or a Number | ||
| if ((0, _is.isNumber)(index)) callback(index, [0]);else index.forEach(callback); | ||
| } | ||
| } | ||
@@ -437,0 +443,0 @@ |
@@ -7,4 +7,4 @@ "use strict"; | ||
| exports.version = void 0; | ||
| const version = exports.version = '14.9.1'; | ||
| const version = exports.version = '15.0.0'; | ||
| // Note: This file is automatically generated when building math.js. | ||
| // Changes made in this file will be overwritten. |
@@ -24,3 +24,7 @@ export var DEFAULT_CONFIG = { | ||
| // null = randomly seed | ||
| randomSeed: null | ||
| randomSeed: null, | ||
| // legacy behavior for matrix subset. When true, the subset function | ||
| // returns a matrix or array with the same size as the index (except for scalars). | ||
| // When false, it returns a matrix or array with a size depending on the type of index. | ||
| legacySubset: false | ||
| }; |
@@ -62,2 +62,6 @@ import { clone, deepExtend } from '../../utils/object.js'; | ||
| } | ||
| if (options.legacySubset === true) { | ||
| // this if is only for backwards compatibility, it can be removed in the future. | ||
| console.warn('Warning: The configuration option "legacySubset" is for compatibility only and might be deprecated in the future.'); | ||
| } | ||
| var prev = clone(config); | ||
@@ -64,0 +68,0 @@ |
@@ -5,9 +5,7 @@ /** | ||
| */ | ||
| import { matrixDependencies } from './dependenciesMatrix.generated.js'; | ||
| import { typedDependencies } from './dependenciesTyped.generated.js'; | ||
| import { createSize } from '../../factoriesAny.js'; | ||
| export var sizeDependencies = { | ||
| matrixDependencies, | ||
| typedDependencies, | ||
| createSize | ||
| }; |
@@ -5,9 +5,7 @@ /** | ||
| */ | ||
| import { matrixDependencies } from './dependenciesMatrix.generated.js'; | ||
| import { typedDependencies } from './dependenciesTyped.generated.js'; | ||
| import { createSize } from '../../factoriesNumber.js'; | ||
| export var sizeDependencies = { | ||
| matrixDependencies, | ||
| typedDependencies, | ||
| createSize | ||
| }; |
@@ -7,6 +7,6 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
| import { config } from './configReadonly.js'; | ||
| import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createAccessorNode, createAssignmentNode, createIndexNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createSimplifyCore, createEvaluate, createHelpClass, createParserClass, createSimplify, createSymbolicEqual, createLeafCount, createParser, createRationalize, createDerivative, createHelp, createMapSlicesTransform, createFilterTransform, createForEachTransform, createMapTransform, createOrTransform, createAndTransform, createConcatTransform, createIndexTransform, createPrintTransform, createSumTransform, createBitAndTransform, createMinTransform, createNullishTransform, createSubsetTransform, createBitOrTransform, createCumSumTransform, createDiffTransform, createMaxTransform, createRangeTransform, createRowTransform, createColumnTransform, createMeanTransform, createQuantileSeqTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js'; | ||
| import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createIndexNode, createAccessorNode, createAssignmentNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createSimplifyCore, createEvaluate, createHelpClass, createParserClass, createSimplify, createSymbolicEqual, createLeafCount, createParser, createRationalize, createDerivative, createHelp, createMapSlicesTransform, createFilterTransform, createForEachTransform, createMapTransform, createOrTransform, createAndTransform, createConcatTransform, createMaxTransform, createPrintTransform, createSumTransform, createBitAndTransform, createMinTransform, createNullishTransform, createSubsetTransform, createBitOrTransform, createDiffTransform, createIndexTransform, createRangeTransform, createRowTransform, createColumnTransform, createCumSumTransform, createMeanTransform, createQuantileSeqTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js'; | ||
| import { BigNumber, Complex, e, _false, fineStructure, Fraction, i, _Infinity, LN10, LOG10E, Matrix, _NaN, _null, phi, Range, ResultSet, SQRT1_2, | ||
| // eslint-disable-line camelcase | ||
| sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, flatten, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, subtractScalar, tan, toBest, typeOf, acosh, acsch, asec, bignumber, combinationsWithRep, cosh, csch, isNaN, isPrime, mapSlices, matrix, matrixFromFunction, ones, randomInt, reshape, sech, sinh, sparse, sqrt, squeeze, tanh, transpose, xgcd, zeros, acoth, asin, bin, concat, coth, ctranspose, diag, dotMultiply, equal, fraction, identity, isNumeric, kron, largerEq, leftShift, mode, nthRoot, numeric, prod, resize, rightArithShift, round, size, smaller, to, unaryMinus, unequal, xor, add, atan2, bitAnd, bitOr, bitXor, cbrt, compare, compareText, count, deepEqual, divideScalar, dotDivide, equalText, floor, gcd, hasNumericValue, hypot, ImmutableDenseMatrix, Index, larger, log, lsolve, matrixFromColumns, max, min, mod, nthRoots, nullish, or, partitionSelect, qr, rightLogShift, smallerEq, subset, subtract, trace, usolve, catalan, compareNatural, composition, diff, distance, dot, FibonacciHeap, index, invmod, lcm, log1p, lsolveAll, matrixFromRows, multiply, range, row, setCartesian, setDistinct, setIsSubset, setPowerset, slu, sort, unaryPlus, usolveAll, zpk2tf, and, ceil, column, cross, det, fix, inv, pinv, pow, setDifference, setMultiplicity, setSymDifference, Spa, sqrtm, sum, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, inverseConductanceQuantum, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, setSize, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulombConstant, divide, electronMass, factorial, firstRadiation, gravity, intersect, lup, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setIntersect, solveODE, stirlingS2, unit, bellNumbers, cumsum, eigs, fermiCoupling, gasConstant, kldivergence, lusolve, mean, molarVolume, planckConstant, quantileSeq, setUnion, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js'; | ||
| sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, flatten, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, size, SparseMatrix, splitUnit, square, string, subtractScalar, tan, toBest, typeOf, acosh, acsch, asec, bignumber, combinationsWithRep, cosh, csch, dot, isNaN, isPrime, mapSlices, matrix, matrixFromFunction, multiply, ones, randomInt, reshape, sech, sinh, sparse, sqrt, squeeze, tanh, transpose, xgcd, zeros, acoth, asin, bin, concat, coth, ctranspose, diag, dotMultiply, equal, fraction, identity, isNumeric, kron, largerEq, leftShift, matrixFromRows, mode, nthRoot, numeric, prod, resize, rightArithShift, round, smaller, to, unaryMinus, unequal, xor, add, atan2, bitAnd, bitOr, bitXor, cbrt, compare, compareText, count, deepEqual, divideScalar, equalText, floor, gcd, hasNumericValue, hypot, ImmutableDenseMatrix, Index, larger, log, lsolve, matrixFromColumns, min, mod, nthRoots, nullish, or, partitionSelect, qr, rightLogShift, smallerEq, subset, subtract, trace, usolve, zpk2tf, catalan, compareNatural, composition, cross, det, diff, distance, dotDivide, FibonacciHeap, index, intersect, invmod, lcm, log1p, lsolveAll, max, range, row, setCartesian, setDistinct, setIsSubset, setPowerset, slu, sort, unaryPlus, usolveAll, and, ceil, column, cumsum, fix, setDifference, setMultiplicity, setSymDifference, Spa, sum, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulombConstant, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, kldivergence, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js'; | ||
| var math = {}; // NOT pure! | ||
@@ -62,2 +62,6 @@ var mathWithTransform = {}; // NOT pure! | ||
| }); | ||
| export var IndexNode = createIndexNode({ | ||
| Node, | ||
| size | ||
| }); | ||
| export var AccessorNode = createAccessorNode({ | ||
@@ -72,6 +76,2 @@ Node, | ||
| }); | ||
| export var IndexNode = createIndexNode({ | ||
| Node, | ||
| size | ||
| }); | ||
| export var SymbolNode = createSymbolNode({ | ||
@@ -323,2 +323,3 @@ Unit, | ||
| sin, | ||
| size, | ||
| splitUnit, | ||
@@ -339,2 +340,3 @@ square, | ||
| csch, | ||
| dot, | ||
| isNaN, | ||
@@ -345,2 +347,3 @@ isPrime, | ||
| matrixFromFunction, | ||
| multiply, | ||
| ones, | ||
@@ -373,2 +376,3 @@ randomInt, | ||
| leftShift, | ||
| matrixFromRows, | ||
| mode, | ||
@@ -381,3 +385,2 @@ nthRoot, | ||
| round, | ||
| size, | ||
| smaller, | ||
@@ -399,3 +402,2 @@ to, | ||
| divideScalar, | ||
| dotDivide, | ||
| equalText, | ||
@@ -410,3 +412,2 @@ floor, | ||
| matrixFromColumns, | ||
| max, | ||
| min, | ||
@@ -425,9 +426,13 @@ mod, | ||
| usolve, | ||
| zpk2tf, | ||
| catalan, | ||
| compareNatural, | ||
| composition, | ||
| cross, | ||
| det, | ||
| diff, | ||
| distance, | ||
| dot, | ||
| dotDivide, | ||
| index, | ||
| intersect, | ||
| invmod, | ||
@@ -437,4 +442,3 @@ lcm, | ||
| lsolveAll, | ||
| matrixFromRows, | ||
| multiply, | ||
| max, | ||
| range, | ||
@@ -450,17 +454,18 @@ row, | ||
| usolveAll, | ||
| zpk2tf, | ||
| and, | ||
| ceil, | ||
| column, | ||
| cross, | ||
| det, | ||
| cumsum, | ||
| fix, | ||
| setDifference, | ||
| setMultiplicity, | ||
| setSymDifference, | ||
| sum, | ||
| inv, | ||
| lup, | ||
| pinv, | ||
| pow, | ||
| setDifference, | ||
| setMultiplicity, | ||
| setSymDifference, | ||
| setIntersect, | ||
| setUnion, | ||
| sqrtm, | ||
| sum, | ||
| vacuumImpedance, | ||
@@ -485,3 +490,2 @@ wienDisplacement, | ||
| ifft, | ||
| inverseConductanceQuantum, | ||
| klitzing, | ||
@@ -502,3 +506,2 @@ loschmidt, | ||
| secondRadiation, | ||
| setSize, | ||
| speedOfLight, | ||
@@ -515,4 +518,4 @@ stefanBoltzmann, | ||
| gravity, | ||
| intersect, | ||
| lup, | ||
| inverseConductanceQuantum, | ||
| lusolve, | ||
| magneticFluxQuantum, | ||
@@ -526,3 +529,3 @@ molarMassC12, | ||
| resolve, | ||
| setIntersect, | ||
| setSize, | ||
| simplifyConstant, | ||
@@ -534,3 +537,2 @@ solveODE, | ||
| compile, | ||
| cumsum, | ||
| eigs, | ||
@@ -540,3 +542,2 @@ fermiCoupling, | ||
| kldivergence, | ||
| lusolve, | ||
| mean, | ||
@@ -546,3 +547,2 @@ molarVolume, | ||
| quantileSeq, | ||
| setUnion, | ||
| simplifyCore, | ||
@@ -609,5 +609,8 @@ variance, | ||
| }), | ||
| index: createIndexTransform({ | ||
| Index, | ||
| getMatrixDataType | ||
| max: createMaxTransform({ | ||
| config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| }), | ||
@@ -662,7 +665,2 @@ print: createPrintTransform({ | ||
| }), | ||
| cumsum: createCumSumTransform({ | ||
| add, | ||
| typed, | ||
| unaryPlus | ||
| }), | ||
| diff: createDiffTransform({ | ||
@@ -675,8 +673,5 @@ bignumber, | ||
| }), | ||
| max: createMaxTransform({ | ||
| config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| index: createIndexTransform({ | ||
| Index, | ||
| getMatrixDataType | ||
| }), | ||
@@ -709,2 +704,7 @@ range: createRangeTransform({ | ||
| }), | ||
| cumsum: createCumSumTransform({ | ||
| add, | ||
| typed, | ||
| unaryPlus | ||
| }), | ||
| mean: createMeanTransform({ | ||
@@ -767,2 +767,3 @@ add, | ||
| SparseMatrix, | ||
| IndexNode, | ||
| ImmutableDenseMatrix, | ||
@@ -773,3 +774,2 @@ Index, | ||
| FibonacciHeap, | ||
| IndexNode, | ||
| Spa, | ||
@@ -776,0 +776,0 @@ Unit, |
@@ -8,3 +8,3 @@ /** | ||
| // eslint-disable-line camelcase | ||
| 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, createToBest, createTypeOf, createAcosh, createAcsch, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createMapSlices, createMatrix, createMatrixFromFunction, createOnes, createRandomInt, createReshape, createSech, createSinh, createSparse, createSqrt, createSqueeze, createTanh, createTranspose, createXgcd, createZeros, createAcoth, createAsin, createBin, createConcat, createCoth, createCtranspose, createDiag, createDotMultiply, createEqual, createFraction, createIdentity, createIsNumeric, createKron, createLargerEq, createLeftShift, createMode, createNthRoot, createNumeric, createProd, createResize, createRightArithShift, createRound, createSize, createSmaller, createTo, createUnaryMinus, createUnequal, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCbrt, createCompare, createCompareText, createCount, createDeepEqual, createDivideScalar, createDotDivide, createEqualText, createFloor, createGcd, createHasNumericValue, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolve, createMatrixFromColumns, createMax, createMin, createMod, createNthRoots, createNullish, createOr, createPartitionSelect, createQr, createRightLogShift, createSmallerEq, createSubset, createSubtract, createTrace, createUsolve, createCatalan, createCompareNatural, createComposition, createDiff, createDistance, createDot, createFibonacciHeapClass, createIndex, createInvmod, createLcm, createLog1p, createLsolveAll, createMatrixFromRows, createMultiply, createRange, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSlu, createSort, createUnaryPlus, createUsolveAll, createZpk2tf, createAnd, createCeil, createColumn, createCross, createDet, createFix, createInv, createPinv, createPow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createSqrtm, createSum, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createInverseConductanceQuantum, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSetSize, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulombConstant, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createIntersect, createLup, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetIntersect, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createCumSum, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createLusolve, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createSetUnion, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js'; | ||
| 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, createSize, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createToBest, createTypeOf, createAcosh, createAcsch, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createDot, createIsNaN, createIsPrime, createMapSlices, createMatrix, createMatrixFromFunction, createMultiply, createOnes, createRandomInt, createReshape, createSech, createSinh, createSparse, createSqrt, createSqueeze, createTanh, createTranspose, createXgcd, createZeros, createAcoth, createAsin, createBin, createConcat, createCoth, createCtranspose, createDiag, createDotMultiply, createEqual, createFraction, createIdentity, createIsNumeric, createKron, createLargerEq, createLeftShift, createMatrixFromRows, createMode, createNthRoot, createNumeric, createProd, createResize, createRightArithShift, createRound, createSmaller, createTo, createUnaryMinus, createUnequal, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCbrt, createCompare, createCompareText, createCount, createDeepEqual, createDivideScalar, createEqualText, createFloor, createGcd, createHasNumericValue, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolve, createMatrixFromColumns, createMin, createMod, createNthRoots, createNullish, createOr, createPartitionSelect, createQr, createRightLogShift, createSmallerEq, createSubset, createSubtract, createTrace, createUsolve, createZpk2tf, createCatalan, createCompareNatural, createComposition, createCross, createDet, createDiff, createDistance, createDotDivide, createFibonacciHeapClass, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createLsolveAll, createMax, createRange, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSlu, createSort, createUnaryPlus, createUsolveAll, createAnd, createCeil, createColumn, createCumSum, createFix, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createSum, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createCreateUnit, 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, createCoulombConstant, 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'; | ||
| export var BigNumber = /* #__PURE__ */createBigNumberClass({ | ||
@@ -66,3 +66,4 @@ config | ||
| export var DenseMatrix = /* #__PURE__ */createDenseMatrixClass({ | ||
| Matrix | ||
| Matrix, | ||
| config | ||
| }); | ||
@@ -285,2 +286,5 @@ export var efimovFactor = /* #__PURE__ */createEfimovFactor({ | ||
| }); | ||
| export var size = /* #__PURE__ */createSize({ | ||
| typed | ||
| }); | ||
| export var SparseMatrix = /* #__PURE__ */createSparseMatrixClass({ | ||
@@ -341,2 +345,9 @@ Matrix, | ||
| }); | ||
| export var dot = /* #__PURE__ */createDot({ | ||
| addScalar, | ||
| conj, | ||
| multiplyScalar, | ||
| size, | ||
| typed | ||
| }); | ||
| export var isNaN = /* #__PURE__ */createIsNaN({ | ||
@@ -364,2 +375,10 @@ typed | ||
| }); | ||
| export var multiply = /* #__PURE__ */createMultiply({ | ||
| addScalar, | ||
| dot, | ||
| equalScalar, | ||
| matrix, | ||
| multiplyScalar, | ||
| typed | ||
| }); | ||
| export var ones = /* #__PURE__ */createOnes({ | ||
@@ -505,2 +524,8 @@ BigNumber, | ||
| }); | ||
| export var matrixFromRows = /* #__PURE__ */createMatrixFromRows({ | ||
| flatten, | ||
| matrix, | ||
| size, | ||
| typed | ||
| }); | ||
| export var mode = /* #__PURE__ */createMode({ | ||
@@ -550,7 +575,2 @@ isNaN, | ||
| }); | ||
| export var size = /* #__PURE__ */createSize({ | ||
| matrix, | ||
| config, | ||
| typed | ||
| }); | ||
| export var smaller = /* #__PURE__ */createSmaller({ | ||
@@ -664,11 +684,2 @@ DenseMatrix, | ||
| }); | ||
| export var dotDivide = /* #__PURE__ */createDotDivide({ | ||
| DenseMatrix, | ||
| SparseMatrix, | ||
| concat, | ||
| divideScalar, | ||
| equalScalar, | ||
| matrix, | ||
| typed | ||
| }); | ||
| export var equalText = /* #__PURE__ */createEqualText({ | ||
@@ -752,9 +763,2 @@ compareText, | ||
| }); | ||
| export var max = /* #__PURE__ */createMax({ | ||
| config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| }); | ||
| export var min = /* #__PURE__ */createMin({ | ||
@@ -865,2 +869,9 @@ config, | ||
| }); | ||
| export var zpk2tf = /* #__PURE__ */createZpk2tf({ | ||
| Complex, | ||
| add, | ||
| multiply, | ||
| number, | ||
| typed | ||
| }); | ||
| export var catalan = /* #__PURE__ */createCatalan({ | ||
@@ -888,2 +899,17 @@ addScalar, | ||
| }); | ||
| export var cross = /* #__PURE__ */createCross({ | ||
| matrix, | ||
| multiply, | ||
| subtract, | ||
| typed | ||
| }); | ||
| export var det = /* #__PURE__ */createDet({ | ||
| divideScalar, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| subtractScalar, | ||
| typed, | ||
| unaryMinus | ||
| }); | ||
| export var diff = /* #__PURE__ */createDiff({ | ||
@@ -905,7 +931,9 @@ matrix, | ||
| }); | ||
| export var dot = /* #__PURE__ */createDot({ | ||
| addScalar, | ||
| conj, | ||
| multiplyScalar, | ||
| size, | ||
| export var dotDivide = /* #__PURE__ */createDotDivide({ | ||
| DenseMatrix, | ||
| SparseMatrix, | ||
| concat, | ||
| divideScalar, | ||
| equalScalar, | ||
| matrix, | ||
| typed | ||
@@ -921,2 +949,19 @@ }); | ||
| }); | ||
| export var intersect = /* #__PURE__ */createIntersect({ | ||
| abs, | ||
| add, | ||
| addScalar, | ||
| config, | ||
| divideScalar, | ||
| equalScalar, | ||
| flatten, | ||
| isNumeric, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| multiplyScalar, | ||
| smaller, | ||
| subtract, | ||
| typed | ||
| }); | ||
| export var invmod = /* #__PURE__ */createInvmod({ | ||
@@ -955,16 +1000,9 @@ BigNumber, | ||
| }); | ||
| export var matrixFromRows = /* #__PURE__ */createMatrixFromRows({ | ||
| flatten, | ||
| matrix, | ||
| size, | ||
| export var max = /* #__PURE__ */createMax({ | ||
| config, | ||
| isNaN, | ||
| larger, | ||
| numeric, | ||
| typed | ||
| }); | ||
| export var multiply = /* #__PURE__ */createMultiply({ | ||
| addScalar, | ||
| dot, | ||
| equalScalar, | ||
| matrix, | ||
| multiplyScalar, | ||
| typed | ||
| }); | ||
| export var range = /* #__PURE__ */createRange({ | ||
@@ -1052,9 +1090,2 @@ bignumber, | ||
| }); | ||
| export var zpk2tf = /* #__PURE__ */createZpk2tf({ | ||
| Complex, | ||
| add, | ||
| multiply, | ||
| number, | ||
| typed | ||
| }); | ||
| export var and = /* #__PURE__ */createAnd({ | ||
@@ -1083,16 +1114,6 @@ concat, | ||
| }); | ||
| export var cross = /* #__PURE__ */createCross({ | ||
| matrix, | ||
| multiply, | ||
| subtract, | ||
| typed | ||
| }); | ||
| export var det = /* #__PURE__ */createDet({ | ||
| divideScalar, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| subtractScalar, | ||
| export var cumsum = /* #__PURE__ */createCumSum({ | ||
| add, | ||
| typed, | ||
| unaryMinus | ||
| unaryPlus | ||
| }); | ||
@@ -1109,2 +1130,36 @@ export var fix = /* #__PURE__ */createFix({ | ||
| }); | ||
| export var setDifference = /* #__PURE__ */createSetDifference({ | ||
| DenseMatrix, | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| export var setMultiplicity = /* #__PURE__ */createSetMultiplicity({ | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| export var setSymDifference = /* #__PURE__ */createSetSymDifference({ | ||
| Index, | ||
| concat, | ||
| setDifference, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| export var Spa = /* #__PURE__ */createSpaClass({ | ||
| FibonacciHeap, | ||
| addScalar, | ||
| equalScalar | ||
| }); | ||
| export var sum = /* #__PURE__ */createSum({ | ||
| add, | ||
| config, | ||
| numeric, | ||
| typed | ||
| }); | ||
| export var inv = /* #__PURE__ */createInv({ | ||
@@ -1121,2 +1176,17 @@ abs, | ||
| }); | ||
| export var lup = /* #__PURE__ */createLup({ | ||
| DenseMatrix, | ||
| Spa, | ||
| SparseMatrix, | ||
| abs, | ||
| addScalar, | ||
| divideScalar, | ||
| equalScalar, | ||
| larger, | ||
| matrix, | ||
| multiplyScalar, | ||
| subtractScalar, | ||
| typed, | ||
| unaryMinus | ||
| }); | ||
| export var pinv = /* #__PURE__ */createPinv({ | ||
@@ -1147,3 +1217,3 @@ Complex, | ||
| }); | ||
| export var setDifference = /* #__PURE__ */createSetDifference({ | ||
| export var setIntersect = /* #__PURE__ */createSetIntersect({ | ||
| DenseMatrix, | ||
@@ -1156,13 +1226,7 @@ Index, | ||
| }); | ||
| export var setMultiplicity = /* #__PURE__ */createSetMultiplicity({ | ||
| export var setUnion = /* #__PURE__ */createSetUnion({ | ||
| Index, | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| export var setSymDifference = /* #__PURE__ */createSetSymDifference({ | ||
| Index, | ||
| concat, | ||
| setDifference, | ||
| setIntersect, | ||
| setSymDifference, | ||
| size, | ||
@@ -1172,7 +1236,2 @@ subset, | ||
| }); | ||
| export var Spa = /* #__PURE__ */createSpaClass({ | ||
| FibonacciHeap, | ||
| addScalar, | ||
| equalScalar | ||
| }); | ||
| export var sqrtm = /* #__PURE__ */createSqrtm({ | ||
@@ -1191,8 +1250,2 @@ abs, | ||
| }); | ||
| export var sum = /* #__PURE__ */createSum({ | ||
| add, | ||
| config, | ||
| numeric, | ||
| typed | ||
| }); | ||
| export var Unit = /* #__PURE__ */createUnitClass({ | ||
@@ -1332,7 +1385,2 @@ BigNumber, | ||
| }); | ||
| export var inverseConductanceQuantum = /* #__PURE__ */createInverseConductanceQuantum({ | ||
| BigNumber, | ||
| Unit, | ||
| config | ||
| }); | ||
| export var klitzing = /* #__PURE__ */createKlitzing({ | ||
@@ -1413,6 +1461,2 @@ BigNumber, | ||
| }); | ||
| export var setSize = /* #__PURE__ */createSetSize({ | ||
| compareNatural, | ||
| typed | ||
| }); | ||
| export var speedOfLight = /* #__PURE__ */createSpeedOfLight({ | ||
@@ -1475,33 +1519,15 @@ BigNumber, | ||
| }); | ||
| export var intersect = /* #__PURE__ */createIntersect({ | ||
| abs, | ||
| add, | ||
| addScalar, | ||
| config, | ||
| divideScalar, | ||
| equalScalar, | ||
| flatten, | ||
| isNumeric, | ||
| isZero, | ||
| matrix, | ||
| multiply, | ||
| multiplyScalar, | ||
| smaller, | ||
| subtract, | ||
| typed | ||
| export var inverseConductanceQuantum = /* #__PURE__ */createInverseConductanceQuantum({ | ||
| BigNumber, | ||
| Unit, | ||
| config | ||
| }); | ||
| export var lup = /* #__PURE__ */createLup({ | ||
| export var lusolve = /* #__PURE__ */createLusolve({ | ||
| DenseMatrix, | ||
| Spa, | ||
| SparseMatrix, | ||
| abs, | ||
| addScalar, | ||
| divideScalar, | ||
| equalScalar, | ||
| larger, | ||
| lsolve, | ||
| lup, | ||
| matrix, | ||
| multiplyScalar, | ||
| subtractScalar, | ||
| slu, | ||
| typed, | ||
| unaryMinus | ||
| usolve | ||
| }); | ||
@@ -1551,8 +1577,4 @@ export var magneticFluxQuantum = /* #__PURE__ */createMagneticFluxQuantum({ | ||
| }); | ||
| export var setIntersect = /* #__PURE__ */createSetIntersect({ | ||
| DenseMatrix, | ||
| Index, | ||
| export var setSize = /* #__PURE__ */createSetSize({ | ||
| compareNatural, | ||
| size, | ||
| subset, | ||
| typed | ||
@@ -1603,7 +1625,2 @@ }); | ||
| }); | ||
| export var cumsum = /* #__PURE__ */createCumSum({ | ||
| add, | ||
| typed, | ||
| unaryPlus | ||
| }); | ||
| export var eigs = /* #__PURE__ */createEigs({ | ||
@@ -1665,11 +1682,2 @@ abs, | ||
| }); | ||
| export var lusolve = /* #__PURE__ */createLusolve({ | ||
| DenseMatrix, | ||
| lsolve, | ||
| lup, | ||
| matrix, | ||
| slu, | ||
| typed, | ||
| usolve | ||
| }); | ||
| export var mean = /* #__PURE__ */createMean({ | ||
@@ -1705,11 +1713,2 @@ add, | ||
| }); | ||
| export var setUnion = /* #__PURE__ */createSetUnion({ | ||
| Index, | ||
| concat, | ||
| setIntersect, | ||
| setSymDifference, | ||
| size, | ||
| subset, | ||
| typed | ||
| }); | ||
| export var variance = /* #__PURE__ */createVariance({ | ||
@@ -1716,0 +1715,0 @@ add, |
@@ -215,4 +215,2 @@ /** | ||
| export var size = /* #__PURE__ */createSize({ | ||
| matrix, | ||
| config, | ||
| typed | ||
@@ -219,0 +217,0 @@ }); |
@@ -82,3 +82,3 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty"; | ||
| } | ||
| var s = size(context).valueOf(); | ||
| var s = size(context); | ||
| var childArgs = Object.create(args); | ||
@@ -85,0 +85,0 @@ childArgs.end = s[i]; |
@@ -325,3 +325,3 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
| next(state); | ||
| while (parse.isHexDigit(currentCharacter(state))) { | ||
| while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) { | ||
| state.token += currentCharacter(state); | ||
@@ -335,3 +335,3 @@ next(state); | ||
| // get the digits after the radix | ||
| while (parse.isHexDigit(currentCharacter(state))) { | ||
| while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) { | ||
| state.token += currentCharacter(state); | ||
@@ -543,11 +543,2 @@ next(state); | ||
| /** | ||
| * checks if the given char c is a hex digit | ||
| * @param {string} c a string with one character | ||
| * @return {boolean} | ||
| */ | ||
| parse.isHexDigit = function isHexDigit(c) { | ||
| return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F'; | ||
| }; | ||
| /** | ||
| * Start of the parse levels below, in order of precedence | ||
@@ -940,3 +931,3 @@ * @return {Node} node | ||
| var node, name, fn, params; | ||
| node = parseMultiplyDivideModulusPercentage(state); | ||
| node = parseMultiplyDivideModulus(state); | ||
| var operators = { | ||
@@ -950,3 +941,3 @@ '+': 'add', | ||
| getTokenSkipNewline(state); | ||
| var rightNode = parseMultiplyDivideModulusPercentage(state); | ||
| var rightNode = parseMultiplyDivideModulus(state); | ||
| if (rightNode.isPercentage) { | ||
@@ -963,7 +954,7 @@ params = [node, new OperatorNode('*', 'multiply', [node, rightNode])]; | ||
| /** | ||
| * multiply, divide, modulus, percentage | ||
| * multiply, divide, modulus | ||
| * @return {Node} node | ||
| * @private | ||
| */ | ||
| function parseMultiplyDivideModulusPercentage(state) { | ||
| function parseMultiplyDivideModulus(state) { | ||
| var node, last, name, fn; | ||
@@ -986,19 +977,4 @@ node = parseImplicitMultiplication(state); | ||
| getTokenSkipNewline(state); | ||
| if (name === '%' && state.tokenType === TOKENTYPE.DELIMITER && state.token !== '(') { | ||
| // If the expression contains only %, then treat that as /100 | ||
| if (state.token !== '' && operators[state.token]) { | ||
| var left = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| name = state.token; | ||
| fn = operators[name]; | ||
| getTokenSkipNewline(state); | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [left, last]); | ||
| } else { | ||
| node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| } | ||
| // return node | ||
| } else { | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [node, last]); | ||
| } | ||
| last = parseImplicitMultiplication(state); | ||
| node = new OperatorNode(name, fn, [node, last]); | ||
| } else { | ||
@@ -1046,3 +1022,3 @@ break; | ||
| function parseRule2(state) { | ||
| var node = parseUnary(state); | ||
| var node = parseUnaryPercentage(state); | ||
| var last = node; | ||
@@ -1069,3 +1045,3 @@ var tokenStates = []; | ||
| tokenStates.pop(); | ||
| last = parseUnary(state); | ||
| last = parseUnaryPercentage(state); | ||
| node = new OperatorNode('/', 'divide', [node, last]); | ||
@@ -1091,2 +1067,30 @@ } else { | ||
| /** | ||
| * Unary percentage operator (treated as `value / 100`) | ||
| * @return {Node} node | ||
| * @private | ||
| */ | ||
| function parseUnaryPercentage(state) { | ||
| var node = parseUnary(state); | ||
| if (state.token === '%') { | ||
| var previousState = _extends({}, state); | ||
| getTokenSkipNewline(state); | ||
| // We need to decide if this is a unary percentage % or binary modulo % | ||
| // So we attempt to parse a unary expression at this point. | ||
| // If it fails, then the only possibility is that this is a unary percentage. | ||
| // If it succeeds, then we presume that this must be binary modulo, since the | ||
| // only things that parseUnary can handle are _higher_ precedence than unary %. | ||
| try { | ||
| parseUnary(state); | ||
| // Not sure if we could somehow use the result of that parseUnary? Without | ||
| // further analysis/testing, safer just to discard and let the parse proceed | ||
| _extends(state, previousState); | ||
| } catch (_unused) { | ||
| // Not seeing a term at this point, so was a unary % | ||
| node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true); | ||
| } | ||
| } | ||
| return node; | ||
| } | ||
| /** | ||
| * Unary plus and minus, and logical and bitwise not | ||
@@ -1093,0 +1097,0 @@ * @return {Node} node |
@@ -20,3 +20,4 @@ import { factory } from '../../utils/factory.js'; | ||
| lusolve, | ||
| abs | ||
| abs, | ||
| config | ||
| } = _ref; | ||
@@ -92,3 +93,3 @@ /** | ||
| if (k < n - 1 && abs(subset(G, index(k + 1, k))) > 1e-5) { | ||
| var RHS = vc(subset(D, index(all, k)), subset(D, index(all, k + 1))); | ||
| var RHS = vc(subset(D, index(all, [k])), subset(D, index(all, [k + 1]))); | ||
| for (var j = 0; j < k; j++) { | ||
@@ -103,7 +104,7 @@ RHS = add(RHS, vc(multiply(y[j], subset(G, index(j, k))), multiply(y[j], subset(G, index(j, k + 1))))); | ||
| var yAux = lusolve(LHS, RHS); | ||
| y[k] = yAux.subset(index(range(0, m), 0)); | ||
| y[k + 1] = yAux.subset(index(range(m, 2 * m), 0)); | ||
| y[k] = yAux.subset(index(range(0, m), [0])); | ||
| y[k + 1] = yAux.subset(index(range(m, 2 * m), [0])); | ||
| k++; | ||
| } else { | ||
| var _RHS = subset(D, index(all, k)); | ||
| var _RHS = subset(D, index(all, [k])); | ||
| for (var _j = 0; _j < k; _j++) { | ||
@@ -110,0 +111,0 @@ _RHS = add(_RHS, multiply(y[_j], subset(G, index(_j, k)))); |
@@ -65,4 +65,4 @@ import { factory } from '../../utils/factory.js'; | ||
| 'SparseMatrix, Array | Matrix': (x, y) => { | ||
| var sx = flatten(size(x).valueOf()); // work around #3529/#3530 | ||
| var sy = flatten(size(y).valueOf()); | ||
| var sx = size(x); | ||
| var sy = size(y); | ||
| if (deepEqual(sx, sy)) return x; | ||
@@ -69,0 +69,0 @@ throw new DimensionError(sx, sy); |
@@ -55,6 +55,7 @@ import { factory } from '../../utils/factory.js'; | ||
| var rowRange = range(0, value.size()[0]); | ||
| var index = new Index(rowRange, column); | ||
| var index = new Index(rowRange, [column]); | ||
| var result = value.subset(index); | ||
| // once config.legacySubset just return result | ||
| return isMatrix(result) ? result : matrix([[result]]); | ||
| } | ||
| }); |
@@ -41,4 +41,4 @@ import { factory } from '../../utils/factory.js'; | ||
| function _validateDim(x, y) { | ||
| var xSize = _size(x); | ||
| var ySize = _size(y); | ||
| var xSize = size(x); | ||
| var ySize = size(y); | ||
| var xLen, yLen; | ||
@@ -71,4 +71,4 @@ if (xSize.length === 1) { | ||
| // are these 2-dimensional column vectors? (as opposed to 1-dimensional vectors) | ||
| var aIsColumn = _size(a).length === 2; | ||
| var bIsColumn = _size(b).length === 2; | ||
| var aIsColumn = size(a).length === 2; | ||
| var bIsColumn = size(b).length === 2; | ||
| var add = addScalar; | ||
@@ -153,7 +153,2 @@ var mul = multiplyScalar; | ||
| } | ||
| // TODO remove this once #1771 is fixed | ||
| function _size(x) { | ||
| return isMatrix(x) ? x.size() : size(x); | ||
| } | ||
| }); |
@@ -25,4 +25,4 @@ import { flatten as flattenArray } from '../../utils/array.js'; | ||
| * | ||
| * @param {Matrix | Array} x Matrix to be flattened | ||
| * @return {Matrix | Array} Returns the flattened matrix | ||
| * @param {DenseMatrix | Array} x Matrix to be flattened | ||
| * @return {DenseMatrix | Array} Returns the flattened matrix | ||
| */ | ||
@@ -33,8 +33,11 @@ return typed(name, { | ||
| }, | ||
| Matrix: function Matrix(x) { | ||
| DenseMatrix: function DenseMatrix(x) { | ||
| // Return the same matrix type as x (Dense or Sparse Matrix) | ||
| // Return the same data type as x | ||
| return x.create(flattenArray(x.valueOf(), true), x.datatype()); | ||
| }, | ||
| SparseMatrix: function SparseMatrix(_x) { | ||
| throw new TypeError('SparseMatrix is not supported by function flatten ' + 'because it does not support 1D vectors. ' + 'Convert to a DenseMatrix or Array first. Example: flatten(x.toArray())'); | ||
| } | ||
| }); | ||
| }); |
@@ -28,3 +28,3 @@ import { arraySize as size } from '../../utils/array.js'; | ||
| * math.kron([1,1], [2,3,4]) | ||
| * // returns [ [ 2, 3, 4, 2, 3, 4 ] ] | ||
| * // returns [2, 3, 4, 2, 3, 4] | ||
| * | ||
@@ -53,35 +53,36 @@ * See also: | ||
| /** | ||
| * Calculate the Kronecker product of two matrices / vectors | ||
| * @param {Array} a First vector | ||
| * @param {Array} b Second vector | ||
| * @returns {Array} Returns the Kronecker product of x and y | ||
| * @private | ||
| * Calculate the Kronecker product of two (1-dimensional) vectors, | ||
| * with no dimension checking | ||
| * @param {Array} a First vector | ||
| * @param {Array} b Second vector | ||
| * @returns {Array} the 1-dimensional Kronecker product of a and b | ||
| * @private | ||
| */ | ||
| function _kron1d(a, b) { | ||
| // TODO in core overhaul: would be faster to see if we can choose a | ||
| // particular implementation of multiplyScalar at the beginning, | ||
| // rather than re-dispatch for _every_ ordered pair of entries. | ||
| return a.flatMap(x => b.map(y => multiplyScalar(x, y))); | ||
| } | ||
| /** | ||
| * Calculate the Kronecker product of two possibly multidimensional arrays | ||
| * @param {Array} a First array | ||
| * @param {Array} b Second array | ||
| * @param {number} [d] common dimension; if missing, compute and match args | ||
| * @returns {Array} Returns the Kronecker product of x and y | ||
| * @private | ||
| */ | ||
| function _kron(a, b) { | ||
| // Deal with the dimensions of the matricies. | ||
| if (size(a).length === 1) { | ||
| // Wrap it in a 2D Matrix | ||
| a = [a]; | ||
| var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1; | ||
| if (d < 0) { | ||
| var adim = size(a).length; | ||
| var bdim = size(b).length; | ||
| d = Math.max(adim, bdim); | ||
| while (adim++ < d) a = [a]; | ||
| while (bdim++ < d) b = [b]; | ||
| } | ||
| if (size(b).length === 1) { | ||
| // Wrap it in a 2D Matrix | ||
| b = [b]; | ||
| } | ||
| if (size(a).length > 2 || size(b).length > 2) { | ||
| throw new RangeError('Vectors with dimensions greater then 2 are not supported expected ' + '(Size x = ' + JSON.stringify(a.length) + ', y = ' + JSON.stringify(b.length) + ')'); | ||
| } | ||
| var t = []; | ||
| var r = []; | ||
| return a.map(function (a) { | ||
| return b.map(function (b) { | ||
| r = []; | ||
| t.push(r); | ||
| return a.map(function (y) { | ||
| return b.map(function (x) { | ||
| return r.push(multiplyScalar(y, x)); | ||
| }); | ||
| }); | ||
| }); | ||
| }) && t; | ||
| if (d === 1) return _kron1d(a, b); | ||
| return a.flatMap(aSlice => b.map(bSlice => _kron(aSlice, bSlice, d - 1))); | ||
| } | ||
| }); |
@@ -55,6 +55,7 @@ import { factory } from '../../utils/factory.js'; | ||
| var columnRange = range(0, value.size()[1]); | ||
| var index = new Index(row, columnRange); | ||
| var index = new Index([row], columnRange); | ||
| var result = value.subset(index); | ||
| // once config.legacySubset just return result | ||
| return isMatrix(result) ? result : matrix([[result]]); | ||
| } | ||
| }); |
| import { arraySize } from '../../utils/array.js'; | ||
| import { factory } from '../../utils/factory.js'; | ||
| import { noMatrix } from '../../utils/noop.js'; | ||
| var name = 'size'; | ||
| var dependencies = ['typed', 'config', '?matrix']; | ||
| var dependencies = ['typed']; | ||
| export var createSize = /* #__PURE__ */factory(name, dependencies, _ref => { | ||
| var { | ||
| typed, | ||
| config, | ||
| matrix | ||
| typed | ||
| } = _ref; | ||
| /** | ||
| * Calculate the size of a matrix or scalar. | ||
| * Calculate the size of a matrix or scalar. Always returns an Array containing numbers. | ||
| * | ||
| * Note that in mathjs v14 and older, function size could return a Matrix depending on | ||
| * the input type and configuration. | ||
| * | ||
| * Syntax: | ||
@@ -33,17 +33,11 @@ * | ||
| * @param {boolean | number | Complex | Unit | string | Array | Matrix} x A matrix | ||
| * @return {Array | Matrix} A vector with size of `x`. | ||
| * @return {Array} A vector with size of `x`. | ||
| */ | ||
| return typed(name, { | ||
| Matrix: function Matrix(x) { | ||
| return x.create(x.size(), 'number'); | ||
| }, | ||
| Matrix: x => x.size(), | ||
| Array: arraySize, | ||
| string: function string(x) { | ||
| return config.matrix === 'Array' ? [x.length] : matrix([x.length], 'dense', 'number'); | ||
| }, | ||
| 'number | Complex | BigNumber | Unit | boolean | null': function number__Complex__BigNumber__Unit__boolean__null(x) { | ||
| // scalar | ||
| return config.matrix === 'Array' ? [] : matrix ? matrix([], 'dense', 'number') : noMatrix(); | ||
| } | ||
| string: x => [x.length], | ||
| // scalar | ||
| 'number | Complex | BigNumber | Unit | boolean | null': _x => [] | ||
| }); | ||
| }); |
@@ -28,4 +28,4 @@ import { isIndex } from '../../utils/is.js'; | ||
| * math.subset(d, math.index(1, 0)) // returns 3 | ||
| * math.subset(d, math.index([0, 1], 1)) // returns [[2], [4]] | ||
| * math.subset(d, math.index([false, true], 0)) // returns [[3]] | ||
| * math.subset(d, math.index([0, 1], [1])) // returns [[2], [4]] | ||
| * math.subset(d, math.index([false, true], [0])) // returns [[3]] | ||
| * | ||
@@ -40,5 +40,5 @@ * // replace a subset | ||
| * const M = [ | ||
| * [1,2,3], | ||
| * [4,5,6], | ||
| * [7,8,9] | ||
| * [1, 2, 3], | ||
| * [4, 5, 6], | ||
| * [7, 8, 9] | ||
| * ] | ||
@@ -122,3 +122,3 @@ * math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]] | ||
| } | ||
| if (index._isScalar) { | ||
| if (index.isScalar()) { | ||
| return replacement; | ||
@@ -165,5 +165,10 @@ } | ||
| var substr = ''; | ||
| range.forEach(function (v) { | ||
| function callback(v) { | ||
| substr += str.charAt(v); | ||
| }); | ||
| } | ||
| if (Number.isInteger(range)) { | ||
| callback(range); | ||
| } else { | ||
| range.forEach(callback); | ||
| } | ||
| return substr; | ||
@@ -202,3 +207,3 @@ } | ||
| var range = index.dimension(0); | ||
| var len = range.size()[0]; | ||
| var len = Number.isInteger(range) ? 1 : range.size()[0]; | ||
| if (len !== replacement.length) { | ||
@@ -218,5 +223,10 @@ throw new DimensionError(range.size()[0], replacement.length); | ||
| } | ||
| range.forEach(function (v, i) { | ||
| function callback(v, i) { | ||
| chars[v] = replacement.charAt(i[0]); | ||
| }); | ||
| } | ||
| if (Number.isInteger(range)) { | ||
| callback(range, [0]); | ||
| } else { | ||
| range.forEach(callback); | ||
| } | ||
@@ -223,0 +233,0 @@ // initialize undefined characters with a space |
@@ -11,6 +11,7 @@ // deno-lint-ignore-file no-this-alias | ||
| var name = 'DenseMatrix'; | ||
| var dependencies = ['Matrix']; | ||
| var dependencies = ['Matrix', 'config']; | ||
| export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => { | ||
| var { | ||
| Matrix | ||
| Matrix, | ||
| config | ||
| } = _ref; | ||
@@ -225,3 +226,3 @@ /** | ||
| } | ||
| var isScalar = index.isScalar(); | ||
| var isScalar = config.legacySubset ? index.size().every(idx => idx === 1) : index.isScalar(); | ||
| if (isScalar) { | ||
@@ -246,3 +247,3 @@ // return a scalar | ||
| // retrieve submatrix | ||
| var returnMatrix = new DenseMatrix([]); | ||
| var returnMatrix = new DenseMatrix(); | ||
| var submatrix = _getSubmatrix(matrix._data, index); | ||
@@ -252,3 +253,3 @@ returnMatrix._size = submatrix.size; | ||
| returnMatrix._data = submatrix.data; | ||
| return returnMatrix; | ||
| return config.legacySubset ? returnMatrix.reshape(index.size()) : returnMatrix; | ||
| } | ||
@@ -271,18 +272,26 @@ } | ||
| data: getSubmatrixRecursive(data), | ||
| size | ||
| size: size.filter(x => x !== null) | ||
| }; | ||
| function getSubmatrixRecursive(data) { | ||
| var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
| var ranges = index.dimension(depth); | ||
| size[depth] = ranges.size()[0]; | ||
| var dims = index.dimension(depth); | ||
| function _mapIndex(dim, callback) { | ||
| // applies a callback for when the index is a Number or a Matrix | ||
| if (isNumber(dim)) return callback(dim);else return dim.map(callback).valueOf(); | ||
| } | ||
| if (isNumber(dims)) { | ||
| size[depth] = null; | ||
| } else { | ||
| size[depth] = dims.size()[0]; | ||
| } | ||
| if (depth < maxDepth) { | ||
| return ranges.map(rangeIndex => { | ||
| validateIndex(rangeIndex, data.length); | ||
| return getSubmatrixRecursive(data[rangeIndex], depth + 1); | ||
| }).valueOf(); | ||
| return _mapIndex(dims, dimIndex => { | ||
| validateIndex(dimIndex, data.length); | ||
| return getSubmatrixRecursive(data[dimIndex], depth + 1); | ||
| }); | ||
| } else { | ||
| return ranges.map(rangeIndex => { | ||
| validateIndex(rangeIndex, data.length); | ||
| return data[rangeIndex]; | ||
| }).valueOf(); | ||
| return _mapIndex(dims, dimIndex => { | ||
| validateIndex(dimIndex, data.length); | ||
| return data[dimIndex]; | ||
| }); | ||
| } | ||
@@ -314,8 +323,8 @@ } | ||
| // calculate the size of the submatrix, and convert it into an Array if needed | ||
| var sSize; | ||
| var submatrixSize; | ||
| if (isMatrix(submatrix)) { | ||
| sSize = submatrix.size(); | ||
| submatrixSize = submatrix.size(); | ||
| submatrix = submatrix.valueOf(); | ||
| } else { | ||
| sSize = arraySize(submatrix); | ||
| submatrixSize = arraySize(submatrix); | ||
| } | ||
@@ -326,3 +335,3 @@ if (isScalar) { | ||
| // check whether submatrix is a scalar | ||
| if (sSize.length !== 0) { | ||
| if (submatrixSize.length !== 0) { | ||
| throw new TypeError('Scalar expected'); | ||
@@ -335,11 +344,11 @@ } | ||
| // broadcast submatrix | ||
| if (!deepStrictEqual(sSize, iSize)) { | ||
| try { | ||
| if (sSize.length === 0) { | ||
| submatrix = broadcastTo([submatrix], iSize); | ||
| } else { | ||
| if (!deepStrictEqual(submatrixSize, iSize)) { | ||
| if (submatrixSize.length === 0) { | ||
| submatrix = broadcastTo([submatrix], iSize); | ||
| } else { | ||
| try { | ||
| submatrix = broadcastTo(submatrix, iSize); | ||
| } | ||
| sSize = arraySize(submatrix); | ||
| } catch (_unused) {} | ||
| } catch (error) {} | ||
| } | ||
| submatrixSize = arraySize(submatrix); | ||
| } | ||
@@ -351,7 +360,7 @@ | ||
| } | ||
| if (sSize.length < iSize.length) { | ||
| if (submatrixSize.length < iSize.length) { | ||
| // calculate number of missing outer dimensions | ||
| var i = 0; | ||
| var outer = 0; | ||
| while (iSize[i] === 1 && sSize[i] === 1) { | ||
| while (iSize[i] === 1 && submatrixSize[i] === 1) { | ||
| i++; | ||
@@ -365,8 +374,8 @@ } | ||
| // unsqueeze both outer and inner dimensions | ||
| submatrix = unsqueeze(submatrix, iSize.length, outer, sSize); | ||
| submatrix = unsqueeze(submatrix, iSize.length, outer, submatrixSize); | ||
| } | ||
| // check whether the size of the submatrix matches the index size | ||
| if (!deepStrictEqual(iSize, sSize)) { | ||
| throw new DimensionError(iSize, sSize, '>'); | ||
| if (!deepStrictEqual(iSize, submatrixSize)) { | ||
| throw new DimensionError(iSize, submatrixSize, '>'); | ||
| } | ||
@@ -400,12 +409,14 @@ | ||
| var range = index.dimension(depth); | ||
| var recursiveCallback = (rangeIndex, i) => { | ||
| validateIndex(rangeIndex, data.length); | ||
| setSubmatrixRecursive(data[rangeIndex], submatrix[i[0]], depth + 1); | ||
| }; | ||
| var finalCallback = (rangeIndex, i) => { | ||
| validateIndex(rangeIndex, data.length); | ||
| data[rangeIndex] = submatrix[i[0]]; | ||
| }; | ||
| if (depth < maxDepth) { | ||
| range.forEach((rangeIndex, i) => { | ||
| validateIndex(rangeIndex, data.length); | ||
| setSubmatrixRecursive(data[rangeIndex], submatrix[i[0]], depth + 1); | ||
| }); | ||
| if (isNumber(range)) recursiveCallback(range, [0]);else range.forEach(recursiveCallback); | ||
| } else { | ||
| range.forEach((rangeIndex, i) => { | ||
| validateIndex(rangeIndex, data.length); | ||
| data[rangeIndex] = submatrix[i[0]]; | ||
| }); | ||
| if (isNumber(range)) finalCallback(range, [0]);else range.forEach(finalCallback); | ||
| } | ||
@@ -412,0 +423,0 @@ } |
@@ -1,2 +0,2 @@ | ||
| import { isArray, isMatrix, isRange } from '../../utils/is.js'; | ||
| import { isArray, isMatrix, isRange, isNumber, isString } from '../../utils/is.js'; | ||
| import { clone } from '../../utils/object.js'; | ||
@@ -34,3 +34,3 @@ import { isInteger } from '../../utils/number.js'; | ||
| */ | ||
| function Index(ranges) { | ||
| function Index() { | ||
| if (!(this instanceof Index)) { | ||
@@ -43,3 +43,3 @@ throw new SyntaxError('Constructor must be called with the new operator'); | ||
| for (var i = 0, ii = arguments.length; i < ii; i++) { | ||
| var arg = arguments[i]; | ||
| var arg = i < 0 || arguments.length <= i ? undefined : arguments[i]; | ||
| var argIsArray = isArray(arg); | ||
@@ -55,2 +55,3 @@ var argIsMatrix = isMatrix(arg); | ||
| var m = void 0; | ||
| this._isScalar = false; | ||
| if (getMatrixDataType(arg) === 'boolean') { | ||
@@ -64,12 +65,6 @@ if (argIsArray) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg).valueOf()); | ||
| this._dimensions.push(m); | ||
| // size | ||
| var size = m.size(); | ||
| // scalar | ||
| if (size.length !== 1 || size[0] !== 1 || sourceSize !== null) { | ||
| this._isScalar = false; | ||
| } | ||
| } else if (argType === 'number') { | ||
| this._dimensions.push(_createImmutableMatrix([arg])); | ||
| this._dimensions.push(arg); | ||
| } else if (argType === 'bigint') { | ||
| this._dimensions.push(_createImmutableMatrix([Number(arg)])); | ||
| this._dimensions.push(Number(arg)); | ||
| } else if (argType === 'string') { | ||
@@ -94,3 +89,3 @@ // object property (arguments.count should be 1) | ||
| for (var i = 0, l = arg.length; i < l; i++) { | ||
| if (typeof arg[i] !== 'number' || !isInteger(arg[i])) { | ||
| if (!isNumber(arg[i]) || !isInteger(arg[i])) { | ||
| throw new TypeError('Index parameters must be positive integer numbers'); | ||
@@ -100,3 +95,6 @@ } | ||
| // create matrix | ||
| return new ImmutableDenseMatrix(arg); | ||
| var matrix = new ImmutableDenseMatrix(); | ||
| matrix._data = arg; | ||
| matrix._size = [arg.length]; | ||
| return matrix; | ||
| } | ||
@@ -139,3 +137,3 @@ | ||
| var d = this._dimensions[i]; | ||
| size[i] = typeof d === 'string' ? 1 : d.size()[0]; | ||
| size[i] = isString(d) || isNumber(d) ? 1 : d.size()[0]; | ||
| } | ||
@@ -154,3 +152,3 @@ return size; | ||
| var range = this._dimensions[i]; | ||
| values[i] = typeof range === 'string' ? range : range.max(); | ||
| values[i] = isString(range) || isNumber(range) ? range : range.max(); | ||
| } | ||
@@ -169,3 +167,3 @@ return values; | ||
| var range = this._dimensions[i]; | ||
| values[i] = typeof range === 'string' ? range : range.min(); | ||
| values[i] = isString(range) || isNumber(range) ? range : range.min(); | ||
| } | ||
@@ -195,6 +193,7 @@ return values; | ||
| Index.prototype.dimension = function (dim) { | ||
| if (typeof dim !== 'number') { | ||
| var _this$_dimensions$dim; | ||
| if (!isNumber(dim)) { | ||
| return null; | ||
| } | ||
| return this._dimensions[dim] || null; | ||
| return (_this$_dimensions$dim = this._dimensions[dim]) !== null && _this$_dimensions$dim !== void 0 ? _this$_dimensions$dim : null; | ||
| }; | ||
@@ -207,3 +206,3 @@ | ||
| Index.prototype.isObjectProperty = function () { | ||
| return this._dimensions.length === 1 && typeof this._dimensions[0] === 'string'; | ||
| return this._dimensions.length === 1 && isString(this._dimensions[0]); | ||
| }; | ||
@@ -242,3 +241,3 @@ | ||
| var dimension = this._dimensions[i]; | ||
| array.push(typeof dimension === 'string' ? dimension : dimension.toArray()); | ||
| array.push(isString(dimension) || isNumber(dimension) ? dimension : dimension.toArray()); | ||
| } | ||
@@ -265,3 +264,3 @@ return array; | ||
| var dimension = this._dimensions[i]; | ||
| if (typeof dimension === 'string') { | ||
| if (isString(dimension)) { | ||
| strings.push(JSON.stringify(dimension)); | ||
@@ -268,0 +267,0 @@ } else { |
@@ -301,3 +301,3 @@ import { isArray, isBigNumber, isCollection, isIndex, isMatrix, isNumber, isString, typeOf } from '../../utils/is.js'; | ||
| // loop rows in resulting matrix | ||
| rows.forEach(function (i, r) { | ||
| function rowsCallback(i, r) { | ||
| // update permutation vector | ||
@@ -307,3 +307,4 @@ pv[i] = r[0]; | ||
| w[i] = true; | ||
| }); | ||
| } | ||
| if (Number.isInteger(rows)) rowsCallback(rows, [0]);else rows.forEach(rowsCallback); | ||
@@ -316,3 +317,3 @@ // result matrix arrays | ||
| // loop columns in result matrix | ||
| columns.forEach(function (j) { | ||
| function columnsCallback(j) { | ||
| // update ptr | ||
@@ -334,3 +335,4 @@ ptr.push(index.length); | ||
| } | ||
| }); | ||
| } | ||
| if (Number.isInteger(columns)) columnsCallback(columns);else columns.forEach(columnsCallback); | ||
| // update ptr | ||
@@ -409,3 +411,3 @@ ptr.push(index.length); | ||
| var range = index.dimension(0); | ||
| range.forEach(function (dataIndex, subIndex) { | ||
| _forEachIndex(range, (dataIndex, subIndex) => { | ||
| validateIndex(dataIndex); | ||
@@ -418,5 +420,5 @@ matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue); | ||
| var secondDimensionRange = index.dimension(1); | ||
| firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) { | ||
| _forEachIndex(firstDimensionRange, (firstDataIndex, firstSubIndex) => { | ||
| validateIndex(firstDataIndex); | ||
| secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) { | ||
| _forEachIndex(secondDimensionRange, (secondDataIndex, secondSubIndex) => { | ||
| validateIndex(secondDataIndex); | ||
@@ -429,2 +431,6 @@ matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue); | ||
| return matrix; | ||
| function _forEachIndex(index, callback) { | ||
| // iterate cases where index is a Matrix or a Number | ||
| if (isNumber(index)) callback(index, [0]);else index.forEach(callback); | ||
| } | ||
| } | ||
@@ -431,0 +437,0 @@ |
@@ -1,3 +0,3 @@ | ||
| export var version = '14.9.1'; | ||
| export var version = '15.0.0'; | ||
| // Note: This file is automatically generated when building math.js. | ||
| // Changes made in this file will be overwritten. |
+1
-1
| { | ||
| "name": "mathjs", | ||
| "version": "14.9.1", | ||
| "version": "15.0.0", | ||
| "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.", | ||
@@ -5,0 +5,0 @@ "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
9315671
0.09%157807
0.03%