Comparing version 12.3.0 to 12.3.1
@@ -26,4 +26,4 @@ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ | ||
* | ||
* @version 12.3.0 | ||
* @date 2024-01-12 | ||
* @version 12.3.1 | ||
* @date 2024-02-01 | ||
* | ||
@@ -30,0 +30,0 @@ * @license |
@@ -12,3 +12,3 @@ "use strict"; | ||
// create a read-only version of config | ||
var config = exports.config = /* #__PURE__ */function config(options) { | ||
var config = exports.config = function config(options) { | ||
if (options) { | ||
@@ -15,0 +15,0 @@ 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'); |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.HelpDependencies = void 0; | ||
var _dependenciesParseGenerated = require("./dependenciesParse.generated.js"); | ||
var _dependenciesEvaluateGenerated = require("./dependenciesEvaluate.generated.js"); | ||
var _factoriesAny = require("../../factoriesAny.js"); | ||
@@ -16,4 +16,4 @@ /** | ||
var HelpDependencies = exports.HelpDependencies = { | ||
parseDependencies: _dependenciesParseGenerated.parseDependencies, | ||
evaluateDependencies: _dependenciesEvaluateGenerated.evaluateDependencies, | ||
createHelpClass: _factoriesAny.createHelpClass | ||
}; |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.HelpDependencies = void 0; | ||
var _dependenciesParseGenerated = require("./dependenciesParse.generated.js"); | ||
var _dependenciesEvaluateGenerated = require("./dependenciesEvaluate.generated.js"); | ||
var _factoriesNumber = require("../../factoriesNumber.js"); | ||
@@ -16,4 +16,4 @@ /** | ||
var HelpDependencies = exports.HelpDependencies = { | ||
parseDependencies: _dependenciesParseGenerated.parseDependencies, | ||
evaluateDependencies: _dependenciesEvaluateGenerated.evaluateDependencies, | ||
createHelpClass: _factoriesNumber.createHelpClass | ||
}; |
@@ -146,9 +146,2 @@ "use strict"; | ||
}); | ||
var Help = exports.Help = (0, _factoriesAny.createHelpClass)({ | ||
parse: parse | ||
}); | ||
var leafCount = exports.leafCount = (0, _factoriesAny.createLeafCount)({ | ||
parse: parse, | ||
typed: _pureFunctionsAnyGenerated.typed | ||
}); | ||
var simplifyCore = exports.simplifyCore = (0, _factoriesAny.createSimplifyCore)({ | ||
@@ -178,6 +171,4 @@ AccessorNode: AccessorNode, | ||
}); | ||
var help = exports.help = (0, _factoriesAny.createHelp)({ | ||
Help: Help, | ||
mathWithTransform: mathWithTransform, | ||
typed: _pureFunctionsAnyGenerated.typed | ||
var Help = exports.Help = (0, _factoriesAny.createHelpClass)({ | ||
evaluate: evaluate | ||
}); | ||
@@ -221,2 +212,6 @@ var Parser = exports.Parser = (0, _factoriesAny.createParserClass)({ | ||
}); | ||
var leafCount = exports.leafCount = (0, _factoriesAny.createLeafCount)({ | ||
parse: parse, | ||
typed: _pureFunctionsAnyGenerated.typed | ||
}); | ||
var parser = exports.parser = (0, _factoriesAny.createParser)({ | ||
@@ -268,2 +263,7 @@ Parser: Parser, | ||
}); | ||
var help = exports.help = (0, _factoriesAny.createHelp)({ | ||
Help: Help, | ||
mathWithTransform: mathWithTransform, | ||
typed: _pureFunctionsAnyGenerated.typed | ||
}); | ||
(0, _extends2["default"])(math, { | ||
@@ -546,3 +546,3 @@ e: _pureFunctionsAnyGenerated.e, | ||
gasConstant: _pureFunctionsAnyGenerated.gasConstant, | ||
leafCount: leafCount, | ||
kldivergence: _pureFunctionsAnyGenerated.kldivergence, | ||
mean: _pureFunctionsAnyGenerated.mean, | ||
@@ -556,3 +556,2 @@ molarVolume: _pureFunctionsAnyGenerated.molarVolume, | ||
evaluate: evaluate, | ||
help: help, | ||
median: _pureFunctionsAnyGenerated.median, | ||
@@ -563,2 +562,3 @@ simplify: simplify, | ||
freqz: _pureFunctionsAnyGenerated.freqz, | ||
leafCount: leafCount, | ||
mad: _pureFunctionsAnyGenerated.mad, | ||
@@ -572,3 +572,3 @@ parser: parser, | ||
rotationMatrix: _pureFunctionsAnyGenerated.rotationMatrix, | ||
kldivergence: _pureFunctionsAnyGenerated.kldivergence, | ||
help: help, | ||
planckTime: _pureFunctionsAnyGenerated.planckTime, | ||
@@ -575,0 +575,0 @@ schur: _pureFunctionsAnyGenerated.schur, |
@@ -168,3 +168,3 @@ "use strict"; | ||
var Help = exports.Help = (0, _factoriesNumber.createHelpClass)({ | ||
parse: parse | ||
evaluate: evaluate | ||
}); | ||
@@ -171,0 +171,0 @@ var Parser = exports.Parser = (0, _factoriesNumber.createParserClass)({ |
@@ -1613,2 +1613,13 @@ "use strict"; | ||
}); | ||
var kldivergence = exports.kldivergence = /* #__PURE__ */(0, _factoriesAny.createKldivergence)({ | ||
divide: divide, | ||
dotDivide: dotDivide, | ||
isNumeric: isNumeric, | ||
log: log, | ||
map: map, | ||
matrix: matrix, | ||
multiply: multiply, | ||
sum: sum, | ||
typed: typed | ||
}); | ||
var mean = exports.mean = /* #__PURE__ */(0, _factoriesAny.createMean)({ | ||
@@ -1744,13 +1755,2 @@ add: add, | ||
}); | ||
var kldivergence = exports.kldivergence = /* #__PURE__ */(0, _factoriesAny.createKldivergence)({ | ||
divide: divide, | ||
dotDivide: dotDivide, | ||
isNumeric: isNumeric, | ||
log: log, | ||
map: map, | ||
matrix: matrix, | ||
multiply: multiply, | ||
sum: sum, | ||
typed: typed | ||
}); | ||
var planckTime = exports.planckTime = /* #__PURE__ */(0, _factoriesAny.createPlanckTime)({ | ||
@@ -1757,0 +1757,0 @@ BigNumber: BigNumber, |
@@ -12,5 +12,5 @@ "use strict"; | ||
var name = 'Help'; | ||
var dependencies = ['parse']; | ||
var dependencies = ['evaluate']; | ||
var createHelpClass = exports.createHelpClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) { | ||
var parse = _ref.parse; | ||
var evaluate = _ref.evaluate; | ||
/** | ||
@@ -63,3 +63,15 @@ * Documentation object | ||
desc += 'Examples:\n'; | ||
var scope = {}; | ||
// after evaluating the examples, we restore config in case the examples | ||
// did change the config. | ||
var configChanged = false; | ||
var originalConfig = evaluate('config()'); | ||
var scope = { | ||
config: function config(newConfig) { | ||
configChanged = true; | ||
return evaluate('config(newConfig)', { | ||
newConfig: newConfig | ||
}); | ||
} | ||
}; | ||
for (var i = 0; i < doc.examples.length; i++) { | ||
@@ -71,3 +83,3 @@ var expr = doc.examples[i]; | ||
// note: res can be undefined when `expr` is an empty string | ||
res = parse(expr).compile().evaluate(scope); | ||
res = evaluate(expr, scope); | ||
} catch (e) { | ||
@@ -83,2 +95,7 @@ res = e; | ||
desc += '\n'; | ||
if (configChanged) { | ||
evaluate('config(originalConfig)', { | ||
originalConfig: originalConfig | ||
}); | ||
} | ||
} | ||
@@ -85,0 +102,0 @@ if (doc.mayThrow && doc.mayThrow.length) { |
@@ -28,4 +28,4 @@ "use strict"; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -42,3 +42,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -45,0 +45,0 @@ notation: 'bin', |
@@ -49,3 +49,3 @@ "use strict"; | ||
* For example `'0b1101'` and `'0x10fe'`. | ||
* - `wordSize: number` | ||
* - `wordSize: number | BigNumber` | ||
* The word size in bits to use for formatting in binary, octal, or | ||
@@ -58,3 +58,3 @@ * hexadecimal notation. To be used only with `'bin'`, `'oct'`, or `'hex'` | ||
* Default value is undefined. | ||
* - `precision: number` | ||
* - `precision: number | BigNumber` | ||
* Limit the number of digits of the formatted value. | ||
@@ -135,4 +135,4 @@ * For regular numbers, must be a number between `0` and `16`. | ||
any: _string.format, | ||
'any, Object | function | number': _string.format | ||
'any, Object | function | number | BigNumber': _string.format | ||
}); | ||
}); |
@@ -27,4 +27,4 @@ "use strict"; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -41,3 +41,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -44,0 +44,0 @@ notation: 'hex', |
@@ -28,4 +28,4 @@ "use strict"; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -43,3 +43,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -46,0 +46,0 @@ notation: 'oct', |
@@ -9,4 +9,4 @@ /** | ||
* | ||
* @version 12.3.0 | ||
* @date 2024-01-12 | ||
* @version 12.3.1 | ||
* @date 2024-02-01 | ||
* | ||
@@ -13,0 +13,0 @@ * @license |
@@ -52,3 +52,3 @@ "use strict"; | ||
var createFirstRadiation = exports.createFirstRadiation = /* #__PURE__ */unitFactory('firstRadiation', '3.7417718521927573e-16', 'W m^2'); | ||
// export const createSpectralRadiance = /* #__PURE__ */ unitFactory('spectralRadiance', '1.1910429723971881e-16', 'W m^2 sr^-1') // TODO spectralRadiance | ||
// TODO spectralRadiance = 1.1910429723971881e-16 W m^2 sr^-1 | ||
var createLoschmidt = exports.createLoschmidt = /* #__PURE__ */unitFactory('loschmidt', '2.686780111798444e25', 'm^-3'); | ||
@@ -55,0 +55,0 @@ var createGasConstant = exports.createGasConstant = /* #__PURE__ */unitFactory('gasConstant', '8.31446261815324', 'J K^-1 mol^-1'); |
@@ -10,2 +10,3 @@ "use strict"; | ||
exports.toFixed = toFixed; | ||
var _is = require("../is.js"); | ||
var _number = require("../number.js"); | ||
@@ -131,3 +132,3 @@ /** | ||
* @param {BigNumber} value | ||
* @param {Object | Function | number} [options] | ||
* @param {Object | Function | number | BigNumber} [options] | ||
* @return {string} str The formatted value | ||
@@ -145,27 +146,7 @@ */ | ||
} | ||
var _normalizeFormatOptio = (0, _number.normalizeFormatOptions)(options), | ||
notation = _normalizeFormatOptio.notation, | ||
precision = _normalizeFormatOptio.precision, | ||
wordSize = _normalizeFormatOptio.wordSize; | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options !== undefined) { | ||
// determine notation from options | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
// determine precision from options | ||
if (typeof options === 'number') { | ||
precision = options; | ||
} else if (options.precision !== undefined) { | ||
precision = options.precision; | ||
} | ||
if (options.wordSize) { | ||
wordSize = options.wordSize; | ||
if (typeof wordSize !== 'number') { | ||
throw new Error('Option "wordSize" must be a number'); | ||
} | ||
} | ||
} | ||
// handle the various notations | ||
@@ -189,4 +170,4 @@ switch (notation) { | ||
// TODO: implement support for upper and lower to be BigNumbers themselves | ||
var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3; | ||
var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5; | ||
var lowerExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.lowerExp, -3); | ||
var upperExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.upperExp, 5); | ||
@@ -264,2 +245,11 @@ // handle special case zero | ||
return value.toFixed(precision); | ||
} | ||
function _toNumberOrDefault(value, defaultValue) { | ||
if ((0, _is.isNumber)(value)) { | ||
return value; | ||
} else if ((0, _is.isBigNumber)(value)) { | ||
return value.toNumber(); | ||
} else { | ||
return defaultValue; | ||
} | ||
} |
@@ -15,2 +15,3 @@ "use strict"; | ||
exports.nearlyEqual = nearlyEqual; | ||
exports.normalizeFormatOptions = normalizeFormatOptions; | ||
exports.roundDigits = roundDigits; | ||
@@ -46,3 +47,3 @@ exports.sinh = exports.sign = void 0; | ||
*/ | ||
var sign = exports.sign = /* #__PURE__ */Math.sign || function (x) { | ||
var sign = exports.sign = Math.sign || function (x) { | ||
if (x > 0) { | ||
@@ -62,3 +63,3 @@ return 1; | ||
*/ | ||
var log2 = exports.log2 = /* #__PURE__ */Math.log2 || function log2(x) { | ||
var log2 = exports.log2 = Math.log2 || function log2(x) { | ||
return Math.log(x) / Math.LN2; | ||
@@ -72,3 +73,3 @@ }; | ||
*/ | ||
var log10 = exports.log10 = /* #__PURE__ */Math.log10 || function log10(x) { | ||
var log10 = exports.log10 = Math.log10 || function log10(x) { | ||
return Math.log(x) / Math.LN10; | ||
@@ -82,3 +83,3 @@ }; | ||
*/ | ||
var log1p = exports.log1p = /* #__PURE__ */Math.log1p || function (x) { | ||
var log1p = exports.log1p = Math.log1p || function (x) { | ||
return Math.log(x + 1); | ||
@@ -96,3 +97,3 @@ }; | ||
*/ | ||
var cbrt = exports.cbrt = /* #__PURE__ */Math.cbrt || function cbrt(x) { | ||
var cbrt = exports.cbrt = Math.cbrt || function cbrt(x) { | ||
if (x === 0) { | ||
@@ -121,3 +122,3 @@ return x; | ||
*/ | ||
var expm1 = exports.expm1 = /* #__PURE__ */Math.expm1 || function expm1(x) { | ||
var expm1 = exports.expm1 = Math.expm1 || function expm1(x) { | ||
return x >= 2e-4 || x <= -2e-4 ? Math.exp(x) - 1 : x + x * x / 2 + x * x * x / 6; | ||
@@ -265,27 +266,7 @@ }; | ||
} | ||
var _normalizeFormatOptio = normalizeFormatOptions(options), | ||
notation = _normalizeFormatOptio.notation, | ||
precision = _normalizeFormatOptio.precision, | ||
wordSize = _normalizeFormatOptio.wordSize; | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options) { | ||
// determine notation from options | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
// determine precision from options | ||
if ((0, _is.isNumber)(options)) { | ||
precision = options; | ||
} else if ((0, _is.isNumber)(options.precision)) { | ||
precision = options.precision; | ||
} | ||
if (options.wordSize) { | ||
wordSize = options.wordSize; | ||
if (typeof wordSize !== 'number') { | ||
throw new Error('Option "wordSize" must be a number'); | ||
} | ||
} | ||
} | ||
// handle the various notations | ||
@@ -307,3 +288,3 @@ switch (notation) { | ||
// remove trailing zeros after the decimal point | ||
return toPrecision(value, precision, options && options).replace(/((\.\d*?)(0+))($|e)/, function () { | ||
return toPrecision(value, precision, options).replace(/((\.\d*?)(0+))($|e)/, function () { | ||
var digits = arguments[2]; | ||
@@ -319,2 +300,45 @@ var e = arguments[4]; | ||
/** | ||
* Normalize format options into an object: | ||
* { | ||
* notation: string, | ||
* precision: number | undefined, | ||
* wordSize: number | undefined | ||
* } | ||
*/ | ||
function normalizeFormatOptions(options) { | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options !== undefined) { | ||
if ((0, _is.isNumber)(options)) { | ||
precision = options; | ||
} else if ((0, _is.isBigNumber)(options)) { | ||
precision = options.toNumber(); | ||
} else if ((0, _is.isObject)(options)) { | ||
if (options.precision !== undefined) { | ||
precision = _toNumberOrThrow(options.precision, function () { | ||
throw new Error('Option "precision" must be a number or BigNumber'); | ||
}); | ||
} | ||
if (options.wordSize !== undefined) { | ||
wordSize = _toNumberOrThrow(options.wordSize, function () { | ||
throw new Error('Option "wordSize" must be a number or BigNumber'); | ||
}); | ||
} | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
} else { | ||
throw new Error('Unsupported type of options, number, BigNumber, or object expected'); | ||
} | ||
} | ||
return { | ||
notation: notation, | ||
precision: precision, | ||
wordSize: wordSize | ||
}; | ||
} | ||
/** | ||
* Split a number into sign, coefficients, and exponent | ||
@@ -482,4 +506,4 @@ * @param {number | string} value | ||
// determine lower and upper bound for exponential notation. | ||
var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3; | ||
var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5; | ||
var lowerExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.lowerExp, -3); | ||
var upperExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.upperExp, 5); | ||
var split = splitNumber(value); | ||
@@ -689,2 +713,20 @@ var rounded = precision ? roundDigits(split, precision) : split; | ||
return signx ^ signy ? -x : x; | ||
} | ||
function _toNumberOrThrow(value, onError) { | ||
if ((0, _is.isNumber)(value)) { | ||
return value; | ||
} else if ((0, _is.isBigNumber)(value)) { | ||
return value.toNumber(); | ||
} else { | ||
onError(); | ||
} | ||
} | ||
function _toNumberOrDefault(value, defaultValue) { | ||
if ((0, _is.isNumber)(value)) { | ||
return value; | ||
} else if ((0, _is.isBigNumber)(value)) { | ||
return value.toNumber(); | ||
} else { | ||
return defaultValue; | ||
} | ||
} |
@@ -7,4 +7,4 @@ "use strict"; | ||
exports.version = void 0; | ||
var version = exports.version = '12.3.0'; | ||
var version = exports.version = '12.3.1'; | ||
// Note: This file is automatically generated when building math.js. | ||
// Changes made in this file will be overwritten. |
@@ -6,3 +6,3 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
// create a read-only version of config | ||
export var config = /* #__PURE__ */function config(options) { | ||
export var config = function config(options) { | ||
if (options) { | ||
@@ -9,0 +9,0 @@ 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'); |
@@ -5,7 +5,7 @@ /** | ||
*/ | ||
import { parseDependencies } from './dependenciesParse.generated.js'; | ||
import { evaluateDependencies } from './dependenciesEvaluate.generated.js'; | ||
import { createHelpClass } from '../../factoriesAny.js'; | ||
export var HelpDependencies = { | ||
parseDependencies, | ||
evaluateDependencies, | ||
createHelpClass | ||
}; |
@@ -5,7 +5,7 @@ /** | ||
*/ | ||
import { parseDependencies } from './dependenciesParse.generated.js'; | ||
import { evaluateDependencies } from './dependenciesEvaluate.generated.js'; | ||
import { createHelpClass } from '../../factoriesNumber.js'; | ||
export var HelpDependencies = { | ||
parseDependencies, | ||
evaluateDependencies, | ||
createHelpClass | ||
}; |
@@ -7,6 +7,6 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
import { config } from './configReadonly.js'; | ||
import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, 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'; | ||
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'; | ||
import { BigNumber, Complex, e, _false, fineStructure, Fraction, i, _Infinity, LN10, LOG10E, Matrix, _NaN, _null, phi, Range, ResultSet, SQRT1_2, | ||
// eslint-disable-line camelcase | ||
sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, bitNot, boolean, clone, combinations, complex, conj, 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'; | ||
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'; | ||
var math = {}; // NOT pure! | ||
@@ -133,9 +133,2 @@ var mathWithTransform = {}; // NOT pure! | ||
}); | ||
export var Help = createHelpClass({ | ||
parse | ||
}); | ||
export var leafCount = createLeafCount({ | ||
parse, | ||
typed | ||
}); | ||
export var simplifyCore = createSimplifyCore({ | ||
@@ -165,6 +158,4 @@ AccessorNode, | ||
}); | ||
export var help = createHelp({ | ||
Help, | ||
mathWithTransform, | ||
typed | ||
export var Help = createHelpClass({ | ||
evaluate | ||
}); | ||
@@ -208,2 +199,6 @@ export var Parser = createParserClass({ | ||
}); | ||
export var leafCount = createLeafCount({ | ||
parse, | ||
typed | ||
}); | ||
export var parser = createParser({ | ||
@@ -255,2 +250,7 @@ Parser, | ||
}); | ||
export var help = createHelp({ | ||
Help, | ||
mathWithTransform, | ||
typed | ||
}); | ||
_extends(math, { | ||
@@ -533,3 +533,3 @@ e, | ||
gasConstant, | ||
leafCount, | ||
kldivergence, | ||
mean, | ||
@@ -543,3 +543,2 @@ molarVolume, | ||
evaluate, | ||
help, | ||
median, | ||
@@ -550,2 +549,3 @@ simplify, | ||
freqz, | ||
leafCount, | ||
mad, | ||
@@ -559,3 +559,3 @@ parser, | ||
rotationMatrix, | ||
kldivergence, | ||
help, | ||
planckTime, | ||
@@ -562,0 +562,0 @@ schur, |
@@ -154,3 +154,3 @@ import _extends from "@babel/runtime/helpers/extends"; | ||
export var Help = createHelpClass({ | ||
parse | ||
evaluate | ||
}); | ||
@@ -157,0 +157,0 @@ export var Parser = createParserClass({ |
@@ -8,3 +8,3 @@ /** | ||
// eslint-disable-line camelcase | ||
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, 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'; | ||
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'; | ||
export var BigNumber = /* #__PURE__ */createBigNumberClass({ | ||
@@ -1606,2 +1606,13 @@ config | ||
}); | ||
export var kldivergence = /* #__PURE__ */createKldivergence({ | ||
divide, | ||
dotDivide, | ||
isNumeric, | ||
log, | ||
map, | ||
matrix, | ||
multiply, | ||
sum, | ||
typed | ||
}); | ||
export var mean = /* #__PURE__ */createMean({ | ||
@@ -1737,13 +1748,2 @@ add, | ||
}); | ||
export var kldivergence = /* #__PURE__ */createKldivergence({ | ||
divide, | ||
dotDivide, | ||
isNumeric, | ||
log, | ||
map, | ||
matrix, | ||
multiply, | ||
sum, | ||
typed | ||
}); | ||
export var planckTime = /* #__PURE__ */createPlanckTime({ | ||
@@ -1750,0 +1750,0 @@ BigNumber, |
@@ -6,6 +6,6 @@ import { isHelp } from '../utils/is.js'; | ||
var name = 'Help'; | ||
var dependencies = ['parse']; | ||
var dependencies = ['evaluate']; | ||
export var createHelpClass = /* #__PURE__ */factory(name, dependencies, _ref => { | ||
var { | ||
parse | ||
evaluate | ||
} = _ref; | ||
@@ -59,3 +59,15 @@ /** | ||
desc += 'Examples:\n'; | ||
var scope = {}; | ||
// after evaluating the examples, we restore config in case the examples | ||
// did change the config. | ||
var configChanged = false; | ||
var originalConfig = evaluate('config()'); | ||
var scope = { | ||
config: newConfig => { | ||
configChanged = true; | ||
return evaluate('config(newConfig)', { | ||
newConfig | ||
}); | ||
} | ||
}; | ||
for (var i = 0; i < doc.examples.length; i++) { | ||
@@ -67,3 +79,3 @@ var expr = doc.examples[i]; | ||
// note: res can be undefined when `expr` is an empty string | ||
res = parse(expr).compile().evaluate(scope); | ||
res = evaluate(expr, scope); | ||
} catch (e) { | ||
@@ -79,2 +91,7 @@ res = e; | ||
desc += '\n'; | ||
if (configChanged) { | ||
evaluate('config(originalConfig)', { | ||
originalConfig | ||
}); | ||
} | ||
} | ||
@@ -81,0 +98,0 @@ if (doc.mayThrow && doc.mayThrow.length) { |
@@ -22,4 +22,4 @@ import { factory } from '../../utils/factory.js'; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -38,3 +38,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -41,0 +41,0 @@ notation: 'bin', |
@@ -45,3 +45,3 @@ import { format as formatString } from '../../utils/string.js'; | ||
* For example `'0b1101'` and `'0x10fe'`. | ||
* - `wordSize: number` | ||
* - `wordSize: number | BigNumber` | ||
* The word size in bits to use for formatting in binary, octal, or | ||
@@ -54,3 +54,3 @@ * hexadecimal notation. To be used only with `'bin'`, `'oct'`, or `'hex'` | ||
* Default value is undefined. | ||
* - `precision: number` | ||
* - `precision: number | BigNumber` | ||
* Limit the number of digits of the formatted value. | ||
@@ -131,4 +131,4 @@ * For regular numbers, must be a number between `0` and `16`. | ||
any: formatString, | ||
'any, Object | function | number': formatString | ||
'any, Object | function | number | BigNumber': formatString | ||
}); | ||
}); |
@@ -21,4 +21,4 @@ import { factory } from '../../utils/factory.js'; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -37,3 +37,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -40,0 +40,0 @@ notation: 'hex', |
@@ -22,4 +22,4 @@ import { factory } from '../../utils/factory.js'; | ||
* | ||
* @param {number} value Value to be stringified | ||
* @param {number} wordSize Optional word size (see `format`) | ||
* @param {number | BigNumber} value Value to be stringified | ||
* @param {number | BigNumber} wordSize Optional word size (see `format`) | ||
* @return {string} The formatted value | ||
@@ -39,3 +39,3 @@ */ | ||
}, | ||
'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) { | ||
'number | BigNumber, number | BigNumber': function numberBigNumberNumberBigNumber(n, wordSize) { | ||
return format(n, { | ||
@@ -42,0 +42,0 @@ notation: 'oct', |
@@ -47,3 +47,3 @@ import { factory } from '../../utils/factory.js'; | ||
export var createFirstRadiation = /* #__PURE__ */unitFactory('firstRadiation', '3.7417718521927573e-16', 'W m^2'); | ||
// export const createSpectralRadiance = /* #__PURE__ */ unitFactory('spectralRadiance', '1.1910429723971881e-16', 'W m^2 sr^-1') // TODO spectralRadiance | ||
// TODO spectralRadiance = 1.1910429723971881e-16 W m^2 sr^-1 | ||
export var createLoschmidt = /* #__PURE__ */unitFactory('loschmidt', '2.686780111798444e25', 'm^-3'); | ||
@@ -50,0 +50,0 @@ export var createGasConstant = /* #__PURE__ */unitFactory('gasConstant', '8.31446261815324', 'J K^-1 mol^-1'); |
@@ -1,2 +0,3 @@ | ||
import { isInteger } from '../number.js'; | ||
import { isBigNumber, isNumber } from '../is.js'; | ||
import { isInteger, normalizeFormatOptions } from '../number.js'; | ||
@@ -122,3 +123,3 @@ /** | ||
* @param {BigNumber} value | ||
* @param {Object | Function | number} [options] | ||
* @param {Object | Function | number | BigNumber} [options] | ||
* @return {string} str The formatted value | ||
@@ -136,27 +137,8 @@ */ | ||
} | ||
var { | ||
notation, | ||
precision, | ||
wordSize | ||
} = normalizeFormatOptions(options); | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options !== undefined) { | ||
// determine notation from options | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
// determine precision from options | ||
if (typeof options === 'number') { | ||
precision = options; | ||
} else if (options.precision !== undefined) { | ||
precision = options.precision; | ||
} | ||
if (options.wordSize) { | ||
wordSize = options.wordSize; | ||
if (typeof wordSize !== 'number') { | ||
throw new Error('Option "wordSize" must be a number'); | ||
} | ||
} | ||
} | ||
// handle the various notations | ||
@@ -180,4 +162,4 @@ switch (notation) { | ||
// TODO: implement support for upper and lower to be BigNumbers themselves | ||
var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3; | ||
var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5; | ||
var lowerExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.lowerExp, -3); | ||
var upperExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.upperExp, 5); | ||
@@ -255,2 +237,11 @@ // handle special case zero | ||
return value.toFixed(precision); | ||
} | ||
function _toNumberOrDefault(value, defaultValue) { | ||
if (isNumber(value)) { | ||
return value; | ||
} else if (isBigNumber(value)) { | ||
return value.toNumber(); | ||
} else { | ||
return defaultValue; | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
import { isNumber } from './is.js'; | ||
import { isBigNumber, isNumber, isObject } from './is.js'; | ||
@@ -24,3 +24,3 @@ /** | ||
*/ | ||
export var sign = /* #__PURE__ */Math.sign || function (x) { | ||
export var sign = Math.sign || function (x) { | ||
if (x > 0) { | ||
@@ -40,3 +40,3 @@ return 1; | ||
*/ | ||
export var log2 = /* #__PURE__ */Math.log2 || function log2(x) { | ||
export var log2 = Math.log2 || function log2(x) { | ||
return Math.log(x) / Math.LN2; | ||
@@ -50,3 +50,3 @@ }; | ||
*/ | ||
export var log10 = /* #__PURE__ */Math.log10 || function log10(x) { | ||
export var log10 = Math.log10 || function log10(x) { | ||
return Math.log(x) / Math.LN10; | ||
@@ -60,3 +60,3 @@ }; | ||
*/ | ||
export var log1p = /* #__PURE__ */Math.log1p || function (x) { | ||
export var log1p = Math.log1p || function (x) { | ||
return Math.log(x + 1); | ||
@@ -74,3 +74,3 @@ }; | ||
*/ | ||
export var cbrt = /* #__PURE__ */Math.cbrt || function cbrt(x) { | ||
export var cbrt = Math.cbrt || function cbrt(x) { | ||
if (x === 0) { | ||
@@ -99,3 +99,3 @@ return x; | ||
*/ | ||
export var expm1 = /* #__PURE__ */Math.expm1 || function expm1(x) { | ||
export var expm1 = Math.expm1 || function expm1(x) { | ||
return x >= 2e-4 || x <= -2e-4 ? Math.exp(x) - 1 : x + x * x / 2 + x * x * x / 6; | ||
@@ -243,27 +243,8 @@ }; | ||
} | ||
var { | ||
notation, | ||
precision, | ||
wordSize | ||
} = normalizeFormatOptions(options); | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options) { | ||
// determine notation from options | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
// determine precision from options | ||
if (isNumber(options)) { | ||
precision = options; | ||
} else if (isNumber(options.precision)) { | ||
precision = options.precision; | ||
} | ||
if (options.wordSize) { | ||
wordSize = options.wordSize; | ||
if (typeof wordSize !== 'number') { | ||
throw new Error('Option "wordSize" must be a number'); | ||
} | ||
} | ||
} | ||
// handle the various notations | ||
@@ -285,3 +266,3 @@ switch (notation) { | ||
// remove trailing zeros after the decimal point | ||
return toPrecision(value, precision, options && options).replace(/((\.\d*?)(0+))($|e)/, function () { | ||
return toPrecision(value, precision, options).replace(/((\.\d*?)(0+))($|e)/, function () { | ||
var digits = arguments[2]; | ||
@@ -297,2 +278,45 @@ var e = arguments[4]; | ||
/** | ||
* Normalize format options into an object: | ||
* { | ||
* notation: string, | ||
* precision: number | undefined, | ||
* wordSize: number | undefined | ||
* } | ||
*/ | ||
export function normalizeFormatOptions(options) { | ||
// default values for options | ||
var notation = 'auto'; | ||
var precision; | ||
var wordSize; | ||
if (options !== undefined) { | ||
if (isNumber(options)) { | ||
precision = options; | ||
} else if (isBigNumber(options)) { | ||
precision = options.toNumber(); | ||
} else if (isObject(options)) { | ||
if (options.precision !== undefined) { | ||
precision = _toNumberOrThrow(options.precision, () => { | ||
throw new Error('Option "precision" must be a number or BigNumber'); | ||
}); | ||
} | ||
if (options.wordSize !== undefined) { | ||
wordSize = _toNumberOrThrow(options.wordSize, () => { | ||
throw new Error('Option "wordSize" must be a number or BigNumber'); | ||
}); | ||
} | ||
if (options.notation) { | ||
notation = options.notation; | ||
} | ||
} else { | ||
throw new Error('Unsupported type of options, number, BigNumber, or object expected'); | ||
} | ||
} | ||
return { | ||
notation, | ||
precision, | ||
wordSize | ||
}; | ||
} | ||
/** | ||
* Split a number into sign, coefficients, and exponent | ||
@@ -460,4 +484,4 @@ * @param {number | string} value | ||
// determine lower and upper bound for exponential notation. | ||
var lowerExp = options && options.lowerExp !== undefined ? options.lowerExp : -3; | ||
var upperExp = options && options.upperExp !== undefined ? options.upperExp : 5; | ||
var lowerExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.lowerExp, -3); | ||
var upperExp = _toNumberOrDefault(options === null || options === void 0 ? void 0 : options.upperExp, 5); | ||
var split = splitNumber(value); | ||
@@ -667,2 +691,20 @@ var rounded = precision ? roundDigits(split, precision) : split; | ||
return signx ^ signy ? -x : x; | ||
} | ||
function _toNumberOrThrow(value, onError) { | ||
if (isNumber(value)) { | ||
return value; | ||
} else if (isBigNumber(value)) { | ||
return value.toNumber(); | ||
} else { | ||
onError(); | ||
} | ||
} | ||
function _toNumberOrDefault(value, defaultValue) { | ||
if (isNumber(value)) { | ||
return value; | ||
} else if (isBigNumber(value)) { | ||
return value.toNumber(); | ||
} else { | ||
return defaultValue; | ||
} | ||
} |
@@ -1,3 +0,3 @@ | ||
export var version = '12.3.0'; | ||
export var version = '12.3.1'; | ||
// Note: This file is automatically generated when building math.js. | ||
// Changes made in this file will be overwritten. |
{ | ||
"name": "mathjs", | ||
"version": "12.3.0", | ||
"version": "12.3.1", | ||
"description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.", | ||
@@ -28,3 +28,3 @@ "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)", | ||
"dependencies": { | ||
"@babel/runtime": "^7.23.8", | ||
"@babel/runtime": "^7.23.9", | ||
"complex.js": "^2.1.1", | ||
@@ -40,17 +40,17 @@ "decimal.js": "^10.4.3", | ||
"devDependencies": { | ||
"@babel/core": "7.23.7", | ||
"@babel/core": "7.23.9", | ||
"@babel/plugin-transform-object-assign": "7.23.3", | ||
"@babel/plugin-transform-runtime": "7.23.7", | ||
"@babel/preset-env": "7.23.8", | ||
"@babel/plugin-transform-runtime": "7.23.9", | ||
"@babel/preset-env": "7.23.9", | ||
"@babel/register": "7.23.7", | ||
"@types/assert": "1.5.10", | ||
"@types/mocha": "10.0.6", | ||
"@typescript-eslint/eslint-plugin": "6.18.1", | ||
"@typescript-eslint/parser": "6.18.1", | ||
"@typescript-eslint/eslint-plugin": "6.20.0", | ||
"@typescript-eslint/parser": "6.20.0", | ||
"assert": "2.1.0", | ||
"babel-loader": "9.1.3", | ||
"benchmark": "2.1.4", | ||
"c8": "9.0.0", | ||
"c8": "9.1.0", | ||
"codecov": "3.8.3", | ||
"core-js": "3.35.0", | ||
"core-js": "3.35.1", | ||
"del": "6.1.1", | ||
@@ -90,3 +90,3 @@ "dtslint": "4.2.1", | ||
"pad-right": "0.2.2", | ||
"prettier": "3.1.1", | ||
"prettier": "3.2.4", | ||
"process": "0.11.10", | ||
@@ -96,3 +96,3 @@ "sylvester": "0.0.21", | ||
"typescript": "5.3.3", | ||
"webpack": "5.89.0", | ||
"webpack": "5.90.0", | ||
"zeros": "1.0.0" | ||
@@ -99,0 +99,0 @@ }, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
9678389
154987
Updated@babel/runtime@^7.23.9