mathjs 12.3.0 → 12.3.2

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 (45) hide show
  1. package/HISTORY.md +27 -0
  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/entry/configReadonly.js +1 -1
  6. package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +2 -2
  7. package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +2 -2
  8. package/lib/cjs/entry/impureFunctionsAny.generated.js +14 -14
  9. package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -1
  10. package/lib/cjs/entry/pureFunctionsAny.generated.js +11 -11
  11. package/lib/cjs/expression/Help.js +21 -4
  12. package/lib/cjs/expression/node/OperatorNode.js +2 -1
  13. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +5 -4
  14. package/lib/cjs/function/string/bin.js +3 -3
  15. package/lib/cjs/function/string/format.js +3 -3
  16. package/lib/cjs/function/string/hex.js +3 -3
  17. package/lib/cjs/function/string/oct.js +3 -3
  18. package/lib/cjs/header.js +2 -2
  19. package/lib/cjs/type/unit/physicalConstants.js +1 -1
  20. package/lib/cjs/utils/bignumber/formatter.js +17 -27
  21. package/lib/cjs/utils/map.js +174 -14
  22. package/lib/cjs/utils/number.js +75 -33
  23. package/lib/cjs/utils/scope.js +4 -10
  24. package/lib/cjs/version.js +1 -1
  25. package/lib/esm/entry/configReadonly.js +1 -1
  26. package/lib/esm/entry/dependenciesAny/dependenciesHelpClass.generated.js +2 -2
  27. package/lib/esm/entry/dependenciesNumber/dependenciesHelpClass.generated.js +2 -2
  28. package/lib/esm/entry/impureFunctionsAny.generated.js +16 -16
  29. package/lib/esm/entry/impureFunctionsNumber.generated.js +1 -1
  30. package/lib/esm/entry/pureFunctionsAny.generated.js +12 -12
  31. package/lib/esm/expression/Help.js +21 -4
  32. package/lib/esm/expression/node/OperatorNode.js +2 -1
  33. package/lib/esm/expression/transform/utils/compileInlineExpression.js +5 -4
  34. package/lib/esm/function/string/bin.js +3 -3
  35. package/lib/esm/function/string/format.js +3 -3
  36. package/lib/esm/function/string/hex.js +3 -3
  37. package/lib/esm/function/string/oct.js +3 -3
  38. package/lib/esm/type/unit/physicalConstants.js +1 -1
  39. package/lib/esm/utils/bignumber/formatter.js +19 -28
  40. package/lib/esm/utils/map.js +97 -1
  41. package/lib/esm/utils/number.js +76 -34
  42. package/lib/esm/utils/scope.js +5 -11
  43. package/lib/esm/version.js +1 -1
  44. package/package.json +12 -12
  45. package/types/index.d.ts +30 -18
@@ -4,12 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.ObjectWrappingMap = void 0;
7
+ exports.PartitionedMap = exports.ObjectWrappingMap = void 0;
8
8
  exports.assign = assign;
9
9
  exports.createEmptyMap = createEmptyMap;
10
10
  exports.createMap = createMap;
11
11
  exports.isMap = isMap;
12
12
  exports.toObject = toObject;
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
15
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
16
  var _customs = require("./customs.js");
@@ -33,7 +34,7 @@ var ObjectWrappingMap = exports.ObjectWrappingMap = /*#__PURE__*/function () {
33
34
  (0, _createClass2["default"])(ObjectWrappingMap, [{
34
35
  key: "keys",
35
36
  value: function keys() {
36
- return Object.keys(this.wrappedObject);
37
+ return Object.keys(this.wrappedObject).values();
37
38
  }
38
39
  }, {
39
40
  key: "get",
@@ -51,9 +52,168 @@ var ObjectWrappingMap = exports.ObjectWrappingMap = /*#__PURE__*/function () {
51
52
  value: function has(key) {
52
53
  return (0, _customs.hasSafeProperty)(this.wrappedObject, key);
53
54
  }
55
+ }, {
56
+ key: "entries",
57
+ value: function entries() {
58
+ var _this = this;
59
+ return mapIterator(this.keys(), function (key) {
60
+ return [key, _this.get(key)];
61
+ });
62
+ }
63
+ }, {
64
+ key: "forEach",
65
+ value: function forEach(callback) {
66
+ var _iterator = _createForOfIteratorHelper(this.keys()),
67
+ _step;
68
+ try {
69
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
70
+ var key = _step.value;
71
+ callback(this.get(key), key, this);
72
+ }
73
+ } catch (err) {
74
+ _iterator.e(err);
75
+ } finally {
76
+ _iterator.f();
77
+ }
78
+ }
79
+ }, {
80
+ key: "delete",
81
+ value: function _delete(key) {
82
+ delete this.wrappedObject[key];
83
+ }
84
+ }, {
85
+ key: "clear",
86
+ value: function clear() {
87
+ var _iterator2 = _createForOfIteratorHelper(this.keys()),
88
+ _step2;
89
+ try {
90
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
91
+ var key = _step2.value;
92
+ this["delete"](key);
93
+ }
94
+ } catch (err) {
95
+ _iterator2.e(err);
96
+ } finally {
97
+ _iterator2.f();
98
+ }
99
+ }
100
+ }, {
101
+ key: "size",
102
+ get: function get() {
103
+ return Object.keys(this.wrappedObject).length;
104
+ }
54
105
  }]);
