mathjs 7.5.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
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;