mathjs 10.5.0 → 10.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/HISTORY.md +12 -0
  2. package/docs/datatypes/matrices.md +17 -0
  3. package/docs/expressions/syntax.md +4 -1
  4. package/docs/reference/functions/fix.md +1 -0
  5. package/docs/reference/functions/floor.md +4 -0
  6. package/docs/reference/functions/resolve.md +2 -2
  7. package/docs/reference/functions/simplifyConstant.md +52 -0
  8. package/lib/browser/math.js +5 -5
  9. package/lib/browser/math.js.map +1 -1
  10. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +6 -0
  11. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -0
  12. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +6 -0
  13. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -3
  14. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +3 -0
  15. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +6 -0
  16. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +3 -0
  17. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -3
  18. package/lib/cjs/entry/impureFunctionsAny.generated.js +0 -1
  19. package/lib/cjs/entry/impureFunctionsNumber.generated.js +6 -7
  20. package/lib/cjs/entry/pureFunctionsAny.generated.js +10 -3
  21. package/lib/cjs/entry/pureFunctionsNumber.generated.js +21 -15
  22. package/lib/cjs/expression/node/IndexNode.js +26 -61
  23. package/lib/cjs/factoriesNumber.js +29 -24
  24. package/lib/cjs/function/algebra/resolve.js +3 -3
  25. package/lib/cjs/function/arithmetic/ceil.js +75 -39
  26. package/lib/cjs/function/arithmetic/fix.js +54 -16
  27. package/lib/cjs/function/arithmetic/floor.js +79 -37
  28. package/lib/cjs/function/arithmetic/nthRoot.js +1 -3
  29. package/lib/cjs/function/arithmetic/round.js +27 -47
  30. package/lib/cjs/header.js +2 -2
  31. package/lib/cjs/plain/number/arithmetic.js +9 -27
  32. package/lib/cjs/type/matrix/function/sparse.js +6 -0
  33. package/lib/cjs/utils/lruQueue.js +1 -3
  34. package/lib/cjs/utils/object.js +3 -1
  35. package/lib/cjs/version.js +1 -1
  36. package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
  37. package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
  38. package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
  39. package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
  40. package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
  41. package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
  42. package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
  43. package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
  44. package/lib/esm/entry/impureFunctionsAny.generated.js +0 -1
  45. package/lib/esm/entry/impureFunctionsNumber.generated.js +7 -8
  46. package/lib/esm/entry/pureFunctionsAny.generated.js +10 -3
  47. package/lib/esm/entry/pureFunctionsNumber.generated.js +16 -10
  48. package/lib/esm/expression/node/BlockNode.js +3 -3
  49. package/lib/esm/expression/node/IndexNode.js +22 -59
  50. package/lib/esm/expression/parse.js +5 -5
  51. package/lib/esm/factoriesNumber.js +6 -6
  52. package/lib/esm/function/algebra/decomposition/qr.js +2 -2
  53. package/lib/esm/function/algebra/resolve.js +3 -3
  54. package/lib/esm/function/algebra/solver/utils/solveValidation.js +5 -5
  55. package/lib/esm/function/algebra/sparse/csChol.js +2 -2
  56. package/lib/esm/function/algebra/sparse/csLeaf.js +2 -2
  57. package/lib/esm/function/algebra/sparse/csLu.js +3 -3
  58. package/lib/esm/function/arithmetic/ceil.js +61 -24
  59. package/lib/esm/function/arithmetic/fix.js +51 -13
  60. package/lib/esm/function/arithmetic/floor.js +65 -23
  61. package/lib/esm/function/arithmetic/nthRoot.js +1 -3
  62. package/lib/esm/function/arithmetic/nthRoots.js +1 -1
  63. package/lib/esm/function/arithmetic/round.js +25 -43
  64. package/lib/esm/function/matrix/expm.js +2 -2
  65. package/lib/esm/function/probability/gamma.js +1 -1
  66. package/lib/esm/function/string/bin.js +1 -1
  67. package/lib/esm/function/string/hex.js +1 -1
  68. package/lib/esm/function/string/oct.js +1 -1
  69. package/lib/esm/plain/number/arithmetic.js +9 -17
  70. package/lib/esm/type/complex/Complex.js +2 -2
  71. package/lib/esm/type/matrix/DenseMatrix.js +2 -2
  72. package/lib/esm/type/matrix/FibonacciHeap.js +2 -2
  73. package/lib/esm/type/matrix/SparseMatrix.js +13 -13
  74. package/lib/esm/type/matrix/function/sparse.js +6 -0
  75. package/lib/esm/type/unit/Unit.js +7 -7
  76. package/lib/esm/utils/lruQueue.js +1 -2
  77. package/lib/esm/utils/number.js +3 -3
  78. package/lib/esm/utils/object.js +3 -1
  79. package/lib/esm/version.js +1 -1
  80. package/package.json +14 -3
  81. package/types/index.d.ts +1794 -1372
  82. package/types/index.ts +697 -266
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ceilDependencies = void 0;
7
7
 