55
106
  return ObjectWrappingMap;
56
107
  }();
108
+ /**
109
+ * Create a map with two partitions: a and b.
110
+ * The set with bKeys determines which keys/values are read/written to map b,
111
+ * all other values are read/written to map a
112
+ *
113
+ * For example:
114
+ *
115
+ * const a = new Map()
116
+ * const b = new Map()
117
+ * const p = new PartitionedMap(a, b, new Set(['x', 'y']))
118
+ *
119
+ * In this case, values `x` and `y` are read/written to map `b`,
120
+ * all other values are read/written to map `a`.
121
+ */
122
+ var PartitionedMap = exports.PartitionedMap = /*#__PURE__*/function () {
123
+ /**
124
+ * @param {Map} a
125
+ * @param {Map} b
126
+ * @param {Set} bKeys
127
+ */
128
+ function PartitionedMap(a, b, bKeys) {
129
+ (0, _classCallCheck2["default"])(this, PartitionedMap);
130
+ this.a = a;
131
+ this.b = b;
132
+ this.bKeys = bKeys;
133
+ }
134
+ (0, _createClass2["default"])(PartitionedMap, [{
135
+ key: "get",
136
+ value: function get(key) {
137
+ return this.bKeys.has(key) ? this.b.get(key) : this.a.get(key);
138
+ }
139
+ }, {
140
+ key: "set",
141
+ value: function set(key, value) {
142
+ if (this.bKeys.has(key)) {
143
+ this.b.set(key, value);
144
+ } else {
145
+ this.a.set(key, value);
146
+ }
147
+ return this;
148
+ }
149
+ }, {
150
+ key: "has",
151
+ value: function has(key) {
152
+ return this.b.has(key) || this.a.has(key);
153
+ }
154
+ }, {
155
+ key: "keys",
156
+ value: function keys() {
157
+ return new Set([].concat((0, _toConsumableArray2["default"])(this.a.keys()), (0, _toConsumableArray2["default"])(this.b.keys())))[Symbol.iterator]();
158
+ }
159
+ }, {
160
+ key: "entries",
161
+ value: function entries() {
162
+ var _this2 = this;
163
+ return mapIterator(this.keys(), function (key) {
164
+ return [key, _this2.get(key)];
165
+ });
166
+ }
167
+ }, {
168
+ key: "forEach",
169
+ value: function forEach(callback) {
170
+ var _iterator3 = _createForOfIteratorHelper(this.keys()),
171
+ _step3;
172
+ try {
173
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
174
+ var key = _step3.value;
175
+ callback(this.get(key), key, this);
176
+ }
177
+ } catch (err) {
178
+ _iterator3.e(err);
179
+ } finally {
180
+ _iterator3.f();
181
+ }
182
+ }
183
+ }, {
184
+ key: "delete",
185
+ value: function _delete(key) {
186
+ return this.bKeys.has(key) ? this.b["delete"](key) : this.a["delete"](key);
187
+ }
188
+ }, {
189
+ key: "clear",
190
+ value: function clear() {
191
+ this.a.clear();
192
+ this.b.clear();
193
+ }
194
+ }, {
195
+ key: "size",
196
+ get: function get() {
197
+ return (0, _toConsumableArray2["default"])(this.keys()).length;
198
+ }
199
+ }]);
200
+ return PartitionedMap;
201
+ }();
202
+ /**
203
+ * Create a new iterator that maps over the provided iterator, applying a mapping function to each item
204
+ */
205
+ function mapIterator(it, callback) {
206
+ return {
207
+ next: function next() {
208
+ var n = it.next();
209
+ return n.done ? n : {
210
+ value: callback(n.value),
211
+ done: false
212
+ };
213
+ }
214
+ };
215
+ }
216
+
57
217
  /**
58
218
  * Creates an empty map, or whatever your platform's polyfill is.
59
219
  *
@@ -93,18 +253,18 @@ function toObject(map) {
93
253
  return map.wrappedObject;
94
254
  }
95
255
  var object = {};
96
- var _iterator = _createForOfIteratorHelper(map.keys()),
97
- _step;
256
+ var _iterator4 = _createForOfIteratorHelper(map.keys()),
257
+ _step4;
98
258
  try {
99
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
100
- var key = _step.value;
259
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
260
+ var key = _step4.value;
101
261
  var value = map.get(key);
102
262
  (0, _customs.setSafeProperty)(object, key, value);
103
263
  }
104
264
  } catch (err) {
105
- _iterator.e(err);
265
+ _iterator4.e(err);
106
266
  } finally {
107
- _iterator.f();
267
+ _iterator4.f();
108
268
  }
109
269
  return object;
110
270
  }
@@ -143,17 +303,17 @@ function assign(map) {
143
303
  continue;
144
304
  }
145
305
  if (isMap(args)) {
146
- var _iterator2 = _createForOfIteratorHelper(args.keys()),
147
- _step2;
306
+ var _iterator5 = _createForOfIteratorHelper(args.keys()),
307
+ _step5;
148
308
  try {
149
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
150
- var key = _step2.value;
309
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
310
+ var key = _step5.value;
151
311
  map.set(key, args.get(key));
152
312
  }
153
313
  } catch (err) {
154
- _iterator2.e(err);
314
+ _iterator5.e(err);
155
315
  } finally {
156
- _iterator2.f();
316
+ _iterator5.f();
157
317
  }
158
318
  } else if ((0, _is.isObject)(args)) {
159
319
  for (var _i2 = 0, _Object$keys = Object.keys(args); _i2 < _Object$keys.length; _i2++) {
@@ -12,6 +12,7 @@ exports.format = format;
12
12
  exports.isInteger = isInteger;
13
13
  exports.log2 = exports.log1p = exports.log10 = void 0;
14
14
  exports.nearlyEqual = nearlyEqual;
15
+ exports.normalizeFormatOptions = normalizeFormatOptions;
15
16
  exports.roundDigits = roundDigits;
16
17
  exports.sinh = exports.sign = void 0;
17
18
  exports.splitNumber = splitNumber;
@@ -42,7 +43,7 @@ function isInteger(value) {
42
43
  * @param {number} x
43
44
  * @returns {number}
44
45
  */
