mathjs 13.0.2 → 13.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. package/HISTORY.md +26 -1
  2. package/lib/browser/math.js +1 -1
  3. package/lib/browser/math.js.LICENSE.txt +2 -2
  4. package/lib/browser/math.js.map +1 -1
  5. package/lib/cjs/core/create.js +12 -9
  6. package/lib/cjs/core/function/import.js +1 -1
  7. package/lib/cjs/core/function/typed.js +3 -4
  8. package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
  9. package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
  10. package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
  11. package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
  12. package/lib/cjs/entry/typeChecks.js +18 -0
  13. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
  14. package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
  15. package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
  16. package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
  17. package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
  18. package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
  19. package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
  20. package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
  21. package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
  22. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
  23. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
  24. package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
  25. package/lib/cjs/expression/function/evaluate.js +5 -0
  26. package/lib/cjs/expression/node/FunctionNode.js +1 -1
  27. package/lib/cjs/expression/transform/filter.transform.js +2 -2
  28. package/lib/cjs/expression/transform/map.transform.js +104 -37
  29. package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
  30. package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
  31. package/lib/cjs/function/arithmetic/hypot.js +3 -3
  32. package/lib/cjs/function/matrix/apply.js +1 -1
  33. package/lib/cjs/function/matrix/fft.js +3 -3
  34. package/lib/cjs/function/matrix/filter.js +2 -2
  35. package/lib/cjs/function/matrix/flatten.js +5 -6
  36. package/lib/cjs/function/matrix/ifft.js +2 -2
  37. package/lib/cjs/function/matrix/kron.js +4 -4
  38. package/lib/cjs/function/matrix/map.js +109 -18
  39. package/lib/cjs/function/matrix/size.js +7 -7
  40. package/lib/cjs/function/matrix/squeeze.js +3 -4
  41. package/lib/cjs/function/probability/random.js +1 -1
  42. package/lib/cjs/function/probability/randomInt.js +1 -1
  43. package/lib/cjs/function/statistics/cumsum.js +2 -2
  44. package/lib/cjs/function/trigonometry/acoth.js +2 -2
  45. package/lib/cjs/function/trigonometry/acsch.js +2 -2
  46. package/lib/cjs/header.js +2 -2
  47. package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
  48. package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
  49. package/lib/cjs/type/unit/Unit.js +57 -114
  50. package/lib/cjs/utils/array.js +27 -0
  51. package/lib/cjs/utils/collection.js +1 -1
  52. package/lib/cjs/utils/function.js +0 -14
  53. package/lib/cjs/utils/is.js +27 -0
  54. package/lib/cjs/utils/map.js +2 -20
  55. package/lib/cjs/version.js +1 -1
  56. package/lib/esm/core/create.js +9 -6
  57. package/lib/esm/core/function/import.js +1 -1
  58. package/lib/esm/core/function/typed.js +2 -3
  59. package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
  60. package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
  61. package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
  62. package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
  63. package/lib/esm/entry/typeChecks.js +1 -1
  64. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
  65. package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
  66. package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
  67. package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
  68. package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
  69. package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
  70. package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
  71. package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
  72. package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
  73. package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
  74. package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
  75. package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
  76. package/lib/esm/expression/function/compile.js +1 -1
  77. package/lib/esm/expression/function/evaluate.js +8 -3
  78. package/lib/esm/expression/node/FunctionNode.js +1 -1
  79. package/lib/esm/expression/parse.js +2 -2
  80. package/lib/esm/expression/transform/filter.transform.js +4 -4
  81. package/lib/esm/expression/transform/forEach.transform.js +4 -4
  82. package/lib/esm/expression/transform/map.transform.js +104 -37
  83. package/lib/esm/expression/transform/print.transform.js +2 -2
  84. package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
  85. package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
  86. package/lib/esm/function/algebra/decomposition/slu.js +1 -1
  87. package/lib/esm/function/algebra/derivative.js +15 -15
  88. package/lib/esm/function/algebra/lyap.js +4 -4
  89. package/lib/esm/function/algebra/simplify/util.js +3 -3
  90. package/lib/esm/function/algebra/simplifyConstant.js +9 -9
  91. package/lib/esm/function/algebra/solver/lsolve.js +3 -3
  92. package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
  93. package/lib/esm/function/algebra/solver/lusolve.js +5 -5
  94. package/lib/esm/function/algebra/solver/usolve.js +3 -3
  95. package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
  96. package/lib/esm/function/algebra/sylvester.js +7 -7
  97. package/lib/esm/function/arithmetic/addScalar.js +4 -4
  98. package/lib/esm/function/arithmetic/ceil.js +6 -6
  99. package/lib/esm/function/arithmetic/divide.js +5 -5
  100. package/lib/esm/function/arithmetic/divideScalar.js +5 -5
  101. package/lib/esm/function/arithmetic/fix.js +5 -5
  102. package/lib/esm/function/arithmetic/floor.js +6 -6
  103. package/lib/esm/function/arithmetic/hypot.js +3 -3
  104. package/lib/esm/function/arithmetic/mod.js +3 -3
  105. package/lib/esm/function/arithmetic/multiply.js +7 -7
  106. package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
  107. package/lib/esm/function/arithmetic/norm.js +2 -2
  108. package/lib/esm/function/arithmetic/pow.js +6 -6
  109. package/lib/esm/function/arithmetic/round.js +7 -7
  110. package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
  111. package/lib/esm/function/arithmetic/xgcd.js +1 -1
  112. package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
  113. package/lib/esm/function/combinatorics/catalan.js +1 -1
  114. package/lib/esm/function/combinatorics/composition.js +1 -1
  115. package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
  116. package/lib/esm/function/geometry/distance.js +4 -4
  117. package/lib/esm/function/geometry/intersect.js +2 -2
  118. package/lib/esm/function/logical/and.js +2 -2
  119. package/lib/esm/function/logical/or.js +2 -2
  120. package/lib/esm/function/logical/xor.js +2 -2
  121. package/lib/esm/function/matrix/apply.js +2 -2
  122. package/lib/esm/function/matrix/column.js +1 -1
  123. package/lib/esm/function/matrix/concat.js +1 -1
  124. package/lib/esm/function/matrix/count.js +1 -1
  125. package/lib/esm/function/matrix/cross.js +3 -3
  126. package/lib/esm/function/matrix/diag.js +10 -10
  127. package/lib/esm/function/matrix/diff.js +2 -2
  128. package/lib/esm/function/matrix/eigs.js +3 -3
  129. package/lib/esm/function/matrix/fft.js +3 -3
  130. package/lib/esm/function/matrix/filter.js +4 -4
  131. package/lib/esm/function/matrix/flatten.js +5 -6
  132. package/lib/esm/function/matrix/forEach.js +4 -4
  133. package/lib/esm/function/matrix/identity.js +6 -6
  134. package/lib/esm/function/matrix/ifft.js +3 -3
  135. package/lib/esm/function/matrix/inv.js +1 -1
  136. package/lib/esm/function/matrix/kron.js +7 -7
  137. package/lib/esm/function/matrix/map.js +110 -19
  138. package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
  139. package/lib/esm/function/matrix/ones.js +2 -2
  140. package/lib/esm/function/matrix/partitionSelect.js +2 -2
  141. package/lib/esm/function/matrix/pinv.js +1 -1
  142. package/lib/esm/function/matrix/range.js +10 -10
  143. package/lib/esm/function/matrix/reshape.js +2 -2
  144. package/lib/esm/function/matrix/rotate.js +4 -4
  145. package/lib/esm/function/matrix/rotationMatrix.js +6 -6
  146. package/lib/esm/function/matrix/row.js +1 -1
  147. package/lib/esm/function/matrix/size.js +8 -8
  148. package/lib/esm/function/matrix/sort.js +4 -4
  149. package/lib/esm/function/matrix/sqrtm.js +1 -1
  150. package/lib/esm/function/matrix/squeeze.js +3 -4
  151. package/lib/esm/function/matrix/subset.js +2 -2
  152. package/lib/esm/function/matrix/zeros.js +2 -2
  153. package/lib/esm/function/probability/combinations.js +1 -1
  154. package/lib/esm/function/probability/combinationsWithRep.js +2 -2
  155. package/lib/esm/function/probability/kldivergence.js +4 -4
  156. package/lib/esm/function/probability/multinomial.js +1 -1
  157. package/lib/esm/function/probability/permutations.js +2 -2
  158. package/lib/esm/function/probability/pickRandom.js +6 -6
  159. package/lib/esm/function/probability/random.js +1 -1
  160. package/lib/esm/function/probability/randomInt.js +1 -1
  161. package/lib/esm/function/relational/compare.js +6 -6
  162. package/lib/esm/function/relational/deepEqual.js +1 -1
  163. package/lib/esm/function/relational/equal.js +1 -1
  164. package/lib/esm/function/relational/equalScalar.js +7 -7
  165. package/lib/esm/function/relational/equalText.js +1 -1
  166. package/lib/esm/function/relational/larger.js +3 -3
  167. package/lib/esm/function/relational/largerEq.js +4 -4
  168. package/lib/esm/function/relational/smaller.js +3 -3
  169. package/lib/esm/function/relational/smallerEq.js +3 -3
  170. package/lib/esm/function/relational/unequal.js +1 -1
  171. package/lib/esm/function/set/setCartesian.js +1 -1
  172. package/lib/esm/function/set/setDifference.js +1 -1
  173. package/lib/esm/function/set/setDistinct.js +1 -1
  174. package/lib/esm/function/set/setIntersect.js +1 -1
  175. package/lib/esm/function/set/setIsSubset.js +1 -1
  176. package/lib/esm/function/set/setMultiplicity.js +1 -1
  177. package/lib/esm/function/set/setPowerset.js +1 -1
  178. package/lib/esm/function/set/setSize.js +2 -2
  179. package/lib/esm/function/set/setSymDifference.js +1 -1
  180. package/lib/esm/function/set/setUnion.js +1 -1
  181. package/lib/esm/function/signal/freqz.js +6 -6
  182. package/lib/esm/function/statistics/corr.js +2 -2
  183. package/lib/esm/function/statistics/cumsum.js +3 -3
  184. package/lib/esm/function/statistics/max.js +1 -1
  185. package/lib/esm/function/statistics/median.js +3 -3
  186. package/lib/esm/function/statistics/min.js +1 -1
  187. package/lib/esm/function/statistics/prod.js +1 -1
  188. package/lib/esm/function/statistics/variance.js +2 -2
  189. package/lib/esm/function/string/bin.js +2 -2
  190. package/lib/esm/function/string/hex.js +2 -2
  191. package/lib/esm/function/string/oct.js +2 -2
  192. package/lib/esm/function/trigonometry/acoth.js +2 -2
  193. package/lib/esm/function/trigonometry/acsch.js +2 -2
  194. package/lib/esm/type/bigint.js +1 -1
  195. package/lib/esm/type/complex/function/complex.js +2 -2
  196. package/lib/esm/type/fraction/function/fraction.js +1 -1
  197. package/lib/esm/type/matrix/DenseMatrix.js +13 -38
  198. package/lib/esm/type/matrix/SparseMatrix.js +5 -8
  199. package/lib/esm/type/matrix/function/index.js +1 -1
  200. package/lib/esm/type/matrix/function/matrix.js +1 -1
  201. package/lib/esm/type/matrix/function/sparse.js +2 -2
  202. package/lib/esm/type/number.js +1 -1
  203. package/lib/esm/type/unit/Unit.js +57 -114
  204. package/lib/esm/type/unit/function/createUnit.js +3 -3
  205. package/lib/esm/type/unit/function/splitUnit.js +1 -1
  206. package/lib/esm/type/unit/function/unit.js +2 -2
  207. package/lib/esm/utils/array.js +26 -0
  208. package/lib/esm/utils/collection.js +1 -1
  209. package/lib/esm/utils/function.js +0 -13
  210. package/lib/esm/utils/is.js +24 -0
  211. package/lib/esm/utils/map.js +2 -19
  212. package/lib/esm/version.js +1 -1
  213. package/package.json +19 -19
  214. package/types/index.d.ts +108 -25
