feat:node-modules

This commit is contained in:
houjunxiang
2025-11-24 10:26:18 +08:00
parent 753766893b
commit 8a3e48d856
8825 changed files with 567399 additions and 1 deletions

837
node_modules/mathjs/lib/esm/utils/array.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

399
node_modules/mathjs/lib/esm/utils/bignumber/bitwise.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,57 @@
import { memoize } from '../function.js';
/**
* Calculate BigNumber e
* @param {function} BigNumber BigNumber constructor
* @returns {BigNumber} Returns e
*/
export var createBigNumberE = memoize(function (BigNumber) {
return new BigNumber(1).exp();
}, {
hasher
});
/**
* Calculate BigNumber golden ratio, phi = (1+sqrt(5))/2
* @param {function} BigNumber BigNumber constructor
* @returns {BigNumber} Returns phi
*/
export var createBigNumberPhi = memoize(function (BigNumber) {
return new BigNumber(1).plus(new BigNumber(5).sqrt()).div(2);
}, {
hasher
});
/**
* Calculate BigNumber pi.
* @param {function} BigNumber BigNumber constructor
* @returns {BigNumber} Returns pi
*/
export var createBigNumberPi = memoize(function (BigNumber) {
return BigNumber.acos(-1);
}, {
hasher
});
/**
* Calculate BigNumber tau, tau = 2 * pi
* @param {function} BigNumber BigNumber constructor
* @returns {BigNumber} Returns tau
*/
export var createBigNumberTau = memoize(function (BigNumber) {
return createBigNumberPi(BigNumber).times(2);
}, {
hasher
});
/**
* Create a hash for a BigNumber constructor function. The created has is
* the configured precision
* @param {Array} args Supposed to contain a single entry with
* a BigNumber constructor
* @return {number} precision
* @private
*/
function hasher(args) {
return args[0].precision;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,39 @@
/**
* Compares two BigNumbers.
* @param {BigNumber} a - First value to compare
* @param {BigNumber} b - Second value to compare
* @param {number} [relTol=1e-09] - The relative tolerance, indicating the maximum allowed difference relative to the larger absolute value. Must be greater than 0.
* @param {number} [absTol=0] - The minimum absolute tolerance, useful for comparisons near zero. Must be at least 0.
* @returns {boolean} whether the two numbers are nearly equal
* @throws {Error} If `relTol` is less than or equal to 0.
* @throws {Error} If `absTol` is less than 0.
*
* @example
* nearlyEqual(1.000000001, 1.0, 1e-9); // true
* nearlyEqual(1.000000002, 1.0, 0); // false
* nearlyEqual(1.0, 1.009, undefined, 0.02); // true
* nearlyEqual(0.000000001, 0.0, undefined, 1e-8); // true
*/
export function nearlyEqual(a, b) {
var relTol = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1e-9;
var absTol = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
if (relTol <= 0) {
throw new Error('Relative tolerance must be greater than 0');
}
if (absTol < 0) {
throw new Error('Absolute tolerance must be at least 0');
}
// NaN
if (a.isNaN() || b.isNaN()) {
return false;
}
if (!a.isFinite() || !b.isFinite()) {
return a.eq(b);
}
// use "==" operator, handles infinities
if (a.eq(b)) {
return true;
}
// abs(a-b) <= max(relTol * max(abs(a), abs(b)), absTol)
return a.minus(b).abs().lte(a.constructor.max(a.constructor.max(a.abs(), b.abs()).mul(relTol), absTol));
}

177
node_modules/mathjs/lib/esm/utils/collection.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

14
node_modules/mathjs/lib/esm/utils/complex.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
import { nearlyEqual } from './number.js';
/**
* Test whether two complex values are equal provided a given relTol and absTol.
* Does not use or change the global Complex.EPSILON setting
* @param {Complex} x - The first complex number for comparison.
* @param {Complex} y - The second complex number for comparison.
* @param {number} relTol - The relative tolerance for comparison.
* @param {number} absTol - The absolute tolerance for comparison.
* @returns {boolean} - Returns true if the two complex numbers are equal within the given tolerances, otherwise returns false.
*/
export function complexEquals(x, y, relTol, absTol) {
return nearlyEqual(x.re, y.re, relTol, absTol) && nearlyEqual(x.im, y.im, relTol, absTol);
}

147
node_modules/mathjs/lib/esm/utils/customs.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

18
node_modules/mathjs/lib/esm/utils/emitter.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
import Emitter from 'tiny-emitter';
/**
* Extend given object with emitter functions `on`, `off`, `once`, `emit`
* @param {Object} obj
* @return {Object} obj
*/
export function mixin(obj) {
// create event emitter
var emitter = new Emitter();
// bind methods to obj (we don't want to expose the emitter.e Array...)
obj.on = emitter.on.bind(emitter);
obj.off = emitter.off.bind(emitter);
obj.once = emitter.once.bind(emitter);
obj.emit = emitter.emit.bind(emitter);
return obj;
}

126
node_modules/mathjs/lib/esm/utils/factory.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More