45
- var sign = exports.sign = /* #__PURE__ */Math.sign || function (x) {
46
+ var sign = exports.sign = Math.sign || function (x) {
46
47
  if (x > 0) {
47
48
  return 1;
48
49
  } else if (x < 0) {
@@ -57,7 +58,7 @@ var sign = exports.sign = /* #__PURE__ */Math.sign || function (x) {
57
58
  * @param {number} x
58
59
  * @returns {number}
59
60
  */
60
- var log2 = exports.log2 = /* #__PURE__ */Math.log2 || function log2(x) {
61
+ var log2 = exports.log2 = Math.log2 || function log2(x) {
61
62
  return Math.log(x) / Math.LN2;
62
63
  };
63
64
 
@@ -66,7 +67,7 @@ var log2 = exports.log2 = /* #__PURE__ */Math.log2 || function log2(x) {
66
67
  * @param {number} x
67
68
  * @returns {number}
68
69
  */
69
- var log10 = exports.log10 = /* #__PURE__ */Math.log10 || function log10(x) {
70
+ var log10 = exports.log10 = Math.log10 || function log10(x) {
70
71
  return Math.log(x) / Math.LN10;
71
72
  };
72
73
 
@@ -75,7 +76,7 @@ var log10 = exports.log10 = /* #__PURE__ */Math.log10 || function log10(x) {
75
76
  * @param {number} x
76
77
  * @returns {number}
77
78
  */
78
- var log1p = exports.log1p = /* #__PURE__ */Math.log1p || function (x) {
79
+ var log1p = exports.log1p = Math.log1p || function (x) {
79
80
  return Math.log(x + 1);
80
81
  };
81
82
 
@@ -88,7 +89,7 @@ var log1p = exports.log1p = /* #__PURE__ */Math.log1p || function (x) {
88
89
  * @param {number} x
89
90
  * @returns {number} Returns the cubic root of x
90
91
  */
91
- var cbrt = exports.cbrt = /* #__PURE__ */Math.cbrt || function cbrt(x) {
92
+ var cbrt = exports.cbrt = Math.cbrt || function cbrt(x) {
92
93
  if (x === 0) {
93
94
  return x;
94
95
  }
@@ -112,7 +113,7 @@ var cbrt = exports.cbrt = /* #__PURE__ */Math.cbrt || function cbrt(x) {
112
113
  * @param {number} x
113
114
  * @return {number} res
114
115
  */
115
- var expm1 = exports.expm1 = /* #__PURE__ */Math.expm1 || function expm1(x) {
116
+ var expm1 = exports.expm1 = Math.expm1 || function expm1(x) {
116
117
  return x >= 2e-4 || x <= -2e-4 ? Math.exp(x) - 1 : x + x * x / 2 + x * x * x / 6;
117
118
  };
118
119
 
@@ -255,30 +256,10 @@ function format(value, options) {
255
256
  } else if (isNaN(value)) {
256
257
  return 'NaN';
257
258
  }
258
-
259
- // default values for options
260
- var notation = 'auto';
261
- var precision;
262
- var wordSize;
263
- if (options) {
264
- // determine notation from options
265
- if (options.notation) {
266
- notation = options.notation;
267
- }
268
-
269
- // determine precision from options
270
- if ((0, _is.isNumber)(options)) {
271
- precision = options;
272
- } else if ((0, _is.isNumber)(options.precision)) {
273
- precision = options.precision;
274
- }
275
- if (options.wordSize) {
276
- wordSize = options.wordSize;
277
- if (typeof wordSize !== 'number') {
278
- throw new Error('Option "wordSize" must be a number');
279
- }
280
- }
281
- }
259
+ var _normalizeFormatOptio = normalizeFormatOptions(options),
260
+ notation = _normalizeFormatOptio.notation,
261
+ precision = _normalizeFormatOptio.precision,
262
+ wordSize = _normalizeFormatOptio.wordSize;
282
263
 
283
264
  // handle the various notations
284
265
  switch (notation) {
@@ -296,7 +277,7 @@ function format(value, options) {
296
277
  return formatNumberToBase(value, 16, wordSize);
297
278
  case 'auto':
298
279
  // remove trailing zeros after the decimal point
299
- return toPrecision(value, precision, options && options).replace(/((\.\d*?)(0+))($|e)/, function () {
280
+ return toPrecision(value, precision, options).replace(/((\.\d*?)(0+))($|e)/, function () {
300
281
  var digits = arguments[2];
301
282
  var e = arguments[4];
302
283
  return digits !== '.' ? digits + e : e;
@@ -306,6 +287,49 @@ function format(value, options) {
306
287
  }
307
288
  }
308
289
 
290
+ /**
291
+ * Normalize format options into an object:
292
+ * {
293
+ * notation: string,
294
+ * precision: number | undefined,
295
+ * wordSize: number | undefined
296
+ * }
297
+ */
298
+ function normalizeFormatOptions(options) {
299
+ // default values for options
300
+ var notation = 'auto';
301
+ var precision;
302
+ var wordSize;
303
+ if (options !== undefined) {
304
+ if ((0, _is.isNumber)(options)) {
305
+ precision = options;
306
+ } else if ((0, _is.isBigNumber)(options)) {
307
+ precision = options.toNumber();
308
+ } else if ((0, _is.isObject)(options)) {
309
+ if (options.precision !== undefined) {
310
+ precision = _toNumberOrThrow(options.precision, function () {
311
+ throw new Error('Option "precision" must be a number or BigNumber');
312
+ });
313
+ }
314
+ if (options.wordSize !== undefined) {
315
+ wordSize = _toNumberOrThrow(options.wordSize, function () {
316
+ throw new Error('Option "wordSize" must be a number or BigNumber');
317
+ });
318
+ }
319
+ if (options.notation) {
320
+ notation = options.notation;
321
+ }
322
+ } else {
323
+ throw new Error('Unsupported type of options, number, BigNumber, or object expected');
324
+ }
325
+ }
326
+ return {
327
+ notation: notation,
328
+ precision: precision,
329
+ wordSize: wordSize
330
+ };
331
+ }
332
+
309
333
  /**
310
334
  * Split a number into sign, coefficients, and exponent
311
335
  * @param {number | string} value
@@ -469,8 +493,8 @@ function toPrecision(value, precision, options) {
469
493
  }
470
494
 
471
495
  // determine lower and upper bound for exponential notation.
472
- var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3;
473
- var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5;
496
+ var lowerExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.lowerExp, -3);
497
+ var upperExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.upperExp, 5);
474
498
  var split = splitNumber(value);
475
499
  var rounded = precision ? roundDigits(split, precision) : split;
476
500
  if (rounded.exponent < lowerExp || rounded.exponent >= upperExp) {
@@ -675,4 +699,22 @@ function copysign(x, y) {
675
699
  var signx = x > 0 ? true : x < 0 ? false : 1 / x === Infinity;
676
700
  var signy = y > 0 ? true : y < 0 ? false : 1 / y === Infinity;
677
701
  return signx ^ signy ? -x : x;
702
+ }
703
+ function _toNumberOrThrow(value, onError) {
704
+ if ((0, _is.isNumber)(value)) {
705
+ return value;
706
+ } else if ((0, _is.isBigNumber)(value)) {
707
+ return value.toNumber();
708
+ } else {
709
+ onError();
710
+ }
711
+ }
712
+ function _toNumberOrDefault(value, defaultValue) {
713
+ if ((0, _is.isNumber)(value)) {
714
+ return value;
715
+ } else if ((0, _is.isBigNumber)(value)) {
716
+ return value.toNumber();
717
+ } else {
718
+ return defaultValue;
719
+ }
678
720
  }
@@ -15,15 +15,9 @@ var _map = require("./map.js");
15
15
  * the remaining `args`.
16
16
  *
17
17
  * @param {Map} parentScope
18
- * @param {...any} args
19
- * @returns {Map}
18
+ * @param {Object} args
19
+ * @returns {PartitionedMap}
20
20
  */
21
- function createSubScope(parentScope) {
22
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
23
- args[_key - 1] = arguments[_key];
24
- }
25
- if (typeof parentScope.createSubScope === 'function') {
26
- return _map.assign.apply(void 0, [parentScope.createSubScope()].concat(args));
27
- }
28
- return _map.assign.apply(void 0, [(0, _map.createEmptyMap)(), parentScope].concat(args));
21
+ function createSubScope(parentScope, args) {
22
+ return new _map.PartitionedMap(parentScope, new _map.ObjectWrappingMap(args), new Set(Object.keys(args)));
29
23
  }
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = exports.version = '12.3.0';
7
+ var version = exports.version = '12.3.2';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
@@ -3,7 +3,7 @@ import { DEFAULT_CONFIG } from '../core/config.js';
3
3
  import { MATRIX_OPTIONS, NUMBER_OPTIONS } from '../core/function/config.js';
4
4
 
5
5
  // create a read-only version of config
6
- export var config = /* #__PURE__ */function config(options) {
6
+ export var config = function config(options) {
7
7
  if (options) {
8
8
  throw new Error('The global config is readonly. \n' + 'Please create a mathjs instance if you want to change the default configuration. \n' + 'Example:\n' + '\n' + ' import { create, all } from \'mathjs\';\n' + ' const mathjs = create(all);\n' + ' mathjs.config({ number: \'BigNumber\' });\n');
9
9
  }
@@ -2,9 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { parseDependencies } from './dependenciesParse.generated.js';
5
+ import { evaluateDependencies } from './dependenciesEvaluate.generated.js';
6
6
  import { createHelpClass } from '../../factoriesAny.js';
7
7
  export var HelpDependencies = {
8
- parseDependencies,
8
+ evaluateDependencies,
9
9
  createHelpClass
10
10
  };
@@ -2,9 +2,9 @@
2
2
  * THIS FILE IS AUTO-GENERATED
3
3
  * DON'T MAKE CHANGES HERE
4
4
  */
5
- import { parseDependencies } from './dependenciesParse.generated.js';
5
+ import { evaluateDependencies } from './dependenciesEvaluate.generated.js';
6
6
  import { createHelpClass } from '../../factoriesNumber.js';
7
7
  export var HelpDependencies = {
8
- parseDependencies,
8
+ evaluateDependencies,
9
9
  createHelpClass
10
10
  };
@@ -4,10 +4,10 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  * DON'T MAKE CHANGES HERE
5
5
  */
6
6
  import { config } from './configReadonly.js';
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, createHelpClass, createLeafCount, createSimplifyCore, createEvaluate, createHelp, createParserClass, createSimplify, createSymbolicEqual, createParser, createRationalize, createDerivative, 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';
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, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, 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, bin, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, 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, unequal, 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, 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, mean, molarVolume, planckConstant, quantileSeq, variance, classicalElectronRadius, median, corr, freqz, mad, std, zeta, norm, rotationMatrix, kldivergence, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
10
+ 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, 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, bin, combinationsWithRep, cosh, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, 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, unequal, 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, 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!
@@ -129,13 +129,6 @@ export var compile = createCompile({
129
129
  parse,
130
130
  typed
131
131
  });
132
- export var Help = createHelpClass({
133
- parse
134
- });
135
- export var leafCount = createLeafCount({
136
- parse,
137
- typed
138
- });
139
132
  export var simplifyCore = createSimplifyCore({
140
133
  AccessorNode,
141
134
  ArrayNode,
@@ -160,10 +153,8 @@ export var evaluate = createEvaluate({
160
153
  parse,
161
154
  typed
162
155
  });
163
- export var help = createHelp({
164
- Help,
165
- mathWithTransform,
166
- typed
156
+ export var Help = createHelpClass({
157
+ evaluate
167
158
  });
168
159
  export var Parser = createParserClass({
169
160
  evaluate
@@ -202,6 +193,10 @@ export var symbolicEqual = createSymbolicEqual({
202
193
  simplify,
203
194
  typed
204
195
  });
196
+ export var leafCount = createLeafCount({
197
+ parse,
198
+ typed
199
+ });
205
200
  export var parser = createParser({
206
201
  Parser,
207
202
  typed
@@ -248,6 +243,11 @@ export var derivative = createDerivative({
248
243
  simplify,
249
244
  typed
250
245
  });
246
+ export var help = createHelp({
247
+ Help,
248
+ mathWithTransform,
249
+ typed
250
+ });
251
251
  _extends(math, {
252
252
  e,
253
253
  false: _false,
@@ -525,7 +525,7 @@ _extends(math, {
525
525
  eigs,
526
526
  fermiCoupling,
527
527
  gasConstant,
528
- leafCount,
528
+ kldivergence,
529
529
  mean,
530
530
  molarVolume,
531
531
  planckConstant,
@@ -534,12 +534,12 @@ _extends(math, {
534
534
  variance,
535
535
  classicalElectronRadius,
536
536
  evaluate,
537
- help,
538
537
  median,
539
538
  simplify,
540
539
  symbolicEqual,
541
540
  corr,
542
541
  freqz,
542
+ leafCount,
543
543
  mad,
544
544
  parser,
545
545
  rationalize,
@@ -548,7 +548,7 @@ _extends(math, {
548
548
  derivative,
549
549
  norm,
550
550
  rotationMatrix,
551
- kldivergence,
551
+ help,
552
552
  planckTime,
553
553
  schur,
554
554
  rotate,
@@ -151,7 +151,7 @@ export var evaluate = createEvaluate({
151
151
  typed
152
152
  });
153
153
  export var Help = createHelpClass({
154
- parse
154
+ evaluate
155
155
  });
156
156
  export var Parser = createParserClass({
157
157
  evaluate
@@ -5,7 +5,7 @@
5
5
  import { config } from './configReadonly.js';
6
6
  import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2,
7
7
  // eslint-disable-line camelcase
8
- createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createKldivergence, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
8
+ 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, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createSqueeze, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
9
9
  export var BigNumber = /* #__PURE__ */createBigNumberClass({
10
10
  config
11
11
  });
@@ -1602,6 +1602,17 @@ export var gasConstant = /* #__PURE__ */createGasConstant({
1602
1602
  Unit,
1603
1603
  config
1604
1604
  });
1605
+ export var kldivergence = /* #__PURE__ */createKldivergence({
1606
+ divide,
1607
+ dotDivide,
1608
+ isNumeric,
1609
+ log,
1610
+ map,
1611
+ matrix,
1612
+ multiply,
1613
+ sum,
1614
+ typed
1615
+ });
1605
1616
  export var mean = /* #__PURE__ */createMean({
1606
1617
  add,
1607
1618
  divide,
@@ -1732,17 +1743,6 @@ export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
1732
1743
  typed,
1733
1744
  unaryMinus
1734
1745
  });
1735
- export var kldivergence = /* #__PURE__ */createKldivergence({
1736
- divide,
1737
- dotDivide,
1738
- isNumeric,
1739
- log,
1740
- map,
1741
- matrix,
1742
- multiply,
1743
- sum,
1744
- typed
1745
- });
1746
1746
  export var planckTime = /* #__PURE__ */createPlanckTime({
1747
1747
  BigNumber,
1748
1748
  Unit,