mathjs 7.5.1 → 7.6.0

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 (64) hide show
  1. package/HISTORY.md +7 -0
  2. package/dist/math.js +123 -29
  3. package/dist/math.min.js +3 -3
  4. package/dist/math.min.map +1 -1
  5. package/docs/datatypes/units.md +21 -0
  6. package/docs/reference/functions/rotate.md +47 -0
  7. package/docs/reference/functions/rotationMatrix.md +1 -1
  8. package/docs/reference/functions.md +1 -0
  9. package/es/entry/dependenciesAny/dependenciesRotate.generated.js +14 -0
  10. package/es/entry/dependenciesAny.generated.js +1 -0
  11. package/es/entry/impureFunctionsAny.generated.js +24 -23
  12. package/es/entry/pureFunctionsAny.generated.js +10 -5
  13. package/es/expression/embeddedDocs/embeddedDocs.js +2 -0
  14. package/es/expression/embeddedDocs/function/matrix/rotate.js +8 -0
  15. package/es/expression/node/FunctionNode.js +1 -1
  16. package/es/expression/node/Node.js +2 -2
  17. package/es/factoriesAny.js +1 -0
  18. package/es/function/matrix/rotate.js +78 -0
  19. package/es/function/matrix/rotationMatrix.js +5 -4
  20. package/es/function/special/erf.js +1 -0
  21. package/es/plain/number/constants.js +1 -1
  22. package/es/plain/number/probability.js +1 -0
  23. package/es/type/unit/Unit.js +17 -18
  24. package/es/version.js +1 -1
  25. package/examples/bignumbers.js +2 -0
  26. package/lib/entry/dependenciesAny/dependenciesRotate.generated.js +26 -0
  27. package/lib/entry/dependenciesAny.generated.js +8 -0
  28. package/lib/entry/impureFunctionsAny.generated.js +27 -26
  29. package/lib/entry/mainAny.js +5 -0
  30. package/lib/entry/mainNumber.js +5 -0
  31. package/lib/entry/pureFunctionsAny.generated.js +14 -8
  32. package/lib/expression/embeddedDocs/embeddedDocs.js +3 -0
  33. package/lib/expression/embeddedDocs/function/matrix/rotate.js +15 -0
  34. package/lib/expression/node/FunctionNode.js +1 -1
  35. package/lib/expression/node/Node.js +2 -2
  36. package/lib/factoriesAny.js +8 -0
  37. package/lib/function/matrix/rotate.js +88 -0
  38. package/lib/function/matrix/rotationMatrix.js +5 -4
  39. package/lib/function/special/erf.js +1 -0
  40. package/lib/header.js +2 -2
  41. package/lib/plain/bignumber/index.js +1 -0
  42. package/lib/plain/number/constants.js +2 -1
  43. package/lib/plain/number/index.js +9 -0
  44. package/lib/plain/number/probability.js +1 -0
  45. package/lib/type/unit/Unit.js +17 -18
  46. package/lib/version.js +1 -1
  47. package/package.json +9 -9
  48. package/src/core/function/import.js +2 -2
  49. package/src/entry/dependenciesAny/dependenciesRotate.generated.js +15 -0
  50. package/src/entry/dependenciesAny.generated.js +1 -0
  51. package/src/entry/impureFunctionsAny.generated.js +20 -18
  52. package/src/entry/pureFunctionsAny.generated.js +7 -5
  53. package/src/expression/embeddedDocs/embeddedDocs.js +2 -0
  54. package/src/expression/embeddedDocs/function/matrix/rotate.js +19 -0
  55. package/src/expression/node/FunctionNode.js +1 -1
  56. package/src/expression/node/Node.js +2 -1
  57. package/src/factoriesAny.js +1 -0
  58. package/src/function/matrix/rotate.js +79 -0
  59. package/src/function/matrix/rotationMatrix.js +5 -4
  60. package/src/function/special/erf.js +2 -0
  61. package/src/plain/number/constants.js +1 -1
  62. package/src/plain/number/probability.js +2 -0
  63. package/src/type/unit/Unit.js +18 -21
  64. package/src/version.js +1 -1
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "docs", {
9
9
  return _embeddedDocs.embeddedDocs;
10
10
  }
11
11
  });
12
- exports.parser = exports.derivative = exports.Parser = exports.help = exports.compile = exports.rationalize = exports.simplify = exports.Help = exports.evaluate = exports.parse = exports.FunctionNode = exports.SymbolNode = exports.AssignmentNode = exports.IndexNode = exports.AccessorNode = exports.chain = exports.FunctionAssignmentNode = exports.RangeNode = exports.OperatorNode = exports.ConditionalNode = exports.reviver = exports.Chain = exports.RelationalNode = exports.ParenthesisNode = exports.ObjectNode = exports.ConstantNode = exports.BlockNode = exports.ArrayNode = exports.Node = void 0;
12
+ exports.derivative = exports.parser = exports.rationalize = exports.simplify = exports.compile = exports.help = exports.Parser = exports.Help = exports.evaluate = exports.parse = exports.FunctionNode = exports.SymbolNode = exports.AssignmentNode = exports.IndexNode = exports.AccessorNode = exports.chain = exports.FunctionAssignmentNode = exports.RangeNode = exports.OperatorNode = exports.ConditionalNode = exports.reviver = exports.Chain = exports.RelationalNode = exports.ParenthesisNode = exports.ObjectNode = exports.ConstantNode = exports.BlockNode = exports.ArrayNode = exports.Node = void 0;
13
13
 
