mathjs 14.4.0 → 14.5.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.
Files changed (59) hide show
  1. package/HISTORY.md +20 -0
  2. package/README.md +1 -1
  3. package/lib/browser/math.js +1 -1
  4. package/lib/browser/math.js.LICENSE.txt +2 -2
  5. package/lib/browser/math.js.map +1 -1
  6. package/lib/cjs/constants.js +12 -12
  7. package/lib/cjs/core/create.js +1 -2
  8. package/lib/cjs/defaultInstance.js +1 -2
  9. package/lib/cjs/entry/allFactoriesAny.js +1 -2
  10. package/lib/cjs/entry/allFactoriesNumber.js +1 -2
  11. package/lib/cjs/entry/dependenciesAny/dependenciesCoulombConstant.generated.js +19 -0
  12. package/lib/cjs/entry/dependenciesAny.generated.js +7 -0
  13. package/lib/cjs/entry/impureFunctionsAny.generated.js +3 -2
  14. package/lib/cjs/entry/pureFunctionsAny.generated.js +15 -10
  15. package/lib/cjs/expression/embeddedDocs/construction/index.js +1 -1
  16. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -2
  17. package/lib/cjs/expression/embeddedDocs/function/expression/compile.js +14 -0
  18. package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +1 -1
  19. package/lib/cjs/expression/embeddedDocs/function/expression/parse.js +14 -0
  20. package/lib/cjs/expression/embeddedDocs/function/expression/parser.js +14 -0
  21. package/lib/cjs/expression/embeddedDocs/function/statistics/sum.js +1 -1
  22. package/lib/cjs/expression/function/parser.js +1 -1
  23. package/lib/cjs/expression/parse.js +3 -2
  24. package/lib/cjs/factoriesAny.js +6 -0
  25. package/lib/cjs/function/arithmetic/add.js +33 -33
  26. package/lib/cjs/function/complex/conj.js +3 -2
  27. package/lib/cjs/function/probability/randomInt.js +1 -1
  28. package/lib/cjs/function/utils/numeric.js +1 -0
  29. package/lib/cjs/header.js +2 -2
  30. package/lib/cjs/type/matrix/DenseMatrix.js +127 -91
  31. package/lib/cjs/type/unit/Unit.js +19 -4
  32. package/lib/cjs/type/unit/physicalConstants.js +3 -2
  33. package/lib/cjs/utils/snapshot.js +2 -3
  34. package/lib/cjs/version.js +1 -1
  35. package/lib/esm/constants.js +12 -12
  36. package/lib/esm/entry/dependenciesAny/dependenciesCoulombConstant.generated.js +12 -0
  37. package/lib/esm/entry/dependenciesAny.generated.js +1 -0
  38. package/lib/esm/entry/impureFunctionsAny.generated.js +4 -3
  39. package/lib/esm/entry/pureFunctionsAny.generated.js +12 -7
  40. package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
  41. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +8 -2
  42. package/lib/esm/expression/embeddedDocs/function/expression/compile.js +8 -0
  43. package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +1 -1
  44. package/lib/esm/expression/embeddedDocs/function/expression/parse.js +8 -0
  45. package/lib/esm/expression/embeddedDocs/function/expression/parser.js +8 -0
  46. package/lib/esm/expression/embeddedDocs/function/statistics/sum.js +1 -1
  47. package/lib/esm/expression/function/parser.js +1 -1
  48. package/lib/esm/expression/parse.js +3 -2
  49. package/lib/esm/factoriesAny.js +1 -1
  50. package/lib/esm/function/arithmetic/add.js +33 -33
  51. package/lib/esm/function/complex/conj.js +3 -2
  52. package/lib/esm/function/probability/randomInt.js +1 -1
  53. package/lib/esm/function/utils/numeric.js +1 -0
  54. package/lib/esm/type/matrix/DenseMatrix.js +133 -97
  55. package/lib/esm/type/unit/Unit.js +19 -4
  56. package/lib/esm/type/unit/physicalConstants.js +2 -1
  57. package/lib/esm/utils/snapshot.js +1 -1
  58. package/lib/esm/version.js +1 -1
  59. package/package.json +17 -17
@@ -76,47 +76,47 @@ const createLOG2E = exports.createLOG2E = /* #__PURE__ */recreateFactory('LOG2E'
76
76
  } = _ref9;
77
77
  return config.number === 'BigNumber' ? new BigNumber(1).div(new BigNumber(2).ln()) : Math.LOG2E;
78
78
  });