8
+ var _dependenciesDenseMatrixClassGenerated = require("./dependenciesDenseMatrixClass.generated.js");
9
+
8
10
  var _dependenciesEqualScalarGenerated = require("./dependenciesEqualScalar.generated.js");
9
11
 
10
12
  var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js");
@@ -13,6 +15,8 @@ var _dependenciesRoundGenerated = require("./dependenciesRound.generated.js");
13
15
 
14
16
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
15
17
 
18
+ var _dependenciesZerosGenerated = require("./dependenciesZeros.generated.js");
19
+
16
20
  var _factoriesAny = require("../../factoriesAny.js");
17
21
 
18
22
  /**
@@ -20,10 +24,12 @@ var _factoriesAny = require("../../factoriesAny.js");
20
24
  * DON'T MAKE CHANGES HERE
21
25
  */
22
26
  var ceilDependencies = {
27
+ DenseMatrixDependencies: _dependenciesDenseMatrixClassGenerated.DenseMatrixDependencies,
23
28
  equalScalarDependencies: _dependenciesEqualScalarGenerated.equalScalarDependencies,
24
29
  matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies,
25
30
  roundDependencies: _dependenciesRoundGenerated.roundDependencies,
26
31
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
32
+ zerosDependencies: _dependenciesZerosGenerated.zerosDependencies,
27
33
  createCeil: _factoriesAny.createCeil
28
34
  };
29
35
  exports.ceilDependencies = ceilDependencies;
@@ -7,14 +7,20 @@ exports.fixDependencies = void 0;
7
7
 
8
8
  var _dependenciesComplexClassGenerated = require("./dependenciesComplexClass.generated.js");
9
9
 
10
+ var _dependenciesDenseMatrixClassGenerated = require("./dependenciesDenseMatrixClass.generated.js");
11
+
10
12
  var _dependenciesCeilGenerated = require("./dependenciesCeil.generated.js");
11
13
 
14
+ var _dependenciesEqualScalarGenerated = require("./dependenciesEqualScalar.generated.js");
15
+
12
16
  var _dependenciesFloorGenerated = require("./dependenciesFloor.generated.js");
13
17
 
14
18
  var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js");
15
19
 
16
20
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
17
21
 
22
+ var _dependenciesZerosGenerated = require("./dependenciesZeros.generated.js");
23
+
18
24
  var _factoriesAny = require("../../factoriesAny.js");
19
25
 
20
26
  /**
@@ -23,10 +29,13 @@ var _factoriesAny = require("../../factoriesAny.js");
23
29
  */
24
30
  var fixDependencies = {
25
31
  ComplexDependencies: _dependenciesComplexClassGenerated.ComplexDependencies,
32
+ DenseMatrixDependencies: _dependenciesDenseMatrixClassGenerated.DenseMatrixDependencies,
26
33
  ceilDependencies: _dependenciesCeilGenerated.ceilDependencies,
34
+ equalScalarDependencies: _dependenciesEqualScalarGenerated.equalScalarDependencies,
27
35
  floorDependencies: _dependenciesFloorGenerated.floorDependencies,
28
36
  matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies,
29
37
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
38
+ zerosDependencies: _dependenciesZerosGenerated.zerosDependencies,
30
39
  createFix: _factoriesAny.createFix
31
40
  };
32
41
  exports.fixDependencies = fixDependencies;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.floorDependencies = void 0;
7
7
 
8
+ var _dependenciesDenseMatrixClassGenerated = require("./dependenciesDenseMatrixClass.generated.js");
9
+
8
10
  var _dependenciesEqualScalarGenerated = require("./dependenciesEqualScalar.generated.js");
9
11
 
10
12
  var _dependenciesMatrixGenerated = require("./dependenciesMatrix.generated.js");
@@ -13,6 +15,8 @@ var _dependenciesRoundGenerated = require("./dependenciesRound.generated.js");
13
15
 
14
16
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
15
17
 
18
+ var _dependenciesZerosGenerated = require("./dependenciesZeros.generated.js");
19
+
16
20
  var _factoriesAny = require("../../factoriesAny.js");
17
21
 
18
22
  /**
@@ -20,10 +24,12 @@ var _factoriesAny = require("../../factoriesAny.js");
20
24
  * DON'T MAKE CHANGES HERE
21
25
  */