@@ -430,7 +430,7 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
430
430
  * Return the type of the value of this unit
431
431
  *
432
432
  * @memberof Unit
433
- * @ return {string} type of the value of the unit
433
+ * @return {string} type of the value of the unit
434
434
  */
435
435
  Unit.prototype.valueType = function () {
436
436
  return (0, _is.typeOf)(this.value);
@@ -440,6 +440,7 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
440
440
  * Return whether the unit is derived (such as m/s, or cm^2, but not N)
441
441
  * @memberof Unit
442
442
  * @return {boolean} True if the unit is derived
443
+ * @private
443
444
  */
444
445
  Unit.prototype._isDerived = function () {
445
446
  if (this.units.length === 0) {
@@ -552,7 +553,7 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
552
553
  * check if this unit has given base unit
553
554
  * If this unit is a derived unit, this will ALWAYS return false, since by definition base units are not derived.
554
555
  * @memberof Unit
555
- * @param {BASE_UNITS | string | undefined} base
556
+ * @param {BASE_UNIT | string | undefined} base
556
557
  */
557
558
  Unit.prototype.hasBase = function (base) {
558
559
  if (typeof base === 'string') {
@@ -2323,34 +2324,34 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
2323
2324
  name: 'minim',
2324
2325
  base: BASE_UNITS.VOLUME,
2325
2326
  prefixes: PREFIXES.NONE,
2326
- value: 0.00000006161152,
2327
+ value: 0.000000061611519921875,
2327
2328
  offset: 0
2328
2329
  },
2329
- // 0.06161152 mL
2330
+ // 1/61440 gallons
2330
2331
  fluiddram: {
2331
2332
  name: 'fluiddram',
2332
2333
  base: BASE_UNITS.VOLUME,
2333
2334
  prefixes: PREFIXES.NONE,
2334
- value: 0.0000036966911,
2335
+ value: 0.0000036966911953125,
2335
2336
  offset: 0
2336
2337
  },
2337
- // 3.696691 mL
2338
+ // 1/1024 gallons
2338
2339
  fluidounce: {
2339
2340
  name: 'fluidounce',
2340
2341
  base: BASE_UNITS.VOLUME,
2341
2342
  prefixes: PREFIXES.NONE,
2342
- value: 0.00002957353,
2343
+ value: 0.0000295735295625,
2343
2344
  offset: 0
2344
2345
  },
2345
- // 29.57353 mL
2346
+ // 1/128 gallons
2346
2347
  gill: {
2347
2348
  name: 'gill',
2348
2349
  base: BASE_UNITS.VOLUME,
2349
2350
  prefixes: PREFIXES.NONE,
2350
- value: 0.0001182941,
2351
+ value: 0.00011829411825,
2351
2352
  offset: 0
2352
2353
  },
2353
- // 118.2941 mL
2354
+ // 1/32 gallons
2354
2355
  cc: {
2355
2356
  name: 'cc',
2356
2357
  base: BASE_UNITS.VOLUME,
@@ -2363,133 +2364,58 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
2363
2364
  name: 'cup',
2364
2365
  base: BASE_UNITS.VOLUME,
2365
2366
  prefixes: PREFIXES.NONE,
2366
- value: 0.0002365882,
2367
+ value: 0.0002365882365,
2367
2368
  offset: 0
2368
2369
  },
2369
- // 236.5882 mL
2370
+ // 1/16 gallons
2370
2371
  pint: {
2371
2372
  name: 'pint',
2372
2373
  base: BASE_UNITS.VOLUME,
2373
2374
  prefixes: PREFIXES.NONE,
2374
- value: 0.0004731765,
2375
+ value: 0.000473176473,
2375
2376
  offset: 0
2376
2377
  },
2377
- // 473.1765 mL
2378
+ // 1/8 gallons
2378
2379
  quart: {
2379
2380
  name: 'quart',
2380
2381
  base: BASE_UNITS.VOLUME,
2381
2382
  prefixes: PREFIXES.NONE,
2382
- value: 0.0009463529,
2383
+ value: 0.000946352946,
2383
2384
  offset: 0
2384
2385
  },
2385
- // 946.3529 mL
2386
+ // 1/4 gallons
2386
2387
  gallon: {
2387
2388
  name: 'gallon',
2388
2389
  base: BASE_UNITS.VOLUME,
2389
2390
  prefixes: PREFIXES.NONE,
2390
- value: 0.003785412,
2391
+ value: 0.003785411784,
2391
2392
  offset: 0
2392
2393
  },
2393
- // 3.785412 L
2394
+ // 3.785411784 L
2394
2395
  beerbarrel: {
2395
2396
  name: 'beerbarrel',
2396
2397
  base: BASE_UNITS.VOLUME,
2397
2398
  prefixes: PREFIXES.NONE,
2398
- value: 0.1173478,
2399
+ value: 0.117347765304,
2399
2400
  offset: 0
2400
2401
  },
2401
- // 117.3478 L
2402
+ // 31 gallons
2402
2403
  oilbarrel: {
2403
2404
  name: 'oilbarrel',
2404
2405
  base: BASE_UNITS.VOLUME,
2405
2406
  prefixes: PREFIXES.NONE,
2406
- value: 0.1589873,
2407
+ value: 0.158987294928,
2407
2408
  offset: 0
2408
2409
  },
2409
- // 158.9873 L
2410
+ // 42 gallons
2410
2411
  hogshead: {
2411
2412
  name: 'hogshead',
2412
2413
  base: BASE_UNITS.VOLUME,
2413
2414
  prefixes: PREFIXES.NONE,
2414
- value: 0.2384810,
2415
+ value: 0.238480942392,
2415
2416
  offset: 0
2416
2417
  },
2417
- // 238.4810 L
2418
-
2419
- // {name: 'min', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.00000006161152, offset: 0}, // 0.06161152 mL // min is already in use as minute
2420
- fldr: {
2421
- name: 'fldr',
2422
- base: BASE_UNITS.VOLUME,
2423
- prefixes: PREFIXES.NONE,
2424
- value: 0.0000036966911,
2425
- offset: 0
2426
- },
2427
- // 3.696691 mL
2428
- floz: {
2429
- name: 'floz',
2430
- base: BASE_UNITS.VOLUME,
2431
- prefixes: PREFIXES.NONE,
2432
- value: 0.00002957353,
2433
- offset: 0
2434
- },
2435
- // 29.57353 mL
2436
- gi: {
2437
- name: 'gi',
2438
- base: BASE_UNITS.VOLUME,
2439
- prefixes: PREFIXES.NONE,
2440
- value: 0.0001182941,
2441
- offset: 0
2442
- },
2443
- // 118.2941 mL
2444
- cp: {
2445
- name: 'cp',
2446
- base: BASE_UNITS.VOLUME,
2447
- prefixes: PREFIXES.NONE,
2448
- value: 0.0002365882,
2449
- offset: 0
2450
- },
2451
- // 236.5882 mL
2452
- pt: {
2453
- name: 'pt',
2454
- base: BASE_UNITS.VOLUME,
2455
- prefixes: PREFIXES.NONE,
2456
- value: 0.0004731765,
2457
- offset: 0
2458
- },
2459
- // 473.1765 mL
2460
- qt: {
2461
- name: 'qt',
2462
- base: BASE_UNITS.VOLUME,
2463
- prefixes: PREFIXES.NONE,
2464
- value: 0.0009463529,
2465
- offset: 0
2466
- },
2467
- // 946.3529 mL
2468
- gal: {
2469
- name: 'gal',
2470
- base: BASE_UNITS.VOLUME,
2471
- prefixes: PREFIXES.NONE,
2472
- value: 0.003785412,
2473
- offset: 0
2474
- },
2475
- // 3.785412 L
2476
- bbl: {
2477
- name: 'bbl',
2478
- base: BASE_UNITS.VOLUME,
2479
- prefixes: PREFIXES.NONE,
2480
- value: 0.1173478,
2481
- offset: 0
2482
- },
2483
- // 117.3478 L
2484
- obl: {
2485
- name: 'obl',
2486
- base: BASE_UNITS.VOLUME,
2487
- prefixes: PREFIXES.NONE,
2488
- value: 0.1589873,
2489
- offset: 0
2490
- },
2491
- // 158.9873 L
2492
- // {name: 'hogshead', base: BASE_UNITS.VOLUME, prefixes: PREFIXES.NONE, value: 0.2384810, offset: 0}, // 238.4810 L // TODO: hh?
2418
+ // 63 gallons
2493
2419
 
2494
2420
  // Mass
2495
2421
  g: {
@@ -3293,14 +3219,23 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3293
3219
  teaspoons: 'teaspoon',
3294
3220
  tablespoons: 'tablespoon',
3295
3221
  minims: 'minim',
3222
+ fldr: 'fluiddram',
3296
3223
  fluiddrams: 'fluiddram',
3224
+ floz: 'fluidounce',
3297
3225
  fluidounces: 'fluidounce',
3226
+ gi: 'gill',
3298
3227
  gills: 'gill',
3228
+ cp: 'cup',
3299
3229
  cups: 'cup',
3230
+ pt: 'pint',
3300
3231
  pints: 'pint',
3232
+ qt: 'quart',
3301
3233
  quarts: 'quart',
3234
+ gal: 'gallon',
3302
3235
  gallons: 'gallon',
3236
+ bbl: 'beerbarrel',
3303
3237
  beerbarrels: 'beerbarrel',
3238
+ obl: 'oilbarrel',
3304
3239
  oilbarrels: 'oilbarrel',
3305
3240
  hogsheads: 'hogshead',
3306
3241
  gtts: 'gtt',
@@ -3573,6 +3508,7 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3573
3508
 
3574
3509
  /**
3575
3510
  * Set a unit system for formatting derived units.
3511
+ * @memberof Unit
3576
3512
  * @param {string} [name] The name of the unit system.
3577
3513
  */
3578
3514
  Unit.setUnitSystem = function (name) {
@@ -3585,6 +3521,7 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3585
3521
 
3586
3522
  /**
3587
3523
  * Return the current unit system.
3524
+ * @memberof Unit
3588
3525
  * @return {string} The current unit system.
3589
3526
  */
3590
3527
  Unit.getUnitSystem = function () {
@@ -3674,7 +3611,9 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3674
3611
  /**
3675
3612
  * Checks if a character is a valid latin letter (upper or lower case).
3676
3613
  * Note that this function can be overridden, for example to allow support of other alphabets.
3614
+ * @memberof Unit
3677
3615
  * @param {string} c Tested character
3616
+ * @return {boolean} true if the character is a latin letter
3678
3617
  */
3679
3618
  Unit.isValidAlpha = function isValidAlpha(c) {
3680
3619
  return /^[a-zA-Z]$/.test(c);
@@ -3694,20 +3633,24 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3694
3633
  /**
3695
3634
  * Wrapper around createUnitSingle.
3696
3635
  * Example:
3697
- * createUnit({
3698
- * foo: { },
3699
- * bar: {
3700
- * definition: 'kg/foo',
3701
- * aliases: ['ba', 'barr', 'bars'],
3702
- * offset: 200
3703
- * },
3704
- * baz: '4 bar'
3705
- * },
3706
- * {
3707
- * override: true
3708
- * })
3636
+ * createUnit( {
3637
+ * foo: {
3638
+ * prefixes: 'long',
3639
+ * baseName: 'essence-of-foo'
3640
+ * },
3641
+ * bar: '40 foo',
3642
+ * baz: {
3643
+ * definition: '1 bar/hour',
3644
+ * prefixes: 'long'
3645
+ * }
3646
+ * },
3647
+ * {
3648
+ * override: true
3649
+ * })
3650
+ * @memberof Unit
3709
3651
  * @param {object} obj Object map. Each key becomes a unit which is defined by its value.
3710
3652
  * @param {object} options
3653
+ * @return {Unit} the last created unit
3711
3654
  */
3712
3655
  Unit.createUnit = function (obj, options) {
3713
3656
  if (typeof obj !== 'object') {
@@ -3742,13 +3685,13 @@ const createUnitClass = exports.createUnitClass = /* #__PURE__ */(0, _factory.fa
3742
3685
  * Create a user-defined unit and register it with the Unit type.
3743
3686
  * Example:
3744
3687
  * createUnitSingle('knot', '0.514444444 m/s')
3745
- * createUnitSingle('acre', new Unit(43560, 'ft^2'))
3746
3688
  *
3689
+ * @memberof Unit
3747
3690
  * @param {string} name The name of the new unit. Must be unique. Example: 'knot'
3748
- * @param {string, Unit, Object} definition Definition of the unit in terms
3691
+ * @param {string | Unit | object} definition Definition of the unit in terms
3749
3692
  * of existing units. For example, '0.514444444 m / s'. Can be a Unit, a string,
3750
3693
  * or an Object. If an Object, may have the following properties:
3751
- * - definition {string|Unit} The definition of this unit.
3694
+ * - definition {string | Unit} The definition of this unit.
3752
3695
  * - prefixes {string} "none", "short", "long", "binary_short", or "binary_long".
3753
3696
  * The default is "none".
3754
3697
  * - aliases {Array} Array of strings. Example: ['knots', 'kt', 'kts']
@@ -16,6 +16,7 @@ exports.filterRegExp = filterRegExp;
16
16
  exports.flatten = flatten;
17
17
  exports.forEach = forEach;
18
18
  exports.generalize = generalize;
19
+ exports.get = get;
19
20
  exports.getArrayDataType = getArrayDataType;
20
21
  exports.identify = identify;
21
22
  exports.initial = initial;
@@ -813,6 +814,32 @@ function stretch(arrayToStretch, sizeToStretch, dimToStretch) {
813
814
  return concat(...Array(sizeToStretch).fill(arrayToStretch), dimToStretch);
814
815
  }
815
816
 
817
+ /**
818
+ * Retrieves a single element from an array given an index.
819
+ *
820
+ * @param {Array} array - The array from which to retrieve the value.
821
+ * @param {Array<number>} idx - An array of indices specifying the position of the desired element in each dimension.
822
+ * @returns {*} - The value at the specified position in the array.
823
+ *
824
+ * @example
825
+ * const arr = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]];
826
+ * const index = [1, 0, 1];
827
+ * console.log(getValue(arr, index)); // 6
828
+ */
829
+ function get(array, index) {
830
+ if (!Array.isArray(array)) {
831
+ throw new Error('Array expected');
832
+ }
833
+ const size = arraySize(array);
834
+ if (index.length !== size.length) {
835
+ throw new _DimensionError.DimensionError(index.length, size.length);
836
+ }
837
+ for (let x = 0; x < index.length; x++) {
838
+ validateIndex(index[x], size[x]);
839
+ }
840
+ return index.reduce((acc, curr) => acc[curr], array);
841
+ }
842
+
816
843
  /**
817
844
  * Deep clones a multidimensional array
818
845
  * @param {Array} array
@@ -87,7 +87,7 @@ function reduce(mat, dim, callback) {
87
87
  throw new _IndexError.IndexError(dim, size.length);
88
88
  }
89
89
  if ((0, _is.isMatrix)(mat)) {
90
- return mat.create(_reduce(mat.valueOf(), dim, callback));
90
+ return mat.create(_reduce(mat.valueOf(), dim, callback), mat.datatype());
91
91
  } else {
92
92
  return _reduce(mat, dim, callback);
93
93
  }
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.maxArgumentCount = maxArgumentCount;
7
6
  exports.memoize = memoize;
8
7
  exports.memoizeCompare = memoizeCompare;
9
8
  var _lruQueue = require("./lruQueue.js");
@@ -90,17 +89,4 @@ function memoizeCompare(fn, isEqual) {
90
89
  };
91
90
  memoize.cache = [];
92
91
  return memoize;
93
- }
94
-
95
- /**
96
- * Find the maximum number of arguments expected by a typed function.
97
- * @param {function} fn A typed function
98
- * @return {number} Returns the maximum number of expected arguments.
99
- * Returns -1 when no signatures where found on the function.
100
- */
101
- function maxArgumentCount(fn) {
102
- return Object.keys(fn.signatures || {}).reduce(function (args, signature) {
103
- const count = (signature.match(/,/g) || []).length + 1;
104
- return Math.max(args, count);
105
- }, -1);
106
92
  }
@@ -25,14 +25,17 @@ exports.isFunctionNode = isFunctionNode;
25
25
  exports.isHelp = isHelp;
26
26
  exports.isIndex = isIndex;
27
27
  exports.isIndexNode = isIndexNode;
28
+ exports.isMap = isMap;
28
29
  exports.isMatrix = isMatrix;
29
30
  exports.isNode = isNode;
30
31
  exports.isNull = isNull;
31
32
  exports.isNumber = isNumber;
32
33
  exports.isObject = isObject;
33
34
  exports.isObjectNode = isObjectNode;
35
+ exports.isObjectWrappingMap = isObjectWrappingMap;
34
36
  exports.isOperatorNode = isOperatorNode;
35
37
  exports.isParenthesisNode = isParenthesisNode;
38
+ exports.isPartitionedMap = isPartitionedMap;
36
39
  exports.isRange = isRange;
37
40
  exports.isRangeNode = isRangeNode;
38
41
  exports.isRegExp = isRegExp;
@@ -45,6 +48,7 @@ exports.isUndefined = isUndefined;
45
48
  exports.isUnit = isUnit;
46
49
  exports.rule2Node = rule2Node;
47
50
  exports.typeOf = typeOf;
51
+ var _map = require("./map.js");
48
52
  // type checks for all known types
49
53
  //
50
54
  // note that:
@@ -135,6 +139,29 @@ function isRegExp(x) {
135
139
  function isObject(x) {
136
140
  return !!(x && typeof x === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
137
141
  }
142
+
143
+ /**
144
+ * Returns `true` if the passed object appears to be a Map (i.e. duck typing).
145
+ *
146
+ * Methods looked for are `get`, `set`, `keys` and `has`.
147
+ *
148
+ * @param {Map | object} object
149
+ * @returns
150
+ */
151
+ function isMap(object) {
152
+ // We can use the fast instanceof, or a slower duck typing check.
153
+ // The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
154
+ if (!object) {
155
+ return false;
156
+ }
157
+ return object instanceof Map || object instanceof _map.ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
158
+ }
159
+ function isPartitionedMap(object) {
160
+ return isMap(object) && isMap(object.a) && isMap(object.b);
161
+ }
162
+ function isObjectWrappingMap(object) {
163
+ return isMap(object) && isObject(object.wrappedObject);
164
+ }
138
165
  function isNull(x) {
139
166
  return x === null;
140
167
  }
@@ -7,7 +7,6 @@ exports.PartitionedMap = exports.ObjectWrappingMap = void 0;
7
7
  exports.assign = assign;
8
8
  exports.createEmptyMap = createEmptyMap;
9
9
  exports.createMap = createMap;
10
- exports.isMap = isMap;
11
10
  exports.toObject = toObject;
12
11
  var _customs = require("./customs.js");
13
12
  var _is = require("./is.js");
@@ -157,7 +156,7 @@ function createMap(mapOrObject) {
157
156
  if (!mapOrObject) {
158
157
  return createEmptyMap();
159
158
  }
160
- if (isMap(mapOrObject)) {
159
+ if ((0, _is.isMap)(mapOrObject)) {
161
160
  return mapOrObject;
162
161
  }
163
162
  if ((0, _is.isObject)(mapOrObject)) {
@@ -184,23 +183,6 @@ function toObject(map) {
184
183
  return object;
185
184
  }
186
185
 
187
- /**
188
- * Returns `true` if the passed object appears to be a Map (i.e. duck typing).
189
- *
190
- * Methods looked for are `get`, `set`, `keys` and `has`.
191
- *
192
- * @param {Map | object} object
193
- * @returns
194
- */
195
- function isMap(object) {
196
- // We can use the fast instanceof, or a slower duck typing check.
197
- // The duck typing method needs to cover enough methods to not be confused with DenseMatrix.
198
- if (!object) {
199
- return false;
200
- }
201
- return object instanceof Map || object instanceof ObjectWrappingMap || typeof object.set === 'function' && typeof object.get === 'function' && typeof object.keys === 'function' && typeof object.has === 'function';
202
- }
203
-
204
186
  /**
205
187
  * Copies the contents of key-value pairs from each `objects` in to `map`.
206
188
  *
@@ -216,7 +198,7 @@ function assign(map) {
216
198
  if (!args) {
217
199
  continue;
218
200
  }
219
- if (isMap(args)) {
201
+ if ((0, _is.isMap)(args)) {
220
202
  for (const key of args.keys()) {
221
203
  map.set(key, args.get(key));
222
204
  }
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '13.0.2';
7
+ const version = exports.version = '13.1.0';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
@@ -1,15 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import typedFunction from 'typed-function';
3
- import { deepFlatten, isLegacyFactory } from '../utils/object.js';
4
- import * as emitter from './../utils/emitter.js';
5
- import { importFactory } from './function/import.js';
6
- import { configFactory } from './function/config.js';
7
- import { factory, isFactory } from '../utils/factory.js';
8
- import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit, isBigInt } from '../utils/is.js';
9
3
  import { ArgumentsError } from '../error/ArgumentsError.js';
10
4
  import { DimensionError } from '../error/DimensionError.js';
11
5
  import { IndexError } from '../error/IndexError.js';
6
+ import { factory, isFactory } from '../utils/factory.js';
7
+ import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigInt, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMap, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isObjectWrappingMap, isOperatorNode, isParenthesisNode, isPartitionedMap, isRange, isRangeNode, isRegExp, isRelationalNode, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../utils/is.js';
8
+ import { deepFlatten, isLegacyFactory } from '../utils/object.js';
9
+ import * as emitter from './../utils/emitter.js';
12
10
  import { DEFAULT_CONFIG } from './config.js';
11
+ import { configFactory } from './function/config.js';
12
+ import { importFactory } from './function/import.js';
13
13
 
14
14
  /**
15
15
  * Create a mathjs instance from given factory functions and optionally config
@@ -85,6 +85,9 @@ export function create(factories, config) {
85
85
  isDate,
86
86
  isRegExp,
87
87
  isObject,
88
+ isMap,
89
+ isPartitionedMap,
90
+ isObjectWrappingMap,
88
91
  isNull,
89
92
  isUndefined,
90
93
  isAccessorNode,
@@ -219,7 +219,7 @@ export function importFactory(typed, load, math, importedFactories) {
219
219
  throw new Error('Factory name should not contain a nested path. ' + 'Name: ' + JSON.stringify(name));
220
220
  }
221
221
  var namespace = isTransformFunctionFactory(factory) ? math.expression.transform : math;
222
- var existingTransform = (name in math.expression.transform);
222
+ var existingTransform = name in math.expression.transform;
223
223
  var existing = hasOwnProperty(namespace, name) ? namespace[name] : undefined;
224
224
  var resolver = function resolver() {
225
225
  // collect all dependencies, handle finding both functions and classes and other special cases
@@ -36,11 +36,10 @@
36
36
  * @returns {function} The created typed-function.
37
37
  */
38
38
 
39
- import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit, isBigInt } from '../../utils/is.js';
40
39
  import typedFunction from 'typed-function';
41
- import { digits } from '../../utils/number.js';
42
40
  import { factory } from '../../utils/factory.js';
43
- import { isMap } from '../../utils/map.js';
41
+ import { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigInt, isBigNumber, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMap, isMatrix, isNode, isNull, isNumber, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRegExp, isRelationalNode, isResultSet, isSparseMatrix, isString, isSymbolNode, isUndefined, isUnit } from '../../utils/is.js';
42
+ import { digits } from '../../utils/number.js';
44
43
 
45
44
  // returns a new instance of typed-function
46
45
  var _createTyped2 = function _createTyped() {
@@ -2,11 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { matrixDependencies } from './dependenciesMatrix.generated.js';
6
5
  import { typedDependencies } from './dependenciesTyped.generated.js';
7
6
  import { createFlatten } from '../../factoriesAny.js';
8
7
  export var flattenDependencies = {
9
- matrixDependencies,
10
8
  typedDependencies,
11
9
  createFlatten
12
10
  };
@@ -2,11 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { matrixDependencies } from './dependenciesMatrix.generated.js';
6
5
  import { typedDependencies } from './dependenciesTyped.generated.js';
7
6
  import { createSqueeze } from '../../factoriesAny.js';
8
7
  export var squeezeDependencies = {
9
- matrixDependencies,
10
8
  typedDependencies,
11
9
  createSqueeze
12
10
  };
@@ -7,7 +7,7 @@ import { config } from './configReadonly.js';
7
7
  import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createIndexNode, createAccessorNode, createAssignmentNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createSimplifyCore, createEvaluate, createHelpClass, createParserClass, createSimplify, createSymbolicEqual, createLeafCount, createParser, createRationalize, createDerivative, createHelp, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createOrTransform, createAndTransform, createConcatTransform, createMaxTransform, createPrintTransform, createBitAndTransform, createDiffTransform, createMinTransform, createSubsetTransform, createBitOrTransform, createCumSumTransform, createIndexTransform, createSumTransform, createRangeTransform, createRowTransform, createColumnTransform, createMeanTransform, createQuantileSeqTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js';
8
8
  import { BigNumber, Complex, e, _false, fineStructure, Fraction, i, _Infinity, LN10, LOG10E, Matrix, _NaN, _null, phi, Range, ResultSet, SQRT1_2,
9
9
  // eslint-disable-line camelcase
10
- sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, subtractScalar, tan, typeOf, acosh, acsch, apply, asec, bignumber, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, bin, coth, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, squeeze, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, flatten, hasNumericValue, identity, kron, largerEq, leftShift, lsolve, matrixFromColumns, nthRoot, ones, qr, resize, rightArithShift, round, smaller, subtract, to, unaryPlus, usolve, xor, add, atan2, bitAnd, bitOr, bitXor, catalan, compare, compareText, cumsum, deepEqual, diff, distance, dot, equalText, floor, gcd, hypot, ImmutableDenseMatrix, Index, larger, log, lsolveAll, matrixFromRows, min, mod, multiply, nthRoots, or, partitionSelect, rightLogShift, slu, subset, sum, trace, usolveAll, zpk2tf, ceil, compareNatural, composition, cross, det, dotMultiply, FibonacciHeap, fix, index, intersect, invmod, lcm, log1p, max, setCartesian, setDistinct, setIsSubset, setPowerset, smallerEq, sort, unequal, and, range, row, setDifference, setMultiplicity, setSymDifference, Spa, column, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, createUnit, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, kldivergence, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
10
+ sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bigint, bitNot, boolean, clone, combinations, complex, conj, cos, cot, csc, cube, equalScalar, erf, exp, expm1, filter, flatten, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, subtractScalar, tan, typeOf, acosh, acsch, apply, asec, bignumber, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, squeeze, tanh, unaryMinus, acoth, bin, coth, fraction, isNumeric, matrix, matrixFromFunction, mode, numeric, prod, reshape, size, transpose, xgcd, zeros, asin, cbrt, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, hasNumericValue, identity, kron, largerEq, leftShift, lsolve, matrixFromColumns, nthRoot, ones, qr, resize, rightArithShift, round, smaller, subtract, to, unaryPlus, usolve, xor, add, atan2, bitAnd, bitOr, bitXor, catalan, compare, compareText, cumsum, deepEqual, diff, distance, dot, equalText, floor, gcd, hypot, ImmutableDenseMatrix, Index, larger, log, lsolveAll, matrixFromRows, min, mod, multiply, nthRoots, or, partitionSelect, rightLogShift, slu, subset, sum, trace, usolveAll, zpk2tf, ceil, compareNatural, composition, cross, det, dotMultiply, FibonacciHeap, fix, index, intersect, invmod, lcm, log1p, max, setCartesian, setDistinct, setIsSubset, setPowerset, smallerEq, sort, unequal, and, range, row, setDifference, setMultiplicity, setSymDifference, Spa, column, inv, lup, pinv, pow, setIntersect, setUnion, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, coulomb, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, fft, gamma, gravitationConstant, hartreeEnergy, ifft, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, quantumOfCirculation, reducedPlanckConstant, rydberg, secondRadiation, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, createUnit, divide, electronMass, factorial, firstRadiation, gravity, inverseConductanceQuantum, lusolve, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setSize, solveODE, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, gasConstant, kldivergence, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
11
11
  var math = {}; // NOT pure!
12
12
  var mathWithTransform = {}; // NOT pure!
13
13
  var classes = {}; // NOT pure!
@@ -300,6 +300,7 @@ _extends(math, {
300
300
  exp,
301
301
  expm1,
302
302
  filter,
303
+ flatten,
303
304
  forEach,
304
305
  format,
305
306
  getMatrixDataType,
@@ -347,6 +348,7 @@ _extends(math, {
347
348
  sinh,
348
349
  sparse,
349
350
  sqrt,
351
+ squeeze,
350
352
  tanh,
351
353
  unaryMinus,
352
354
  acoth,
@@ -361,7 +363,6 @@ _extends(math, {
361
363
  prod,
362
364
  reshape,
363
365
  size,
364
- squeeze,
365
366
  transpose,
366
367
  xgcd,
367
368
  zeros,
@@ -374,7 +375,6 @@ _extends(math, {
374
375
  divideScalar,
375
376
  dotDivide,
376
377
  equal,
377
- flatten,
378
378
  hasNumericValue,
379
379
  identity,
380
380
  kron,