79
- const createLOG10E = exports.createLOG10E = /* #__PURE__ */recreateFactory('LOG10E', ['config', '?BigNumber'], _ref10 => {
79
+ const createLOG10E = exports.createLOG10E = /* #__PURE__ */recreateFactory('LOG10E', ['config', '?BigNumber'], _ref0 => {
80
80
  let {
81
81
  config,
82
82
  BigNumber
83
- } = _ref10;
83
+ } = _ref0;
84
84
  return config.number === 'BigNumber' ? new BigNumber(1).div(new BigNumber(10).ln()) : Math.LOG10E;
85
85
  });
86
86
  const createSQRT1_2 = exports.createSQRT1_2 = /* #__PURE__ */recreateFactory(
87
87
  // eslint-disable-line camelcase
88
- 'SQRT1_2', ['config', '?BigNumber'], _ref11 => {
88
+ 'SQRT1_2', ['config', '?BigNumber'], _ref1 => {
89
89
  let {
90
90
  config,
91
91
  BigNumber
92
- } = _ref11;
92
+ } = _ref1;
93
93
  return config.number === 'BigNumber' ? new BigNumber('0.5').sqrt() : Math.SQRT1_2;
94
94
  });
95
- const createSQRT2 = exports.createSQRT2 = /* #__PURE__ */recreateFactory('SQRT2', ['config', '?BigNumber'], _ref12 => {
95
+ const createSQRT2 = exports.createSQRT2 = /* #__PURE__ */recreateFactory('SQRT2', ['config', '?BigNumber'], _ref10 => {
96
96
  let {
97
97
  config,
98
98
  BigNumber
99
- } = _ref12;
99
+ } = _ref10;
100
100
  return config.number === 'BigNumber' ? new BigNumber(2).sqrt() : Math.SQRT2;
101
101
  });
102
- const createI = exports.createI = /* #__PURE__ */recreateFactory('i', ['Complex'], _ref13 => {
102
+ const createI = exports.createI = /* #__PURE__ */recreateFactory('i', ['Complex'], _ref11 => {
103
103
  let {
104
104
  Complex
105
- } = _ref13;
105
+ } = _ref11;
106
106
  return Complex.I;
107
107
  });
108
108
 
109
109
  // for backward compatibility with v5
110
- const createUppercasePi = exports.createUppercasePi = /* #__PURE__ */(0, _factory.factory)('PI', ['pi'], _ref14 => {
110
+ const createUppercasePi = exports.createUppercasePi = /* #__PURE__ */(0, _factory.factory)('PI', ['pi'], _ref12 => {
111
111
  let {
112
112
  pi
113
- } = _ref14;
113
+ } = _ref12;
114
114
  return pi;
115
115
  });
116
- const createUppercaseE = exports.createUppercaseE = /* #__PURE__ */(0, _factory.factory)('E', ['e'], _ref15 => {
116
+ const createUppercaseE = exports.createUppercaseE = /* #__PURE__ */(0, _factory.factory)('E', ['e'], _ref13 => {
117
117
  let {
118
118
  e
119
- } = _ref15;
119
+ } = _ref13;
120
120
  return e;
121
121
  });
122
122
  const createVersion = exports.createVersion = /* #__PURE__ */(0, _factory.factory)('version', [], () => _version.version);
@@ -17,8 +17,7 @@ var emitter = _interopRequireWildcard(require("./../utils/emitter.js"));
17
17
  var _config = require("./config.js");
18
18
  var _config2 = require("./function/config.js");
19
19
  var _import = require("./function/import.js");
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
21
  /**
23
22
  * Create a mathjs instance from given factory functions and optionally config
24
23
  *
@@ -6,6 +6,5 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var all = _interopRequireWildcard(require("./factoriesAny.js"));
8
8
  var _create = require("./core/create.js");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  var _default = exports.default = (0, _create.create)(all);
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.all = void 0;
7
7
  var allFactories = _interopRequireWildcard(require("../factoriesAny.js"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
9
  // creating all factories here in a separate file is needed to get tree-shaking working
11
10
 
12
11
  const all = exports.all = allFactories;
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.all = void 0;
7
7
  var allFactories = _interopRequireWildcard(require("../factoriesNumber.js"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
9
  // creating all factories here in a separate file is needed to get tree-shaking working
11
10
 
12
11
  const all = exports.all = allFactories;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.coulombConstantDependencies = void 0;
7
+ var _dependenciesBigNumberClassGenerated = require("./dependenciesBigNumberClass.generated.js");
8
+ var _dependenciesUnitClassGenerated = require("./dependenciesUnitClass.generated.js");
9
+ var _factoriesAny = require("../../factoriesAny.js");
10
+ /**
11
+ * THIS FILE IS AUTO-GENERATED
12
+ * DON'T MAKE CHANGES HERE
13
+ */
14
+
15
+ const coulombConstantDependencies = exports.coulombConstantDependencies = {
16
+ BigNumberDependencies: _dependenciesBigNumberClassGenerated.BigNumberDependencies,
17
+ UnitDependencies: _dependenciesUnitClassGenerated.UnitDependencies,
18
+ createCoulombConstant: _factoriesAny.createCoulombConstant
19
+ };
@@ -621,6 +621,12 @@ Object.defineProperty(exports, "cothDependencies", {
621
621
  return _dependenciesCothGenerated.cothDependencies;
622
622
  }
623
623
  });
624
+ Object.defineProperty(exports, "coulombConstantDependencies", {
625
+ enumerable: true,
626
+ get: function () {
627
+ return _dependenciesCoulombConstantGenerated.coulombConstantDependencies;
628
+ }
629
+ });
624
630
  Object.defineProperty(exports, "coulombDependencies", {
625
631
  enumerable: true,
626
632
  get: function () {
@@ -2251,6 +2257,7 @@ var _dependenciesCoshGenerated = require("./dependenciesAny/dependenciesCosh.gen
2251
2257
  var _dependenciesCotGenerated = require("./dependenciesAny/dependenciesCot.generated.js");
2252
2258
  var _dependenciesCothGenerated = require("./dependenciesAny/dependenciesCoth.generated.js");
2253
2259
  var _dependenciesCoulombGenerated = require("./dependenciesAny/dependenciesCoulomb.generated.js");
2260
+ var _dependenciesCoulombConstantGenerated = require("./dependenciesAny/dependenciesCoulombConstant.generated.js");
2254
2261
  var _dependenciesCountGenerated = require("./dependenciesAny/dependenciesCount.generated.js");
2255
2262
  var _dependenciesCreateUnitGenerated = require("./dependenciesAny/dependenciesCreateUnit.generated.js");
2256
2263
  var _dependenciesCrossGenerated = require("./dependenciesAny/dependenciesCross.generated.js");
@@ -469,7 +469,7 @@ const help = exports.help = (0, _factoriesAny.createHelp)({
469
469
  boltzmann: _pureFunctionsAnyGenerated.boltzmann,
470
470
  conductanceQuantum: _pureFunctionsAnyGenerated.conductanceQuantum,
471
471
  coulomb: _pureFunctionsAnyGenerated.coulomb,
472
- cumsum: _pureFunctionsAnyGenerated.cumsum,
472
+ createUnit: _pureFunctionsAnyGenerated.createUnit,
473
473
  deuteronMass: _pureFunctionsAnyGenerated.deuteronMass,
474
474
  dotPow: _pureFunctionsAnyGenerated.dotPow,
475
475
  electricConstant: _pureFunctionsAnyGenerated.electricConstant,
@@ -503,7 +503,7 @@ const help = exports.help = (0, _factoriesAny.createHelp)({
503
503
  thomsonCrossSection: _pureFunctionsAnyGenerated.thomsonCrossSection,
504
504
  avogadro: _pureFunctionsAnyGenerated.avogadro,
505
505
  bohrRadius: _pureFunctionsAnyGenerated.bohrRadius,
506
- createUnit: _pureFunctionsAnyGenerated.createUnit,
506
+ coulombConstant: _pureFunctionsAnyGenerated.coulombConstant,
507
507
  divide: _pureFunctionsAnyGenerated.divide,
508
508
  electronMass: _pureFunctionsAnyGenerated.electronMass,
509
509
  factorial: _pureFunctionsAnyGenerated.factorial,
@@ -526,6 +526,7 @@ const help = exports.help = (0, _factoriesAny.createHelp)({
526
526
  unit: _pureFunctionsAnyGenerated.unit,
527
527
  bellNumbers: _pureFunctionsAnyGenerated.bellNumbers,
528
528
  compile,
529
+ cumsum: _pureFunctionsAnyGenerated.cumsum,
529
530
  eigs: _pureFunctionsAnyGenerated.eigs,
530
531
  fermiCoupling: _pureFunctionsAnyGenerated.fermiCoupling,
531
532
  gasConstant: _pureFunctionsAnyGenerated.gasConstant,
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.e = exports.dotPow = exports.dotMultiply = exports.dotDivide = exports.dot = exports.divideScalar = exports.divide = exports.distance = exports.diff = exports.diag = exports.deuteronMass = exports.det = exports.deepEqual = exports.cumsum = exports.cube = exports.ctranspose = exports.csch = exports.csc = exports.cross = exports.createUnit = exports.count = exports.coulomb = exports.coth = exports.cot = exports.cosh = exports.cos = exports.corr = exports.conj = exports.conductanceQuantum = exports.concat = exports.composition = exports.complex = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.column = exports.clone = exports.classicalElectronRadius = exports.ceil = exports.cbrt = exports.catalan = exports.boolean = exports.boltzmann = exports.bohrRadius = exports.bohrMagneton = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bin = exports.bignumber = exports.bigint = exports.bellNumbers = exports.avogadro = exports.atomicMass = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = exports.arg = exports.apply = exports.and = exports.addScalar = exports.add = exports.acsch = exports.acsc = exports.acoth = exports.acot = exports.acosh = exports.acos = exports.abs = exports._true = exports._null = exports._false = exports._NaN = exports._Infinity = exports.Unit = exports.SparseMatrix = exports.Spa = exports.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.Matrix = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = exports.Index = exports.ImmutableDenseMatrix = exports.Fraction = exports.FibonacciHeap = exports.DenseMatrix = exports.Complex = exports.BigNumber = void 0;
7
- exports.numeric = exports.number = exports.nuclearMagneton = exports.nthRoots = exports.nthRoot = exports.not = exports.norm = exports.neutronMass = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.molarVolume = exports.molarPlanckConstant = exports.molarMassC12 = exports.molarMass = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrixFromRows = exports.matrixFromFunction = exports.matrixFromColumns = exports.matrix = exports.mapSlices = exports.map = exports.magneticFluxQuantum = exports.magneticConstant = exports.mad = exports.lyap = exports.lusolve = exports.lup = exports.lsolveAll = exports.lsolve = exports.loschmidt = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.lgamma = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.kron = exports.klitzing = exports.kldivergence = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.invmod = exports.inverseConductanceQuantum = exports.inv = exports.intersect = exports.index = exports.im = exports.ifft = exports.identity = exports.i = exports.hypot = exports.hex = exports.hasNumericValue = exports.hartreeEnergy = exports.gravity = exports.gravitationConstant = exports.getMatrixDataType = exports.gcd = exports.gasConstant = exports.gamma = exports.freqz = exports.fraction = exports.format = exports.forEach = exports.floor = exports.flatten = exports.fix = exports.firstRadiation = exports.fineStructure = exports.filter = exports.fft = exports.fermiCoupling = exports.faraday = exports.factorial = exports.expm1 = exports.expm = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.elementaryCharge = exports.electronMass = exports.electricConstant = exports.eigs = exports.efimovFactor = void 0;
8
- exports.xor = exports.xgcd = exports.wienDisplacement = exports.weakMixingAngle = exports.version = exports.variance = exports.vacuumImpedance = exports.usolveAll = exports.usolve = exports.unit = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.transpose = exports.trace = exports.to = exports.thomsonCrossSection = exports.tau = exports.tanh = exports.tan = exports.sylvester = exports.sum = exports.subtractScalar = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.stefanBoltzmann = exports.std = exports.squeeze = exports.square = exports.sqrtm = exports.sqrt = exports.splitUnit = exports.speedOfLight = exports.sparse = exports.sort = exports.solveODE = exports.smallerEq = exports.smaller = exports.slu = exports.size = exports.sinh = exports.sin = exports.sign = exports.setUnion = exports.setSymDifference = exports.setSize = exports.setPowerset = exports.setMultiplicity = exports.setIsSubset = exports.setIntersect = exports.setDistinct = exports.setDifference = exports.setCartesian = exports.secondRadiation = exports.sech = exports.sec = exports.schur = exports.sackurTetrode = exports.rydberg = exports.row = exports.round = exports.rotationMatrix = exports.rotate = exports.rightLogShift = exports.rightArithShift = exports.resize = exports.reshape = exports.replacer = exports.reducedPlanckConstant = exports.re = exports.range = exports.randomInt = exports.random = exports.quantumOfCirculation = exports.quantileSeq = exports.qr = exports.protonMass = exports.prod = exports.print = exports.pow = exports.polynomialRoot = exports.planckTime = exports.planckTemperature = exports.planckMass = exports.planckLength = exports.planckConstant = exports.planckCharge = exports.pinv = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.ones = exports.oct = void 0;
9
- exports.zpk2tf = exports.zeta = exports.zeros = void 0;
6
+ exports.dotPow = exports.dotMultiply = exports.dotDivide = exports.dot = exports.divideScalar = exports.divide = exports.distance = exports.diff = exports.diag = exports.deuteronMass = exports.det = exports.deepEqual = exports.cumsum = exports.cube = exports.ctranspose = exports.csch = exports.csc = exports.cross = exports.createUnit = exports.count = exports.coulombConstant = exports.coulomb = exports.coth = exports.cot = exports.cosh = exports.cos = exports.corr = exports.conj = exports.conductanceQuantum = exports.concat = exports.composition = exports.complex = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.column = exports.clone = exports.classicalElectronRadius = exports.ceil = exports.cbrt = exports.catalan = exports.boolean = exports.boltzmann = exports.bohrRadius = exports.bohrMagneton = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bin = exports.bignumber = exports.bigint = exports.bellNumbers = exports.avogadro = exports.atomicMass = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = exports.arg = exports.apply = exports.and = exports.addScalar = exports.add = exports.acsch = exports.acsc = exports.acoth = exports.acot = exports.acosh = exports.acos = exports.abs = exports._true = exports._null = exports._false = exports._NaN = exports._Infinity = exports.Unit = exports.SparseMatrix = exports.Spa = exports.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.Matrix = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = exports.Index = exports.ImmutableDenseMatrix = exports.Fraction = exports.FibonacciHeap = exports.DenseMatrix = exports.Complex = exports.BigNumber = void 0;
7
+ exports.number = exports.nuclearMagneton = exports.nthRoots = exports.nthRoot = exports.not = exports.norm = exports.neutronMass = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.molarVolume = exports.molarPlanckConstant = exports.molarMassC12 = exports.molarMass = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrixFromRows = exports.matrixFromFunction = exports.matrixFromColumns = exports.matrix = exports.mapSlices = exports.map = exports.magneticFluxQuantum = exports.magneticConstant = exports.mad = exports.lyap = exports.lusolve = exports.lup = exports.lsolveAll = exports.lsolve = exports.loschmidt = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.lgamma = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.kron = exports.klitzing = exports.kldivergence = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.invmod = exports.inverseConductanceQuantum = exports.inv = exports.intersect = exports.index = exports.im = exports.ifft = exports.identity = exports.i = exports.hypot = exports.hex = exports.hasNumericValue = exports.hartreeEnergy = exports.gravity = exports.gravitationConstant = exports.getMatrixDataType = exports.gcd = exports.gasConstant = exports.gamma = exports.freqz = exports.fraction = exports.format = exports.forEach = exports.floor = exports.flatten = exports.fix = exports.firstRadiation = exports.fineStructure = exports.filter = exports.fft = exports.fermiCoupling = exports.faraday = exports.factorial = exports.expm1 = exports.expm = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.elementaryCharge = exports.electronMass = exports.electricConstant = exports.eigs = exports.efimovFactor = exports.e = void 0;
8
+ exports.xgcd = exports.wienDisplacement = exports.weakMixingAngle = exports.version = exports.variance = exports.vacuumImpedance = exports.usolveAll = exports.usolve = exports.unit = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.transpose = exports.trace = exports.to = exports.thomsonCrossSection = exports.tau = exports.tanh = exports.tan = exports.sylvester = exports.sum = exports.subtractScalar = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.stefanBoltzmann = exports.std = exports.squeeze = exports.square = exports.sqrtm = exports.sqrt = exports.splitUnit = exports.speedOfLight = exports.sparse = exports.sort = exports.solveODE = exports.smallerEq = exports.smaller = exports.slu = exports.size = exports.sinh = exports.sin = exports.sign = exports.setUnion = exports.setSymDifference = exports.setSize = exports.setPowerset = exports.setMultiplicity = exports.setIsSubset = exports.setIntersect = exports.setDistinct = exports.setDifference = exports.setCartesian = exports.secondRadiation = exports.sech = exports.sec = exports.schur = exports.sackurTetrode = exports.rydberg = exports.row = exports.round = exports.rotationMatrix = exports.rotate = exports.rightLogShift = exports.rightArithShift = exports.resize = exports.reshape = exports.replacer = exports.reducedPlanckConstant = exports.re = exports.range = exports.randomInt = exports.random = exports.quantumOfCirculation = exports.quantileSeq = exports.qr = exports.protonMass = exports.prod = exports.print = exports.pow = exports.polynomialRoot = exports.planckTime = exports.planckTemperature = exports.planckMass = exports.planckLength = exports.planckConstant = exports.planckCharge = exports.pinv = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.ones = exports.oct = exports.numeric = void 0;
9
+ exports.zpk2tf = exports.zeta = exports.zeros = exports.xor = void 0;
10
10
  var _configReadonly = require("./configReadonly.js");
11
11
  var _factoriesAny = require("../factoriesAny.js");
12
12
  /**
@@ -1222,10 +1222,9 @@ const coulomb = exports.coulomb = /* #__PURE__ */(0, _factoriesAny.createCoulomb
1222
1222
  Unit,
1223
1223
  config: _configReadonly.config
1224
1224
  });
1225
- const cumsum = exports.cumsum = /* #__PURE__ */(0, _factoriesAny.createCumSum)({
1226
- add,
1227
- typed,
1228
- unaryPlus
1225
+ const createUnit = exports.createUnit = /* #__PURE__ */(0, _factoriesAny.createCreateUnit)({
1226
+ Unit,
1227
+ typed
1229
1228
  });
1230
1229
  const deuteronMass = exports.deuteronMass = /* #__PURE__ */(0, _factoriesAny.createDeuteronMass)({
1231
1230
  BigNumber,
@@ -1412,9 +1411,10 @@ const bohrRadius = exports.bohrRadius = /* #__PURE__ */(0, _factoriesAny.createB
1412
1411
  Unit,
1413
1412
  config: _configReadonly.config
1414
1413
  });
1415
- const createUnit = exports.createUnit = /* #__PURE__ */(0, _factoriesAny.createCreateUnit)({
1414
+ const coulombConstant = exports.coulombConstant = /* #__PURE__ */(0, _factoriesAny.createCoulombConstant)({
1415
+ BigNumber,
1416
1416
  Unit,
1417
- typed
1417
+ config: _configReadonly.config
1418
1418
  });
1419
1419
  const divide = exports.divide = /* #__PURE__ */(0, _factoriesAny.createDivide)({
1420
1420
  divideScalar,
@@ -1569,6 +1569,11 @@ const bellNumbers = exports.bellNumbers = /* #__PURE__ */(0, _factoriesAny.creat
1569
1569
  stirlingS2,
1570
1570
  typed
1571
1571
  });
1572
+ const cumsum = exports.cumsum = /* #__PURE__ */(0, _factoriesAny.createCumSum)({
1573
+ add,
1574
+ typed,
1575
+ unaryPlus
1576
+ });
1572
1577
  const eigs = exports.eigs = /* #__PURE__ */(0, _factoriesAny.createEigs)({
1573
1578
  abs,
1574
1579
  add,
@@ -10,5 +10,5 @@ const indexDocs = exports.indexDocs = {
10
10
  syntax: ['[start]', '[start:end]', '[start:step:end]', '[start1, start 2, ...]', '[start1:end1, start2:end2, ...]', '[start1:step1:end1, start2:step2:end2, ...]'],
11
11
  description: 'Create an index to get or replace a subset of a matrix',
12
12
  examples: ['A = [1, 2, 3; 4, 5, 6]', 'A[1, :]', 'A[1, 2] = 50', 'A[1:2, 1:2] = 1', 'B = [1, 2, 3]', 'B[B>1 and B<3]'],
13
- seealso: ['bignumber', 'boolean', 'complex', 'matrix,', 'number', 'range', 'string', 'unit']
13
+ seealso: ['bignumber', 'boolean', 'complex', 'matrix', 'number', 'range', 'string', 'unit']
14
14
  };
@@ -110,6 +110,9 @@ var _conj = require("./function/complex/conj.js");
110
110
  var _im = require("./function/complex/im.js");
111
111
  var _re = require("./function/complex/re.js");
112
112
  var _evaluate = require("./function/expression/evaluate.js");
113
+ var _parser = require("./function/expression/parser.js");
114
+ var _parse = require("./function/expression/parse.js");
115
+ var _compile = require("./function/expression/compile.js");
113
116
  var _help = require("./function/expression/help.js");
114
117
  var _distance = require("./function/geometry/distance.js");
115
118
  var _intersect = require("./function/geometry/intersect.js");
@@ -314,9 +317,9 @@ const embeddedDocs = exports.embeddedDocs = {
314
317
  description: 'Characteristic impedance of vacuum',
315
318
  examples: ['vacuumImpedance']
316
319
  },
317
- coulomb: {
320
+ coulombConstant: {
318
321
  description: 'Coulomb\'s constant',
319
- examples: ['coulomb']
322
+ examples: ['coulombConstant']
320
323
  },
321
324
  elementaryCharge: {
322
325
  description: 'Elementary charge',
@@ -570,6 +573,9 @@ const embeddedDocs = exports.embeddedDocs = {
570
573
  // functions - expression
571
574
  evaluate: _evaluate.evaluateDocs,
572
575
  help: _help.helpDocs,
576
+ parse: _parse.parseDocs,
577
+ parser: _parser.parserDocs,
578
+ compile: _compile.compileDocs,
573
579
  // functions - geometry
574
580
  distance: _distance.distanceDocs,
575
581
  intersect: _intersect.intersectDocs,
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.compileDocs = void 0;
7
+ const compileDocs = exports.compileDocs = {
8
+ name: 'compile',
9
+ category: 'Expression',
10
+ syntax: ['compile(expr) ', 'compile([expr1, expr2, expr3, ...])'],
11
+ description: 'Parse and compile an expression. Returns a an object with a function evaluate([scope]) to evaluate the compiled expression.',
12
+ examples: ['code1 = compile("sqrt(3^2 + 4^2)")', 'code1.evaluate() ', 'code2 = compile("a * b")', 'code2.evaluate({a: 3, b: 4})'],
13
+ seealso: ['parser', 'parse', 'evaluate']
14
+ };
@@ -10,5 +10,5 @@ const evaluateDocs = exports.evaluateDocs = {
10
10
  syntax: ['evaluate(expression)', 'evaluate(expression, scope)', 'evaluate([expr1, expr2, expr3, ...])', 'evaluate([expr1, expr2, expr3, ...], scope)'],
11
11
  description: 'Evaluate an expression or an array with expressions.',
12
12
  examples: ['evaluate("2 + 3")', 'evaluate("sqrt(16)")', 'evaluate("2 inch to cm")', 'evaluate("sin(x * pi)", { "x": 1/2 })', 'evaluate(["width=2", "height=4","width*height"])'],
13
- seealso: []
13
+ seealso: ['parser', 'parse', 'compile']
14
14
  };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseDocs = void 0;
7
+ const parseDocs = exports.parseDocs = {
8
+ name: 'parse',
9
+ category: 'Expression',
10
+ syntax: ['parse(expr)', 'parse(expr, options)', 'parse([expr1, expr2, expr3, ...])', 'parse([expr1, expr2, expr3, ...], options)'],
11
+ description: 'Parse an expression. Returns a node tree, which can be evaluated by invoking node.evaluate() or transformed into a functional object via node.compile().',
12
+ examples: ['node1 = parse("sqrt(3^2 + 4^2)")', 'node1.evaluate()', 'code1 = node1.compile()', 'code1.evaluate()', 'scope = {a: 3, b: 4}', 'node2 = parse("a * b")', 'node2.evaluate(scope)', 'code2 = node2.compile()', 'code2.evaluate(scope)'],
13
+ seealso: ['parser', 'evaluate', 'compile']
14
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parserDocs = void 0;
7
+ const parserDocs = exports.parserDocs = {
8
+ name: 'parser',
9
+ category: 'Expression',
10
+ syntax: ['parser()'],
11
+ description: 'Create a parser object that keeps a context of variables and their values, allowing the evaluation of expressions in that context.',
12
+ examples: ['myParser = parser()', 'myParser.evaluate("sqrt(3^2 + 4^2)")', 'myParser.set("x", 3)', 'myParser.evaluate("y = x + 3")', 'myParser.evaluate(["y = x + 3", "y = y + 1"])', 'myParser.get("y")'],
13
+ seealso: ['evaluate', 'parse', 'compile']
14
+ };
@@ -10,5 +10,5 @@ const sumDocs = exports.sumDocs = {
10
10
  syntax: ['sum(a, b, c, ...)', 'sum(A)', 'sum(A, dimension)'],
11
11
  description: 'Compute the sum of all values.',
12
12
  examples: ['sum(2, 3, 4, 1)', 'sum([2, 3, 4, 1])', 'sum([2, 5; 4, 3])'],
13
- seealso: ['max', 'mean', 'median', 'min', 'prod', 'std', 'sum', 'variance']
13
+ seealso: ['max', 'mean', 'median', 'min', 'prod', 'std', 'variance']
14
14
  };
@@ -13,7 +13,7 @@ const createParser = exports.createParser = /* #__PURE__ */(0, _factory.factory)
13
13
  Parser
14
14
  } = _ref;
15
15
  /**
16
- * Create a parser. The function creates a new `math.Parser` object.
16
+ * Create a `math.Parser` object that keeps a context of variables and their values, allowing the evaluation of expressions in that context.
17
17
  *
18
18
  * Syntax:
19
19
  *
@@ -36,7 +36,7 @@ const createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(n
36
36
  } = _ref;
37
37
  /**
38
38
  * Parse an expression. Returns a node tree, which can be evaluated by
39
- * invoking node.evaluate().
39
+ * invoking node.evaluate() or transformed into a functional object via node.compile().
40
40
  *
41
41
  * Note the evaluating arbitrary expressions may involve security risks,
42
42
  * see [https://mathjs.org/docs/expressions/security.html](https://mathjs.org/docs/expressions/security.html) for more information.
@@ -55,6 +55,7 @@ const createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(n
55
55
  *
56
56
  * let scope = {a:3, b:4}
57
57
  * const node2 = math.parse('a * b') // 12
58
+ * node2.evaluate(scope) // 12
58
59
  * const code2 = node2.compile()
59
60
  * code2.evaluate(scope) // 12
60
61
  * scope.a = 5
@@ -877,7 +878,7 @@ const createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(n
877
878
  name = state.token;
878
879
  fn = operators[name];
879
880
  getTokenSkipNewline(state);
880
- if (name === 'in' && state.token === '') {
881
+ if (name === 'in' && '])},;'.includes(state.token)) {
881
882
  // end of expression -> this is the unit 'in' ('inch')
882
883
  node = new OperatorNode('*', 'multiply', [node, new SymbolNode('in')], true);
883
884
  } else {
@@ -423,6 +423,12 @@ Object.defineProperty(exports, "createCoulomb", {
423
423
  return _physicalConstants.createCoulomb;
424
424
  }
425
425
  });
426
+ Object.defineProperty(exports, "createCoulombConstant", {
427
+ enumerable: true,
428
+ get: function () {
429
+ return _physicalConstants.createCoulombConstant;
430
+ }
431
+ });
426
432
  Object.defineProperty(exports, "createCount", {
427
433
  enumerable: true,
428
434
  get: function () {
@@ -38,39 +38,39 @@ const createAdd = exports.createAdd = /* #__PURE__ */(0, _factory.factory)(name,
38
38
  concat
39
39
  });
40
40
  /**
41
- * Add two or more values, `x + y`.
42
- * For matrices, the function is evaluated element wise.
43
- *
44
- * Syntax:
45
- *
46
- * math.add(x, y)
47
- * math.add(x, y, z, ...)
48
- *
49
- * Examples:
50
- *
51
- * math.add(2, 3) // returns number 5
52
- * math.add(2, 3, 4) // returns number 9
53
- *
54
- * const a = math.complex(2, 3)
55
- * const b = math.complex(-4, 1)
56
- * math.add(a, b) // returns Complex -2 + 4i
57
- *
58
- * math.add([1, 2, 3], 4) // returns Array [5, 6, 7]
59
- *
60
- * const c = math.unit('5 cm')
61
- * const d = math.unit('2.1 mm')
62
- * math.add(c, d) // returns Unit 52.1 mm
63
- *
64
- * math.add("2.3", "4") // returns number 6.3
65
- *
66
- * See also:
67
- *
68
- * subtract, sum
69
- *
70
- * @param {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} x First value to add
71
- * @param {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} y Second value to add
72
- * @return {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`
73
- */
41
+ * Add two or more values, `x + y`.
42
+ * For matrices, the function is evaluated element wise.
43
+ *
44
+ * Syntax:
45
+ *
46
+ * math.add(x, y)
47
+ * math.add(x, y, z, ...)
48
+ *
49
+ * Examples:
50
+ *
51
+ * math.add(2, 3) // returns number 5
52
+ * math.add(2, 3, 4) // returns number 9
53
+ *
54
+ * const a = math.complex(2, 3)
55
+ * const b = math.complex(-4, 1)
56
+ * math.add(a, b) // returns Complex -2 + 4i
57
+ *
58
+ * math.add([1, 2, 3], 4) // returns Array [5, 6, 7]
59
+ *
60
+ * const c = math.unit('5 cm')
61
+ * const d = math.unit('2.1 mm')
62
+ * math.add(c, d) // returns Unit 52.1 mm
63
+ *
64
+ * math.add("2.3", "4") // returns number 6.3
65
+ *
66
+ * See also:
67
+ *
68
+ * subtract, sum
69
+ *
70
+ * @param {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} x First value to add
71
+ * @param {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} y Second value to add
72
+ * @return {number | BigNumber | bigint | Fraction | Complex | Unit | Array | Matrix} Sum of `x` and `y`
73
+ */
74
74
  return typed(name, {
75
75
  'any, any': addScalar,
76
76
  'any, any, ...any': typed.referToSelf(self => (x, y, rest) => {
@@ -32,14 +32,15 @@ const createConj = exports.createConj = /* #__PURE__ */(0, _factory.factory)(nam
32
32
  *
33
33
  * re, im, arg, abs
34
34
  *
35
- * @param {number | BigNumber | Complex | Array | Matrix} x
35
+ * @param {number | BigNumber | Complex | Array | Matrix | Unit} x
36
36
  * A complex number or array with complex numbers
37
- * @return {number | BigNumber | Complex | Array | Matrix}
37
+ * @return {number | BigNumber | Complex | Array | Matrix | Unit}
38
38
  * The complex conjugate of x
39
39
  */
40
40
  return typed(name, {
41
41
  'number | BigNumber | Fraction': x => x,
42
42
  Complex: x => x.conjugate(),
43
+ Unit: typed.referToSelf(self => x => new x.constructor(self(x.toNumeric()), x.formatUnits())),
43
44
  'Array | Matrix': typed.referToSelf(self => x => (0, _collection.deepMap)(x, self))
44
45
  });
45
46
  });
@@ -10,7 +10,6 @@ var _seededRNG = require("./util/seededRNG.js");
10
10
  var _is = require("../../utils/is.js");
11
11
  const name = 'randomInt';
12
12
  const dependencies = ['typed', 'config', 'log2', '?on'];
13
- const simpleCutoff = 2n ** 30n;
14
13
  const createRandomInt = exports.createRandomInt = /* #__PURE__ */(0, _factory.factory)(name, dependencies, _ref => {
15
14
  let {
16
15
  typed,
@@ -75,6 +74,7 @@ const createRandomInt = exports.createRandomInt = /* #__PURE__ */(0, _factory.fa
75
74
  return Math.floor(min + rng() * (max - min));
76
75
  }
77
76
  function _randomBigint(min, max) {
77
+ const simpleCutoff = 2n ** 30n;
78
78
  const width = max - min; // number of choices
79
79
  if (width <= simpleCutoff) {
80
80
  // do it with number type
@@ -36,6 +36,7 @@ const createNumeric = exports.createNumeric = /* #__PURE__ */(0, _factory.factor
36
36
  * Syntax:
37
37
  *
38
38
  * math.numeric(x)
39
+ * math.numeric(value, outputType)
39
40
  *
40
41
  * Examples:
41
42
  *
package/lib/cjs/header.js CHANGED
@@ -6,8 +6,8 @@
6
6
  * It features real and complex numbers, units, matrices, a large set of
7
7
  * mathematical functions, and a flexible expression parser.
8
8
  *
9
- * @version 14.4.0
10
- * @date 2025-03-28
9
+ * @version 14.5.1
10
+ * @date 2025-05-28
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2025 Jos de Jong <wjosdejong@gmail.com>