22
26
  var floorDependencies = {
27
+ DenseMatrixDependencies: _dependenciesDenseMatrixClassGenerated.DenseMatrixDependencies,
23
28
  equalScalarDependencies: _dependenciesEqualScalarGenerated.equalScalarDependencies,
24
29
  matrixDependencies: _dependenciesMatrixGenerated.matrixDependencies,
25
30
  roundDependencies: _dependenciesRoundGenerated.roundDependencies,
26
31
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
32
+ zerosDependencies: _dependenciesZerosGenerated.zerosDependencies,
27
33
  createFloor: _factoriesAny.createFloor
28
34
  };
29
35
  exports.floorDependencies = floorDependencies;
@@ -7,8 +7,6 @@ exports.IndexNodeDependencies = void 0;
7
7
 
8
8
  var _dependenciesNodeGenerated = require("./dependenciesNode.generated.js");
9
9
 
10
- var _dependenciesRangeClassGenerated = require("./dependenciesRangeClass.generated.js");
11
-
12
10
  var _dependenciesSizeGenerated = require("./dependenciesSize.generated.js");
13
11
 
14
12
  var _factoriesAny = require("../../factoriesAny.js");
@@ -19,7 +17,6 @@ var _factoriesAny = require("../../factoriesAny.js");
19
17
  */
20
18
  var IndexNodeDependencies = {
21
19
  NodeDependencies: _dependenciesNodeGenerated.NodeDependencies,
22
- RangeDependencies: _dependenciesRangeClassGenerated.RangeDependencies,
23
20
  sizeDependencies: _dependenciesSizeGenerated.sizeDependencies,
24
21
  createIndexNode: _factoriesAny.createIndexNode
25
22
  };
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ceilDependencies = void 0;
7
7
 
8
+ var _dependenciesRoundGenerated = require("./dependenciesRound.generated.js");
9
+
8
10
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
9
11
 
10
12
  var _factoriesNumber = require("../../factoriesNumber.js");
@@ -14,6 +16,7 @@ var _factoriesNumber = require("../../factoriesNumber.js");
14
16
  * DON'T MAKE CHANGES HERE
15
17
  */
16
18
  var ceilDependencies = {
19
+ roundDependencies: _dependenciesRoundGenerated.roundDependencies,
17
20
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
18
21
  createCeil: _factoriesNumber.createCeil
19
22
  };
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.fixDependencies = void 0;
7
7
 
8
+ var _dependenciesCeilGenerated = require("./dependenciesCeil.generated.js");
9
+
10
+ var _dependenciesFloorGenerated = require("./dependenciesFloor.generated.js");
11
+
8
12
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
9
13
 
10
14
  var _factoriesNumber = require("../../factoriesNumber.js");
@@ -14,6 +18,8 @@ var _factoriesNumber = require("../../factoriesNumber.js");
14
18
  * DON'T MAKE CHANGES HERE
15
19
  */
16
20
  var fixDependencies = {
21
+ ceilDependencies: _dependenciesCeilGenerated.ceilDependencies,
22
+ floorDependencies: _dependenciesFloorGenerated.floorDependencies,
17
23
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
18
24
  createFix: _factoriesNumber.createFix
19
25
  };
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.floorDependencies = void 0;
7
7
 
8
+ var _dependenciesRoundGenerated = require("./dependenciesRound.generated.js");
9
+
8
10
  var _dependenciesTypedGenerated = require("./dependenciesTyped.generated.js");
9
11
 
10
12
  var _factoriesNumber = require("../../factoriesNumber.js");
@@ -14,6 +16,7 @@ var _factoriesNumber = require("../../factoriesNumber.js");
14
16
  * DON'T MAKE CHANGES HERE
15
17
  */
16
18
  var floorDependencies = {
19
+ roundDependencies: _dependenciesRoundGenerated.roundDependencies,
17
20
  typedDependencies: _dependenciesTypedGenerated.typedDependencies,
18
21
  createFloor: _factoriesNumber.createFloor
19
22
  };
@@ -7,8 +7,6 @@ exports.IndexNodeDependencies = void 0;
7
7
 
8
8
  var _dependenciesNodeGenerated = require("./dependenciesNode.generated.js");
9
9
 
10
- var _dependenciesRangeClassGenerated = require("./dependenciesRangeClass.generated.js");
11
-
12
10
  var _dependenciesSizeGenerated = require("./dependenciesSize.generated.js");
13
11
 
14
12
  var _factoriesNumber = require("../../factoriesNumber.js");
@@ -19,7 +17,6 @@ var _factoriesNumber = require("../../factoriesNumber.js");
19
17
  */
20
18
  var IndexNodeDependencies = {
21
19
  NodeDependencies: _dependenciesNodeGenerated.NodeDependencies,
22
- RangeDependencies: _dependenciesRangeClassGenerated.RangeDependencies,
23
20
  sizeDependencies: _dependenciesSizeGenerated.sizeDependencies,
24
21
  createIndexNode: _factoriesNumber.createIndexNode
25
22
  };