14
14
  var _configReadonly = require("./configReadonly");
15
15
 
@@ -145,6 +145,21 @@ var Help = (0, _factoriesAny.createHelpClass)({
145
145
  parse: parse
146
146
  });
147
147
  exports.Help = Help;
148
+ var Parser = (0, _factoriesAny.createParserClass)({
149
+ parse: parse
150
+ });
151
+ exports.Parser = Parser;
152
+ var help = (0, _factoriesAny.createHelp)({
153
+ Help: Help,
154
+ mathWithTransform: mathWithTransform,
155
+ typed: _pureFunctionsAny.typed
156
+ });
157
+ exports.help = help;
158
+ var compile = (0, _factoriesAny.createCompile)({
159
+ parse: parse,
160
+ typed: _pureFunctionsAny.typed
161
+ });
162
+ exports.compile = compile;
148
163
  var simplify = (0, _factoriesAny.createSimplify)({
149
164
  bignumber: _pureFunctionsAny.bignumber,
150
165
  fraction: _pureFunctionsAny.fraction,
@@ -188,21 +203,11 @@ var rationalize = (0, _factoriesAny.createRationalize)({
188
203
  typed: _pureFunctionsAny.typed
189
204
  });
190
205
  exports.rationalize = rationalize;
191
- var compile = (0, _factoriesAny.createCompile)({
192
- parse: parse,
193
- typed: _pureFunctionsAny.typed
194
- });
195
- exports.compile = compile;
196
- var help = (0, _factoriesAny.createHelp)({
197
- Help: Help,
198
- mathWithTransform: mathWithTransform,
206
+ var parser = (0, _factoriesAny.createParser)({
207
+ Parser: Parser,
199
208
  typed: _pureFunctionsAny.typed
200
209
  });
201
- exports.help = help;
202
- var Parser = (0, _factoriesAny.createParserClass)({
203
- parse: parse
204
- });
205
- exports.Parser = Parser;
210
+ exports.parser = parser;
206
211
  var derivative = (0, _factoriesAny.createDerivative)({
207
212
  ConstantNode: ConstantNode,
208
213
  FunctionNode: FunctionNode,
@@ -218,11 +223,6 @@ var derivative = (0, _factoriesAny.createDerivative)({
218
223
  typed: _pureFunctionsAny.typed
219
224
  });
220
225
  exports.derivative = derivative;
221
- var parser = (0, _factoriesAny.createParser)({
222
- Parser: Parser,
223
- typed: _pureFunctionsAny.typed
224
- });
225
- exports.parser = parser;
226
226
 
227
227
  _extends(math, {
228
228
  reviver: reviver,
@@ -489,21 +489,22 @@ _extends(math, {
489
489
  molarVolume: _pureFunctionsAny.molarVolume,
490
490
  planckTime: _pureFunctionsAny.planckTime,
491
491
  thomsonCrossSection: _pureFunctionsAny.thomsonCrossSection,
492
- unit: _pureFunctionsAny.unit,
492
+ rotate: _pureFunctionsAny.rotate,
493
+ parse: parse,
494
+ evaluate: evaluate,
493
495
  mad: _pureFunctionsAny.mad,
494
496
  coulomb: _pureFunctionsAny.coulomb,
495
497
  magneticFluxQuantum: _pureFunctionsAny.magneticFluxQuantum,
496
498
  rydberg: _pureFunctionsAny.rydberg,
497
- parse: parse,
498
- evaluate: evaluate,
499
+ unit: _pureFunctionsAny.unit,
500
+ help: help,
501
+ gasConstant: _pureFunctionsAny.gasConstant,
502
+ compile: compile,
499
503
  simplify: simplify,
500
504
  rationalize: rationalize,
505
+ parser: parser,
501
506
  planckConstant: _pureFunctionsAny.planckConstant,
502
- compile: compile,
503
- help: help,
504
- gasConstant: _pureFunctionsAny.gasConstant,
505
507
  derivative: derivative,
506
- parser: parser,
507
508
  config: _configReadonly.config
508
509
  });
509
510
 
@@ -55,6 +55,7 @@ var _pureFunctionsAny = require("./pureFunctionsAny.generated");
55
55
  Object.keys(_pureFunctionsAny).forEach(function (key) {
56
56
  if (key === "default" || key === "__esModule") return;
57
57
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
58
+ if (key in exports && exports[key] === _pureFunctionsAny[key]) return;
58
59
  Object.defineProperty(exports, key, {
59
60
  enumerable: true,
60
61
  get: function get() {
@@ -68,6 +69,7 @@ var _impureFunctionsAny = require("./impureFunctionsAny.generated");
68
69
  Object.keys(_impureFunctionsAny).forEach(function (key) {
69
70
  if (key === "default" || key === "__esModule") return;
70
71
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
72
+ if (key in exports && exports[key] === _impureFunctionsAny[key]) return;
71
73
  Object.defineProperty(exports, key, {
72
74
  enumerable: true,
73
75
  get: function get() {
@@ -81,6 +83,7 @@ var _typeChecks = require("./typeChecks");
81
83
  Object.keys(_typeChecks).forEach(function (key) {
82
84
  if (key === "default" || key === "__esModule") return;
83
85
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
86
+ if (key in exports && exports[key] === _typeChecks[key]) return;
84
87
  Object.defineProperty(exports, key, {
85
88
  enumerable: true,
86
89
  get: function get() {
@@ -100,6 +103,7 @@ var _dependenciesAny = require("./dependenciesAny.generated");
100
103
  Object.keys(_dependenciesAny).forEach(function (key) {
101
104
  if (key === "default" || key === "__esModule") return;
102
105
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
106
+ if (key in exports && exports[key] === _dependenciesAny[key]) return;
103
107
  Object.defineProperty(exports, key, {
104
108
  enumerable: true,
105
109
  get: function get() {
@@ -113,6 +117,7 @@ var _factoriesAny = require("../factoriesAny");
113
117
  Object.keys(_factoriesAny).forEach(function (key) {
114
118
  if (key === "default" || key === "__esModule") return;
115
119
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
120
+ if (key in exports && exports[key] === _factoriesAny[key]) return;
116
121
  Object.defineProperty(exports, key, {
117
122
  enumerable: true,
118
123
  get: function get() {
@@ -55,6 +55,7 @@ var _pureFunctionsNumber = require("./pureFunctionsNumber.generated");
55
55
  Object.keys(_pureFunctionsNumber).forEach(function (key) {
56
56
  if (key === "default" || key === "__esModule") return;
57
57
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
58
+ if (key in exports && exports[key] === _pureFunctionsNumber[key]) return;
58
59
  Object.defineProperty(exports, key, {
59
60
  enumerable: true,
60
61
  get: function get() {
@@ -68,6 +69,7 @@ var _impureFunctionsNumber = require("./impureFunctionsNumber.generated");
68
69
  Object.keys(_impureFunctionsNumber).forEach(function (key) {
69
70
  if (key === "default" || key === "__esModule") return;
70
71
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
72
+ if (key in exports && exports[key] === _impureFunctionsNumber[key]) return;
71
73
  Object.defineProperty(exports, key, {
72
74
  enumerable: true,
73
75
  get: function get() {
@@ -81,6 +83,7 @@ var _typeChecks = require("./typeChecks");
81
83
  Object.keys(_typeChecks).forEach(function (key) {
82
84
  if (key === "default" || key === "__esModule") return;
83
85
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
86
+ if (key in exports && exports[key] === _typeChecks[key]) return;
84
87
  Object.defineProperty(exports, key, {
85
88
  enumerable: true,
86
89
  get: function get() {
@@ -100,6 +103,7 @@ var _dependenciesNumber = require("./dependenciesNumber.generated");
100
103
  Object.keys(_dependenciesNumber).forEach(function (key) {
101
104
  if (key === "default" || key === "__esModule") return;
102
105
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
106
+ if (key in exports && exports[key] === _dependenciesNumber[key]) return;
103
107
  Object.defineProperty(exports, key, {
104
108
  enumerable: true,
105
109
  get: function get() {
@@ -113,6 +117,7 @@ var _factoriesNumber = require("../factoriesNumber");
113
117
  Object.keys(_factoriesNumber).forEach(function (key) {
114
118
  if (key === "default" || key === "__esModule") return;
115
119
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
120
+ if (key in exports && exports[key] === _factoriesNumber[key]) return;
116
121
  Object.defineProperty(exports, key, {
117
122
  enumerable: true,
118
123
  get: function get() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.matrix = exports.SparseMatrix = exports.isNegative = exports.SQRT2 = exports.random = exports.combinationsWithRep = exports.sin = exports.csc = exports.cos = exports.asinh = exports.acsch = exports.acosh = exports.bin = exports.mode = exports.getMatrixDataType = exports.conj = exports.sqrt = exports.log2 = exports.exp = exports.addScalar = exports.unaryMinus = exports.fraction = exports.string = exports.typeOf = exports.hasNumericValue = exports.clone = exports.LN2 = exports.randomInt = exports.pickRandom = exports.combinations = exports.tanh = exports.sinh = exports.sech = exports.csch = exports.coth = exports.cosh = exports.atanh = exports.atan = exports.asin = exports.asec = exports.acsc = exports.acot = exports.acos = exports.isPrime = exports.print = exports.oct = exports.format = exports.erf = exports.map = exports.forEach = exports.filter = exports.not = exports.im = exports.arg = exports.bitNot = exports.square = exports.sign = exports.multiplyScalar = exports.log10 = exports.expm1 = exports.cube = exports.apply = exports.unaryPlus = exports.splitUnit = exports.complex = exports["boolean"] = exports.number = exports.equalScalar = exports.isNaN = exports.isPositive = exports.isNumeric = exports.isInteger = exports.typed = exports.phi = exports.DenseMatrix = exports.version = exports.LOG2E = exports._Infinity = exports.e = exports.Fraction = exports.weakMixingAngle = exports.sackurTetrode = exports.fineStructure = exports.efimovFactor = exports.tau = exports.SQRT1_2 = exports.pi = exports._NaN = exports.LOG10E = exports.LN10 = exports.i = exports.replacer = exports.Matrix = exports.BigNumber = exports._true = exports._null = exports._false = exports.Range = exports.Complex = exports.ResultSet = void 0;
7
7
  exports.setUnion = exports.Spa = exports.lsolveAll = exports.lsolve = exports.nthRoots = exports.divideScalar = exports.xor = exports.setIsSubset = exports.deepEqual = exports.ctranspose = exports.column = exports.fix = exports.setSymDifference = exports.setCartesian = exports.max = exports.equal = exports.prod = exports.row = exports.range = exports.cross = exports.subtract = exports.ceil = exports.permutations = exports.factorial = exports.sum = exports.index = exports.setPowerset = exports.setDistinct = exports.cot = exports.min = exports.sort = exports.smallerEq = exports.and = exports.numeric = exports.transpose = exports.kron = exports.bitOr = exports.lcm = exports.bignumber = exports.gamma = exports.quantileSeq = exports.trace = exports.setSize = exports.setMultiplicity = exports.setIntersect = exports.setDifference = exports.tan = exports.asech = exports.Index = exports.partitionSelect = exports.largerEq = exports.equalText = exports.compareNatural = exports.rightArithShift = exports.dotPow = exports.pow = exports.to = exports.squeeze = exports.resize = exports.flatten = exports.re = exports.dotMultiply = exports.multiply = exports.floor = exports.abs = exports.isZero = exports.composition = exports.dot = exports.add = exports.sec = exports.atan2 = exports.acoth = exports.sparse = exports.FibonacciHeap = exports.ImmutableDenseMatrix = exports.unequal = exports.larger = exports.smaller = exports.compareText = exports.compare = exports.rightLogShift = exports.leftShift = exports.round = exports.hex = exports.zeros = exports.subset = exports.size = exports.reshape = exports.ones = exports.identity = exports.diag = exports.concat = exports.or = exports.bitXor = exports.bitAnd = exports.xgcd = exports.nthRoot = exports.mod = exports.gcd = exports.cbrt = void 0;
8
- exports.gasConstant = exports.planckConstant = exports.rydberg = exports.magneticFluxQuantum = exports.coulomb = exports.mad = exports.unit = exports.thomsonCrossSection = exports.planckTime = exports.molarVolume = exports.inverseConductanceQuantum = exports.elementaryCharge = exports.bohrRadius = exports.median = exports.rotationMatrix = exports.wienDisplacement = exports.speedOfLight = exports.quantumOfCirculation = exports.planckMass = exports.nuclearMagneton = exports.molarMassC12 = exports.loschmidt = exports.gravity = exports.fermiCoupling = exports.electricConstant = exports.classicalElectronRadius = exports.avogadro = exports.multinomial = exports.sqrtm = exports.lusolve = exports.norm = exports.usolve = exports.vacuumImpedance = exports.stefanBoltzmann = exports.secondRadiation = exports.reducedPlanckConstant = exports.protonMass = exports.planckTemperature = exports.planckLength = exports.planckCharge = exports.neutronMass = exports.molarPlanckConstant = exports.molarMass = exports.magneticConstant = exports.klitzing = exports.hartreeEnergy = exports.gravitationConstant = exports.firstRadiation = exports.faraday = exports.electronMass = exports.deuteronMass = exports.conductanceQuantum = exports.boltzmann = exports.bohrMagneton = exports.atomicMass = exports.std = exports.intersect = exports.eigs = exports.createUnit = exports.Unit = exports.log1p = exports.bellNumbers = exports.kldivergence = exports.variance = exports.mean = exports.divide = exports.expm = exports.inv = exports.qr = exports.hypot = exports.usolveAll = exports.dotDivide = exports.log = exports.diff = exports.catalan = exports.stirlingS2 = exports.distance = exports.det = exports.slu = exports.lup = void 0;
8
+ exports.planckConstant = exports.gasConstant = exports.unit = exports.rydberg = exports.magneticFluxQuantum = exports.coulomb = exports.mad = exports.rotate = exports.thomsonCrossSection = exports.planckTime = exports.molarVolume = exports.inverseConductanceQuantum = exports.elementaryCharge = exports.bohrRadius = exports.median = exports.rotationMatrix = exports.wienDisplacement = exports.speedOfLight = exports.quantumOfCirculation = exports.planckMass = exports.nuclearMagneton = exports.molarMassC12 = exports.loschmidt = exports.gravity = exports.fermiCoupling = exports.electricConstant = exports.classicalElectronRadius = exports.avogadro = exports.multinomial = exports.sqrtm = exports.lusolve = exports.norm = exports.usolve = exports.vacuumImpedance = exports.stefanBoltzmann = exports.secondRadiation = exports.reducedPlanckConstant = exports.protonMass = exports.planckTemperature = exports.planckLength = exports.planckCharge = exports.neutronMass = exports.molarPlanckConstant = exports.molarMass = exports.magneticConstant = exports.klitzing = exports.hartreeEnergy = exports.gravitationConstant = exports.firstRadiation = exports.faraday = exports.electronMass = exports.deuteronMass = exports.conductanceQuantum = exports.boltzmann = exports.bohrMagneton = exports.atomicMass = exports.std = exports.intersect = exports.eigs = exports.createUnit = exports.Unit = exports.log1p = exports.bellNumbers = exports.kldivergence = exports.variance = exports.mean = exports.divide = exports.expm = exports.inv = exports.qr = exports.hypot = exports.usolveAll = exports.dotDivide = exports.log = exports.diff = exports.catalan = exports.stirlingS2 = exports.distance = exports.det = exports.slu = exports.lup = void 0;
9
9
 
10
10
  var _configReadonly = require("./configReadonly");
11
11
 
@@ -1765,11 +1765,12 @@ var thomsonCrossSection = /* #__PURE__ */(0, _factoriesAny.createThomsonCrossSec
1765
1765
  config: _configReadonly.config
1766
1766
  });
1767
1767
  exports.thomsonCrossSection = thomsonCrossSection;
1768
- var unit = /* #__PURE__ */(0, _factoriesAny.createUnitFunction)({
1769
- Unit: Unit,
1768
+ var rotate = /* #__PURE__ */(0, _factoriesAny.createRotate)({
1769
+ multiply: multiply,
1770
+ rotationMatrix: rotationMatrix,
1770
1771
  typed: typed
1771
1772
  });
1772
- exports.unit = unit;
1773
+ exports.rotate = rotate;
1773
1774
  var mad = /* #__PURE__ */(0, _factoriesAny.createMad)({
1774
1775
  abs: abs,
1775
1776
  map: map,
@@ -1796,15 +1797,20 @@ var rydberg = /* #__PURE__ */(0, _factoriesAny.createRydberg)({
1796
1797
  config: _configReadonly.config
1797
1798
  });
1798
1799
  exports.rydberg = rydberg;
1799
- var planckConstant = /* #__PURE__ */(0, _factoriesAny.createPlanckConstant)({
1800
+ var unit = /* #__PURE__ */(0, _factoriesAny.createUnitFunction)({
1801
+ Unit: Unit,
1802
+ typed: typed
1803
+ });
1804
+ exports.unit = unit;
1805
+ var gasConstant = /* #__PURE__ */(0, _factoriesAny.createGasConstant)({
1800
1806
  BigNumber: BigNumber,
1801
1807
  Unit: Unit,
1802
1808
  config: _configReadonly.config
1803
1809
  });
1804
- exports.planckConstant = planckConstant;
1805
- var gasConstant = /* #__PURE__ */(0, _factoriesAny.createGasConstant)({
1810
+ exports.gasConstant = gasConstant;
1811
+ var planckConstant = /* #__PURE__ */(0, _factoriesAny.createPlanckConstant)({
1806
1812
  BigNumber: BigNumber,
1807
1813
  Unit: Unit,
1808
1814
  config: _configReadonly.config
1809
1815
  });
1810
- exports.gasConstant = gasConstant;
1816
+ exports.planckConstant = planckConstant;
@@ -439,6 +439,8 @@ var _row = require("./function/matrix/row");
439
439
 
440
440
  var _rotationMatrix = require("./function/matrix/rotationMatrix");
441
441
 
442
+ var _rotate = require("./function/matrix/rotate");
443
+
442
444
  var embeddedDocs = {
443
445
  // construction functions
444
446
  bignumber: _bignumber.bignumberDocs,
@@ -782,6 +784,7 @@ var embeddedDocs = {
782
784
  range: _range.rangeDocs,
783
785
  resize: _resize.resizeDocs,
784
786
  reshape: _reshape.reshapeDocs,
787
+ rotate: _rotate.rotateDocs,
785
788
  rotationMatrix: _rotationMatrix.rotationMatrixDocs,
786
789
  row: _row.rowDocs,
787
790
  size: _size.sizeDocs,
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.rotateDocs = void 0;
7
+ var rotateDocs = {
8
+ name: 'rotate',
9
+ category: 'Matrix',
10
+ syntax: ['rotate(w, theta)', 'rotate(w, theta, v)'],
11
+ description: 'Returns a 2-D rotation matrix (2x2) for a given angle (in radians). ' + 'Returns a 2-D rotation matrix (3x3) of a given angle (in radians) around given axis.',
12
+ examples: ['rotate([1, 0], math.pi / 2)', 'rotate(matrix([1, 0]), unit("35deg"))', 'rotate([1, 0, 0], unit("90deg"), [0, 0, 1])', 'rotate(matrix([1, 0, 0]), unit("90deg"), matrix([0, 0, 1]))'],
13
+ seealso: ['matrix', 'rotationMatrix']
14
+ };
15
+ exports.rotateDocs = rotateDocs;
@@ -303,7 +303,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
303
303
  var latex = ''; // Match everything of the form ${identifier} or ${identifier[2]} or $$
304
304
  // while submatching identifier and 2 (in the second case)
305
305
 
306
- var regex = new RegExp('\\$(?:\\{([a-z_][a-z_0-9]*)(?:\\[([0-9]+)\\])?\\}|\\$)', 'ig');
306
+ var regex = /\$(?:\{([a-z_][a-z_0-9]*)(?:\[([0-9]+)\])?\}|\$)/gi;
307
307
  var inputPos = 0; // position in the input string
308
308
 
309
309
  var match;
@@ -134,8 +134,8 @@ var createNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
134
134
 
135
135
  Node.prototype.traverse = function (callback) {
136
136
  // execute callback for itself
137
- callback(this, null, null); // eslint-disable-line standard/no-callback-literal
138
- // recursively traverse over all childs of a node
137
+ // eslint-disable-next-line
138
+ callback(this, null, null); // recursively traverse over all childs of a node
139
139
 
140
140
  function _traverse(node, callback) {
141
141
  node.forEach(function (child, path, parent) {
@@ -483,6 +483,12 @@ Object.defineProperty(exports, "createResize", {
483
483
  return _resize.createResize;
484
484
  }
485
485
  });
486
+ Object.defineProperty(exports, "createRotate", {
487
+ enumerable: true,
488
+ get: function get() {
489
+ return _rotate.createRotate;
490
+ }
491
+ });
486
492
  Object.defineProperty(exports, "createRotationMatrix", {
487
493
  enumerable: true,
488
494
  get: function get() {
@@ -2132,6 +2138,8 @@ var _reshape = require("./function/matrix/reshape");
2132
2138
 
2133
2139
  var _resize = require("./function/matrix/resize");
2134
2140
 
2141
+ var _rotate = require("./function/matrix/rotate");
2142
+
2135
2143
  var _rotationMatrix = require("./function/matrix/rotationMatrix");
2136
2144
 
2137
2145
  var _row = require("./function/matrix/row");
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRotate = void 0;
7
+
8
+ var _factory = require("../../utils/factory");
9
+
10
+ var _array = require("../../utils/array");
11
+
12
+ var name = 'rotate';
13
+ var dependencies = ['typed', 'multiply', 'rotationMatrix'];
14
+ var createRotate = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
15
+ var typed = _ref.typed,
16
+ multiply = _ref.multiply,
17
+ rotationMatrix = _ref.rotationMatrix;
18
+
19
+ /**
20
+ * Rotate a vector of size 1x2 counter-clockwise by a given angle
21
+ * Rotate a vector of size 1x3 counter-clockwise by a given angle around the given axis
22
+ *
23
+ * Syntax:
24
+ *
25
+ * math.rotate(w, theta)
26
+ * math.rotate(w, theta, v)
27
+ *
28
+ * Examples:
29
+ *
30
+ * math.rotate([11, 12], math.pi / 2) // returns matrix([-12, 11])
31
+ * math.rotate(matrix([11, 12]), math.pi / 2) // returns matrix([-12, 11])
32
+ *
33
+ * math.rotate([1, 0, 0], unit('90deg'), [0, 0, 1]) // returns matrix([0, 1, 0])
34
+ * math.rotate(matrix([1, 0, 0]), unit('90deg'), [0, 0, 1]) // returns matrix([0, 1, 0])
35
+ *
36
+ * math.rotate([1, 0], math.complex(1 + i)) // returns matrix([cos(1 + i) - sin(1 + i), sin(1 + i) + cos(1 + i)])
37
+ *
38
+ * See also:
39
+ *
40
+ * matrix, rotationMatrix
41
+ *
42
+ * @param {Array | Matrix} w Vector to rotate
43
+ * @param {number | BigNumber | Complex | Unit} theta Rotation angle
44
+ * @param {Array | Matrix} [v] Rotation axis
45
+ * @return {Array | Matrix} Multiplication of the rotation matrix and w
46
+ */
47
+ return typed(name, {
48
+ 'Array , number | BigNumber | Complex | Unit': function ArrayNumberBigNumberComplexUnit(w, theta) {
49
+ _validateSize(w, 2);
50
+
51
+ var matrixRes = multiply(rotationMatrix(theta), w);
52
+ return matrixRes.toArray();
53
+ },
54
+ 'Matrix , number | BigNumber | Complex | Unit': function MatrixNumberBigNumberComplexUnit(w, theta) {
55
+ _validateSize(w, 2);
56
+
57
+ return multiply(rotationMatrix(theta), w);
58
+ },
59
+ 'Array, number | BigNumber | Complex | Unit, Array | Matrix': function ArrayNumberBigNumberComplexUnitArrayMatrix(w, theta, v) {
60
+ _validateSize(w, 3);
61
+
62
+ var matrixRes = multiply(rotationMatrix(theta, v), w);
63
+ return matrixRes;
64
+ },
65
+ 'Matrix, number | BigNumber | Complex | Unit, Array | Matrix': function MatrixNumberBigNumberComplexUnitArrayMatrix(w, theta, v) {
66
+ _validateSize(w, 3);
67
+
68
+ return multiply(rotationMatrix(theta, v), w);
69
+ }
70
+ });
71
+
72
+ function _validateSize(v, expectedSize) {
73
+ var actualSize = Array.isArray(v) ? (0, _array.arraySize)(v) : v.size();
74
+
75
+ if (actualSize.length > 2) {
76
+ throw new RangeError("Vector must be of dimensions 1x".concat(expectedSize));
77
+ }
78
+
79
+ if (actualSize.length === 2 && actualSize[1] !== 1) {
80
+ throw new RangeError("Vector must be of dimensions 1x".concat(expectedSize));
81
+ }
82
+
83
+ if (actualSize[0] !== expectedSize) {
84
+ throw new RangeError("Vector must be of dimensions 1x".concat(expectedSize));
85
+ }
86
+ }
87
+ });
88
+ exports.createRotate = createRotate;
@@ -39,7 +39,7 @@ var createRotationMatrix = /* #__PURE__ */(0, _factory.factory)(name, dependenci
39
39
  * Examples:
40
40
  *
41
41
  * math.rotationMatrix(math.pi / 2) // returns [[0, -1], [1, 0]]
42
- * math.rotationMatrix(math.bignumber(45)) // returns [[ bignumber(1 / sqrt(2)), - bignumber(1 / sqrt(2))], [ bignumber(1 / sqrt(2)), bignumber(1 / sqrt(2))]]
42
+ * math.rotationMatrix(math.bignumber(1)) // returns [[bignumber(cos(1)), bignumber(-sin(1))], [bignumber(sin(1)), bignumber(cos(1))]]
43
43
  * math.rotationMatrix(math.complex(1 + i)) // returns [[cos(1 + i), -sin(1 + i)], [sin(1 + i), cos(1 + i)]]
44
44
  * math.rotationMatrix(math.unit('1rad')) // returns [[cos(1), -sin(1)], [sin(1), cos(1)]]
45
45
  *
@@ -75,12 +75,13 @@ var createRotationMatrix = /* #__PURE__ */(0, _factory.factory)(name, dependenci
75
75
 
76
76
  _validateVector(matrixV);
77
77
 
78
- return _rotationMatrix3x3(theta, matrixV, config.matrix === 'Matrix' ? 'dense' : undefined);
78
+ return _rotationMatrix3x3(theta, matrixV, undefined);
79
79
  },
80
80
  'number | BigNumber | Complex | Unit, Matrix': function numberBigNumberComplexUnitMatrix(theta, v) {
81
81
  _validateVector(v);
82
82
 
83
- return _rotationMatrix3x3(theta, v, config.matrix === 'Matrix' ? 'dense' : undefined);
83
+ var storageType = v.storage() || (config.matrix === 'Matrix' ? 'dense' : undefined);
84
+ return _rotationMatrix3x3(theta, v, storageType);
84
85
  },
85
86
  'number | BigNumber | Complex | Unit, Array, string': function numberBigNumberComplexUnitArrayString(theta, v, format) {
86
87
  var matrixV = matrix(v);
@@ -157,7 +158,7 @@ var createRotationMatrix = /* #__PURE__ */(0, _factory.factory)(name, dependenci
157
158
  var normV = norm(v);
158
159
 
159
160
  if (normV === 0) {
160
- return _convertToFormat([], format);
161
+ throw new RangeError('Rotation around zero vector');
161
162
  }
162
163
 
163
164
  var Big = (0, _is.isBigNumber)(theta) ? BigNumber : null;
@@ -11,6 +11,7 @@ var _number = require("../../utils/number");
11
11
 
12
12
  var _factory = require("../../utils/factory");
13
13
 
14
+ /* eslint-disable no-loss-of-precision */
14
15
  var name = 'erf';
15
16
  var dependencies = ['typed'];
16
17
  var createErf = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
package/lib/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 7.5.1
10
- * @date 2020-10-10
9
+ * @version 7.6.0
10
+ * @date 2020-11-02
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2020 Jos de Jong <wjosdejong@gmail.com>
@@ -15,6 +15,7 @@ var _arithmetic = require("./arithmetic");
15
15
  Object.keys(_arithmetic).forEach(function (key) {
16
16
  if (key === "default" || key === "__esModule") return;
17
17
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
+ if (key in exports && exports[key] === _arithmetic[key]) return;
18
19
  Object.defineProperty(exports, key, {
19
20
  enumerable: true,
20
21
  get: function get() {
@@ -10,5 +10,6 @@ var tau = 2 * Math.PI;
10
10
  exports.tau = tau;
11
11
  var e = Math.E;
12
12
  exports.e = e;
13
- var phi = 1.61803398874989484820458683436563811772030917980576286213545;
13
+ var phi = 1.6180339887498948; // eslint-disable-line no-loss-of-precision
14
+
14
15
  exports.phi = phi;
@@ -8,6 +8,7 @@ var _arithmetic = require("./arithmetic");
8
8
 
9
9
  Object.keys(_arithmetic).forEach(function (key) {
10
10
  if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _arithmetic[key]) return;
11
12
  Object.defineProperty(exports, key, {
12
13
  enumerable: true,
13
14
  get: function get() {
@@ -20,6 +21,7 @@ var _bitwise = require("./bitwise");
20
21
 
21
22
  Object.keys(_bitwise).forEach(function (key) {
22
23
  if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _bitwise[key]) return;
23
25
  Object.defineProperty(exports, key, {
24
26
  enumerable: true,
25
27
  get: function get() {
@@ -32,6 +34,7 @@ var _combinations = require("./combinations");
32
34
 
33
35
  Object.keys(_combinations).forEach(function (key) {
34
36
  if (key === "default" || key === "__esModule") return;
37
+ if (key in exports && exports[key] === _combinations[key]) return;
35
38
  Object.defineProperty(exports, key, {
36
39
  enumerable: true,
37
40
  get: function get() {
@@ -44,6 +47,7 @@ var _constants = require("./constants");
44
47
 
45
48
  Object.keys(_constants).forEach(function (key) {
46
49
  if (key === "default" || key === "__esModule") return;
50
+ if (key in exports && exports[key] === _constants[key]) return;
47
51
  Object.defineProperty(exports, key, {
48
52
  enumerable: true,
49
53
  get: function get() {
@@ -56,6 +60,7 @@ var _logical = require("./logical");
56
60
 
57
61
  Object.keys(_logical).forEach(function (key) {
58
62
  if (key === "default" || key === "__esModule") return;
63
+ if (key in exports && exports[key] === _logical[key]) return;
59
64
  Object.defineProperty(exports, key, {
60
65
  enumerable: true,
61
66
  get: function get() {
@@ -68,6 +73,7 @@ var _relational = require("./relational");
68
73
 
69
74
  Object.keys(_relational).forEach(function (key) {
70
75
  if (key === "default" || key === "__esModule") return;
76
+ if (key in exports && exports[key] === _relational[key]) return;
71
77
  Object.defineProperty(exports, key, {
72
78
  enumerable: true,
73
79
  get: function get() {
@@ -80,6 +86,7 @@ var _probability = require("./probability");
80
86
 
81
87
  Object.keys(_probability).forEach(function (key) {
82
88
  if (key === "default" || key === "__esModule") return;
89
+ if (key in exports && exports[key] === _probability[key]) return;
83
90
  Object.defineProperty(exports, key, {
84
91
  enumerable: true,
85
92
  get: function get() {
@@ -92,6 +99,7 @@ var _trigonometry = require("./trigonometry");
92
99
 
93
100
  Object.keys(_trigonometry).forEach(function (key) {
94
101
  if (key === "default" || key === "__esModule") return;
102
+ if (key in exports && exports[key] === _trigonometry[key]) return;
95
103
  Object.defineProperty(exports, key, {
96
104
  enumerable: true,
97
105
  get: function get() {
@@ -104,6 +112,7 @@ var _utils = require("./utils");
104
112
 
105
113
  Object.keys(_utils).forEach(function (key) {
106
114
  if (key === "default" || key === "__esModule") return;
115
+ if (key in exports && exports[key] === _utils[key]) return;
107
116
  Object.defineProperty(exports, key, {
108
117
  enumerable: true,
109
118
  get: function get() {
@@ -10,6 +10,7 @@ var _number = require("../../utils/number");
10
10
 
11
11
  var _product = require("../../utils/product");
12
12
 
13
+ /* eslint-disable no-loss-of-precision */
13
14
  function gammaNumber(n) {
14
15
  var x;
15
16
 
@@ -219,19 +219,16 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
219
219
  function parseUnit() {
220
220
  var unitName = ''; // Alphanumeric characters only; matches [a-zA-Z0-9]
221
221
 
222
- var code = text.charCodeAt(index);
223
-
224
- while (code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122) {
222
+ while (isDigit(c) || Unit.isValidAlpha(c)) {
225
223
  unitName += c;
226
224
  next();
227
- code = text.charCodeAt(index);
228
225
  } // Must begin with [a-zA-Z]
229
226
 
230
227
 
231
- code = unitName.charCodeAt(0);
228
+ var firstC = unitName.charAt(0);
232
229
 
233
- if (code >= 65 && code <= 90 || code >= 97 && code <= 122) {
234
- return unitName || null;
230
+ if (Unit.isValidAlpha(firstC)) {
231
+ return unitName;
235
232
  } else {
236
233
  return null;
237
234
  }
@@ -3686,24 +3683,26 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
3686
3683
  UNITS[_name2] = alias;
3687
3684
  }
3688
3685
  }
3686
+ /**
3687
+ * Checks if a character is a valid latin letter (upper or lower case).
3688
+ * Note that this function can be overridden, for example to allow support of other alphabets.
3689
+ * @param {string} c Tested character
3690
+ */
3689
3691
 
3690
- function assertUnitNameIsValid(name) {
3691
- for (var i = 0; i < name.length; i++) {
3692
- var _c = name.charAt(i);
3693
3692
 
3694
- var isValidAlpha = function isValidAlpha(p) {
3695
- return /^[a-zA-Z]$/.test(p);
3696
- };
3693
+ Unit.isValidAlpha = function isValidAlpha(c) {
3694
+ return /^[a-zA-Z]$/.test(c);
3695
+ };
3697
3696
 
3698
- var _isDigit = function _isDigit(c) {
3699
- return c >= '0' && c <= '9';
3700
- };
3697
+ function assertUnitNameIsValid(name) {
3698
+ for (var i = 0; i < name.length; i++) {
3699
+ c = name.charAt(i);
3701
3700
 
3702
- if (i === 0 && !isValidAlpha(_c)) {
3701
+ if (i === 0 && !Unit.isValidAlpha(c)) {
3703
3702
  throw new Error('Invalid unit name (must begin with alpha character): "' + name + '"');
3704
3703
  }
3705
3704
 
3706
- if (i > 0 && !(isValidAlpha(_c) || _isDigit(_c))) {
3705
+ if (i > 0 && !(Unit.isValidAlpha(c) || isDigit(c))) {
3707
3706
  throw new Error('Invalid unit name (only alphanumeric characters are allowed): "' + name + '"');
3708
3707
  }
3709
3708
  }
package/lib/version.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '7.5.1'; // Note: This file is automatically generated when building math.js.
7
+ var version = '7.6.0'; // Note: This file is automatically generated when building math.js.
8
8
  // Changes made in this file will be overwritten.
9
9
 
10
10
  exports.version = version;