mathjs 12.2.1 → 12.3.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.
- package/HISTORY.md +27 -0
- package/NOTICE +1 -1
- package/README.md +4 -3
- package/bin/cli.js +1 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +3 -3
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/configReadonly.js +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +2 -2
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +2 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +14 -14
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -1
- package/lib/cjs/entry/pureFunctionsAny.generated.js +11 -11
- package/lib/cjs/expression/Help.js +21 -4
- package/lib/cjs/expression/node/AccessorNode.js +4 -5
- package/lib/cjs/expression/node/ArrayNode.js +4 -5
- package/lib/cjs/expression/node/AssignmentNode.js +4 -5
- package/lib/cjs/expression/node/BlockNode.js +4 -5
- package/lib/cjs/expression/node/ConditionalNode.js +4 -5
- package/lib/cjs/expression/node/ConstantNode.js +4 -5
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +4 -5
- package/lib/cjs/expression/node/FunctionNode.js +5 -6
- package/lib/cjs/expression/node/IndexNode.js +4 -5
- package/lib/cjs/expression/node/ObjectNode.js +4 -5
- package/lib/cjs/expression/node/OperatorNode.js +4 -5
- package/lib/cjs/expression/node/ParenthesisNode.js +4 -5
- package/lib/cjs/expression/node/RangeNode.js +4 -5
- package/lib/cjs/expression/node/RelationalNode.js +4 -5
- package/lib/cjs/expression/node/SymbolNode.js +4 -5
- package/lib/cjs/function/string/bin.js +3 -3
- package/lib/cjs/function/string/format.js +3 -3
- package/lib/cjs/function/string/hex.js +3 -3
- package/lib/cjs/function/string/oct.js +3 -3
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/type/unit/Unit.js +86 -2
- package/lib/cjs/type/unit/physicalConstants.js +1 -1
- package/lib/cjs/utils/bignumber/formatter.js +17 -27
- package/lib/cjs/utils/number.js +75 -33
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/configReadonly.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesHelpClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesHelpClass.generated.js +2 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +16 -16
- package/lib/esm/entry/impureFunctionsNumber.generated.js +1 -1
- package/lib/esm/entry/pureFunctionsAny.generated.js +12 -12
- package/lib/esm/expression/Help.js +21 -4
- package/lib/esm/function/string/bin.js +3 -3
- package/lib/esm/function/string/format.js +3 -3
- package/lib/esm/function/string/hex.js +3 -3
- package/lib/esm/function/string/oct.js +3 -3
- package/lib/esm/header.js +1 -1
- package/lib/esm/type/unit/Unit.js +86 -2
- package/lib/esm/type/unit/physicalConstants.js +1 -1
- package/lib/esm/utils/bignumber/formatter.js +19 -28
- package/lib/esm/utils/number.js +76 -34
- package/lib/esm/version.js +1 -1
- package/package.json +14 -14
- package/types/index.d.ts +30 -18
package/lib/cjs/utils/number.js
CHANGED
@@ -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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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
|
-
|
260
|
-
|
261
|
-
|
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
|
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
|
473
|
-
var upperExp = options
|
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
|
}
|
package/lib/cjs/version.js
CHANGED
@@ -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.
|
7
|
+
var version = exports.version = '12.3.1';
|
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 =
|
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 {
|
5
|
+
import { evaluateDependencies } from './dependenciesEvaluate.generated.js';
|
6
6
|
import { createHelpClass } from '../../factoriesAny.js';
|
7
7
|
export var HelpDependencies = {
|
8
|
-
|
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 {
|
5
|
+
import { evaluateDependencies } from './dependenciesEvaluate.generated.js';
|
6
6
|
import { createHelpClass } from '../../factoriesNumber.js';
|
7
7
|
export var HelpDependencies = {
|
8
|
-
|
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,
|
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,
|
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
|
164
|
-
|
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
|
-
|
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
|
-
|
551
|
+
help,
|
552
552
|
planckTime,
|
553
553
|
schur,
|
554
554
|
rotate,
|
@@ -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,
|
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,
|
@@ -3,10 +3,10 @@ import { clone } from '../utils/object.js';
|
|
3
3
|
import { format } from '../utils/string.js';
|
4
4
|
import { factory } from '../utils/factory.js';
|
5
5
|
var name = 'Help';
|
6
|
-
var dependencies = ['
|
6
|
+
var dependencies = ['evaluate'];
|
7
7
|
export var createHelpClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
8
8
|
var {
|
9
|
-
|
9
|
+
evaluate
|
10
10
|
} = _ref;
|
11
11
|
/**
|
12
12
|
* Documentation object
|
@@ -55,14 +55,26 @@ export var createHelpClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
55
55
|
}
|
56
56
|
if (doc.examples) {
|
57
57
|
desc += 'Examples:\n';
|
58
|
-
|
58
|
+
|
59
|
+
// after evaluating the examples, we restore config in case the examples
|
60
|
+
// did change the config.
|
61
|
+
var configChanged = false;
|
62
|
+
var originalConfig = evaluate('config()');
|
63
|
+
var scope = {
|
64
|
+
config: newConfig => {
|
65
|
+
configChanged = true;
|
66
|
+
return evaluate('config(newConfig)', {
|
67
|
+
newConfig
|
68
|
+
});
|
69
|
+
}
|
70
|
+
};
|
59
71
|
for (var i = 0; i < doc.examples.length; i++) {
|
60
72
|
var expr = doc.examples[i];
|
61
73
|
desc += ' ' + expr + '\n';
|
62
74
|
var res = void 0;
|
63
75
|
try {
|
64
76
|
// note: res can be undefined when `expr` is an empty string
|
65
|
-
res =
|
77
|
+
res = evaluate(expr, scope);
|
66
78
|
} catch (e) {
|
67
79
|
res = e;
|
68
80
|
}
|
@@ -73,6 +85,11 @@ export var createHelpClass = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
73
85
|
}
|
74
86
|
}
|
75
87
|
desc += '\n';
|
88
|
+
if (configChanged) {
|
89
|
+
evaluate('config(originalConfig)', {
|
90
|
+
originalConfig
|
91
|
+
});
|
92
|
+
}
|
76
93
|
}
|
77
94
|
if (doc.mayThrow && doc.mayThrow.length) {
|
78
95
|
desc += 'Throws: ' + doc.mayThrow.join(', ') + '\n\n';
|
@@ -19,8 +19,8 @@ var dependencies = ['typed', 'format'];
|
|
19
19
|
* oct
|
20
20
|
* hex
|
21
21
|
*
|
22
|
-
* @param {number} value Value to be stringified
|
23
|
-
* @param {number} wordSize Optional word size (see `format`)
|
22
|
+
* @param {number | BigNumber} value Value to be stringified
|
23
|
+
* @param {number | BigNumber} wordSize Optional word size (see `format`)
|
24
24
|
* @return {string} The formatted value
|
25
25
|
*/
|
26
26
|
export var createBin = factory(name, dependencies, _ref => {
|
@@ -34,7 +34,7 @@ export var createBin = factory(name, dependencies, _ref => {
|
|
34
34
|
notation: 'bin'
|
35
35
|
});
|
36
36
|
},
|
37
|
-
'number | BigNumber, number': function
|
37
|
+
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) {
|
38
38
|
return format(n, {
|
39
39
|
notation: 'bin',
|
40
40
|
wordSize
|
@@ -42,7 +42,7 @@ export var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
42
42
|
* - `'bin'`, `'oct'`, or `'hex'`
|
43
43
|
* Format the number using binary, octal, or hexadecimal notation.
|
44
44
|
* For example `'0b1101'` and `'0x10fe'`.
|
45
|
-
* - `wordSize: number`
|
45
|
+
* - `wordSize: number | BigNumber`
|
46
46
|
* The word size in bits to use for formatting in binary, octal, or
|
47
47
|
* hexadecimal notation. To be used only with `'bin'`, `'oct'`, or `'hex'`
|
48
48
|
* values for `notation` option. When this option is defined the value
|
@@ -50,7 +50,7 @@ export var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
50
50
|
* size and the size suffix is appended to the output.
|
51
51
|
* For example `format(-1, {notation: 'hex', wordSize: 8}) === '0xffi8'`.
|
52
52
|
* Default value is undefined.
|
53
|
-
* - `precision: number`
|
53
|
+
* - `precision: number | BigNumber`
|
54
54
|
* Limit the number of digits of the formatted value.
|
55
55
|
* For regular numbers, must be a number between `0` and `16`.
|
56
56
|
* For bignumbers, the maximum depends on the configured precision,
|
@@ -126,6 +126,6 @@ export var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
126
126
|
*/
|
127
127
|
return typed(name, {
|
128
128
|
any: formatString,
|
129
|
-
'any, Object | function | number': formatString
|
129
|
+
'any, Object | function | number | BigNumber': formatString
|
130
130
|
});
|
131
131
|
});
|
@@ -18,8 +18,8 @@ var dependencies = ['typed', 'format'];
|
|
18
18
|
* oct
|
19
19
|
* bin
|
20
20
|
*
|
21
|
-
* @param {number} value Value to be stringified
|
22
|
-
* @param {number} wordSize Optional word size (see `format`)
|
21
|
+
* @param {number | BigNumber} value Value to be stringified
|
22
|
+
* @param {number | BigNumber} wordSize Optional word size (see `format`)
|
23
23
|
* @return {string} The formatted value
|
24
24
|
*/
|
25
25
|
export var createHex = factory(name, dependencies, _ref => {
|
@@ -33,7 +33,7 @@ export var createHex = factory(name, dependencies, _ref => {
|
|
33
33
|
notation: 'hex'
|
34
34
|
});
|
35
35
|
},
|
36
|
-
'number | BigNumber, number': function
|
36
|
+
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) {
|
37
37
|
return format(n, {
|
38
38
|
notation: 'hex',
|
39
39
|
wordSize
|
@@ -19,8 +19,8 @@ var dependencies = ['typed', 'format'];
|
|
19
19
|
* bin
|
20
20
|
* hex
|
21
21
|
*
|
22
|
-
* @param {number} value Value to be stringified
|
23
|
-
* @param {number} wordSize Optional word size (see `format`)
|
22
|
+
* @param {number | BigNumber} value Value to be stringified
|
23
|
+
* @param {number | BigNumber} wordSize Optional word size (see `format`)
|
24
24
|
* @return {string} The formatted value
|
25
25
|
*/
|
26
26
|
|
@@ -35,7 +35,7 @@ export var createOct = factory(name, dependencies, _ref => {
|
|
35
35
|
notation: 'oct'
|
36
36
|
});
|
37
37
|
},
|
38
|
-
'number | BigNumber, number': function
|
38
|
+
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) {
|
39
39
|
return format(n, {
|
40
40
|
notation: 'oct',
|
41
41
|
wordSize
|
package/lib/esm/header.js
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
* @date @@date
|
11
11
|
*
|
12
12
|
* @license
|
13
|
-
* Copyright (C) 2013-
|
13
|
+
* Copyright (C) 2013-2024 Jos de Jong <wjosdejong@gmail.com>
|
14
14
|
*
|
15
15
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
16
16
|
* use this file except in compliance with the License. You may obtain a copy
|