@@ -106,7 +106,6 @@ var AssignmentNode = (0, _factoriesAny.createAssignmentNode)({
106
106
  exports.AssignmentNode = AssignmentNode;
107
107
  var IndexNode = (0, _factoriesAny.createIndexNode)({
108
108
  Node: Node,
109
- Range: _pureFunctionsAnyGenerated.Range,
110
109
  size: _pureFunctionsAnyGenerated.size
111
110
  });
112
111
  exports.IndexNode = IndexNode;
@@ -96,7 +96,6 @@ var FunctionNode = (0, _factoriesNumber.createFunctionNode)({
96
96
  exports.FunctionNode = FunctionNode;
97
97
  var IndexNode = (0, _factoriesNumber.createIndexNode)({
98
98
  Node: Node,
99
- Range: _pureFunctionsNumberGenerated.Range,
100
99
  size: _pureFunctionsNumberGenerated.size
101
100
  });
102
101
  exports.IndexNode = IndexNode;
@@ -312,7 +311,6 @@ exports.parser = parser;
312
311
  erf: _pureFunctionsNumberGenerated.erf,
313
312
  exp: _pureFunctionsNumberGenerated.exp,
314
313
  filter: _pureFunctionsNumberGenerated.filter,
315
- fix: _pureFunctionsNumberGenerated.fix,
316
314
  forEach: _pureFunctionsNumberGenerated.forEach,
317
315
  format: _pureFunctionsNumberGenerated.format,
318
316
  gamma: _pureFunctionsNumberGenerated.gamma,
@@ -353,8 +351,8 @@ exports.parser = parser;
353
351
  addScalar: _pureFunctionsNumberGenerated.addScalar,
354
352
  asech: _pureFunctionsNumberGenerated.asech,
355
353
  bitNot: _pureFunctionsNumberGenerated.bitNot,
356
- ceil: _pureFunctionsNumberGenerated.ceil,
357
- combinationsWithRep: _pureFunctionsNumberGenerated.combinationsWithRep,
354
+ clone: _pureFunctionsNumberGenerated.clone,
355
+ compareNatural: _pureFunctionsNumberGenerated.compareNatural,
358
356
  cosh: _pureFunctionsNumberGenerated.cosh,
359
357
  csch: _pureFunctionsNumberGenerated.csch,
360
358
  divideScalar: _pureFunctionsNumberGenerated.divideScalar,
@@ -378,7 +376,7 @@ exports.parser = parser;
378
376
  apply: _pureFunctionsNumberGenerated.apply,
379
377
  asinh: _pureFunctionsNumberGenerated.asinh,
380
378
  bitXor: _pureFunctionsNumberGenerated.bitXor,
381
- clone: _pureFunctionsNumberGenerated.clone,
379
+ combinationsWithRep: _pureFunctionsNumberGenerated.combinationsWithRep,
382
380
  cumsum: _pureFunctionsNumberGenerated.cumsum,
383
381
  equal: _pureFunctionsNumberGenerated.equal,
384
382
  factorial: _pureFunctionsNumberGenerated.factorial,
@@ -411,15 +409,16 @@ exports.parser = parser;
411
409
  sign: _pureFunctionsNumberGenerated.sign,
412
410
  std: _pureFunctionsNumberGenerated.std,
413
411
  'PI': _pureFunctionsNumberGenerated.pi,
414
- compareNatural: _pureFunctionsNumberGenerated.compareNatural,
412
+ ceil: _pureFunctionsNumberGenerated.ceil,
415
413
  coth: _pureFunctionsNumberGenerated.coth,
416
- gcd: _pureFunctionsNumberGenerated.gcd,
414
+ fix: _pureFunctionsNumberGenerated.fix,
417
415
  isPrime: _pureFunctionsNumberGenerated.isPrime,
418
416
  numeric: _pureFunctionsNumberGenerated.numeric,
419
417
  prod: _pureFunctionsNumberGenerated.prod,
420
418
  simplifyCore: simplifyCore,
421
419
  sum: _pureFunctionsNumberGenerated.sum,
422
420
  bellNumbers: _pureFunctionsNumberGenerated.bellNumbers,
421
+ gcd: _pureFunctionsNumberGenerated.gcd,
423
422
  mad: _pureFunctionsNumberGenerated.mad,
424
423
  max: _pureFunctionsNumberGenerated.max,
425
424
  parse: parse,
@@ -944,11 +944,13 @@ var equalText = /* #__PURE__ */(0, _factoriesAny.createEqualText)({
944
944
  });
945
945
  exports.equalText = equalText;
946
946
  var floor = /* #__PURE__ */(0, _factoriesAny.createFloor)({
947
+ DenseMatrix: DenseMatrix,
947
948
  config: _configReadonly.config,
948
949
  equalScalar: equalScalar,
949
950
  matrix: matrix,
950
951
  round: round,
951
- typed: typed
952
+ typed: typed,
953
+ zeros: zeros
952
954
  });
953
955
  exports.floor = floor;
954
956
  var identity = /* #__PURE__ */(0, _factoriesAny.createIdentity)({
@@ -1133,11 +1135,13 @@ var asin = /* #__PURE__ */(0, _factoriesAny.createAsin)({
1133
1135
  });
1134
1136
  exports.asin = asin;
1135
1137
  var ceil = /* #__PURE__ */(0, _factoriesAny.createCeil)({
1138
+ DenseMatrix: DenseMatrix,
1136
1139
  config: _configReadonly.config,
1137
1140
  equalScalar: equalScalar,
1138
1141
  matrix: matrix,
1139
1142
  round: round,
1140
- typed: typed
1143
+ typed: typed,
1144
+ zeros: zeros
1141
1145
  });
1142
1146
  exports.ceil = ceil;
1143
1147
  var column = /* #__PURE__ */(0, _factoriesAny.createColumn)({
@@ -1199,10 +1203,13 @@ var FibonacciHeap = /* #__PURE__ */(0, _factoriesAny.createFibonacciHeapClass)({
1199
1203
  exports.FibonacciHeap = FibonacciHeap;
1200
1204
  var fix = /* #__PURE__ */(0, _factoriesAny.createFix)({
1201
1205
  Complex: Complex,
1206
+ DenseMatrix: DenseMatrix,
1202
1207
  ceil: ceil,
1208
+ equalScalar: equalScalar,
1203
1209
  floor: floor,
1204
1210
  matrix: matrix,
1205
- typed: typed
1211
+ typed: typed,
1212
+ zeros: zeros
1206
1213
  });
1207
1214
  exports.fix = fix;
1208
1215
  var index = /* #__PURE__ */(0, _factoriesAny.createIndex)({
@@ -188,10 +188,6 @@ var filter = /* #__PURE__ */(0, _factoriesNumber.createFilter)({
188
188
  typed: typed
189
189
  });
190
190
  exports.filter = filter;
191
- var fix = /* #__PURE__ */(0, _factoriesNumber.createFix)({
192
- typed: typed
193
- });
194
- exports.fix = fix;
195
191
  var forEach = /* #__PURE__ */(0, _factoriesNumber.createForEach)({
196
192
  typed: typed
197
193
  });
@@ -356,14 +352,15 @@ var bitNot = /* #__PURE__ */(0, _factoriesNumber.createBitNot)({
356
352
  typed: typed
357
353
  });
358
354
  exports.bitNot = bitNot;
359
- var ceil = /* #__PURE__ */(0, _factoriesNumber.createCeil)({
355
+ var clone = /* #__PURE__ */(0, _factoriesNumber.createClone)({
360
356
  typed: typed
361
357
  });
362
- exports.ceil = ceil;
363
- var combinationsWithRep = /* #__PURE__ */(0, _factoriesNumber.createCombinationsWithRep)({
358
+ exports.clone = clone;
359
+ var compareNatural = /* #__PURE__ */(0, _factoriesNumber.createCompareNatural)({
360
+ compare: compare,
364
361
  typed: typed
365
362
  });
366
- exports.combinationsWithRep = combinationsWithRep;
363
+ exports.compareNatural = compareNatural;
367
364
  var cosh = /* #__PURE__ */(0, _factoriesNumber.createCosh)({
368
365
  typed: typed
369
366
  });
@@ -461,10 +458,10 @@ var bitXor = /* #__PURE__ */(0, _factoriesNumber.createBitXor)({
461
458
  typed: typed
462
459
  });
463
460
  exports.bitXor = bitXor;
464
- var clone = /* #__PURE__ */(0, _factoriesNumber.createClone)({
461
+ var combinationsWithRep = /* #__PURE__ */(0, _factoriesNumber.createCombinationsWithRep)({
465
462
  typed: typed
466
463
  });
467
- exports.clone = clone;
464
+ exports.combinationsWithRep = combinationsWithRep;
468
465
  var cumsum = /* #__PURE__ */(0, _factoriesNumber.createCumSum)({
469
466
  add: add,
470
467
  typed: typed,
@@ -600,6 +597,8 @@ var deepEqual = /* #__PURE__ */(0, _factoriesNumber.createDeepEqual)({
600
597
  });
601
598
  exports.deepEqual = deepEqual;
602
599
  var floor = /* #__PURE__ */(0, _factoriesNumber.createFloor)({
600
+ config: _configReadonly.config,
601
+ round: round,
603
602
  typed: typed
604
603
  });
605
604
  exports.floor = floor;
@@ -661,19 +660,22 @@ var std = /* #__PURE__ */(0, _factoriesNumber.createStd)({
661
660
  variance: variance
662
661
  });
663
662
  exports.std = std;
664
- var compareNatural = /* #__PURE__ */(0, _factoriesNumber.createCompareNatural)({
665
- compare: compare,
663
+ var ceil = /* #__PURE__ */(0, _factoriesNumber.createCeil)({
664
+ config: _configReadonly.config,
665
+ round: round,
666
666
  typed: typed
667
667
  });
668
- exports.compareNatural = compareNatural;
668
+ exports.ceil = ceil;
669
669
  var coth = /* #__PURE__ */(0, _factoriesNumber.createCoth)({
670
670
  typed: typed
671
671
  });
672
672
  exports.coth = coth;
673
- var gcd = /* #__PURE__ */(0, _factoriesNumber.createGcd)({
673
+ var fix = /* #__PURE__ */(0, _factoriesNumber.createFix)({
674
+ ceil: ceil,
675
+ floor: floor,
674
676
  typed: typed
675
677
  });
676
- exports.gcd = gcd;
678
+ exports.fix = fix;
677
679
  var isPrime = /* #__PURE__ */(0, _factoriesNumber.createIsPrime)({
678
680
  typed: typed
679
681
  });
@@ -704,6 +706,10 @@ var bellNumbers = /* #__PURE__ */(0, _factoriesNumber.createBellNumbers)({
704
706
  typed: typed
705
707
  });
706
708
  exports.bellNumbers = bellNumbers;
709
+ var gcd = /* #__PURE__ */(0, _factoriesNumber.createGcd)({
710
+ typed: typed
711
+ });
712
+ exports.gcd = gcd;
707
713
  var mad = /* #__PURE__ */(0, _factoriesNumber.createMad)({
708
714
  abs: abs,
709
715
  map: map,
@@ -9,21 +9,20 @@ exports.createIndexNode = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
12
- var _is = require("../../utils/is.js");
13
-
14
12
  var _array = require("../../utils/array.js");
15
13
 
16
- var _string = require("../../utils/string.js");
14
+ var _customs = require("../../utils/customs.js");
17
15
 
18
16
  var _factory = require("../../utils/factory.js");
19
17
 
20
- var _customs = require("../../utils/customs.js");
18
+ var _is = require("../../utils/is.js");
19
+
20
+ var _string = require("../../utils/string.js");
21
21
 
22
22
  var name = 'IndexNode';
23
- var dependencies = ['Range', 'Node', 'size'];
23
+ var dependencies = ['Node', 'size'];
24
24
  var createIndexNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
25
- var Range = _ref.Range,
26
- Node = _ref.Node,
25
+ var Node = _ref.Node,
27
26
  size = _ref.size;
28
27
 
29
28
  /**
@@ -81,61 +80,32 @@ var createIndexNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
81
80
  // TODO: Optimization: when the range values are ConstantNodes,
82
81
  // we can beforehand resolve the zero-based value
83
82
  // optimization for a simple object property
84
- var evalDimensions = (0, _array.map)(this.dimensions, function (range, i) {
85
- if ((0, _is.isRangeNode)(range)) {
86
- if (range.needsEnd()) {
87
- // create a range containing end (like '4:end')
88
- var childArgNames = Object.create(argNames);
89
- childArgNames.end = true;
90
-
91
- var evalStart = range.start._compile(math, childArgNames);
92
-
93
- var evalEnd = range.end._compile(math, childArgNames);
94
-
95
- var evalStep = range.step ? range.step._compile(math, childArgNames) : function () {
96
- return 1;
97
- };
98
- return function evalDimension(scope, args, context) {
99
- var s = size(context).valueOf();
100
- var childArgs = Object.create(args);
101
- childArgs.end = s[i];
102
- return createRange(evalStart(scope, childArgs, context), evalEnd(scope, childArgs, context), evalStep(scope, childArgs, context));
103
- };
104
- } else {
105
- // create range
106
- var _evalStart = range.start._compile(math, argNames);
107
-
108
- var _evalEnd = range.end._compile(math, argNames);
109
-
110
- var _evalStep = range.step ? range.step._compile(math, argNames) : function () {
111
- return 1;
112
- };
113
-
114
- return function evalDimension(scope, args, context) {
115
- return createRange(_evalStart(scope, args, context), _evalEnd(scope, args, context), _evalStep(scope, args, context));
116
- };
117
- }
118
- } else if ((0, _is.isSymbolNode)(range) && range.name === 'end') {
119
- // SymbolNode 'end'
120
- var _childArgNames = Object.create(argNames);
121
-
122
- _childArgNames.end = true;
123
-
124
- var evalRange = range._compile(math, _childArgNames);
83
+ var evalDimensions = (0, _array.map)(this.dimensions, function (dimension, i) {
84
+ var needsEnd = dimension.filter(function (node) {
85
+ return node.isSymbolNode && node.name === 'end';
86
+ }).length > 0;
87
+
88
+ if (needsEnd) {
89
+ // SymbolNode 'end' is used inside the index,
90
+ // like in `A[end]` or `A[end - 2]`
91
+ var childArgNames = Object.create(argNames);
92
+ childArgNames.end = true;
93
+
94
+ var _evalDimension = dimension._compile(math, childArgNames);
125
95
 
126
96
  return function evalDimension(scope, args, context) {
97
+ if (!(0, _is.isMatrix)(context) && !(0, _is.isArray)(context) && !(0, _is.isString)(context)) {
98
+ throw new TypeError('Cannot resolve "end": ' + 'context must be a Matrix, Array, or string but is ' + (0, _is.typeOf)(context));
99
+ }
100
+
127
101
  var s = size(context).valueOf();
128
102
  var childArgs = Object.create(args);
129
103
  childArgs.end = s[i];
130
- return evalRange(scope, childArgs, context);
104
+ return _evalDimension(scope, childArgs, context);
131
105
  };
132
106
  } else {
133
- // ConstantNode
134
- var _evalRange = range._compile(math, argNames);
135
-
136
- return function evalDimension(scope, args, context) {
137
- return _evalRange(scope, args, context);
138
- };
107
+ // SymbolNode `end` not used
108
+ return dimension._compile(math, argNames);
139
109
  }
140
110
  });
141
111
  var index = (0, _customs.getSafeProperty)(math, 'index');
@@ -271,12 +241,7 @@ var createIndexNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
271
241
  return range.toTex(options);
272
242
  });
273
243
  return this.dotNotation ? '.' + this.getObjectProperty() + '' : '_{' + dimensions.join(',') + '}';
274
- }; // helper function to create a Range from start, step and end
275
-
276
-
277
- function createRange(start, end, step) {
278
- return new Range((0, _is.isBigNumber)(start) ? start.toNumber() : start, (0, _is.isBigNumber)(end) ? end.toNumber() : end, (0, _is.isBigNumber)(step) ? step.toNumber() : step);
279
- }
244
+ };
280
245
 
281
246
  return IndexNode;
282
247
  }, {
@@ -62,7 +62,13 @@ Object.defineProperty(exports, "createCatalan", {
62
62
  return _catalan.createCatalan;
63
63
  }
64
64
  });
65
- exports.createCeil = exports.createCbrt = void 0;
65
+ exports.createCbrt = void 0;
66
+ Object.defineProperty(exports, "createCeil", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _ceil.createCeilNumber;
70
+ }
71
+ });
66
72
  Object.defineProperty(exports, "createChain", {
67
73
  enumerable: true,
68
74
  get: function get() {
@@ -217,7 +223,18 @@ Object.defineProperty(exports, "createFilterTransform", {
217
223
  return _filterTransform.createFilterTransform;
218
224
  }
219
225
  });
220
- exports.createFloor = exports.createFix = void 0;
226
+ Object.defineProperty(exports, "createFix", {
227
+ enumerable: true,
228
+ get: function get() {
229
+ return _fix.createFixNumber;
230
+ }
231
+ });
232
+ Object.defineProperty(exports, "createFloor", {
233
+ enumerable: true,
234
+ get: function get() {
235
+ return _floor.createFloorNumber;
236
+ }
237
+ });
221
238
  Object.defineProperty(exports, "createForEach", {
222
239
  enumerable: true,
223
240
  get: function get() {
@@ -426,13 +443,7 @@ Object.defineProperty(exports, "createNode", {
426
443
  return _Node.createNode;
427
444
  }
428
445
  });
429
- exports.createNot = exports.createNorm = void 0;
430
- Object.defineProperty(exports, "createNthRoot", {
431
- enumerable: true,
432
- get: function get() {
433
- return _nthRoot.createNthRootNumber;
434
- }
435
- });
446
+ exports.createNthRoot = exports.createNot = exports.createNorm = void 0;
436
447
  Object.defineProperty(exports, "createNull", {
437
448
  enumerable: true,
438
449
  get: function get() {
@@ -609,13 +620,7 @@ Object.defineProperty(exports, "createReviver", {
609
620
  return _reviver.createReviver;
610
621
  }
611
622
  });
612
- exports.createRightLogShift = exports.createRightArithShift = void 0;
613
- Object.defineProperty(exports, "createRound", {
614
- enumerable: true,
615
- get: function get() {
616
- return _round.createRoundNumber;
617
- }
618
- });
623
+ exports.createRound = exports.createRightLogShift = exports.createRightArithShift = void 0;
619
624
  Object.defineProperty(exports, "createSQRT1_2", {
620
625
  enumerable: true,
621
626
  get: function get() {
@@ -798,9 +803,11 @@ var _derivative = require("./function/algebra/derivative.js");
798
803
 
799
804
  var _rationalize = require("./function/algebra/rationalize.js");
800
805
 
801
- var _nthRoot = require("./function/arithmetic/nthRoot.js");
806
+ var _ceil = require("./function/arithmetic/ceil.js");
807
+
808
+ var _fix = require("./function/arithmetic/fix.js");
802
809
 
803
- var _round = require("./function/arithmetic/round.js");
810
+ var _floor = require("./function/arithmetic/floor.js");
804
811
 
805
812
  var _hypot = require("./function/arithmetic/hypot.js");
806
813
 
@@ -1000,18 +1007,12 @@ var createAddScalar = /* #__PURE__ */createNumberFactory('addScalar', _index.add
1000
1007
  exports.createAddScalar = createAddScalar;
1001
1008
  var createCbrt = /* #__PURE__ */createNumberFactory('cbrt', _index.cbrtNumber);
1002
1009
  exports.createCbrt = createCbrt;
1003
- var createCeil = /* #__PURE__ */createNumberFactory('ceil', _index.ceilNumber);
1004
- exports.createCeil = createCeil;
1005
1010
  var createCube = /* #__PURE__ */createNumberFactory('cube', _index.cubeNumber);
1006
1011
  exports.createCube = createCube;
1007
1012
  var createExp = /* #__PURE__ */createNumberFactory('exp', _index.expNumber);
1008
1013
  exports.createExp = createExp;
1009
1014
  var createExpm1 = /* #__PURE__ */createNumberFactory('expm1', _index.expm1Number);
1010
1015
  exports.createExpm1 = createExpm1;
1011
- var createFix = /* #__PURE__ */createNumberFactory('fix', _index.fixNumber);
1012
- exports.createFix = createFix;
1013
- var createFloor = /* #__PURE__ */createNumberFactory('floor', _index.floorNumber);
1014
- exports.createFloor = createFloor;
1015
1016
  var createGcd = /* #__PURE__ */createNumberFactory('gcd', _index.gcdNumber);
1016
1017
  exports.createGcd = createGcd;
1017
1018
  var createLcm = /* #__PURE__ */createNumberFactory('lcm', _index.lcmNumber);
@@ -1026,6 +1027,8 @@ var createMultiplyScalar = /* #__PURE__ */createNumberFactory('multiplyScalar',
1026
1027
  exports.createMultiplyScalar = createMultiplyScalar;
1027
1028
  var createMultiply = /* #__PURE__ */createNumberFactory('multiply', _index.multiplyNumber);
1028
1029
  exports.createMultiply = createMultiply;
1030
+ var createNthRoot = /* #__PURE__ */createNumberOptionalSecondArgFactory('nthRoot', _index.nthRootNumber);
1031
+ exports.createNthRoot = createNthRoot;
1029
1032
  var createSign = /* #__PURE__ */createNumberFactory('sign', _index.signNumber);
1030
1033
  exports.createSign = createSign;
1031
1034
  var createSqrt = /* #__PURE__ */createNumberFactory('sqrt', _index.sqrtNumber);
@@ -1040,6 +1043,8 @@ var createDivideScalar = /* #__PURE__ */createNumberFactory('divideScalar', _ind
1040
1043
  exports.createDivideScalar = createDivideScalar;
1041
1044
  var createPow = /* #__PURE__ */createNumberFactory('pow', _index.powNumber);
1042
1045
  exports.createPow = createPow;
1046
+ var createRound = /* #__PURE__ */createNumberOptionalSecondArgFactory('round', _index.roundNumber);
1047
+ exports.createRound = createRound;
1043
1048
  var createLog = /* #__PURE__ */createNumberOptionalSecondArgFactory('log', _index.logNumber);
1044
1049
  exports.createLog = createLog;
1045
1050
  var createLog1p = /* #__PURE__ */createNumberFactory('log1p', _index.log1pNumber);
@@ -37,11 +37,11 @@ var createResolve = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
37
37
  *
38
38
  * simplify, evaluate
39
39
  *
40
- * @param {Node} node
41
- * The expression tree to be simplified
40
+ * @param {Node | Node[]} node
41
+ * The expression tree (or trees) to be simplified
42
42
  * @param {Object} scope
43
43
  * Scope specifying variables to be resolved
44
- * @return {Node} Returns `node` with variables recursively substituted.
44
+ * @return {Node | Node[]} Returns `node` with variables recursively substituted.
45
45
  * @throws {ReferenceError}
46
46
  * If there is a cyclic dependency among the variables in `scope`,
47
47
  * resolution is impossible and a ReferenceError is thrown.