Socket
Socket
Sign inDemoInstall

mathjs

Package Overview
Dependencies
10
Maintainers
1
Versions
272
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 11.9.1 to 11.10.0

lib/cjs/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js

4

lib/browser/math.js.LICENSE.txt

@@ -26,4 +26,4 @@ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

*
* @version 11.9.1
* @date 2023-07-24
* @version 11.10.0
* @date 2023-08-23
*

@@ -30,0 +30,0 @@ * @license

@@ -8,2 +8,3 @@ "use strict";

var _dependenciesImmutableDenseMatrixClassGenerated = require("./dependenciesImmutableDenseMatrixClass.generated.js");
var _dependenciesGetMatrixDataTypeGenerated = require("./dependenciesGetMatrixDataType.generated.js");
var _factoriesAny = require("../../factoriesAny.js");

@@ -17,4 +18,5 @@ /**

ImmutableDenseMatrixDependencies: _dependenciesImmutableDenseMatrixClassGenerated.ImmutableDenseMatrixDependencies,
getMatrixDataTypeDependencies: _dependenciesGetMatrixDataTypeGenerated.getMatrixDataTypeDependencies,
createIndexClass: _factoriesAny.createIndexClass
};
exports.IndexDependencies = IndexDependencies;

@@ -8,2 +8,3 @@ "use strict";

var _dependenciesIndexClassGenerated = require("./dependenciesIndexClass.generated.js");
var _dependenciesGetMatrixDataTypeGenerated = require("./dependenciesGetMatrixDataType.generated.js");
var _factoriesAny = require("../../factoriesAny.js");

@@ -17,4 +18,5 @@ /**

IndexDependencies: _dependenciesIndexClassGenerated.IndexDependencies,
getMatrixDataTypeDependencies: _dependenciesGetMatrixDataTypeGenerated.getMatrixDataTypeDependencies,
createIndexTransform: _factoriesAny.createIndexTransform
};
exports.indexTransformDependencies = indexTransformDependencies;

@@ -9,2 +9,3 @@ "use strict";

var _dependenciesCompareGenerated = require("./dependenciesCompare.generated.js");
var _dependenciesIsIntegerGenerated = require("./dependenciesIsInteger.generated.js");
var _dependenciesMultiplyGenerated = require("./dependenciesMultiply.generated.js");

@@ -22,2 +23,3 @@ var _dependenciesPartitionSelectGenerated = require("./dependenciesPartitionSelect.generated.js");

compareDependencies: _dependenciesCompareGenerated.compareDependencies,
isIntegerDependencies: _dependenciesIsIntegerGenerated.isIntegerDependencies,
multiplyDependencies: _dependenciesMultiplyGenerated.multiplyDependencies,

@@ -24,0 +26,0 @@ partitionSelectDependencies: _dependenciesPartitionSelectGenerated.partitionSelectDependencies,

@@ -7,4 +7,6 @@ "use strict";

exports.subsetDependencies = void 0;
var _dependenciesAddGenerated = require("./dependenciesAdd.generated.js");
var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js");
var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
var _dependenciesZerosGenerated = require("./dependenciesZeros.generated.js");
var _factoriesAny = require("../../factoriesAny.js");

@@ -17,6 +19,8 @@ /**

var subsetDependencies = {
addDependencies: _dependenciesAddGenerated.addDependencies,
matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies,
typedDependencies: _dependenciesTypedGenerated.typedDependencies,
zerosDependencies: _dependenciesZerosGenerated.zerosDependencies,
createSubset: _factoriesAny.createSubset
};
exports.subsetDependencies = subsetDependencies;

@@ -7,4 +7,6 @@ "use strict";

exports.subsetTransformDependencies = void 0;
var _dependenciesAddGenerated = require("./dependenciesAdd.generated.js");
var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js");
var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
var _dependenciesZerosGenerated = require("./dependenciesZeros.generated.js");
var _factoriesAny = require("../../factoriesAny.js");

@@ -17,6 +19,8 @@ /**

var subsetTransformDependencies = {
addDependencies: _dependenciesAddGenerated.addDependencies,
matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies,
typedDependencies: _dependenciesTypedGenerated.typedDependencies,
zerosDependencies: _dependenciesZerosGenerated.zerosDependencies,
createSubsetTransform: _factoriesAny.createSubsetTransform
};
exports.subsetTransformDependencies = subsetTransformDependencies;

@@ -1218,2 +1218,8 @@ "use strict";

});
Object.defineProperty(exports, "zetaDependencies", {
enumerable: true,
get: function get() {
return _dependenciesZetaGenerated.zetaDependencies;
}
});
var _dependenciesAbsGenerated = require("./dependenciesNumber/dependenciesAbs.generated.js");

@@ -1420,2 +1426,3 @@ var _dependenciesAccessorNodeGenerated = require("./dependenciesNumber/dependenciesAccessorNode.generated.js");

var _dependenciesXorGenerated = require("./dependenciesNumber/dependenciesXor.generated.js");
var _dependenciesZetaGenerated = require("./dependenciesNumber/dependenciesZeta.generated.js");
var _allFactoriesNumber = require("./allFactoriesNumber.js");

@@ -9,2 +9,3 @@ "use strict";

var _dependenciesCompareGenerated = require("./dependenciesCompare.generated.js");
var _dependenciesIsIntegerGenerated = require("./dependenciesIsInteger.generated.js");
var _dependenciesMultiplyGenerated = require("./dependenciesMultiply.generated.js");

@@ -22,2 +23,3 @@ var _dependenciesPartitionSelectGenerated = require("./dependenciesPartitionSelect.generated.js");

compareDependencies: _dependenciesCompareGenerated.compareDependencies,
isIntegerDependencies: _dependenciesIsIntegerGenerated.isIntegerDependencies,
multiplyDependencies: _dependenciesMultiplyGenerated.multiplyDependencies,

@@ -24,0 +26,0 @@ partitionSelectDependencies: _dependenciesPartitionSelectGenerated.partitionSelectDependencies,

@@ -89,2 +89,7 @@ "use strict";

exports.chain = chain;
var IndexNode = (0, _factoriesAny.createIndexNode)({
Node: Node,
size: _pureFunctionsAnyGenerated.size
});
exports.IndexNode = IndexNode;
var AccessorNode = (0, _factoriesAny.createAccessorNode)({

@@ -95,7 +100,2 @@ Node: Node,

exports.AccessorNode = AccessorNode;
var IndexNode = (0, _factoriesAny.createIndexNode)({
Node: Node,
size: _pureFunctionsAnyGenerated.size
});
exports.IndexNode = IndexNode;
var AssignmentNode = (0, _factoriesAny.createAssignmentNode)({

@@ -414,3 +414,2 @@ matrix: _pureFunctionsAnyGenerated.matrix,

squeeze: _pureFunctionsAnyGenerated.squeeze,
subset: _pureFunctionsAnyGenerated.subset,
transpose: _pureFunctionsAnyGenerated.transpose,

@@ -443,6 +442,9 @@ xgcd: _pureFunctionsAnyGenerated.xgcd,

smaller: _pureFunctionsAnyGenerated.smaller,
subtract: _pureFunctionsAnyGenerated.subtract,
to: _pureFunctionsAnyGenerated.to,
unequal: _pureFunctionsAnyGenerated.unequal,
usolve: _pureFunctionsAnyGenerated.usolve,
xor: _pureFunctionsAnyGenerated.xor,
add: _pureFunctionsAnyGenerated.add,
atan2: _pureFunctionsAnyGenerated.atan2,
bitAnd: _pureFunctionsAnyGenerated.bitAnd,

@@ -455,2 +457,4 @@ bitXor: _pureFunctionsAnyGenerated.bitXor,

deepEqual: _pureFunctionsAnyGenerated.deepEqual,
diff: _pureFunctionsAnyGenerated.diff,
distance: _pureFunctionsAnyGenerated.distance,
dot: _pureFunctionsAnyGenerated.dot,

@@ -463,2 +467,3 @@ equalText: _pureFunctionsAnyGenerated.equalText,

log: _pureFunctionsAnyGenerated.log,
lsolve: _pureFunctionsAnyGenerated.lsolve,
matrixFromRows: _pureFunctionsAnyGenerated.matrixFromRows,

@@ -470,10 +475,10 @@ min: _pureFunctionsAnyGenerated.min,

partitionSelect: _pureFunctionsAnyGenerated.partitionSelect,
quantileSeq: _pureFunctionsAnyGenerated.quantileSeq,
qr: _pureFunctionsAnyGenerated.qr,
rightLogShift: _pureFunctionsAnyGenerated.rightLogShift,
smallerEq: _pureFunctionsAnyGenerated.smallerEq,
subtract: _pureFunctionsAnyGenerated.subtract,
slu: _pureFunctionsAnyGenerated.slu,
subset: _pureFunctionsAnyGenerated.subset,
sum: _pureFunctionsAnyGenerated.sum,
trace: _pureFunctionsAnyGenerated.trace,
usolve: _pureFunctionsAnyGenerated.usolve,
usolveAll: _pureFunctionsAnyGenerated.usolveAll,
zpk2tf: _pureFunctionsAnyGenerated.zpk2tf,
and: _pureFunctionsAnyGenerated.and,
bitOr: _pureFunctionsAnyGenerated.bitOr,

@@ -485,4 +490,2 @@ ceil: _pureFunctionsAnyGenerated.ceil,

det: _pureFunctionsAnyGenerated.det,
diff: _pureFunctionsAnyGenerated.diff,
distance: _pureFunctionsAnyGenerated.distance,
dotMultiply: _pureFunctionsAnyGenerated.dotMultiply,

@@ -494,7 +497,5 @@ fix: _pureFunctionsAnyGenerated.fix,

log1p: _pureFunctionsAnyGenerated.log1p,
lsolve: _pureFunctionsAnyGenerated.lsolve,
lsolveAll: _pureFunctionsAnyGenerated.lsolveAll,
max: _pureFunctionsAnyGenerated.max,
qr: _pureFunctionsAnyGenerated.qr,
range: _pureFunctionsAnyGenerated.range,
row: _pureFunctionsAnyGenerated.row,
quantileSeq: _pureFunctionsAnyGenerated.quantileSeq,
setCartesian: _pureFunctionsAnyGenerated.setCartesian,

@@ -504,12 +505,11 @@ setDistinct: _pureFunctionsAnyGenerated.setDistinct,

setPowerset: _pureFunctionsAnyGenerated.setPowerset,
slu: _pureFunctionsAnyGenerated.slu,
smallerEq: _pureFunctionsAnyGenerated.smallerEq,
sort: _pureFunctionsAnyGenerated.sort,
sum: _pureFunctionsAnyGenerated.sum,
usolveAll: _pureFunctionsAnyGenerated.usolveAll,
atan2: _pureFunctionsAnyGenerated.atan2,
column: _pureFunctionsAnyGenerated.column,
lsolveAll: _pureFunctionsAnyGenerated.lsolveAll,
and: _pureFunctionsAnyGenerated.and,
range: _pureFunctionsAnyGenerated.range,
row: _pureFunctionsAnyGenerated.row,
setDifference: _pureFunctionsAnyGenerated.setDifference,
setMultiplicity: _pureFunctionsAnyGenerated.setMultiplicity,
setSymDifference: _pureFunctionsAnyGenerated.setSymDifference,
column: _pureFunctionsAnyGenerated.column,
inv: _pureFunctionsAnyGenerated.inv,

@@ -604,2 +604,3 @@ lup: _pureFunctionsAnyGenerated.lup,

std: _pureFunctionsAnyGenerated.std,
zeta: _pureFunctionsAnyGenerated.zeta,
freqz: _pureFunctionsAnyGenerated.freqz,

@@ -629,6 +630,2 @@ norm: _pureFunctionsAnyGenerated.norm,

}),
subset: (0, _factoriesAny.createSubsetTransform)({
matrix: _pureFunctionsAnyGenerated.matrix,
typed: _pureFunctionsAnyGenerated.typed
}),
concat: (0, _factoriesAny.createConcatTransform)({

@@ -645,8 +642,17 @@ isInteger: _pureFunctionsAnyGenerated.isInteger,

}),
sum: (0, _factoriesAny.createSumTransform)({
quantileSeq: (0, _factoriesAny.createQuantileSeqTransform)({
add: _pureFunctionsAnyGenerated.add,
config: _configReadonly.config,
numeric: _pureFunctionsAnyGenerated.numeric,
compare: _pureFunctionsAnyGenerated.compare,
isInteger: _pureFunctionsAnyGenerated.isInteger,
multiply: _pureFunctionsAnyGenerated.multiply,
partitionSelect: _pureFunctionsAnyGenerated.partitionSelect,
typed: _pureFunctionsAnyGenerated.typed
}),
diff: (0, _factoriesAny.createDiffTransform)({
bignumber: _pureFunctionsAnyGenerated.bignumber,
matrix: _pureFunctionsAnyGenerated.matrix,
number: _pureFunctionsAnyGenerated.number,
subtract: _pureFunctionsAnyGenerated.subtract,
typed: _pureFunctionsAnyGenerated.typed
}),
min: (0, _factoriesAny.createMinTransform)({

@@ -658,2 +664,8 @@ config: _configReadonly.config,

}),
subset: (0, _factoriesAny.createSubsetTransform)({
add: _pureFunctionsAnyGenerated.add,
matrix: _pureFunctionsAnyGenerated.matrix,
typed: _pureFunctionsAnyGenerated.typed,
zeros: _pureFunctionsAnyGenerated.zeros
}),
cumsum: (0, _factoriesAny.createCumSumTransform)({

@@ -664,12 +676,12 @@ add: _pureFunctionsAnyGenerated.add,

}),
diff: (0, _factoriesAny.createDiffTransform)({
bignumber: _pureFunctionsAnyGenerated.bignumber,
matrix: _pureFunctionsAnyGenerated.matrix,
number: _pureFunctionsAnyGenerated.number,
subtract: _pureFunctionsAnyGenerated.subtract,
index: (0, _factoriesAny.createIndexTransform)({
Index: _pureFunctionsAnyGenerated.Index,
getMatrixDataType: _pureFunctionsAnyGenerated.getMatrixDataType
}),
sum: (0, _factoriesAny.createSumTransform)({
add: _pureFunctionsAnyGenerated.add,
config: _configReadonly.config,
numeric: _pureFunctionsAnyGenerated.numeric,
typed: _pureFunctionsAnyGenerated.typed
}),
index: (0, _factoriesAny.createIndexTransform)({
Index: _pureFunctionsAnyGenerated.Index
}),
range: (0, _factoriesAny.createRangeTransform)({

@@ -741,7 +753,7 @@ bignumber: _pureFunctionsAnyGenerated.bignumber,

SparseMatrix: _pureFunctionsAnyGenerated.SparseMatrix,
AccessorNode: AccessorNode,
IndexNode: IndexNode,
AssignmentNode: AssignmentNode,
ImmutableDenseMatrix: _pureFunctionsAnyGenerated.ImmutableDenseMatrix,
Index: _pureFunctionsAnyGenerated.Index,
AccessorNode: AccessorNode,
AssignmentNode: AssignmentNode,
FibonacciHeap: _pureFunctionsAnyGenerated.FibonacciHeap,

@@ -748,0 +760,0 @@ Spa: _pureFunctionsAnyGenerated.Spa,

@@ -409,2 +409,3 @@ "use strict";

variance: _pureFunctionsNumberGenerated.variance,
zeta: _pureFunctionsNumberGenerated.zeta,
acsch: _pureFunctionsNumberGenerated.acsch,

@@ -411,0 +412,0 @@ atan2: _pureFunctionsNumberGenerated.atan2,

@@ -8,3 +8,3 @@ "use strict";

exports.or = exports.ones = exports.oct = exports.numeric = exports.number = exports.nuclearMagneton = exports.nthRoots = exports.nthRoot = exports.not = exports.norm = exports.neutronMass = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.molarVolume = exports.molarPlanckConstant = exports.molarMassC12 = exports.molarMass = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrixFromRows = exports.matrixFromFunction = exports.matrixFromColumns = exports.matrix = exports.map = exports.magneticFluxQuantum = exports.magneticConstant = exports.mad = exports.lyap = exports.lusolve = exports.lup = exports.lsolveAll = exports.lsolve = exports.loschmidt = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.lgamma = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.kron = exports.klitzing = exports.kldivergence = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.invmod = exports.inverseConductanceQuantum = exports.inv = exports.intersect = exports.index = exports.im = exports.ifft = exports.identity = exports.i = exports.hypot = exports.hex = exports.hasNumericValue = exports.hartreeEnergy = exports.gravity = exports.gravitationConstant = exports.getMatrixDataType = exports.gcd = exports.gasConstant = exports.gamma = exports.freqz = exports.fraction = exports.format = exports.forEach = exports.floor = exports.flatten = exports.fix = exports.firstRadiation = exports.fineStructure = exports.filter = exports.fft = exports.fermiCoupling = exports.faraday = exports.factorial = exports.expm1 = exports.expm = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.elementaryCharge = exports.electronMass = exports.electricConstant = void 0;
exports.zpk2tf = exports.zeros = exports.xor = exports.xgcd = exports.wienDisplacement = exports.weakMixingAngle = exports.version = exports.variance = exports.vacuumImpedance = exports.usolveAll = exports.usolve = exports.unit = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.transpose = exports.trace = exports.to = exports.thomsonCrossSection = exports.tau = exports.tanh = exports.tan = exports.sylvester = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.stefanBoltzmann = exports.std = exports.squeeze = exports.square = exports.sqrtm = exports.sqrt = exports.splitUnit = exports.speedOfLight = exports.sparse = exports.sort = exports.solveODE = exports.smallerEq = exports.smaller = exports.slu = exports.size = exports.sinh = exports.sin = exports.sign = exports.setUnion = exports.setSymDifference = exports.setSize = exports.setPowerset = exports.setMultiplicity = exports.setIsSubset = exports.setIntersect = exports.setDistinct = exports.setDifference = exports.setCartesian = exports.secondRadiation = exports.sech = exports.sec = exports.schur = exports.sackurTetrode = exports.rydberg = exports.row = exports.round = exports.rotationMatrix = exports.rotate = exports.rightLogShift = exports.rightArithShift = exports.resize = exports.reshape = exports.replacer = exports.reducedPlanckConstant = exports.re = exports.range = exports.randomInt = exports.random = exports.quantumOfCirculation = exports.quantileSeq = exports.qr = exports.protonMass = exports.prod = exports.print = exports.pow = exports.polynomialRoot = exports.planckTime = exports.planckTemperature = exports.planckMass = exports.planckLength = exports.planckConstant = exports.planckCharge = exports.pinv = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = void 0;
exports.zpk2tf = exports.zeta = exports.zeros = exports.xor = exports.xgcd = exports.wienDisplacement = exports.weakMixingAngle = exports.version = exports.variance = exports.vacuumImpedance = exports.usolveAll = exports.usolve = exports.unit = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.transpose = exports.trace = exports.to = exports.thomsonCrossSection = exports.tau = exports.tanh = exports.tan = exports.sylvester = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.stefanBoltzmann = exports.std = exports.squeeze = exports.square = exports.sqrtm = exports.sqrt = exports.splitUnit = exports.speedOfLight = exports.sparse = exports.sort = exports.solveODE = exports.smallerEq = exports.smaller = exports.slu = exports.size = exports.sinh = exports.sin = exports.sign = exports.setUnion = exports.setSymDifference = exports.setSize = exports.setPowerset = exports.setMultiplicity = exports.setIsSubset = exports.setIntersect = exports.setDistinct = exports.setDifference = exports.setCartesian = exports.secondRadiation = exports.sech = exports.sec = exports.schur = exports.sackurTetrode = exports.rydberg = exports.row = exports.round = exports.rotationMatrix = exports.rotate = exports.rightLogShift = exports.rightArithShift = exports.resize = exports.reshape = exports.replacer = exports.reducedPlanckConstant = exports.re = exports.range = exports.randomInt = exports.random = exports.quantumOfCirculation = exports.quantileSeq = exports.qr = exports.protonMass = exports.prod = exports.print = exports.pow = exports.polynomialRoot = exports.planckTime = exports.planckTemperature = exports.planckMass = exports.planckLength = exports.planckConstant = exports.planckCharge = exports.pinv = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = void 0;
var _configReadonly = require("./configReadonly.js");

@@ -550,7 +550,2 @@ var _factoriesAny = require("../factoriesAny.js");

exports.squeeze = squeeze;
var subset = /* #__PURE__ */(0, _factoriesAny.createSubset)({
matrix: matrix,
typed: typed
});
exports.subset = subset;
var transpose = /* #__PURE__ */(0, _factoriesAny.createTranspose)({

@@ -751,2 +746,12 @@ matrix: matrix,

exports.smaller = smaller;
var subtract = /* #__PURE__ */(0, _factoriesAny.createSubtract)({
DenseMatrix: DenseMatrix,
addScalar: addScalar,
concat: concat,
equalScalar: equalScalar,
matrix: matrix,
typed: typed,
unaryMinus: unaryMinus
});
exports.subtract = subtract;
var to = /* #__PURE__ */(0, _factoriesAny.createTo)({

@@ -767,2 +772,12 @@ concat: concat,

exports.unequal = unequal;
var usolve = /* #__PURE__ */(0, _factoriesAny.createUsolve)({
DenseMatrix: DenseMatrix,
divideScalar: divideScalar,
equalScalar: equalScalar,
matrix: matrix,
multiplyScalar: multiplyScalar,
subtract: subtract,
typed: typed
});
exports.usolve = usolve;
var xor = /* #__PURE__ */(0, _factoriesAny.createXor)({

@@ -785,2 +800,11 @@ DenseMatrix: DenseMatrix,

exports.add = add;
var atan2 = /* #__PURE__ */(0, _factoriesAny.createAtan2)({
BigNumber: BigNumber,
DenseMatrix: DenseMatrix,
concat: concat,
equalScalar: equalScalar,
matrix: matrix,
typed: typed
});
exports.atan2 = atan2;
var bitAnd = /* #__PURE__ */(0, _factoriesAny.createBitAnd)({

@@ -838,2 +862,20 @@ concat: concat,

exports.deepEqual = deepEqual;
var diff = /* #__PURE__ */(0, _factoriesAny.createDiff)({
matrix: matrix,
number: number,
subtract: subtract,
typed: typed
});
exports.diff = diff;
var distance = /* #__PURE__ */(0, _factoriesAny.createDistance)({
abs: abs,
addScalar: addScalar,
deepEqual: deepEqual,
divideScalar: divideScalar,
multiplyScalar: multiplyScalar,
sqrt: sqrt,
subtract: subtract,
typed: typed
});
exports.distance = distance;
var dot = /* #__PURE__ */(0, _factoriesAny.createDot)({

@@ -880,3 +922,4 @@ addScalar: addScalar,

var Index = /* #__PURE__ */(0, _factoriesAny.createIndexClass)({
ImmutableDenseMatrix: ImmutableDenseMatrix
ImmutableDenseMatrix: ImmutableDenseMatrix,
getMatrixDataType: getMatrixDataType
});

@@ -911,2 +954,12 @@ exports.Index = Index;

exports.log = log;
var lsolve = /* #__PURE__ */(0, _factoriesAny.createLsolve)({
DenseMatrix: DenseMatrix,
divideScalar: divideScalar,
equalScalar: equalScalar,
matrix: matrix,
multiplyScalar: multiplyScalar,
subtract: subtract,
typed: typed
});
exports.lsolve = lsolve;
var matrixFromRows = /* #__PURE__ */(0, _factoriesAny.createMatrixFromRows)({

@@ -957,10 +1010,20 @@ flatten: flatten,

exports.partitionSelect = partitionSelect;
var quantileSeq = /* #__PURE__ */(0, _factoriesAny.createQuantileSeq)({
add: add,
compare: compare,
multiply: multiply,
partitionSelect: partitionSelect,
typed: typed
var qr = /* #__PURE__ */(0, _factoriesAny.createQr)({
addScalar: addScalar,
complex: complex,
conj: conj,
divideScalar: divideScalar,
equal: equal,
identity: identity,
isZero: isZero,
matrix: matrix,
multiplyScalar: multiplyScalar,
sign: sign,
sqrt: sqrt,
subtract: subtract,
typed: typed,
unaryMinus: unaryMinus,
zeros: zeros
});
exports.quantileSeq = quantileSeq;
exports.qr = qr;
var rightLogShift = /* #__PURE__ */(0, _factoriesAny.createRightLogShift)({

@@ -975,20 +1038,29 @@ DenseMatrix: DenseMatrix,

exports.rightLogShift = rightLogShift;
var smallerEq = /* #__PURE__ */(0, _factoriesAny.createSmallerEq)({
DenseMatrix: DenseMatrix,
concat: concat,
config: _configReadonly.config,
matrix: matrix,
var slu = /* #__PURE__ */(0, _factoriesAny.createSlu)({
SparseMatrix: SparseMatrix,
abs: abs,
add: add,
divideScalar: divideScalar,
larger: larger,
largerEq: largerEq,
multiply: multiply,
subtract: subtract,
transpose: transpose,
typed: typed
});
exports.smallerEq = smallerEq;
var subtract = /* #__PURE__ */(0, _factoriesAny.createSubtract)({
DenseMatrix: DenseMatrix,
addScalar: addScalar,
concat: concat,
equalScalar: equalScalar,
exports.slu = slu;
var subset = /* #__PURE__ */(0, _factoriesAny.createSubset)({
add: add,
matrix: matrix,
typed: typed,
unaryMinus: unaryMinus
zeros: zeros
});
exports.subtract = subtract;
exports.subset = subset;
var sum = /* #__PURE__ */(0, _factoriesAny.createSum)({
add: add,
config: _configReadonly.config,
numeric: numeric,
typed: typed
});
exports.sum = sum;
var trace = /* #__PURE__ */(0, _factoriesAny.createTrace)({

@@ -1000,3 +1072,3 @@ add: add,

exports.trace = trace;
var usolve = /* #__PURE__ */(0, _factoriesAny.createUsolve)({
var usolveAll = /* #__PURE__ */(0, _factoriesAny.createUsolveAll)({
DenseMatrix: DenseMatrix,

@@ -1010,3 +1082,3 @@ divideScalar: divideScalar,

});
exports.usolve = usolve;
exports.usolveAll = usolveAll;
var zpk2tf = /* #__PURE__ */(0, _factoriesAny.createZpk2tf)({

@@ -1020,11 +1092,2 @@ Complex: Complex,

exports.zpk2tf = zpk2tf;
var and = /* #__PURE__ */(0, _factoriesAny.createAnd)({
concat: concat,
equalScalar: equalScalar,
matrix: matrix,
not: not,
typed: typed,
zeros: zeros
});
exports.and = and;
var bitOr = /* #__PURE__ */(0, _factoriesAny.createBitOr)({

@@ -1080,20 +1143,2 @@ DenseMatrix: DenseMatrix,

exports.det = det;
var diff = /* #__PURE__ */(0, _factoriesAny.createDiff)({
matrix: matrix,
number: number,
subtract: subtract,
typed: typed
});
exports.diff = diff;
var distance = /* #__PURE__ */(0, _factoriesAny.createDistance)({
abs: abs,
addScalar: addScalar,
deepEqual: deepEqual,
divideScalar: divideScalar,
multiplyScalar: multiplyScalar,
sqrt: sqrt,
subtract: subtract,
typed: typed
});
exports.distance = distance;
var dotMultiply = /* #__PURE__ */(0, _factoriesAny.createDotMultiply)({

@@ -1161,3 +1206,3 @@ concat: concat,

exports.log1p = log1p;
var lsolve = /* #__PURE__ */(0, _factoriesAny.createLsolve)({
var lsolveAll = /* #__PURE__ */(0, _factoriesAny.createLsolveAll)({
DenseMatrix: DenseMatrix,

@@ -1171,3 +1216,3 @@ divideScalar: divideScalar,

});
exports.lsolve = lsolve;
exports.lsolveAll = lsolveAll;
var max = /* #__PURE__ */(0, _factoriesAny.createMax)({

@@ -1180,40 +1225,11 @@ config: _configReadonly.config,

exports.max = max;
var qr = /* #__PURE__ */(0, _factoriesAny.createQr)({
addScalar: addScalar,
complex: complex,
conj: conj,
divideScalar: divideScalar,
equal: equal,
identity: identity,
isZero: isZero,
matrix: matrix,
multiplyScalar: multiplyScalar,
sign: sign,
sqrt: sqrt,
subtract: subtract,
typed: typed,
unaryMinus: unaryMinus,
zeros: zeros
});
exports.qr = qr;
var range = /* #__PURE__ */(0, _factoriesAny.createRange)({
bignumber: bignumber,
matrix: matrix,
var quantileSeq = /* #__PURE__ */(0, _factoriesAny.createQuantileSeq)({
add: add,
config: _configReadonly.config,
isPositive: isPositive,
larger: larger,
largerEq: largerEq,
smaller: smaller,
smallerEq: smallerEq,
compare: compare,
isInteger: isInteger,
multiply: multiply,
partitionSelect: partitionSelect,
typed: typed
});
exports.range = range;
var row = /* #__PURE__ */(0, _factoriesAny.createRow)({
Index: Index,
matrix: matrix,
range: range,
typed: typed
});
exports.row = row;
exports.quantileSeq = quantileSeq;
var setCartesian = /* #__PURE__ */(0, _factoriesAny.createSetCartesian)({

@@ -1253,15 +1269,10 @@ DenseMatrix: DenseMatrix,

exports.setPowerset = setPowerset;
var slu = /* #__PURE__ */(0, _factoriesAny.createSlu)({
SparseMatrix: SparseMatrix,
abs: abs,
add: add,
divideScalar: divideScalar,
larger: larger,
largerEq: largerEq,
multiply: multiply,
subtract: subtract,
transpose: transpose,
var smallerEq = /* #__PURE__ */(0, _factoriesAny.createSmallerEq)({
DenseMatrix: DenseMatrix,
concat: concat,
config: _configReadonly.config,
matrix: matrix,
typed: typed
});
exports.slu = slu;
exports.smallerEq = smallerEq;
var sort = /* #__PURE__ */(0, _factoriesAny.createSort)({

@@ -1274,29 +1285,25 @@ compare: compare,

exports.sort = sort;
var sum = /* #__PURE__ */(0, _factoriesAny.createSum)({
add: add,
config: _configReadonly.config,
numeric: numeric,
typed: typed
});
exports.sum = sum;
var usolveAll = /* #__PURE__ */(0, _factoriesAny.createUsolveAll)({
DenseMatrix: DenseMatrix,
divideScalar: divideScalar,
var and = /* #__PURE__ */(0, _factoriesAny.createAnd)({
concat: concat,
equalScalar: equalScalar,
matrix: matrix,
multiplyScalar: multiplyScalar,
subtract: subtract,
typed: typed
not: not,
typed: typed,
zeros: zeros
});
exports.usolveAll = usolveAll;
var atan2 = /* #__PURE__ */(0, _factoriesAny.createAtan2)({
BigNumber: BigNumber,
DenseMatrix: DenseMatrix,
concat: concat,
equalScalar: equalScalar,
exports.and = and;
var range = /* #__PURE__ */(0, _factoriesAny.createRange)({
bignumber: bignumber,
matrix: matrix,
add: add,
config: _configReadonly.config,
isPositive: isPositive,
larger: larger,
largerEq: largerEq,
smaller: smaller,
smallerEq: smallerEq,
typed: typed
});
exports.atan2 = atan2;
var column = /* #__PURE__ */(0, _factoriesAny.createColumn)({
exports.range = range;
var row = /* #__PURE__ */(0, _factoriesAny.createRow)({
Index: Index,

@@ -1307,13 +1314,3 @@ matrix: matrix,

});
exports.column = column;
var lsolveAll = /* #__PURE__ */(0, _factoriesAny.createLsolveAll)({
DenseMatrix: DenseMatrix,
divideScalar: divideScalar,
equalScalar: equalScalar,
matrix: matrix,
multiplyScalar: multiplyScalar,
subtract: subtract,
typed: typed
});
exports.lsolveAll = lsolveAll;
exports.row = row;
var setDifference = /* #__PURE__ */(0, _factoriesAny.createSetDifference)({

@@ -1351,2 +1348,9 @@ DenseMatrix: DenseMatrix,

exports.Spa = Spa;
var column = /* #__PURE__ */(0, _factoriesAny.createColumn)({
Index: Index,
matrix: matrix,
range: range,
typed: typed
});
exports.column = column;
var inv = /* #__PURE__ */(0, _factoriesAny.createInv)({

@@ -1976,2 +1980,21 @@ abs: abs,

exports.std = std;
var zeta = /* #__PURE__ */(0, _factoriesAny.createZeta)({
BigNumber: BigNumber,
Complex: Complex,
add: add,
config: _configReadonly.config,
divide: divide,
equal: equal,
factorial: factorial,
gamma: gamma,
isNegative: isNegative,
multiply: multiply,
pi: pi,
pow: pow,
sin: sin,
smallerEq: smallerEq,
subtract: subtract,
typed: typed
});
exports.zeta = zeta;
var freqz = /* #__PURE__ */(0, _factoriesAny.createFreqz)({

@@ -1978,0 +2001,0 @@ Complex: Complex,

@@ -7,3 +7,3 @@ "use strict";

exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrix = exports.map = exports.mad = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.lgamma = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.index = exports.hypot = exports.hasNumericValue = exports.gcd = exports.gamma = exports.format = exports.forEach = exports.floor = exports.fix = exports.filter = exports.factorial = exports.expm1 = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.e = exports.divideScalar = exports.divide = exports.deepEqual = exports.cumsum = exports.cube = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.composition = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.clone = exports.ceil = exports.cbrt = exports.catalan = exports["boolean"] = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bellNumbers = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = exports.apply = exports.and = exports.addScalar = exports.add = exports.acsch = exports.acsc = exports.acoth = exports.acot = exports.acosh = exports.acos = exports.abs = exports._true = exports._null = exports._false = exports._NaN = exports._Infinity = exports.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = void 0;
exports.xor = exports.xgcd = exports.version = exports.variance = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.tau = exports.tanh = exports.tan = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.std = exports.square = exports.sqrt = exports.smallerEq = exports.smaller = exports.size = exports.sinh = exports.sin = exports.sign = exports.sech = exports.sec = exports.round = exports.rightLogShift = exports.rightArithShift = exports.replacer = exports.range = exports.randomInt = exports.random = exports.quantileSeq = exports.prod = exports.print = exports.pow = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.numeric = exports.number = exports.nthRoot = exports.not = exports.norm = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.mode = void 0;
exports.zeta = exports.xor = exports.xgcd = exports.version = exports.variance = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.tau = exports.tanh = exports.tan = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.std = exports.square = exports.sqrt = exports.smallerEq = exports.smaller = exports.size = exports.sinh = exports.sin = exports.sign = exports.sech = exports.sec = exports.round = exports.rightLogShift = exports.rightArithShift = exports.replacer = exports.range = exports.randomInt = exports.random = exports.quantileSeq = exports.prod = exports.print = exports.pow = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.numeric = exports.number = exports.nthRoot = exports.not = exports.norm = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.mode = void 0;
var _configReadonly = require("./configReadonly.js");

@@ -509,2 +509,3 @@ var _factoriesNumber = require("../factoriesNumber.js");

compare: compare,
isInteger: isInteger,
multiply: multiply,

@@ -551,2 +552,19 @@ partitionSelect: partitionSelect,

exports.variance = variance;
var zeta = /* #__PURE__ */(0, _factoriesNumber.createZeta)({
add: add,
config: _configReadonly.config,
divide: divide,
equal: equal,
factorial: factorial,
gamma: gamma,
isNegative: isNegative,
multiply: multiply,
pi: pi,
pow: pow,
sin: sin,
smallerEq: smallerEq,
subtract: subtract,
typed: typed
});
exports.zeta = zeta;
var acsch = /* #__PURE__ */(0, _factoriesNumber.createAcsch)({

@@ -553,0 +571,0 @@ typed: typed

@@ -12,5 +12,5 @@ "use strict";

description: 'Create an index to get or replace a subset of a matrix',
examples: ['[1, 2, 3]', 'A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = ones(2, 2)'],
examples: ['A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = 1', 'B = [1, 2, 3]', 'B[B>1 and B<3]'],
seealso: ['bignumber', 'boolean', 'complex', 'matrix,', 'number', 'range', 'string', 'unit']
};
exports.indexDocs = indexDocs;

@@ -193,2 +193,3 @@ "use strict";

var _erf = require("./function/special/erf.js");
var _zeta = require("./function/special/zeta.js");
var _mad = require("./function/statistics/mad.js");

@@ -663,2 +664,3 @@ var _max = require("./function/statistics/max.js");

erf: _erf.erfDocs,
zeta: _zeta.zetaDocs,
// functions - statistics

@@ -665,0 +667,0 @@ cumsum: _cumsum.cumSumDocs,

@@ -31,4 +31,9 @@ "use strict";

if (Array.isArray(object)) {
// we use matrix.subset here instead of the function subset because we must not clone the contents
return matrix(object).subset(index, value).valueOf();
var result = matrix(object).subset(index, value).valueOf();
// shallow copy all (updated) items into the original array
result.forEach(function (item, index) {
object[index] = item;
});
return object;
} else if (object && typeof object.subset === 'function') {

@@ -35,0 +40,0 @@ // Matrix

@@ -10,5 +10,6 @@ "use strict";

var name = 'index';
var dependencies = ['Index'];
var dependencies = ['Index', 'getMatrixDataType'];
var createIndexTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
var Index = _ref.Index;
var Index = _ref.Index,
getMatrixDataType = _ref.getMatrixDataType;
/**

@@ -25,3 +26,3 @@ * Attach a transform function to math.index

// change from one-based to zero based, and convert BigNumber to number
// change from one-based to zero based, convert BigNumber to number and leave Array of Booleans as is
if ((0, _is.isRange)(arg)) {

@@ -35,5 +36,7 @@ arg.start--;

} else if ((0, _is.isArray)(arg) || (0, _is.isMatrix)(arg)) {
arg = arg.map(function (v) {
return v - 1;
});
if (getMatrixDataType(arg) !== 'boolean') {
arg = arg.map(function (v) {
return v - 1;
});
}
} else if ((0, _is.isNumber)(arg)) {

@@ -40,0 +43,0 @@ arg--;

@@ -11,9 +11,13 @@ "use strict";

var name = 'subset';
var dependencies = ['typed', 'matrix'];
var dependencies = ['typed', 'matrix', 'zeros', 'add'];
var createSubsetTransform = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
var typed = _ref.typed,
matrix = _ref.matrix;
matrix = _ref.matrix,
zeros = _ref.zeros,
add = _ref.add;
var subset = (0, _subset.createSubset)({
typed: typed,
matrix: matrix
matrix: matrix,
zeros: zeros,
add: add
});

@@ -20,0 +24,0 @@

@@ -782,2 +782,8 @@ "use strict";

exports.createXor = void 0;
Object.defineProperty(exports, "createZeta", {
enumerable: true,
get: function get() {
return _zeta.createZeta;
}
});
var _index = require("./plain/number/index.js");

@@ -859,2 +865,3 @@ var _factory = require("./utils/factory.js");

var _erf = require("./function/special/erf.js");
var _zeta = require("./function/special/zeta.js");
var _mode = require("./function/statistics/mode.js");

@@ -861,0 +868,0 @@ var _prod = require("./function/statistics/prod.js");

@@ -100,3 +100,3 @@ "use strict";

while (matrices.length) {
res = _concat(res, matrices.shift(), dim, 0);
res = (0, _array.concat)(res, matrices.shift(), dim);
}

@@ -110,29 +110,2 @@ return asMatrix ? matrix(res) : res;

});
/**
* Recursively concatenate two matrices.
* The contents of the matrices is not cloned.
* @param {Array} a Multi dimensional array
* @param {Array} b Multi dimensional array
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @param {number} dim The current dim (zero-based)
* @return {Array} c The concatenated matrix
* @private
*/
exports.createConcat = createConcat;
function _concat(a, b, concatDim, dim) {
if (dim < concatDim) {
// recurse into next dimension
if (a.length !== b.length) {
throw new _DimensionError.DimensionError(a.length, b.length);
}
var c = [];
for (var i = 0; i < a.length; i++) {
c[i] = _concat(a[i], b[i], concatDim, dim + 1);
}
return c;
} else {
// concatenate this dimension
return a.concat(b);
}
}
exports.createConcat = createConcat;

@@ -14,6 +14,8 @@ "use strict";

var name = 'subset';
var dependencies = ['typed', 'matrix'];
var dependencies = ['typed', 'matrix', 'zeros', 'add'];
var createSubset = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
var typed = _ref.typed,
matrix = _ref.matrix;
matrix = _ref.matrix,
zeros = _ref.zeros,
add = _ref.add;
/**

@@ -30,9 +32,11 @@ * Get or set a subset of a matrix or string.

* const d = [[1, 2], [3, 4]]
* 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(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]]
*
* // replace a subset
* const e = []
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 0, 6]]
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 0, 6], [0, 7, 0]]
* math.subset(g, math.index([false, true], 1), 8) // returns [[5, 0, 6], [0, 8, 0]]
*

@@ -45,3 +49,3 @@ * // get submatrix using ranges

* ]
* math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
* math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]]
*

@@ -65,28 +69,44 @@ * See also:

*/
return typed(name, {
// get subset
'Array, Index': function ArrayIndex(value, index) {
var m = matrix(value);
var subset = m.subset(index); // returns a Matrix
return index.isScalar() ? subset : subset.valueOf(); // return an Array (like the input)
},
'Matrix, Index': function MatrixIndex(value, index) {
if ((0, _array.isEmptyIndex)(index)) {
return matrix();
}
(0, _array.validateIndexSourceSize)(value, index);
return value.subset(index);
},
'Array, Index': typed.referTo('Matrix, Index', function (subsetRef) {
return function (value, index) {
var subsetResult = subsetRef(matrix(value), index);
return index.isScalar() ? subsetResult : subsetResult.valueOf();
};
}),
'Object, Index': _getObjectProperty,
'string, Index': _getSubstring,
// set subset
'Array, Index, any': function ArrayIndexAny(value, index, replacement) {
return matrix((0, _object.clone)(value)).subset(index, replacement, undefined).valueOf();
},
'Array, Index, any, any': function ArrayIndexAnyAny(value, index, replacement, defaultValue) {
return matrix((0, _object.clone)(value)).subset(index, replacement, defaultValue).valueOf();
},
'Matrix, Index, any': function MatrixIndexAny(value, index, replacement) {
return value.clone().subset(index, replacement);
},
'Matrix, Index, any, any': function MatrixIndexAnyAny(value, index, replacement, defaultValue) {
return value.clone().subset(index, replacement, defaultValue);
if ((0, _array.isEmptyIndex)(index)) {
return value;
}
(0, _array.validateIndexSourceSize)(value, index);
return value.clone().subset(index, _broadcastReplacement(replacement, index), defaultValue);
},
'Array, Index, any, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement, defaultValue) {
var subsetResult = subsetRef(matrix(value), index, replacement, defaultValue);
return subsetResult.isMatrix ? subsetResult.valueOf() : subsetResult;
};
}),
'Array, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement) {
return subsetRef(matrix(value), index, replacement, undefined).valueOf();
};
}),
'Matrix, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement) {
return subsetRef(value, index, replacement, undefined);
};
}),
'string, Index, string': _setSubstring,

@@ -96,2 +116,30 @@ 'string, Index, string, string': _setSubstring,

});
/**
* Broadcasts a replacment value to be the same size as index
* @param {number | BigNumber | Array | Matrix} replacement Replacement value to try to broadcast
* @param {*} index Index value
* @returns broadcasted replacement that matches the size of index
*/
function _broadcastReplacement(replacement, index) {
if (typeof replacement === 'string') {
throw new Error('can\'t boradcast a string');
}
if (index._isScalar) {
return replacement;
}
var indexSize = index.size();
if (indexSize.every(function (d) {
return d > 0;
})) {
try {
return add(replacement, zeros(indexSize));
} catch (error) {
return replacement;
}
} else {
return replacement;
}
}
});

@@ -112,2 +160,6 @@

}
if ((0, _array.isEmptyIndex)(index)) {
return '';
}
(0, _array.validateIndexSourceSize)(Array.from(str), index);
if (index.size().length !== 1) {

@@ -134,3 +186,3 @@ throw new _DimensionError.DimensionError(index.size().length, 1);

* @param {string} replacement Replacement string
* @param {string} [defaultValue] Default value to be uses when resizing
* @param {string} [defaultValue] Default value to be used when resizing
* the string. is ' ' by default

@@ -145,2 +197,6 @@ * @returns {string} result

}
if ((0, _array.isEmptyIndex)(index)) {
return str;
}
(0, _array.validateIndexSourceSize)(Array.from(str), index);
if (index.size().length !== 1) {

@@ -195,2 +251,5 @@ throw new _DimensionError.DimensionError(index.size().length, 1);

function _getObjectProperty(object, index) {
if ((0, _array.isEmptyIndex)(index)) {
return undefined;
}
if (index.size().length !== 1) {

@@ -215,2 +274,5 @@ throw new _DimensionError.DimensionError(index.size(), 1);

function _setObjectProperty(object, index, replacement) {
if ((0, _array.isEmptyIndex)(index)) {
return object;
}
if (index.size().length !== 1) {

@@ -217,0 +279,0 @@ throw new _DimensionError.DimensionError(index.size(), 1);

@@ -8,7 +8,7 @@ "use strict";

var _is = require("../../utils/is.js");
var _number = require("../../utils/number.js");
var _array = require("../../utils/array.js");
var _factory = require("../../utils/factory.js");
var _apply = require("../matrix/apply.js");
var name = 'quantileSeq';
var dependencies = ['typed', 'add', 'multiply', 'partitionSelect', 'compare'];
var dependencies = ['typed', 'add', 'multiply', 'partitionSelect', 'compare', 'isInteger'];
var createQuantileSeq = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {

@@ -19,3 +19,4 @@ var typed = _ref.typed,

partitionSelect = _ref.partitionSelect,
compare = _ref.compare;
compare = _ref.compare,
isInteger = _ref.isInteger;
/**

@@ -55,2 +56,36 @@ * Compute the prob order quantile of a matrix or a list with values.

*/
var apply = (0, _apply.createApply)({
typed: typed,
isInteger: isInteger
});
/**
* Check if array value types are valid, throw error otherwise.
* @param {number | BigNumber | Unit} x
* @param {number | BigNumber | Unit} x
* @private
*/
var validate = typed({
'number | BigNumber | Unit': function numberBigNumberUnit(x) {
return x;
}
});
return typed(name, {
'Array|Matrix, number|BigNumber|Array': function ArrayMatrixNumberBigNumberArray(data, prob) {
return quantileSeq(data, prob, false);
},
'Array|Matrix, number|BigNumber|Array, boolean': quantileSeq,
'Array|Matrix, number|BigNumber|Array, number': function ArrayMatrixNumberBigNumberArrayNumber(data, prob, dim) {
return _quantileSeqDim(data, prob, false, dim);
},
'Array|Matrix, number|BigNumber|Array, boolean, number': function ArrayMatrixNumberBigNumberArrayBooleanNumber(data, prob, sorted, dim) {
return _quantileSeqDim(data, prob, sorted, dim);
}
});
function _quantileSeqDim(data, prob, sorted, dim) {
// return [1.3, 1.2]
return apply(data, dim, function (x) {
return quantileSeq(x, prob, sorted);
});
}
function quantileSeq(data, probOrN, sorted) {

@@ -75,3 +110,3 @@ var probArr, dataArr, one;

// quantileSeq([a, b, c, d, ...], N[,sorted])
if (!(0, _number.isInteger)(probOrN)) {
if (!isInteger(probOrN)) {
throw new Error('N must be a positive integer');

@@ -230,16 +265,3 @@ }

}
/**
* Check if array value types are valid, throw error otherwise.
* @param {number | BigNumber | Unit} x
* @param {number | BigNumber | Unit} x
* @private
*/
var validate = typed({
'number | BigNumber | Unit': function numberBigNumberUnit(x) {
return x;
}
});
return quantileSeq;
});
exports.createQuantileSeq = createQuantileSeq;

@@ -9,4 +9,4 @@ /**

*
* @version 11.9.1
* @date 2023-07-24
* @version 11.10.0
* @date 2023-08-23
*

@@ -13,0 +13,0 @@ * @license

@@ -342,2 +342,14 @@ "use strict";

// broadcast submatrix
if (!(0, _object.deepStrictEqual)(sSize, iSize)) {
try {
if (sSize.length === 0) {
submatrix = (0, _array.broadcastTo)([submatrix], iSize);
} else {
submatrix = (0, _array.broadcastTo)(submatrix, iSize);
}
sSize = (0, _array.arraySize)(submatrix);
} catch (_unused) {}
}
// validate dimensions

@@ -979,16 +991,14 @@ if (iSize.length < matrix._size.length) {

* Preprocess data, which can be an Array or DenseMatrix with nested Arrays and
* Matrices. Replaces all nested Matrices with Arrays
* Matrices. Clones all (nested) Arrays, and replaces all nested Matrices with Arrays
* @memberof DenseMatrix
* @param {Array} data
* @param {Array | Matrix} data
* @return {Array} data
*/
function preprocess(data) {
for (var i = 0, ii = data.length; i < ii; i++) {
var elem = data[i];
if ((0, _is.isArray)(elem)) {
data[i] = preprocess(elem);
} else if (elem && elem.isMatrix === true) {
data[i] = preprocess(elem.valueOf());
}
if ((0, _is.isMatrix)(data)) {
return preprocess(data.valueOf());
}
if ((0, _is.isArray)(data)) {
return data.map(preprocess);
}
return data;

@@ -995,0 +1005,0 @@ }

@@ -7,4 +7,4 @@ "use strict";

exports.createIndex = void 0;
var _is = require("../../../utils/is.js");
var _factory = require("../../../utils/factory.js");
var _is = require("../../../utils/is.js");
var name = 'index';

@@ -29,3 +29,3 @@ var dependencies = ['typed', 'Index'];

* - An instance of `Range`
* - A one-dimensional Array or a Matrix with numbers
* - A one-dimensional Array or a Matrix with numbers or booleans
*

@@ -37,6 +37,8 @@ * Indexes must be zero-based, integer numbers.

* const b = [1, 2, 3, 4, 5]
* math.subset(b, math.index([1, 2, 3])) // returns [2, 3, 4]
* math.subset(b, math.index([1, 2, 3])) // returns [2, 3, 4]
* math.subset(b, math.index([false, true, true, true, false])) // returns [2, 3, 4]
*
* const a = math.matrix([[1, 2], [3, 4]])
* a.subset(math.index(0, 1)) // returns 2
* a.subset(math.index(0, [false, true])) // returns 2
*

@@ -55,3 +57,3 @@ * See also:

return arg.toNumber(); // convert BigNumber to Number
} else if (Array.isArray(arg) || (0, _is.isMatrix)(arg)) {
} else if ((0, _is.isArray)(arg) || (0, _is.isMatrix)(arg)) {
return arg.map(function (elem) {

@@ -58,0 +60,0 @@ // convert BigNumber to Number

@@ -12,5 +12,6 @@ "use strict";

var name = 'Index';
var dependencies = ['ImmutableDenseMatrix'];
var dependencies = ['ImmutableDenseMatrix', 'getMatrixDataType'];
var createIndexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
var ImmutableDenseMatrix = _ref.ImmutableDenseMatrix;
var ImmutableDenseMatrix = _ref.ImmutableDenseMatrix,
getMatrixDataType = _ref.getMatrixDataType;
/**

@@ -28,3 +29,5 @@ * Create an index. An Index can store ranges and sets for multiple dimensions.

* An Array with the Set values
* An Array with Booleans
* A Matrix with the Set values
* A Matrix with Booleans
*

@@ -42,11 +45,22 @@ * The parameters start, end, and step must be integer numbers.

this._dimensions = [];
this._sourceSize = [];
this._isScalar = true;
for (var i = 0, ii = arguments.length; i < ii; i++) {
var arg = arguments[i];
var argIsArray = (0, _is.isArray)(arg);
var argIsMatrix = (0, _is.isMatrix)(arg);
var sourceSize = null;
if ((0, _is.isRange)(arg)) {
this._dimensions.push(arg);
this._isScalar = false;
} else if (Array.isArray(arg) || (0, _is.isMatrix)(arg)) {
} else if (argIsArray || argIsMatrix) {
// create matrix
var m = _createImmutableMatrix(arg.valueOf());
var m = void 0;
if (getMatrixDataType(arg) === 'boolean') {
if (argIsArray) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg).valueOf());
if (argIsMatrix) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg._data).valueOf());
sourceSize = arg.valueOf().length;
} else {
m = _createImmutableMatrix(arg.valueOf());
}
this._dimensions.push(m);

@@ -56,3 +70,3 @@ // size

// scalar
if (size.length !== 1 || size[0] !== 1) {
if (size.length !== 1 || size[0] !== 1 || sourceSize !== null) {
this._isScalar = false;

@@ -68,2 +82,3 @@ }

}
this._sourceSize.push(sourceSize);
// TODO: implement support for wildcard '*'

@@ -98,2 +113,3 @@ }

index._isScalar = this._isScalar;
index._sourceSize = this._sourceSize;
return index;

@@ -277,2 +293,18 @@ };

});
exports.createIndexClass = createIndexClass;
/**
* Receives an array of booleans and returns an array of Numbers for Index
* @param {Array} booleanArrayIndex An array of booleans
* @return {Array} A set of numbers ready for index
*/
exports.createIndexClass = createIndexClass;
function _booleansArrayToNumbersForIndex(booleanArrayIndex) {
// gets an array of booleans and returns an array of numbers
var indexOfNumbers = [];
booleanArrayIndex.forEach(function (bool, idx) {
if (bool) {
indexOfNumbers.push(idx);
}
});
return indexOfNumbers;
}

@@ -9,2 +9,3 @@ "use strict";

var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _array = require("../../../utils/array.js");
var _factory = require("../../../utils/factory.js");

@@ -44,6 +45,4 @@ var name = 'broadcast';

// check if the broadcasting rules applyes for both matrices
for (var _dim = 0; _dim < N; _dim++) {
_checkRules(sizeA, sizeMax, _dim);
_checkRules(sizeB, sizeMax, _dim);
}
(0, _array.checkBroadcastingRules)(sizeA, sizeMax);
(0, _array.checkBroadcastingRules)(sizeB, sizeMax);

@@ -60,8 +59,8 @@ // reshape A or B if needed to make them ready for concat

// stretches the matrices on each dimension to make them the same size
for (var _dim2 = 0; _dim2 < N; _dim2++) {
if (AA._size[_dim2] < sizeMax[_dim2]) {
AA = _stretch(AA, sizeMax[_dim2], _dim2);
for (var _dim = 0; _dim < N; _dim++) {
if (AA._size[_dim] < sizeMax[_dim]) {
AA = _stretch(AA, sizeMax[_dim], _dim);
}
if (BB._size[_dim2] < sizeMax[_dim2]) {
BB = _stretch(BB, sizeMax[_dim2], _dim2);
if (BB._size[_dim] < sizeMax[_dim]) {
BB = _stretch(BB, sizeMax[_dim], _dim);
}

@@ -81,8 +80,3 @@ }

}
function _checkRules(shape, sizeMax, dim) {
if (shape[dim] < sizeMax[dim] & shape[dim] > 1) {
throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(shape, ") not possible to broadcast dimension ").concat(dim, " with size ").concat(shape[dim], " to size ").concat(sizeMax[dim]));
}
}
});
exports.createBroadcast = createBroadcast;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {

@@ -7,2 +8,8 @@ value: true

exports.arraySize = arraySize;
exports.broadcastArrays = broadcastArrays;
exports.broadcastSizes = broadcastSizes;
exports.broadcastTo = broadcastTo;
exports.checkBroadcastingRules = checkBroadcastingRules;
exports.clone = clone;
exports.concat = concat;
exports.contains = contains;

@@ -17,2 +24,3 @@ exports.filter = filter;

exports.initial = initial;
exports.isEmptyIndex = isEmptyIndex;
exports.join = join;

@@ -25,5 +33,9 @@ exports.last = last;

exports.squeeze = squeeze;
exports.stretch = stretch;
exports.unsqueeze = unsqueeze;
exports.validate = validate;
exports.validateIndex = validateIndex;
exports.validateIndexSourceSize = validateIndexSourceSize;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _number = require("./number.js");

@@ -34,2 +46,3 @@ var _is = require("./is.js");

var _IndexError = require("../error/IndexError.js");
var _object = require("./object.js");
/**

@@ -107,2 +120,19 @@ * Calculate the size of a multi dimensional array.

/**
* Validate whether the source of the index matches the size of the Array
* @param {Array | Matrix} array Array to be validated
* @param {Index} index Index with the source information to validate
* @throws DimensionError
*/
function validateIndexSourceSize(value, index) {
var valueSize = value.isMatrix ? value._size : arraySize(value);
var sourceSize = index._sourceSize;
// checks if the source size is not null and matches the valueSize
sourceSize.forEach(function (sourceDim, i) {
if (sourceDim !== null && sourceDim !== valueSize[i]) {
throw new _DimensionError.DimensionError(sourceDim, valueSize[i]);
}
});
}
/**
* Test whether index is an integer number with index >= 0 and index < length

@@ -114,8 +144,34 @@ * when length is provided

function validateIndex(index, length) {
if (!(0, _is.isNumber)(index) || !(0, _number.isInteger)(index)) {
throw new TypeError('Index must be an integer (value: ' + index + ')');
if (index !== undefined) {
if (!(0, _is.isNumber)(index) || !(0, _number.isInteger)(index)) {
throw new TypeError('Index must be an integer (value: ' + index + ')');
}
if (index < 0 || typeof length === 'number' && index >= length) {
throw new _IndexError.IndexError(index, length);
}
}
if (index < 0 || typeof length === 'number' && index >= length) {
throw new _IndexError.IndexError(index, length);
}
/**
* Test if and index has empty values
* @param {number} index Zero-based index
*/
function isEmptyIndex(index) {
for (var i = 0; i < index._dimensions.length; ++i) {
var dimension = index._dimensions[i];
if (dimension._data && (0, _is.isArray)(dimension._data)) {
if (dimension._size[0] === 0) {
return true;
}
} else if (dimension.isRange) {
if (dimension.start === dimension.end) {
return true;
}
} else if ((0, _is.isString)(dimension)) {
if (dimension.length === 0) {
return true;
}
}
}
return false;
}

@@ -125,4 +181,4 @@

* Resize a multi dimensional array. The resized array is returned.
* @param {Array} array Array to be resized
* @param {Array.<number>} size Array with the size of each dimension
* @param {Array | number} array Array to be resized
* @param {number[]} size Array with the size of each dimension
* @param {*} [defaultValue=0] Value to be filled in in new entries,

@@ -135,6 +191,4 @@ * zero by default. Specify for example `null`,

function resize(array, size, defaultValue) {
// TODO: add support for scalars, having size=[] ?
// check the type of the arguments
if (!Array.isArray(array) || !Array.isArray(size)) {
if (!Array.isArray(size)) {
throw new TypeError('Array expected');

@@ -153,2 +207,7 @@ }

// convert number to an array
if ((0, _is.isNumber)(array) || (0, _is.isBigNumber)(array)) {
array = [array];
}
// recursively resize the array

@@ -222,3 +281,3 @@ var _defaultValue = defaultValue !== undefined ? defaultValue : 0;

* @param {Array} array Array to be reshaped
* @param {Array.<number>} sizes List of sizes for each dimension
* @param {number[]} sizes List of sizes for each dimension
* @returns {Array} Array whose data has been formatted to fit the

@@ -256,6 +315,6 @@ * specified dimensions

* Replaces the wildcard -1 in the sizes array.
* @param {Array.<number>} sizes List of sizes for each dimension. At most on wildcard.
* @param {number[]} sizes List of sizes for each dimension. At most on wildcard.
* @param {number} currentLength Number of elements in the array.
* @throws {Error} If more than one wildcard or unable to replace it.
* @returns {Array.<number>} The sizes array with wildcard replaced.
* @returns {number[]} The sizes array with wildcard replaced.
*/

@@ -285,3 +344,3 @@ function processSizesWildcard(sizes, currentLength) {

* Computes the product of all array elements.
* @param {Array<number>} array Array of factors
* @param {number[]} array Array of factors
* @returns {number} Product of all elements

@@ -298,3 +357,3 @@ */

* @param {Array} array Array to be reshaped
* @param {Array.<number>} sizes List of sizes for each dimension
* @param {number[]} sizes List of sizes for each dimension
* @returns {Array} Array whose data has been formatted to fit the

@@ -572,6 +631,6 @@ * specified dimensions

var item = array[i];
var isArray = Array.isArray(item);
var _isArray = Array.isArray(item);
// Saving the target matrix row size
if (i === 0 && isArray) {
if (i === 0 && _isArray) {
length = item.length;

@@ -581,6 +640,6 @@ }

// If the current item is an array but the length does not equal the targetVectorSize
if (isArray && item.length !== length) {
if (_isArray && item.length !== length) {
return undefined;
}
var itemType = isArray ? getArrayDataType(item, typeOf) // recurse into a nested array
var itemType = _isArray ? getArrayDataType(item, typeOf) // recurse into a nested array
: typeOf(item);

@@ -600,3 +659,3 @@ if (type === undefined) {

* Return the last item from an array
* @param array
* @param {array}
* @returns {*}

@@ -610,2 +669,4 @@ */

* Get all but the last element of array.
* @param {array}
* @returns {*}
*/

@@ -624,2 +685,175 @@ function initial(array) {

return array.indexOf(item) !== -1;
}
/**
* Recursively concatenate two matrices.
* The contents of the matrices is not cloned.
* @param {Array} a Multi dimensional array
* @param {Array} b Multi dimensional array
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @param {number} dim The current dim (zero-based)
* @return {Array} c The concatenated matrix
* @private
*/
function concatRecursive(a, b, concatDim, dim) {
if (dim < concatDim) {
// recurse into next dimension
if (a.length !== b.length) {
throw new _DimensionError.DimensionError(a.length, b.length);
}
var c = [];
for (var i = 0; i < a.length; i++) {
c[i] = concatRecursive(a[i], b[i], concatDim, dim + 1);
}
return c;
} else {
// concatenate this dimension
return a.concat(b);
}
}
/**
* Concatenates many arrays in the specified direction
* @param {...Array} arrays All the arrays to concatenate
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @returns
*/
function concat() {
var arrays = Array.prototype.slice.call(arguments, 0, -1);
var concatDim = Array.prototype.slice.call(arguments, -1);
if (arrays.length === 1) {
return arrays[0];
}
if (arrays.length > 1) {
return arrays.slice(1).reduce(function (A, B) {
return concatRecursive(A, B, concatDim, 0);
}, arrays[0]);
} else {
throw new Error('Wrong number of arguments in function concat');
}
}
/**
* Receives two or more sizes and get's the broadcasted size for both.
* @param {...number[]} sizes Sizes to broadcast together
* @returns
*/
function broadcastSizes() {
for (var _len = arguments.length, sizes = new Array(_len), _key = 0; _key < _len; _key++) {
sizes[_key] = arguments[_key];
}
var dimensions = sizes.map(function (s) {
return s.length;
});
var N = Math.max.apply(Math, (0, _toConsumableArray2["default"])(dimensions));
var sizeMax = new Array(N).fill(null);
// check for every size
for (var i = 0; i < sizes.length; i++) {
var size = sizes[i];
var dim = dimensions[i];
for (var j = 0; j < dim; j++) {
var n = N - dim + j;
if (size[j] > sizeMax[n]) {
sizeMax[n] = size[j];
}
}
}
for (var _i = 0; _i < sizes.length; _i++) {
checkBroadcastingRules(sizes[_i], sizeMax);
}
return sizeMax;
}
/**
* Checks if it's possible to broadcast a size to another size
* @param {number[]} size The size of the array to check
* @param {number[]} toSize The size of the array to validate if it can be broadcasted to
*/
function checkBroadcastingRules(size, toSize) {
var N = toSize.length;
var dim = size.length;
for (var j = 0; j < dim; j++) {
var n = N - dim + j;
if (size[j] < toSize[n] && size[j] > 1 || size[j] > toSize[n]) {
throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(size, ") not possible to broadcast dimension ").concat(dim, " with size ").concat(size[j], " to size ").concat(toSize[n]));
}
}
}
/**
* Broadcasts a single array to a certain size
* @param {array} array Array to be broadcasted
* @param {number[]} toSize Size to broadcast the array
* @returns The broadcasted array
*/
function broadcastTo(array, toSize) {
var Asize = arraySize(array);
if ((0, _object.deepStrictEqual)(Asize, toSize)) {
return array;
}
checkBroadcastingRules(Asize, toSize);
var broadcastedSize = broadcastSizes(Asize, toSize);
var N = broadcastedSize.length;
var paddedSize = [].concat((0, _toConsumableArray2["default"])(Array(N - Asize.length).fill(1)), (0, _toConsumableArray2["default"])(Asize));
var A = clone(array);
// reshape A if needed to make it ready for concat
if (Asize.length < N) {
A = reshape(A, paddedSize);
Asize = arraySize(A);
}
// stretches the array on each dimension to make it the same size as index
for (var dim = 0; dim < N; dim++) {
if (Asize[dim] < broadcastedSize[dim]) {
A = stretch(A, broadcastedSize[dim], dim);
Asize = arraySize(A);
}
}
return A;
}
/**
* Broadcasts arrays and returns the broadcasted arrays in an array
* @param {...Array | any} arrays
* @returns
*/
function broadcastArrays() {
for (var _len2 = arguments.length, arrays = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
arrays[_key2] = arguments[_key2];
}
if (arrays.length === 0) {
throw new Error('Insuficient number of argumnets in function broadcastArrays');
}
if (arrays.length === 1) {
return arrays[0];
}
var sizes = arrays.map(function (array) {
return arraySize(array);
});
var broadcastedSize = broadcastSizes.apply(void 0, (0, _toConsumableArray2["default"])(sizes));
var broadcastedArrays = [];
arrays.forEach(function (array) {
broadcastedArrays.push(broadcastTo(array, broadcastedSize));
});
return broadcastedArrays;
}
/**
* stretches a matrix up to a certain size in a certain dimension
* @param {Array} arrayToStretch
* @param {number[]} sizeToStretch
* @param {number} dimToStretch
* @returns
*/
function stretch(arrayToStretch, sizeToStretch, dimToStretch) {
return concat.apply(void 0, (0, _toConsumableArray2["default"])(Array(sizeToStretch).fill(arrayToStretch)).concat([dimToStretch]));
}
/**
* Deep clones a multidimensional array
* @param {Array} array
* @returns cloned array
*/
function clone(array) {
return (0, _extends2["default"])([], array);
}

@@ -7,5 +7,5 @@ "use strict";

exports.version = void 0;
var version = '11.9.1';
var version = '11.10.0';
// Note: This file is automatically generated when building math.js.
// Changes made in this file will be overwritten.
exports.version = version;

@@ -252,2 +252,3 @@ /**

export { quantileSeqDependencies } from './dependenciesAny/dependenciesQuantileSeq.generated.js';
export { quantileSeqTransformDependencies } from './dependenciesAny/dependenciesQuantileSeqTransform.generated.js';
export { quantumOfCirculationDependencies } from './dependenciesAny/dependenciesQuantumOfCirculation.generated.js';

@@ -357,3 +358,4 @@ export { randomDependencies } from './dependenciesAny/dependenciesRandom.generated.js';

export { zerosDependencies } from './dependenciesAny/dependenciesZeros.generated.js';
export { zetaDependencies } from './dependenciesAny/dependenciesZeta.generated.js';
export { zpk2tfDependencies } from './dependenciesAny/dependenciesZpk2tf.generated.js';
export { all } from './allFactoriesAny.js';

@@ -6,6 +6,8 @@ /**

import { ImmutableDenseMatrixDependencies } from './dependenciesImmutableDenseMatrixClass.generated.js';
import { getMatrixDataTypeDependencies } from './dependenciesGetMatrixDataType.generated.js';
import { createIndexClass } from '../../factoriesAny.js';
export var IndexDependencies = {
ImmutableDenseMatrixDependencies,
getMatrixDataTypeDependencies,
createIndexClass
};

@@ -6,6 +6,8 @@ /**

import { IndexDependencies } from './dependenciesIndexClass.generated.js';
import { getMatrixDataTypeDependencies } from './dependenciesGetMatrixDataType.generated.js';
import { createIndexTransform } from '../../factoriesAny.js';
export var indexTransformDependencies = {
IndexDependencies,
getMatrixDataTypeDependencies,
createIndexTransform
};

@@ -7,2 +7,3 @@ /**

import { compareDependencies } from './dependenciesCompare.generated.js';
import { isIntegerDependencies } from './dependenciesIsInteger.generated.js';
import { multiplyDependencies } from './dependenciesMultiply.generated.js';

@@ -15,2 +16,3 @@ import { partitionSelectDependencies } from './dependenciesPartitionSelect.generated.js';

compareDependencies,
isIntegerDependencies,
multiplyDependencies,

@@ -17,0 +19,0 @@ partitionSelectDependencies,

@@ -5,9 +5,13 @@ /**

*/
import { addDependencies } from './dependenciesAdd.generated.js';
import { matrixDependencies } from './dependenciesMatrix.generated.js';
import { typedDependencies } from './dependenciesTyped.generated.js';
import { zerosDependencies } from './dependenciesZeros.generated.js';
import { createSubset } from '../../factoriesAny.js';
export var subsetDependencies = {
addDependencies,
matrixDependencies,
typedDependencies,
zerosDependencies,
createSubset
};

@@ -5,9 +5,13 @@ /**

*/
import { addDependencies } from './dependenciesAdd.generated.js';
import { matrixDependencies } from './dependenciesMatrix.generated.js';
import { typedDependencies } from './dependenciesTyped.generated.js';
import { zerosDependencies } from './dependenciesZeros.generated.js';
import { createSubsetTransform } from '../../factoriesAny.js';
export var subsetTransformDependencies = {
addDependencies,
matrixDependencies,
typedDependencies,
zerosDependencies,
createSubsetTransform
};

@@ -206,2 +206,3 @@ /**

export { xorDependencies } from './dependenciesNumber/dependenciesXor.generated.js';
export { zetaDependencies } from './dependenciesNumber/dependenciesZeta.generated.js';
export { all } from './allFactoriesNumber.js';

@@ -7,2 +7,3 @@ /**

import { compareDependencies } from './dependenciesCompare.generated.js';
import { isIntegerDependencies } from './dependenciesIsInteger.generated.js';
import { multiplyDependencies } from './dependenciesMultiply.generated.js';

@@ -15,2 +16,3 @@ import { partitionSelectDependencies } from './dependenciesPartitionSelect.generated.js';

compareDependencies,
isIntegerDependencies,
multiplyDependencies,

@@ -17,0 +19,0 @@ partitionSelectDependencies,

@@ -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, createIndexNode, createAssignmentNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createHelpClass, createLeafCount, createSimplifyCore, createEvaluate, createHelp, createParserClass, createSimplify, createSymbolicEqual, createDerivative, createParser, createRationalize, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createSubsetTransform, createConcatTransform, createMaxTransform, createSumTransform, createMinTransform, createCumSumTransform, createDiffTransform, createIndexTransform, createRangeTransform, createRowTransform, createColumnTransform, createMeanTransform, 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, createHelpClass, createLeafCount, createSimplifyCore, createEvaluate, createHelp, createParserClass, createSimplify, createSymbolicEqual, createDerivative, createParser, createRationalize, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createConcatTransform, createMaxTransform, createQuantileSeqTransform, createDiffTransform, createMinTransform, createSubsetTransform, createCumSumTransform, createIndexTransform, createSumTransform, createRangeTransform, createRowTransform, createColumnTransform, createMeanTransform, 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, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, bitNot, boolean, clone, combinations, complex, conj, cosh, coth, csc, cube, equalScalar, erf, exp, expm1, filter, 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, tan, typeOf, acosh, acsch, apply, asec, bin, combinationsWithRep, cos, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, cot, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, squeeze, subset, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, flatten, gcd, hasNumericValue, identity, kron, largerEq, leftShift, matrixFromColumns, mod, nthRoot, ones, resize, rightArithShift, round, smaller, to, unequal, xor, add, bitAnd, bitXor, catalan, compare, compareText, cumsum, deepEqual, dot, equalText, floor, hypot, ImmutableDenseMatrix, Index, invmod, larger, log, matrixFromRows, min, multiply, nthRoots, or, partitionSelect, quantileSeq, rightLogShift, smallerEq, subtract, trace, usolve, zpk2tf, and, bitOr, ceil, compareNatural, composition, cross, det, diff, distance, dotMultiply, FibonacciHeap, fix, index, intersect, lcm, log1p, lsolve, max, qr, range, row, setCartesian, setDistinct, setIsSubset, setPowerset, slu, sort, sum, usolveAll, atan2, column, lsolveAll, setDifference, setMultiplicity, setSymDifference, Spa, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulomb, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, mean, molarVolume, planckConstant, quantumOfCirculation, variance, classicalElectronRadius, median, kldivergence, mad, std, freqz, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, bitNot, boolean, clone, combinations, complex, conj, cosh, coth, csc, cube, equalScalar, erf, exp, expm1, filter, 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, tan, typeOf, acosh, acsch, apply, asec, bin, combinationsWithRep, cos, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, cot, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, squeeze, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, flatten, gcd, hasNumericValue, identity, kron, largerEq, leftShift, matrixFromColumns, mod, nthRoot, ones, resize, rightArithShift, round, smaller, subtract, to, unequal, usolve, xor, add, atan2, bitAnd, bitXor, catalan, compare, compareText, cumsum, deepEqual, diff, distance, dot, equalText, floor, hypot, ImmutableDenseMatrix, Index, invmod, larger, log, lsolve, matrixFromRows, min, multiply, nthRoots, or, partitionSelect, qr, rightLogShift, slu, subset, sum, trace, usolveAll, zpk2tf, bitOr, ceil, compareNatural, composition, cross, det, dotMultiply, FibonacciHeap, fix, index, intersect, lcm, log1p, lsolveAll, max, quantileSeq, setCartesian, setDistinct, setIsSubset, setPowerset, smallerEq, sort, and, range, row, setDifference, setMultiplicity, setSymDifference, Spa, column, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulomb, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, mean, molarVolume, planckConstant, quantumOfCirculation, variance, classicalElectronRadius, median, kldivergence, mad, std, zeta, freqz, 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({

@@ -67,6 +71,2 @@ Node,

});
export var IndexNode = createIndexNode({
Node,
size
});
export var AssignmentNode = createAssignmentNode({

@@ -367,3 +367,2 @@ matrix,

squeeze,
subset,
transpose,

@@ -396,6 +395,9 @@ xgcd,

smaller,
subtract,
to,
unequal,
usolve,
xor,
add,
atan2,
bitAnd,

@@ -408,2 +410,4 @@ bitXor,

deepEqual,
diff,
distance,
dot,

@@ -416,2 +420,3 @@ equalText,

log,
lsolve,
matrixFromRows,

@@ -423,10 +428,10 @@ min,

partitionSelect,
quantileSeq,
qr,
rightLogShift,
smallerEq,
subtract,
slu,
subset,
sum,
trace,
usolve,
usolveAll,
zpk2tf,
and,
bitOr,

@@ -438,4 +443,2 @@ ceil,

det,
diff,
distance,
dotMultiply,

@@ -447,7 +450,5 @@ fix,

log1p,
lsolve,
lsolveAll,
max,
qr,
range,
row,
quantileSeq,
setCartesian,

@@ -457,12 +458,11 @@ setDistinct,

setPowerset,
slu,
smallerEq,
sort,
sum,
usolveAll,
atan2,
column,
lsolveAll,
and,
range,
row,
setDifference,
setMultiplicity,
setSymDifference,
column,
inv,

@@ -557,2 +557,3 @@ lup,

std,
zeta,
freqz,

@@ -582,6 +583,2 @@ norm,

}),
subset: createSubsetTransform({
matrix,
typed
}),
concat: createConcatTransform({

@@ -598,8 +595,17 @@ isInteger,

}),
sum: createSumTransform({
quantileSeq: createQuantileSeqTransform({
add,
config,
numeric,
compare,
isInteger,
multiply,
partitionSelect,
typed
}),
diff: createDiffTransform({
bignumber,
matrix,
number,
subtract,
typed
}),
min: createMinTransform({

@@ -611,2 +617,8 @@ config,

}),
subset: createSubsetTransform({
add,
matrix,
typed,
zeros
}),
cumsum: createCumSumTransform({

@@ -617,12 +629,12 @@ add,

}),
diff: createDiffTransform({
bignumber,
matrix,
number,
subtract,
index: createIndexTransform({
Index,
getMatrixDataType
}),
sum: createSumTransform({
add,
config,
numeric,
typed
}),
index: createIndexTransform({
Index
}),
range: createRangeTransform({

@@ -694,7 +706,7 @@ bignumber,

SparseMatrix,
AccessorNode,
IndexNode,
AssignmentNode,
ImmutableDenseMatrix,
Index,
AccessorNode,
AssignmentNode,
FibonacciHeap,

@@ -701,0 +713,0 @@ Spa,

@@ -10,3 +10,3 @@ import _extends from "@babel/runtime/helpers/extends";

// eslint-disable-line camelcase
subset, tau, typed, unaryPlus, version, xor, abs, acos, acot, acsc, add, and, asec, asin, atan, atanh, bitAnd, bitOr, boolean, cbrt, combinations, compare, compareText, cos, cot, csc, cube, divide, equalScalar, erf, exp, filter, forEach, format, gamma, isInteger, isNegative, isPositive, isZero, LOG2E, largerEq, leftShift, log, log1p, map, mean, mod, multiply, not, number, or, pi, pow, random, rightLogShift, SQRT2, sech, sin, size, smallerEq, square, string, subtract, tanh, typeOf, unequal, xgcd, acoth, addScalar, asech, bitNot, combinationsWithRep, cosh, csch, divideScalar, equalText, expm1, isNumeric, LN2, lcm, log10, multiplyScalar, nthRoot, pickRandom, randomInt, rightArithShift, sec, sinh, sqrt, tan, unaryMinus, acosh, apply, asinh, bitXor, clone, cumsum, equal, factorial, hasNumericValue, isNaN, larger, log2, mode, norm, partitionSelect, print, quantileSeq, round, smaller, stirlingS2, _true, variance, acsch, atan2, catalan, compareNatural, composition, deepEqual, floor, hypot, lgamma, median, multinomial, permutations, range, sign, std, ceil, coth, fix, isPrime, numeric, prod, bellNumbers, gcd, mad, sum, max, min } from './pureFunctionsNumber.generated.js';
subset, tau, typed, unaryPlus, version, xor, abs, acos, acot, acsc, add, and, asec, asin, atan, atanh, bitAnd, bitOr, boolean, cbrt, combinations, compare, compareText, cos, cot, csc, cube, divide, equalScalar, erf, exp, filter, forEach, format, gamma, isInteger, isNegative, isPositive, isZero, LOG2E, largerEq, leftShift, log, log1p, map, mean, mod, multiply, not, number, or, pi, pow, random, rightLogShift, SQRT2, sech, sin, size, smallerEq, square, string, subtract, tanh, typeOf, unequal, xgcd, acoth, addScalar, asech, bitNot, combinationsWithRep, cosh, csch, divideScalar, equalText, expm1, isNumeric, LN2, lcm, log10, multiplyScalar, nthRoot, pickRandom, randomInt, rightArithShift, sec, sinh, sqrt, tan, unaryMinus, acosh, apply, asinh, bitXor, clone, cumsum, equal, factorial, hasNumericValue, isNaN, larger, log2, mode, norm, partitionSelect, print, quantileSeq, round, smaller, stirlingS2, _true, variance, zeta, acsch, atan2, catalan, compareNatural, composition, deepEqual, floor, hypot, lgamma, median, multinomial, permutations, range, sign, std, ceil, coth, fix, isPrime, numeric, prod, bellNumbers, gcd, mad, sum, max, min } from './pureFunctionsNumber.generated.js';
var math = {}; // NOT pure!

@@ -364,2 +364,3 @@ var mathWithTransform = {}; // NOT pure!

variance,
zeta,
acsch,

@@ -366,0 +367,0 @@ atan2,

@@ -8,3 +8,3 @@ /**

// eslint-disable-line camelcase
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createSubset, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createGcd, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createMatrixFromColumns, createMod, createNthRoot, createOnes, createResize, createRightArithShift, createRound, createSmaller, createTo, createUnequal, createXor, createAdd, createBitAnd, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDot, createEqualText, createFloor, createHypot, createImmutableDenseMatrixClass, createIndexClass, createInvmod, createLarger, createLog, createMatrixFromRows, createMin, createMultiply, createNthRoots, createOr, createPartitionSelect, createQuantileSeq, createRightLogShift, createSmallerEq, createSubtract, createTrace, createUsolve, createZpk2tf, createAnd, createBitOr, createCeil, createCompareNatural, createComposition, createCross, createDet, createDiff, createDistance, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createLcm, createLog1p, createLsolve, createMax, createQr, createRange, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSlu, createSort, createSum, createUsolveAll, createAtan2, createColumn, createLsolveAll, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createMean, createMolarVolume, createPlanckConstant, createQuantumOfCirculation, createVariance, createClassicalElectronRadius, createMedian, createKldivergence, createMad, createStd, createFreqz, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createGcd, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createMatrixFromColumns, createMod, createNthRoot, createOnes, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createHypot, createImmutableDenseMatrixClass, createIndexClass, createInvmod, createLarger, createLog, createLsolve, createMatrixFromRows, createMin, createMultiply, createNthRoots, createOr, createPartitionSelect, createQr, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createBitOr, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createLcm, createLog1p, createLsolveAll, createMax, createQuantileSeq, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createMean, createMolarVolume, createPlanckConstant, createQuantumOfCirculation, createVariance, createClassicalElectronRadius, createMedian, createKldivergence, createMad, createStd, createZeta, createFreqz, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
export var BigNumber = /* #__PURE__ */createBigNumberClass({

@@ -427,6 +427,2 @@ config

});
export var subset = /* #__PURE__ */createSubset({
matrix,
typed
});
export var transpose = /* #__PURE__ */createTranspose({

@@ -600,2 +596,11 @@ matrix,

});
export var subtract = /* #__PURE__ */createSubtract({
DenseMatrix,
addScalar,
concat,
equalScalar,
matrix,
typed,
unaryMinus
});
export var to = /* #__PURE__ */createTo({

@@ -614,2 +619,11 @@ concat,

});
export var usolve = /* #__PURE__ */createUsolve({
DenseMatrix,
divideScalar,
equalScalar,
matrix,
multiplyScalar,
subtract,
typed
});
export var xor = /* #__PURE__ */createXor({

@@ -630,2 +644,10 @@ DenseMatrix,

});
export var atan2 = /* #__PURE__ */createAtan2({
BigNumber,
DenseMatrix,
concat,
equalScalar,
matrix,
typed
});
export var bitAnd = /* #__PURE__ */createBitAnd({

@@ -676,2 +698,18 @@ concat,

});
export var diff = /* #__PURE__ */createDiff({
matrix,
number,
subtract,
typed
});
export var distance = /* #__PURE__ */createDistance({
abs,
addScalar,
deepEqual,
divideScalar,
multiplyScalar,
sqrt,
subtract,
typed
});
export var dot = /* #__PURE__ */createDot({

@@ -713,3 +751,4 @@ addScalar,

export var Index = /* #__PURE__ */createIndexClass({
ImmutableDenseMatrix
ImmutableDenseMatrix,
getMatrixDataType
});

@@ -740,2 +779,11 @@ export var invmod = /* #__PURE__ */createInvmod({

});
export var lsolve = /* #__PURE__ */createLsolve({
DenseMatrix,
divideScalar,
equalScalar,
matrix,
multiplyScalar,
subtract,
typed
});
export var matrixFromRows = /* #__PURE__ */createMatrixFromRows({

@@ -780,8 +828,18 @@ flatten,

});
export var quantileSeq = /* #__PURE__ */createQuantileSeq({
add,
compare,
multiply,
partitionSelect,
typed
export var qr = /* #__PURE__ */createQr({
addScalar,
complex,
conj,
divideScalar,
equal,
identity,
isZero,
matrix,
multiplyScalar,
sign,
sqrt,
subtract,
typed,
unaryMinus,
zeros
});

@@ -796,18 +854,26 @@ export var rightLogShift = /* #__PURE__ */createRightLogShift({

});
export var smallerEq = /* #__PURE__ */createSmallerEq({
DenseMatrix,
concat,
config,
matrix,
export var slu = /* #__PURE__ */createSlu({
SparseMatrix,
abs,
add,
divideScalar,
larger,
largerEq,
multiply,
subtract,
transpose,
typed
});
export var subtract = /* #__PURE__ */createSubtract({
DenseMatrix,
addScalar,
concat,
equalScalar,
export var subset = /* #__PURE__ */createSubset({
add,
matrix,
typed,
unaryMinus
zeros
});
export var sum = /* #__PURE__ */createSum({
add,
config,
numeric,
typed
});
export var trace = /* #__PURE__ */createTrace({

@@ -818,3 +884,3 @@ add,

});
export var usolve = /* #__PURE__ */createUsolve({
export var usolveAll = /* #__PURE__ */createUsolveAll({
DenseMatrix,

@@ -835,10 +901,2 @@ divideScalar,

});
export var and = /* #__PURE__ */createAnd({
concat,
equalScalar,
matrix,
not,
typed,
zeros
});
export var bitOr = /* #__PURE__ */createBitOr({

@@ -888,18 +946,2 @@ DenseMatrix,

});
export var diff = /* #__PURE__ */createDiff({
matrix,
number,
subtract,
typed
});
export var distance = /* #__PURE__ */createDistance({
abs,
addScalar,
deepEqual,
divideScalar,
multiplyScalar,
sqrt,
subtract,
typed
});
export var dotMultiply = /* #__PURE__ */createDotMultiply({

@@ -960,3 +1002,3 @@ concat,

});
export var lsolve = /* #__PURE__ */createLsolve({
export var lsolveAll = /* #__PURE__ */createLsolveAll({
DenseMatrix,

@@ -976,37 +1018,10 @@ divideScalar,

});
export var qr = /* #__PURE__ */createQr({
addScalar,
complex,
conj,
divideScalar,
equal,
identity,
isZero,
matrix,
multiplyScalar,
sign,
sqrt,
subtract,
typed,
unaryMinus,
zeros
});
export var range = /* #__PURE__ */createRange({
bignumber,
matrix,
export var quantileSeq = /* #__PURE__ */createQuantileSeq({
add,
config,
isPositive,
larger,
largerEq,
smaller,
smallerEq,
compare,
isInteger,
multiply,
partitionSelect,
typed
});
export var row = /* #__PURE__ */createRow({
Index,
matrix,
range,
typed
});
export var setCartesian = /* #__PURE__ */createSetCartesian({

@@ -1042,12 +1057,7 @@ DenseMatrix,

});
export var slu = /* #__PURE__ */createSlu({
SparseMatrix,
abs,
add,
divideScalar,
larger,
largerEq,
multiply,
subtract,
transpose,
export var smallerEq = /* #__PURE__ */createSmallerEq({
DenseMatrix,
concat,
config,
matrix,
typed

@@ -1061,26 +1071,23 @@ });

});
export var sum = /* #__PURE__ */createSum({
add,
config,
numeric,
typed
});
export var usolveAll = /* #__PURE__ */createUsolveAll({
DenseMatrix,
divideScalar,
export var and = /* #__PURE__ */createAnd({
concat,
equalScalar,
matrix,
multiplyScalar,
subtract,
typed
not,
typed,
zeros
});
export var atan2 = /* #__PURE__ */createAtan2({
BigNumber,
DenseMatrix,
concat,
equalScalar,
export var range = /* #__PURE__ */createRange({
bignumber,
matrix,
add,
config,
isPositive,
larger,
largerEq,
smaller,
smallerEq,
typed
});
export var column = /* #__PURE__ */createColumn({
export var row = /* #__PURE__ */createRow({
Index,

@@ -1091,11 +1098,2 @@ matrix,

});
export var lsolveAll = /* #__PURE__ */createLsolveAll({
DenseMatrix,
divideScalar,
equalScalar,
matrix,
multiplyScalar,
subtract,
typed
});
export var setDifference = /* #__PURE__ */createSetDifference({

@@ -1129,2 +1127,8 @@ DenseMatrix,

});
export var column = /* #__PURE__ */createColumn({
Index,
matrix,
range,
typed
});
export var inv = /* #__PURE__ */createInv({

@@ -1677,2 +1681,20 @@ abs,

});
export var zeta = /* #__PURE__ */createZeta({
BigNumber,
Complex,
add,
config,
divide,
equal,
factorial,
gamma,
isNegative,
multiply,
pi,
pow,
sin,
smallerEq,
subtract,
typed
});
export var freqz = /* #__PURE__ */createFreqz({

@@ -1679,0 +1701,0 @@ Complex,

@@ -8,3 +8,3 @@ /**

// eslint-disable-line camelcase
createSubset, createTau, createTyped, createUnaryPlus, createVersion, createXor, createAbs, createAcos, createAcot, createAcsc, createAdd, createAnd, createAsec, createAsin, createAtan, createAtanh, createBitAnd, createBitOr, createBoolean, createCbrt, createCombinations, createCompare, createCompareText, createCos, createCot, createCsc, createCube, createDivide, createEqualScalar, createErf, createExp, createFilter, createForEach, createFormat, createGamma, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLargerEq, createLeftShift, createLog, createLog1p, createMap, createMean, createMod, createMultiply, createNot, createNumber, createOr, createPi, createPow, createRandom, createRightLogShift, createSQRT2, createSech, createSin, createSize, createSmallerEq, createSquare, createString, createSubtract, createTanh, createTypeOf, createUnequal, createXgcd, createAcoth, createAddScalar, createAsech, createBitNot, createCombinationsWithRep, createCosh, createCsch, createDivideScalar, createEqualText, createExpm1, createIsNumeric, createLN2, createLcm, createLog10, createMultiplyScalar, createNthRoot, createPickRandom, createRandomInt, createRightArithShift, createSec, createSinh, createSqrt, createTan, createUnaryMinus, createAcosh, createApply, createAsinh, createBitXor, createClone, createCumSum, createEqual, createFactorial, createHasNumericValue, createIsNaN, createLarger, createLog2, createMode, createNorm, createPartitionSelect, createPrint, createQuantileSeq, createRound, createSmaller, createStirlingS2, createTrue, createVariance, createAcsch, createAtan2, createCatalan, createCompareNatural, createComposition, createDeepEqual, createFloor, createHypot, createLgamma, createMedian, createMultinomial, createPermutations, createRange, createSign, createStd, createCeil, createCoth, createFix, createIsPrime, createNumeric, createProd, createBellNumbers, createGcd, createMad, createSum, createMax, createMin } from '../factoriesNumber.js';
createSubset, createTau, createTyped, createUnaryPlus, createVersion, createXor, createAbs, createAcos, createAcot, createAcsc, createAdd, createAnd, createAsec, createAsin, createAtan, createAtanh, createBitAnd, createBitOr, createBoolean, createCbrt, createCombinations, createCompare, createCompareText, createCos, createCot, createCsc, createCube, createDivide, createEqualScalar, createErf, createExp, createFilter, createForEach, createFormat, createGamma, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLargerEq, createLeftShift, createLog, createLog1p, createMap, createMean, createMod, createMultiply, createNot, createNumber, createOr, createPi, createPow, createRandom, createRightLogShift, createSQRT2, createSech, createSin, createSize, createSmallerEq, createSquare, createString, createSubtract, createTanh, createTypeOf, createUnequal, createXgcd, createAcoth, createAddScalar, createAsech, createBitNot, createCombinationsWithRep, createCosh, createCsch, createDivideScalar, createEqualText, createExpm1, createIsNumeric, createLN2, createLcm, createLog10, createMultiplyScalar, createNthRoot, createPickRandom, createRandomInt, createRightArithShift, createSec, createSinh, createSqrt, createTan, createUnaryMinus, createAcosh, createApply, createAsinh, createBitXor, createClone, createCumSum, createEqual, createFactorial, createHasNumericValue, createIsNaN, createLarger, createLog2, createMode, createNorm, createPartitionSelect, createPrint, createQuantileSeq, createRound, createSmaller, createStirlingS2, createTrue, createVariance, createZeta, createAcsch, createAtan2, createCatalan, createCompareNatural, createComposition, createDeepEqual, createFloor, createHypot, createLgamma, createMedian, createMultinomial, createPermutations, createRange, createSign, createStd, createCeil, createCoth, createFix, createIsPrime, createNumeric, createProd, createBellNumbers, createGcd, createMad, createSum, createMax, createMin } from '../factoriesNumber.js';
export var e = /* #__PURE__ */createE({

@@ -382,2 +382,3 @@ config

compare,
isInteger,
multiply,

@@ -418,2 +419,18 @@ partitionSelect,

});
export var zeta = /* #__PURE__ */createZeta({
add,
config,
divide,
equal,
factorial,
gamma,
isNegative,
multiply,
pi,
pow,
sin,
smallerEq,
subtract,
typed
});
export var acsch = /* #__PURE__ */createAcsch({

@@ -420,0 +437,0 @@ typed

@@ -6,4 +6,4 @@ export var indexDocs = {

description: 'Create an index to get or replace a subset of a matrix',
examples: ['[1, 2, 3]', 'A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = ones(2, 2)'],
examples: ['A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = 1', 'B = [1, 2, 3]', 'B[B>1 and B<3]'],
seealso: ['bignumber', 'boolean', 'complex', 'matrix,', 'number', 'range', 'string', 'unit']
};

@@ -187,2 +187,3 @@ import { eDocs } from './constants/e.js';

import { erfDocs } from './function/special/erf.js';
import { zetaDocs } from './function/special/zeta.js';
import { madDocs } from './function/statistics/mad.js';

@@ -657,2 +658,3 @@ import { maxDocs } from './function/statistics/max.js';

erf: erfDocs,
zeta: zetaDocs,
// functions - statistics

@@ -659,0 +661,0 @@ cumsum: cumSumDocs,

@@ -25,4 +25,9 @@ import { errorTransform } from '../../transform/utils/errorTransform.js';

if (Array.isArray(object)) {
// we use matrix.subset here instead of the function subset because we must not clone the contents
return matrix(object).subset(index, value).valueOf();
var result = matrix(object).subset(index, value).valueOf();
// shallow copy all (updated) items into the original array
result.forEach((item, index) => {
object[index] = item;
});
return object;
} else if (object && typeof object.subset === 'function') {

@@ -29,0 +34,0 @@ // Matrix

import { isArray, isBigNumber, isMatrix, isNumber, isRange } from '../../utils/is.js';
import { factory } from '../../utils/factory.js';
var name = 'index';
var dependencies = ['Index'];
var dependencies = ['Index', 'getMatrixDataType'];
export var createIndexTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
var {
Index
Index,
getMatrixDataType
} = _ref;

@@ -20,3 +21,3 @@ /**

// change from one-based to zero based, and convert BigNumber to number
// change from one-based to zero based, convert BigNumber to number and leave Array of Booleans as is
if (isRange(arg)) {

@@ -30,5 +31,7 @@ arg.start--;

} else if (isArray(arg) || isMatrix(arg)) {
arg = arg.map(function (v) {
return v - 1;
});
if (getMatrixDataType(arg) !== 'boolean') {
arg = arg.map(function (v) {
return v - 1;
});
}
} else if (isNumber(arg)) {

@@ -35,0 +38,0 @@ arg--;

@@ -5,11 +5,15 @@ import { factory } from '../../utils/factory.js';

var name = 'subset';
var dependencies = ['typed', 'matrix'];
var dependencies = ['typed', 'matrix', 'zeros', 'add'];
export var createSubsetTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
var {
typed,
matrix
matrix,
zeros,
add
} = _ref;
var subset = createSubset({
typed,
matrix
matrix,
zeros,
add
});

@@ -16,0 +20,0 @@

@@ -99,2 +99,3 @@ export { createTyped } from './core/function/typed.js';

export { createErf } from './function/special/erf.js';
export { createZeta } from './function/special/zeta.js';
export { createMode } from './function/statistics/mode.js';

@@ -287,3 +288,4 @@ export { createProd } from './function/statistics/prod.js';

export { createSumTransform } from './expression/transform/sum.transform.js';
export { createQuantileSeqTransform } from './expression/transform/quantileSeq.transform.js';
export { createCumSumTransform } from './expression/transform/cumsum.transform.js';
export { createVarianceTransform } from './expression/transform/variance.transform.js';

@@ -164,3 +164,3 @@ import { absNumber, acoshNumber, acosNumber, acothNumber, acotNumber, acschNumber, acscNumber, addNumber, andNumber, asechNumber, asecNumber, asinhNumber, asinNumber, atan2Number, atanhNumber, atanNumber, bitAndNumber, bitNotNumber, bitOrNumber, bitXorNumber, cbrtNumber, combinationsNumber, coshNumber, cosNumber, cothNumber, cotNumber, cschNumber, cscNumber, cubeNumber, divideNumber, expm1Number, expNumber, gammaNumber, gcdNumber, isIntegerNumber, isNaNNumber, isNegativeNumber, isPositiveNumber, isZeroNumber, lcmNumber, leftShiftNumber, lgammaNumber, log10Number, log1pNumber, log2Number, logNumber, modNumber, multiplyNumber, normNumber, notNumber, nthRootNumber, orNumber, powNumber, rightArithShiftNumber, rightLogShiftNumber, roundNumber, sechNumber, secNumber, signNumber, sinhNumber, sinNumber, sqrtNumber, squareNumber, subtractNumber, tanhNumber, tanNumber, unaryMinusNumber, unaryPlusNumber, xgcdNumber, xorNumber } from './plain/number/index.js';

export { createErf } from './function/special/erf.js';
export { createZeta } from './function/special/zeta.js';
// statistics

@@ -167,0 +167,0 @@ export { createMode } from './function/statistics/mode.js';

import { isBigNumber, isMatrix, isNumber } from '../../utils/is.js';
import { clone } from '../../utils/object.js';
import { arraySize } from '../../utils/array.js';
import { arraySize, concat as _concat } from '../../utils/array.js';
import { IndexError } from '../../error/IndexError.js';

@@ -96,3 +96,3 @@ import { DimensionError } from '../../error/DimensionError.js';

while (matrices.length) {
res = _concat(res, matrices.shift(), dim, 0);
res = _concat(res, matrices.shift(), dim);
}

@@ -105,29 +105,2 @@ return asMatrix ? matrix(res) : res;

});
});
/**
* Recursively concatenate two matrices.
* The contents of the matrices is not cloned.
* @param {Array} a Multi dimensional array
* @param {Array} b Multi dimensional array
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @param {number} dim The current dim (zero-based)
* @return {Array} c The concatenated matrix
* @private
*/
function _concat(a, b, concatDim, dim) {
if (dim < concatDim) {
// recurse into next dimension
if (a.length !== b.length) {
throw new DimensionError(a.length, b.length);
}
var c = [];
for (var i = 0; i < a.length; i++) {
c[i] = _concat(a[i], b[i], concatDim, dim + 1);
}
return c;
} else {
// concatenate this dimension
return a.concat(b);
}
}
});
import { isIndex } from '../../utils/is.js';
import { clone } from '../../utils/object.js';
import { validateIndex } from '../../utils/array.js';
import { isEmptyIndex, validateIndex, validateIndexSourceSize } from '../../utils/array.js';
import { getSafeProperty, setSafeProperty } from '../../utils/customs.js';

@@ -8,7 +8,9 @@ import { DimensionError } from '../../error/DimensionError.js';

var name = 'subset';
var dependencies = ['typed', 'matrix'];
var dependencies = ['typed', 'matrix', 'zeros', 'add'];
export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
var {
typed,
matrix
matrix,
zeros,
add
} = _ref;

@@ -26,9 +28,11 @@ /**

* const d = [[1, 2], [3, 4]]
* 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(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]]
*
* // replace a subset
* const e = []
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 0, 6]]
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 0, 6], [0, 7, 0]]
* math.subset(g, math.index([false, true], 1), 8) // returns [[5, 0, 6], [0, 8, 0]]
*

@@ -41,3 +45,3 @@ * // get submatrix using ranges

* ]
* math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
* math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1, 2, 3], [4, 5, 6]]
*

@@ -61,28 +65,44 @@ * See also:

*/
return typed(name, {
// get subset
'Array, Index': function ArrayIndex(value, index) {
var m = matrix(value);
var subset = m.subset(index); // returns a Matrix
return index.isScalar() ? subset : subset.valueOf(); // return an Array (like the input)
},
'Matrix, Index': function MatrixIndex(value, index) {
if (isEmptyIndex(index)) {
return matrix();
}
validateIndexSourceSize(value, index);
return value.subset(index);
},
'Array, Index': typed.referTo('Matrix, Index', function (subsetRef) {
return function (value, index) {
var subsetResult = subsetRef(matrix(value), index);
return index.isScalar() ? subsetResult : subsetResult.valueOf();
};
}),
'Object, Index': _getObjectProperty,
'string, Index': _getSubstring,
// set subset
'Array, Index, any': function ArrayIndexAny(value, index, replacement) {
return matrix(clone(value)).subset(index, replacement, undefined).valueOf();
},
'Array, Index, any, any': function ArrayIndexAnyAny(value, index, replacement, defaultValue) {
return matrix(clone(value)).subset(index, replacement, defaultValue).valueOf();
},
'Matrix, Index, any': function MatrixIndexAny(value, index, replacement) {
return value.clone().subset(index, replacement);
},
'Matrix, Index, any, any': function MatrixIndexAnyAny(value, index, replacement, defaultValue) {
return value.clone().subset(index, replacement, defaultValue);
if (isEmptyIndex(index)) {
return value;
}
validateIndexSourceSize(value, index);
return value.clone().subset(index, _broadcastReplacement(replacement, index), defaultValue);
},
'Array, Index, any, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement, defaultValue) {
var subsetResult = subsetRef(matrix(value), index, replacement, defaultValue);
return subsetResult.isMatrix ? subsetResult.valueOf() : subsetResult;
};
}),
'Array, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement) {
return subsetRef(matrix(value), index, replacement, undefined).valueOf();
};
}),
'Matrix, Index, any': typed.referTo('Matrix, Index, any, any', function (subsetRef) {
return function (value, index, replacement) {
return subsetRef(value, index, replacement, undefined);
};
}),
'string, Index, string': _setSubstring,

@@ -92,2 +112,28 @@ 'string, Index, string, string': _setSubstring,

});
/**
* Broadcasts a replacment value to be the same size as index
* @param {number | BigNumber | Array | Matrix} replacement Replacement value to try to broadcast
* @param {*} index Index value
* @returns broadcasted replacement that matches the size of index
*/
function _broadcastReplacement(replacement, index) {
if (typeof replacement === 'string') {
throw new Error('can\'t boradcast a string');
}
if (index._isScalar) {
return replacement;
}
var indexSize = index.size();
if (indexSize.every(d => d > 0)) {
try {
return add(replacement, zeros(indexSize));
} catch (error) {
return replacement;
}
} else {
return replacement;
}
}
});

@@ -107,2 +153,6 @@

}
if (isEmptyIndex(index)) {
return '';
}
validateIndexSourceSize(Array.from(str), index);
if (index.size().length !== 1) {

@@ -129,3 +179,3 @@ throw new DimensionError(index.size().length, 1);

* @param {string} replacement Replacement string
* @param {string} [defaultValue] Default value to be uses when resizing
* @param {string} [defaultValue] Default value to be used when resizing
* the string. is ' ' by default

@@ -140,2 +190,6 @@ * @returns {string} result

}
if (isEmptyIndex(index)) {
return str;
}
validateIndexSourceSize(Array.from(str), index);
if (index.size().length !== 1) {

@@ -190,2 +244,5 @@ throw new DimensionError(index.size().length, 1);

function _getObjectProperty(object, index) {
if (isEmptyIndex(index)) {
return undefined;
}
if (index.size().length !== 1) {

@@ -210,2 +267,5 @@ throw new DimensionError(index.size(), 1);

function _setObjectProperty(object, index, replacement) {
if (isEmptyIndex(index)) {
return object;
}
if (index.size().length !== 1) {

@@ -212,0 +272,0 @@ throw new DimensionError(index.size(), 1);

import { isBigNumber, isCollection, isNumber } from '../../utils/is.js';
import { isInteger } from '../../utils/number.js';
import { flatten } from '../../utils/array.js';
import { factory } from '../../utils/factory.js';
import { createApply } from '../matrix/apply.js';
var name = 'quantileSeq';
var dependencies = ['typed', 'add', 'multiply', 'partitionSelect', 'compare'];
var dependencies = ['typed', 'add', 'multiply', 'partitionSelect', 'compare', 'isInteger'];
export var createQuantileSeq = /* #__PURE__ */factory(name, dependencies, _ref => {

@@ -13,3 +13,4 @@ var {

partitionSelect,
compare
compare,
isInteger
} = _ref;

@@ -50,2 +51,28 @@ /**

*/
var apply = createApply({
typed,
isInteger
});
/**
* Check if array value types are valid, throw error otherwise.
* @param {number | BigNumber | Unit} x
* @param {number | BigNumber | Unit} x
* @private
*/
var validate = typed({
'number | BigNumber | Unit': function numberBigNumberUnit(x) {
return x;
}
});
return typed(name, {
'Array|Matrix, number|BigNumber|Array': (data, prob) => quantileSeq(data, prob, false),
'Array|Matrix, number|BigNumber|Array, boolean': quantileSeq,
'Array|Matrix, number|BigNumber|Array, number': (data, prob, dim) => _quantileSeqDim(data, prob, false, dim),
'Array|Matrix, number|BigNumber|Array, boolean, number': (data, prob, sorted, dim) => _quantileSeqDim(data, prob, sorted, dim)
});
function _quantileSeqDim(data, prob, sorted, dim) {
// return [1.3, 1.2]
return apply(data, dim, x => quantileSeq(x, prob, sorted));
}
function quantileSeq(data, probOrN, sorted) {

@@ -224,15 +251,2 @@ var probArr, dataArr, one;

}
/**
* Check if array value types are valid, throw error otherwise.
* @param {number | BigNumber | Unit} x
* @param {number | BigNumber | Unit} x
* @private
*/
var validate = typed({
'number | BigNumber | Unit': function numberBigNumberUnit(x) {
return x;
}
});
return quantileSeq;
});
import { isArray, isBigNumber, isCollection, isIndex, isMatrix, isNumber, isString, typeOf } from '../../utils/is.js';
import { arraySize, getArrayDataType, processSizesWildcard, reshape, resize, unsqueeze, validate, validateIndex } from '../../utils/array.js';
import { arraySize, getArrayDataType, processSizesWildcard, reshape, resize, unsqueeze, validate, validateIndex, broadcastTo } from '../../utils/array.js';
import { format } from '../../utils/string.js';

@@ -333,2 +333,14 @@ import { isInteger } from '../../utils/number.js';

// broadcast submatrix
if (!deepStrictEqual(sSize, iSize)) {
try {
if (sSize.length === 0) {
submatrix = broadcastTo([submatrix], iSize);
} else {
submatrix = broadcastTo(submatrix, iSize);
}
sSize = arraySize(submatrix);
} catch (_unused) {}
}
// validate dimensions

@@ -925,16 +937,14 @@ if (iSize.length < matrix._size.length) {

* Preprocess data, which can be an Array or DenseMatrix with nested Arrays and
* Matrices. Replaces all nested Matrices with Arrays
* Matrices. Clones all (nested) Arrays, and replaces all nested Matrices with Arrays
* @memberof DenseMatrix
* @param {Array} data
* @param {Array | Matrix} data
* @return {Array} data
*/
function preprocess(data) {
for (var i = 0, ii = data.length; i < ii; i++) {
var elem = data[i];
if (isArray(elem)) {
data[i] = preprocess(elem);
} else if (elem && elem.isMatrix === true) {
data[i] = preprocess(elem.valueOf());
}
if (isMatrix(data)) {
return preprocess(data.valueOf());
}
if (isArray(data)) {
return data.map(preprocess);
}
return data;

@@ -941,0 +951,0 @@ }

@@ -0,3 +1,3 @@

import { isBigNumber, isMatrix, isArray } from '../../../utils/is.js';
import { factory } from '../../../utils/factory.js';
import { isBigNumber, isMatrix } from '../../../utils/is.js';
var name = 'index';

@@ -24,3 +24,3 @@ var dependencies = ['typed', 'Index'];

* - An instance of `Range`
* - A one-dimensional Array or a Matrix with numbers
* - A one-dimensional Array or a Matrix with numbers or booleans
*

@@ -32,6 +32,8 @@ * Indexes must be zero-based, integer numbers.

* const b = [1, 2, 3, 4, 5]
* math.subset(b, math.index([1, 2, 3])) // returns [2, 3, 4]
* math.subset(b, math.index([1, 2, 3])) // returns [2, 3, 4]
* math.subset(b, math.index([false, true, true, true, false])) // returns [2, 3, 4]
*
* const a = math.matrix([[1, 2], [3, 4]])
* a.subset(math.index(0, 1)) // returns 2
* a.subset(math.index(0, [false, true])) // returns 2
*

@@ -50,3 +52,3 @@ * See also:

return arg.toNumber(); // convert BigNumber to Number
} else if (Array.isArray(arg) || isMatrix(arg)) {
} else if (isArray(arg) || isMatrix(arg)) {
return arg.map(function (elem) {

@@ -53,0 +55,0 @@ // convert BigNumber to Number

@@ -1,2 +0,2 @@

import { isMatrix, isRange } from '../../utils/is.js';
import { isArray, isMatrix, isRange } from '../../utils/is.js';
import { clone } from '../../utils/object.js';

@@ -6,6 +6,7 @@ import { isInteger } from '../../utils/number.js';

var name = 'Index';
var dependencies = ['ImmutableDenseMatrix'];
var dependencies = ['ImmutableDenseMatrix', 'getMatrixDataType'];
export var createIndexClass = /* #__PURE__ */factory(name, dependencies, _ref => {
var {
ImmutableDenseMatrix
ImmutableDenseMatrix,
getMatrixDataType
} = _ref;

@@ -24,3 +25,5 @@ /**

* An Array with the Set values
* An Array with Booleans
* A Matrix with the Set values
* A Matrix with Booleans
*

@@ -38,11 +41,22 @@ * The parameters start, end, and step must be integer numbers.

this._dimensions = [];
this._sourceSize = [];
this._isScalar = true;
for (var i = 0, ii = arguments.length; i < ii; i++) {
var arg = arguments[i];
var argIsArray = isArray(arg);
var argIsMatrix = isMatrix(arg);
var sourceSize = null;
if (isRange(arg)) {
this._dimensions.push(arg);
this._isScalar = false;
} else if (Array.isArray(arg) || isMatrix(arg)) {
} else if (argIsArray || argIsMatrix) {
// create matrix
var m = _createImmutableMatrix(arg.valueOf());
var m = void 0;
if (getMatrixDataType(arg) === 'boolean') {
if (argIsArray) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg).valueOf());
if (argIsMatrix) m = _createImmutableMatrix(_booleansArrayToNumbersForIndex(arg._data).valueOf());
sourceSize = arg.valueOf().length;
} else {
m = _createImmutableMatrix(arg.valueOf());
}
this._dimensions.push(m);

@@ -52,3 +66,3 @@ // size

// scalar
if (size.length !== 1 || size[0] !== 1) {
if (size.length !== 1 || size[0] !== 1 || sourceSize !== null) {
this._isScalar = false;

@@ -64,2 +78,3 @@ }

}
this._sourceSize.push(sourceSize);
// TODO: implement support for wildcard '*'

@@ -94,2 +109,3 @@ }

index._isScalar = this._isScalar;
index._sourceSize = this._sourceSize;
return index;

@@ -272,2 +288,18 @@ };

isClass: true
});
});
/**
* Receives an array of booleans and returns an array of Numbers for Index
* @param {Array} booleanArrayIndex An array of booleans
* @return {Array} A set of numbers ready for index
*/
function _booleansArrayToNumbersForIndex(booleanArrayIndex) {
// gets an array of booleans and returns an array of numbers
var indexOfNumbers = [];
booleanArrayIndex.forEach((bool, idx) => {
if (bool) {
indexOfNumbers.push(idx);
}
});
return indexOfNumbers;
}

@@ -0,1 +1,2 @@

import { checkBroadcastingRules } from '../../../utils/array.js';
import { factory } from '../../../utils/factory.js';

@@ -35,6 +36,4 @@ var name = 'broadcast';

// check if the broadcasting rules applyes for both matrices
for (var _dim = 0; _dim < N; _dim++) {
_checkRules(sizeA, sizeMax, _dim);
_checkRules(sizeB, sizeMax, _dim);
}
checkBroadcastingRules(sizeA, sizeMax);
checkBroadcastingRules(sizeB, sizeMax);

@@ -51,8 +50,8 @@ // reshape A or B if needed to make them ready for concat

// stretches the matrices on each dimension to make them the same size
for (var _dim2 = 0; _dim2 < N; _dim2++) {
if (AA._size[_dim2] < sizeMax[_dim2]) {
AA = _stretch(AA, sizeMax[_dim2], _dim2);
for (var _dim = 0; _dim < N; _dim++) {
if (AA._size[_dim] < sizeMax[_dim]) {
AA = _stretch(AA, sizeMax[_dim], _dim);
}
if (BB._size[_dim2] < sizeMax[_dim2]) {
BB = _stretch(BB, sizeMax[_dim2], _dim2);
if (BB._size[_dim] < sizeMax[_dim]) {
BB = _stretch(BB, sizeMax[_dim], _dim);
}

@@ -72,7 +71,2 @@ }

}
function _checkRules(shape, sizeMax, dim) {
if (shape[dim] < sizeMax[dim] & shape[dim] > 1) {
throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(shape, ") not possible to broadcast dimension ").concat(dim, " with size ").concat(shape[dim], " to size ").concat(sizeMax[dim]));
}
}
});

@@ -0,6 +1,8 @@

import _extends from "@babel/runtime/helpers/extends";
import { isInteger } from './number.js';
import { isNumber } from './is.js';
import { isNumber, isBigNumber, isArray, isString } from './is.js';
import { format } from './string.js';
import { DimensionError } from '../error/DimensionError.js';
import { IndexError } from '../error/IndexError.js';
import { deepStrictEqual } from './object.js';

@@ -79,2 +81,19 @@ /**

/**
* Validate whether the source of the index matches the size of the Array
* @param {Array | Matrix} array Array to be validated
* @param {Index} index Index with the source information to validate
* @throws DimensionError
*/
export function validateIndexSourceSize(value, index) {
var valueSize = value.isMatrix ? value._size : arraySize(value);
var sourceSize = index._sourceSize;
// checks if the source size is not null and matches the valueSize
sourceSize.forEach((sourceDim, i) => {
if (sourceDim !== null && sourceDim !== valueSize[i]) {
throw new DimensionError(sourceDim, valueSize[i]);
}
});
}
/**
* Test whether index is an integer number with index >= 0 and index < length

@@ -86,8 +105,34 @@ * when length is provided

export function validateIndex(index, length) {
if (!isNumber(index) || !isInteger(index)) {
throw new TypeError('Index must be an integer (value: ' + index + ')');
if (index !== undefined) {
if (!isNumber(index) || !isInteger(index)) {
throw new TypeError('Index must be an integer (value: ' + index + ')');
}
if (index < 0 || typeof length === 'number' && index >= length) {
throw new IndexError(index, length);
}
}
if (index < 0 || typeof length === 'number' && index >= length) {
throw new IndexError(index, length);
}
/**
* Test if and index has empty values
* @param {number} index Zero-based index
*/
export function isEmptyIndex(index) {
for (var i = 0; i < index._dimensions.length; ++i) {
var dimension = index._dimensions[i];
if (dimension._data && isArray(dimension._data)) {
if (dimension._size[0] === 0) {
return true;
}
} else if (dimension.isRange) {
if (dimension.start === dimension.end) {
return true;
}
} else if (isString(dimension)) {
if (dimension.length === 0) {
return true;
}
}
}
return false;
}

@@ -97,4 +142,4 @@

* Resize a multi dimensional array. The resized array is returned.
* @param {Array} array Array to be resized
* @param {Array.<number>} size Array with the size of each dimension
* @param {Array | number} array Array to be resized
* @param {number[]} size Array with the size of each dimension
* @param {*} [defaultValue=0] Value to be filled in in new entries,

@@ -107,6 +152,4 @@ * zero by default. Specify for example `null`,

export function resize(array, size, defaultValue) {
// TODO: add support for scalars, having size=[] ?
// check the type of the arguments
if (!Array.isArray(array) || !Array.isArray(size)) {
if (!Array.isArray(size)) {
throw new TypeError('Array expected');

@@ -125,2 +168,7 @@ }

// convert number to an array
if (isNumber(array) || isBigNumber(array)) {
array = [array];
}
// recursively resize the array

@@ -194,3 +242,3 @@ var _defaultValue = defaultValue !== undefined ? defaultValue : 0;

* @param {Array} array Array to be reshaped
* @param {Array.<number>} sizes List of sizes for each dimension
* @param {number[]} sizes List of sizes for each dimension
* @returns {Array} Array whose data has been formatted to fit the

@@ -228,6 +276,6 @@ * specified dimensions

* Replaces the wildcard -1 in the sizes array.
* @param {Array.<number>} sizes List of sizes for each dimension. At most on wildcard.
* @param {number[]} sizes List of sizes for each dimension. At most on wildcard.
* @param {number} currentLength Number of elements in the array.
* @throws {Error} If more than one wildcard or unable to replace it.
* @returns {Array.<number>} The sizes array with wildcard replaced.
* @returns {number[]} The sizes array with wildcard replaced.
*/

@@ -257,3 +305,3 @@ export function processSizesWildcard(sizes, currentLength) {

* Computes the product of all array elements.
* @param {Array<number>} array Array of factors
* @param {number[]} array Array of factors
* @returns {number} Product of all elements

@@ -268,3 +316,3 @@ */

* @param {Array} array Array to be reshaped
* @param {Array.<number>} sizes List of sizes for each dimension
* @param {number[]} sizes List of sizes for each dimension
* @returns {Array} Array whose data has been formatted to fit the

@@ -540,6 +588,6 @@ * specified dimensions

var item = array[i];
var isArray = Array.isArray(item);
var _isArray = Array.isArray(item);
// Saving the target matrix row size
if (i === 0 && isArray) {
if (i === 0 && _isArray) {
length = item.length;

@@ -549,6 +597,6 @@ }

// If the current item is an array but the length does not equal the targetVectorSize
if (isArray && item.length !== length) {
if (_isArray && item.length !== length) {
return undefined;
}
var itemType = isArray ? getArrayDataType(item, typeOf) // recurse into a nested array
var itemType = _isArray ? getArrayDataType(item, typeOf) // recurse into a nested array
: typeOf(item);

@@ -568,3 +616,3 @@ if (type === undefined) {

* Return the last item from an array
* @param array
* @param {array}
* @returns {*}

@@ -578,2 +626,4 @@ */

* Get all but the last element of array.
* @param {array}
* @returns {*}
*/

@@ -592,2 +642,173 @@ export function initial(array) {

return array.indexOf(item) !== -1;
}
/**
* Recursively concatenate two matrices.
* The contents of the matrices is not cloned.
* @param {Array} a Multi dimensional array
* @param {Array} b Multi dimensional array
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @param {number} dim The current dim (zero-based)
* @return {Array} c The concatenated matrix
* @private
*/
function concatRecursive(a, b, concatDim, dim) {
if (dim < concatDim) {
// recurse into next dimension
if (a.length !== b.length) {
throw new DimensionError(a.length, b.length);
}
var c = [];
for (var i = 0; i < a.length; i++) {
c[i] = concatRecursive(a[i], b[i], concatDim, dim + 1);
}
return c;
} else {
// concatenate this dimension
return a.concat(b);
}
}
/**
* Concatenates many arrays in the specified direction
* @param {...Array} arrays All the arrays to concatenate
* @param {number} concatDim The dimension on which to concatenate (zero-based)
* @returns
*/
export function concat() {
var arrays = Array.prototype.slice.call(arguments, 0, -1);
var concatDim = Array.prototype.slice.call(arguments, -1);
if (arrays.length === 1) {
return arrays[0];
}
if (arrays.length > 1) {
return arrays.slice(1).reduce(function (A, B) {
return concatRecursive(A, B, concatDim, 0);
}, arrays[0]);
} else {
throw new Error('Wrong number of arguments in function concat');
}
}
/**
* Receives two or more sizes and get's the broadcasted size for both.
* @param {...number[]} sizes Sizes to broadcast together
* @returns
*/
export function broadcastSizes() {
for (var _len = arguments.length, sizes = new Array(_len), _key = 0; _key < _len; _key++) {
sizes[_key] = arguments[_key];
}
var dimensions = sizes.map(s => s.length);
var N = Math.max(...dimensions);
var sizeMax = new Array(N).fill(null);
// check for every size
for (var i = 0; i < sizes.length; i++) {
var size = sizes[i];
var dim = dimensions[i];
for (var j = 0; j < dim; j++) {
var n = N - dim + j;
if (size[j] > sizeMax[n]) {
sizeMax[n] = size[j];
}
}
}
for (var _i = 0; _i < sizes.length; _i++) {
checkBroadcastingRules(sizes[_i], sizeMax);
}
return sizeMax;
}
/**
* Checks if it's possible to broadcast a size to another size
* @param {number[]} size The size of the array to check
* @param {number[]} toSize The size of the array to validate if it can be broadcasted to
*/
export function checkBroadcastingRules(size, toSize) {
var N = toSize.length;
var dim = size.length;
for (var j = 0; j < dim; j++) {
var n = N - dim + j;
if (size[j] < toSize[n] && size[j] > 1 || size[j] > toSize[n]) {
throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(size, ") not possible to broadcast dimension ").concat(dim, " with size ").concat(size[j], " to size ").concat(toSize[n]));
}
}
}
/**
* Broadcasts a single array to a certain size
* @param {array} array Array to be broadcasted
* @param {number[]} toSize Size to broadcast the array
* @returns The broadcasted array
*/
export function broadcastTo(array, toSize) {
var Asize = arraySize(array);
if (deepStrictEqual(Asize, toSize)) {
return array;
}
checkBroadcastingRules(Asize, toSize);
var broadcastedSize = broadcastSizes(Asize, toSize);
var N = broadcastedSize.length;
var paddedSize = [...Array(N - Asize.length).fill(1), ...Asize];
var A = clone(array);
// reshape A if needed to make it ready for concat
if (Asize.length < N) {
A = reshape(A, paddedSize);
Asize = arraySize(A);
}
// stretches the array on each dimension to make it the same size as index
for (var dim = 0; dim < N; dim++) {
if (Asize[dim] < broadcastedSize[dim]) {
A = stretch(A, broadcastedSize[dim], dim);
Asize = arraySize(A);
}
}
return A;
}
/**
* Broadcasts arrays and returns the broadcasted arrays in an array
* @param {...Array | any} arrays
* @returns
*/
export function broadcastArrays() {
for (var _len2 = arguments.length, arrays = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
arrays[_key2] = arguments[_key2];
}
if (arrays.length === 0) {
throw new Error('Insuficient number of argumnets in function broadcastArrays');
}
if (arrays.length === 1) {
return arrays[0];
}
var sizes = arrays.map(function (array) {
return arraySize(array);
});
var broadcastedSize = broadcastSizes(...sizes);
var broadcastedArrays = [];
arrays.forEach(function (array) {
broadcastedArrays.push(broadcastTo(array, broadcastedSize));
});
return broadcastedArrays;
}
/**
* stretches a matrix up to a certain size in a certain dimension
* @param {Array} arrayToStretch
* @param {number[]} sizeToStretch
* @param {number} dimToStretch
* @returns
*/
export function stretch(arrayToStretch, sizeToStretch, dimToStretch) {
return concat(...Array(sizeToStretch).fill(arrayToStretch), dimToStretch);
}
/**
* Deep clones a multidimensional array
* @param {Array} array
* @returns cloned array
*/
export function clone(array) {
return _extends([], array);
}

@@ -1,3 +0,3 @@

export var version = '11.9.1';
export var version = '11.10.0';
// Note: This file is automatically generated when building math.js.
// Changes made in this file will be overwritten.
{
"name": "mathjs",
"version": "11.9.1",
"version": "11.10.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 not supported yet

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc