mathjs 10.0.2 → 10.2.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 (337) hide show
  1. package/HISTORY.md +37 -0
  2. package/NOTICE +1 -1
  3. package/README.md +10 -2
  4. package/bin/cli.js +1 -1
  5. package/docs/expressions/algebra.md +27 -0
  6. package/docs/expressions/syntax.md +1 -1
  7. package/docs/reference/functions/abs.md +6 -0
  8. package/docs/reference/functions/acos.md +6 -0
  9. package/docs/reference/functions/acosh.md +6 -0
  10. package/docs/reference/functions/acot.md +6 -0
  11. package/docs/reference/functions/acoth.md +6 -0
  12. package/docs/reference/functions/acsc.md +6 -0
  13. package/docs/reference/functions/acsch.md +6 -0
  14. package/docs/reference/functions/add.md +6 -0
  15. package/docs/reference/functions/and.md +6 -0
  16. package/docs/reference/functions/apply.md +6 -0
  17. package/docs/reference/functions/arg.md +6 -0
  18. package/docs/reference/functions/asec.md +6 -0
  19. package/docs/reference/functions/asech.md +6 -0
  20. package/docs/reference/functions/asin.md +6 -0
  21. package/docs/reference/functions/asinh.md +6 -0
  22. package/docs/reference/functions/atan.md +6 -0
  23. package/docs/reference/functions/atan2.md +6 -0
  24. package/docs/reference/functions/atanh.md +6 -0
  25. package/docs/reference/functions/bellNumbers.md +6 -0
  26. package/docs/reference/functions/bin.md +6 -0
  27. package/docs/reference/functions/bitAnd.md +6 -0
  28. package/docs/reference/functions/bitNot.md +6 -0
  29. package/docs/reference/functions/bitOr.md +6 -0
  30. package/docs/reference/functions/bitXor.md +6 -0
  31. package/docs/reference/functions/catalan.md +6 -0
  32. package/docs/reference/functions/cbrt.md +6 -0
  33. package/docs/reference/functions/ceil.md +6 -0
  34. package/docs/reference/functions/clone.md +6 -0
  35. package/docs/reference/functions/column.md +6 -0
  36. package/docs/reference/functions/combinations.md +6 -0
  37. package/docs/reference/functions/combinationsWithRep.md +6 -0
  38. package/docs/reference/functions/compare.md +6 -0
  39. package/docs/reference/functions/compareNatural.md +6 -0
  40. package/docs/reference/functions/compareText.md +6 -0
  41. package/docs/reference/functions/compile.md +6 -0
  42. package/docs/reference/functions/composition.md +6 -0
  43. package/docs/reference/functions/concat.md +6 -0
  44. package/docs/reference/functions/conj.md +6 -0
  45. package/docs/reference/functions/cos.md +6 -0
  46. package/docs/reference/functions/cosh.md +6 -0
  47. package/docs/reference/functions/cot.md +6 -0
  48. package/docs/reference/functions/coth.md +6 -0
  49. package/docs/reference/functions/count.md +6 -0
  50. package/docs/reference/functions/cross.md +6 -0
  51. package/docs/reference/functions/csc.md +6 -0
  52. package/docs/reference/functions/csch.md +6 -0
  53. package/docs/reference/functions/ctranspose.md +6 -0
  54. package/docs/reference/functions/cube.md +6 -0
  55. package/docs/reference/functions/deepEqual.md +6 -0
  56. package/docs/reference/functions/derivative.md +6 -0
  57. package/docs/reference/functions/det.md +6 -0
  58. package/docs/reference/functions/diag.md +6 -0
  59. package/docs/reference/functions/diff.md +6 -0
  60. package/docs/reference/functions/distance.md +6 -0
  61. package/docs/reference/functions/divide.md +6 -0
  62. package/docs/reference/functions/dot.md +6 -0
  63. package/docs/reference/functions/dotDivide.md +6 -0
  64. package/docs/reference/functions/dotMultiply.md +6 -0
  65. package/docs/reference/functions/dotPow.md +6 -0
  66. package/docs/reference/functions/eigs.md +6 -0
  67. package/docs/reference/functions/equal.md +6 -0
  68. package/docs/reference/functions/equalText.md +6 -0
  69. package/docs/reference/functions/erf.md +6 -0
  70. package/docs/reference/functions/evaluate.md +6 -0
  71. package/docs/reference/functions/exp.md +6 -0
  72. package/docs/reference/functions/expm.md +6 -0
  73. package/docs/reference/functions/expm1.md +6 -0
  74. package/docs/reference/functions/factorial.md +6 -0
  75. package/docs/reference/functions/filter.md +6 -0
  76. package/docs/reference/functions/fix.md +6 -0
  77. package/docs/reference/functions/flatten.md +6 -0
  78. package/docs/reference/functions/floor.md +6 -0
  79. package/docs/reference/functions/forEach.md +6 -0
  80. package/docs/reference/functions/format.md +6 -0
  81. package/docs/reference/functions/gamma.md +6 -0
  82. package/docs/reference/functions/gcd.md +6 -0
  83. package/docs/reference/functions/getMatrixDataType.md +6 -0
  84. package/docs/reference/functions/hasNumericValue.md +6 -0
  85. package/docs/reference/functions/help.md +6 -0
  86. package/docs/reference/functions/hex.md +6 -0
  87. package/docs/reference/functions/hypot.md +6 -0
  88. package/docs/reference/functions/identity.md +6 -0
  89. package/docs/reference/functions/im.md +6 -0
  90. package/docs/reference/functions/intersect.md +6 -0
  91. package/docs/reference/functions/inv.md +6 -0
  92. package/docs/reference/functions/invmod.md +47 -0
  93. package/docs/reference/functions/isInteger.md +6 -0
  94. package/docs/reference/functions/isNaN.md +6 -0
  95. package/docs/reference/functions/isNegative.md +6 -0
  96. package/docs/reference/functions/isNumeric.md +6 -0
  97. package/docs/reference/functions/isPositive.md +6 -0
  98. package/docs/reference/functions/isPrime.md +6 -0
  99. package/docs/reference/functions/isZero.md +6 -0
  100. package/docs/reference/functions/kldivergence.md +6 -0
  101. package/docs/reference/functions/kron.md +6 -0
  102. package/docs/reference/functions/larger.md +6 -0
  103. package/docs/reference/functions/largerEq.md +6 -0
  104. package/docs/reference/functions/lcm.md +6 -0
  105. package/docs/reference/functions/leafCount.md +52 -0
  106. package/docs/reference/functions/leftShift.md +6 -0
  107. package/docs/reference/functions/log.md +6 -0
  108. package/docs/reference/functions/log10.md +6 -0
  109. package/docs/reference/functions/log1p.md +6 -0
  110. package/docs/reference/functions/log2.md +6 -0
  111. package/docs/reference/functions/lsolve.md +6 -0
  112. package/docs/reference/functions/lsolveAll.md +6 -0
  113. package/docs/reference/functions/lup.md +6 -0
  114. package/docs/reference/functions/lusolve.md +6 -0
  115. package/docs/reference/functions/mad.md +6 -0
  116. package/docs/reference/functions/map.md +6 -0
  117. package/docs/reference/functions/matrixFromColumns.md +6 -0
  118. package/docs/reference/functions/matrixFromFunction.md +6 -0
  119. package/docs/reference/functions/matrixFromRows.md +6 -0
  120. package/docs/reference/functions/max.md +6 -0
  121. package/docs/reference/functions/mean.md +6 -0
  122. package/docs/reference/functions/median.md +6 -0
  123. package/docs/reference/functions/min.md +6 -0
  124. package/docs/reference/functions/mod.md +6 -0
  125. package/docs/reference/functions/mode.md +6 -0
  126. package/docs/reference/functions/multinomial.md +6 -0
  127. package/docs/reference/functions/multiply.md +6 -0
  128. package/docs/reference/functions/norm.md +6 -0
  129. package/docs/reference/functions/not.md +6 -0
  130. package/docs/reference/functions/nthRoot.md +6 -0
  131. package/docs/reference/functions/nthRoots.md +6 -0
  132. package/docs/reference/functions/numeric.md +6 -0
  133. package/docs/reference/functions/oct.md +6 -0
  134. package/docs/reference/functions/ones.md +6 -0
  135. package/docs/reference/functions/or.md +6 -0
  136. package/docs/reference/functions/parser.md +6 -0
  137. package/docs/reference/functions/partitionSelect.md +6 -0
  138. package/docs/reference/functions/permutations.md +6 -0
  139. package/docs/reference/functions/pickRandom.md +6 -0
  140. package/docs/reference/functions/pow.md +6 -0
  141. package/docs/reference/functions/print.md +6 -0
  142. package/docs/reference/functions/prod.md +6 -0
  143. package/docs/reference/functions/qr.md +6 -0
  144. package/docs/reference/functions/quantileSeq.md +6 -0
  145. package/docs/reference/functions/random.md +6 -0
  146. package/docs/reference/functions/randomInt.md +6 -0
  147. package/docs/reference/functions/range.md +6 -0
  148. package/docs/reference/functions/rationalize.md +7 -1
  149. package/docs/reference/functions/re.md +6 -0
  150. package/docs/reference/functions/reshape.md +7 -0
  151. package/docs/reference/functions/resize.md +6 -0
  152. package/docs/reference/functions/resolve.md +46 -0
  153. package/docs/reference/functions/rightArithShift.md +6 -0
  154. package/docs/reference/functions/rightLogShift.md +6 -0
  155. package/docs/reference/functions/rotate.md +6 -0
  156. package/docs/reference/functions/rotationMatrix.md +6 -0
  157. package/docs/reference/functions/round.md +6 -0
  158. package/docs/reference/functions/row.md +6 -0
  159. package/docs/reference/functions/sec.md +6 -0
  160. package/docs/reference/functions/sech.md +6 -0
  161. package/docs/reference/functions/setCartesian.md +6 -0
  162. package/docs/reference/functions/setDifference.md +6 -0
  163. package/docs/reference/functions/setDistinct.md +6 -0
  164. package/docs/reference/functions/setIntersect.md +6 -0
  165. package/docs/reference/functions/setIsSubset.md +6 -0
  166. package/docs/reference/functions/setMultiplicity.md +6 -0
  167. package/docs/reference/functions/setPowerset.md +6 -0
  168. package/docs/reference/functions/setSize.md +6 -0
  169. package/docs/reference/functions/setSymDifference.md +6 -0
  170. package/docs/reference/functions/setUnion.md +6 -0
  171. package/docs/reference/functions/sign.md +6 -0
  172. package/docs/reference/functions/simplify.md +47 -7
  173. package/docs/reference/functions/simplifyCore.md +50 -0
  174. package/docs/reference/functions/sin.md +6 -0
  175. package/docs/reference/functions/sinh.md +6 -0
  176. package/docs/reference/functions/size.md +6 -0
  177. package/docs/reference/functions/slu.md +6 -0
  178. package/docs/reference/functions/smaller.md +6 -0
  179. package/docs/reference/functions/smallerEq.md +6 -0
  180. package/docs/reference/functions/sort.md +6 -0
  181. package/docs/reference/functions/sqrt.md +6 -0
  182. package/docs/reference/functions/sqrtm.md +6 -0
  183. package/docs/reference/functions/square.md +6 -0
  184. package/docs/reference/functions/squeeze.md +6 -0
  185. package/docs/reference/functions/std.md +6 -0
  186. package/docs/reference/functions/stirlingS2.md +6 -0
  187. package/docs/reference/functions/subset.md +6 -0
  188. package/docs/reference/functions/subtract.md +6 -0
  189. package/docs/reference/functions/sum.md +6 -0
  190. package/docs/reference/functions/tan.md +6 -0
  191. package/docs/reference/functions/tanh.md +6 -0
  192. package/docs/reference/functions/to.md +6 -0
  193. package/docs/reference/functions/trace.md +6 -0
  194. package/docs/reference/functions/transpose.md +6 -0
  195. package/docs/reference/functions/typeOf.md +6 -0
  196. package/docs/reference/functions/unaryMinus.md +6 -0
  197. package/docs/reference/functions/unaryPlus.md +6 -0
  198. package/docs/reference/functions/unequal.md +6 -0
  199. package/docs/reference/functions/usolve.md +6 -0
  200. package/docs/reference/functions/usolveAll.md +6 -0
  201. package/docs/reference/functions/variance.md +6 -0
  202. package/docs/reference/functions/xgcd.md +6 -0
  203. package/docs/reference/functions/xor.md +6 -0
  204. package/docs/reference/functions/zeros.md +6 -0
  205. package/docs/reference/functions.md +4 -0
  206. package/lib/browser/math.js +7 -7
  207. package/lib/browser/math.js.map +1 -1
  208. package/lib/cjs/core/create.js +4 -4
  209. package/lib/cjs/core/function/import.js +3 -3
  210. package/lib/cjs/core/function/typed.js +2 -2
  211. package/lib/cjs/defaultInstance.js +3 -3
  212. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  213. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  214. package/lib/cjs/entry/configReadonly.js +1 -1
  215. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +41 -0
  216. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
  217. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +18 -0
  218. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
  219. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +21 -0
  220. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
  221. package/lib/cjs/entry/dependenciesAny.generated.js +32 -0
  222. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +18 -0
  223. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
  224. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +21 -0
  225. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
  226. package/lib/cjs/entry/dependenciesNumber.generated.js +16 -0
  227. package/lib/cjs/entry/impureFunctionsAny.generated.js +78 -29
  228. package/lib/cjs/entry/impureFunctionsNumber.generated.js +102 -60
  229. package/lib/cjs/entry/pureFunctionsAny.generated.js +65 -55
  230. package/lib/cjs/entry/pureFunctionsNumber.generated.js +46 -48
  231. package/lib/cjs/expression/Help.js +4 -0
  232. package/lib/cjs/expression/Parser.js +1 -1
  233. package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
  234. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +20 -6
  235. package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
  236. package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
  237. package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  238. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
  239. package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +15 -0
  240. package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  241. package/lib/cjs/expression/node/FunctionNode.js +7 -7
  242. package/lib/cjs/expression/node/IndexNode.js +1 -1
  243. package/lib/cjs/expression/node/Node.js +3 -3
  244. package/lib/cjs/expression/node/ObjectNode.js +1 -1
  245. package/lib/cjs/expression/node/utils/access.js +1 -1
  246. package/lib/cjs/expression/node/utils/assign.js +1 -1
  247. package/lib/cjs/expression/parse.js +13 -13
  248. package/lib/cjs/factoriesAny.js +32 -0
  249. package/lib/cjs/factoriesNumber.js +16 -0
  250. package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
  251. package/lib/cjs/function/algebra/leafCount.js +66 -0
  252. package/lib/cjs/function/algebra/rationalize.js +36 -39
  253. package/lib/cjs/function/algebra/resolve.js +106 -0
  254. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +226 -32
  255. package/lib/cjs/function/algebra/simplify/util.js +171 -33
  256. package/lib/cjs/function/algebra/simplify.js +608 -191
  257. package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +83 -31
  258. package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
  259. package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
  260. package/lib/cjs/function/arithmetic/ceil.js +3 -3
  261. package/lib/cjs/function/arithmetic/floor.js +3 -3
  262. package/lib/cjs/function/arithmetic/invmod.js +73 -0
  263. package/lib/cjs/function/arithmetic/norm.js +1 -1
  264. package/lib/cjs/function/arithmetic/round.js +1 -1
  265. package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
  266. package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
  267. package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
  268. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  269. package/lib/cjs/function/relational/compareNatural.js +6 -6
  270. package/lib/cjs/header.js +3 -3
  271. package/lib/cjs/plain/bignumber/index.js +1 -1
  272. package/lib/cjs/plain/number/combinations.js +18 -6
  273. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  274. package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
  275. package/lib/cjs/type/boolean.js +2 -2
  276. package/lib/cjs/type/complex/Complex.js +14 -14
  277. package/lib/cjs/type/complex/function/complex.js +1 -1
  278. package/lib/cjs/type/fraction/Fraction.js +6 -6
  279. package/lib/cjs/type/fraction/function/fraction.js +1 -1
  280. package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
  281. package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
  282. package/lib/cjs/type/number.js +1 -1
  283. package/lib/cjs/type/string.js +2 -2
  284. package/lib/cjs/type/unit/Unit.js +8 -8
  285. package/lib/cjs/utils/customs.js +2 -2
  286. package/lib/cjs/utils/emitter.js +1 -1
  287. package/lib/cjs/utils/function.js +2 -2
  288. package/lib/cjs/utils/is.js +6 -6
  289. package/lib/cjs/utils/latex.js +3 -3
  290. package/lib/cjs/utils/lruQueue.js +1 -1
  291. package/lib/cjs/utils/map.js +3 -3
  292. package/lib/cjs/utils/object.js +2 -2
  293. package/lib/cjs/utils/snapshot.js +7 -7
  294. package/lib/cjs/utils/string.js +2 -2
  295. package/lib/cjs/version.js +1 -1
  296. package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
  297. package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
  298. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +12 -0
  299. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
  300. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +14 -0
  301. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
  302. package/lib/esm/entry/dependenciesAny.generated.js +4 -0
  303. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +12 -0
  304. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
  305. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +14 -0
  306. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
  307. package/lib/esm/entry/dependenciesNumber.generated.js +2 -0
  308. package/lib/esm/entry/impureFunctionsAny.generated.js +68 -22
  309. package/lib/esm/entry/impureFunctionsNumber.generated.js +92 -52
  310. package/lib/esm/entry/pureFunctionsAny.generated.js +53 -42
  311. package/lib/esm/entry/pureFunctionsNumber.generated.js +32 -32
  312. package/lib/esm/expression/Help.js +4 -0
  313. package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
  314. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +10 -1
  315. package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
  316. package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
  317. package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  318. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
  319. package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
  320. package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  321. package/lib/esm/factoriesAny.js +4 -0
  322. package/lib/esm/factoriesNumber.js +2 -0
  323. package/lib/esm/function/algebra/leafCount.js +59 -0
  324. package/lib/esm/function/algebra/rationalize.js +36 -38
  325. package/lib/esm/function/algebra/resolve.js +95 -0
  326. package/lib/esm/function/algebra/simplify/simplifyConstant.js +200 -32
  327. package/lib/esm/function/algebra/simplify/util.js +170 -34
  328. package/lib/esm/function/algebra/simplify.js +603 -186
  329. package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +75 -31
  330. package/lib/esm/function/arithmetic/invmod.js +57 -0
  331. package/lib/esm/header.js +1 -1
  332. package/lib/esm/plain/number/combinations.js +18 -6
  333. package/lib/esm/version.js +1 -1
  334. package/package.json +21 -15
  335. package/types/index.d.ts +48 -6
  336. package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
  337. package/lib/esm/function/algebra/simplify/resolve.js +0 -67
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.multinomial = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrix = exports.map = exports.mad = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.index = exports.hypot = exports.hasNumericValue = exports.gcd = exports.gamma = exports.format = exports.forEach = exports.floor = exports.fix = exports.filter = exports.factorial = exports.expm1 = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.e = exports.divideScalar = exports.divide = exports.deepEqual = exports.cube = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.composition = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.clone = exports.ceil = exports.cbrt = exports.catalan = exports["boolean"] = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bellNumbers = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = 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.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = void 0;
7
- exports.xor = exports.xgcd = exports.version = exports.variance = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.tau = exports.tanh = exports.tan = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.std = exports.square = exports.sqrt = exports.smallerEq = exports.smaller = exports.size = exports.sinh = exports.sin = exports.sign = exports.sech = exports.sec = exports.round = exports.rightLogShift = exports.rightArithShift = exports.replacer = exports.range = exports.randomInt = exports.random = exports.quantileSeq = exports.prod = exports.print = exports.pow = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.numeric = exports.number = exports.nthRoot = exports.not = exports.norm = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrix = exports.map = exports.mad = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.index = exports.hypot = exports.hasNumericValue = exports.gcd = exports.gamma = exports.format = exports.forEach = exports.floor = exports.fix = exports.filter = exports.factorial = exports.expm1 = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.e = exports.divideScalar = exports.divide = exports.deepEqual = exports.cube = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.composition = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.clone = exports.ceil = exports.cbrt = exports.catalan = exports["boolean"] = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bellNumbers = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = 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.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = void 0;
6
+ exports.multinomial = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrix = exports.map = exports.mad = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.index = exports.hypot = exports.hasNumericValue = exports.gcd = exports.gamma = exports.format = exports.forEach = exports.floor = exports.fix = exports.filter = exports.factorial = exports.expm1 = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.e = exports.divideScalar = exports.divide = exports.deepEqual = exports.cube = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.composition = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.clone = exports.ceil = exports.cbrt = exports.catalan = exports.boolean = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bellNumbers = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = 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.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = void 0;
7
+ exports.xor = exports.xgcd = exports.version = exports.variance = exports.unequal = exports.unaryPlus = exports.unaryMinus = exports.typed = exports.typeOf = exports.tau = exports.tanh = exports.tan = exports.sum = exports.subtract = exports.subset = exports.string = exports.stirlingS2 = exports.std = exports.square = exports.sqrt = exports.smallerEq = exports.smaller = exports.size = exports.sinh = exports.sin = exports.sign = exports.sech = exports.sec = exports.round = exports.rightLogShift = exports.rightArithShift = exports.replacer = exports.range = exports.randomInt = exports.random = exports.quantileSeq = exports.prod = exports.print = exports.pow = exports.pickRandom = exports.pi = exports.phi = exports.permutations = exports.partitionSelect = exports.or = exports.numeric = exports.number = exports.nthRoot = exports.not = exports.norm = exports.multiplyScalar = exports.multiply = exports.multinomial = exports.mode = exports.mod = exports.min = exports.median = exports.mean = exports.max = exports.matrix = exports.map = exports.mad = exports.log2 = exports.log1p = exports.log10 = exports.log = exports.leftShift = exports.lcm = exports.largerEq = exports.larger = exports.isZero = exports.isPrime = exports.isPositive = exports.isNumeric = exports.isNegative = exports.isNaN = exports.isInteger = exports.index = exports.hypot = exports.hasNumericValue = exports.gcd = exports.gamma = exports.format = exports.forEach = exports.floor = exports.fix = exports.filter = exports.factorial = exports.expm1 = exports.exp = exports.erf = exports.equalText = exports.equalScalar = exports.equal = exports.e = exports.divideScalar = exports.divide = exports.deepEqual = exports.cube = exports.csch = exports.csc = exports.coth = exports.cot = exports.cosh = exports.cos = exports.composition = exports.compareText = exports.compareNatural = exports.compare = exports.combinationsWithRep = exports.combinations = exports.clone = exports.ceil = exports.cbrt = exports.catalan = exports.boolean = exports.bitXor = exports.bitOr = exports.bitNot = exports.bitAnd = exports.bellNumbers = exports.atanh = exports.atan2 = exports.atan = exports.asinh = exports.asin = exports.asech = exports.asec = 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.SQRT2 = exports.SQRT1_2 = exports.ResultSet = exports.Range = exports.LOG2E = exports.LOG10E = exports.LN2 = exports.LN10 = void 0;
8
8
 
9
9
  var _configReadonly = require("./configReadonly.js");
10
10
 
@@ -58,6 +58,8 @@ var Range = /* #__PURE__ */(0, _factoriesNumber.createRangeClass)({});
58
58
  exports.Range = Range;
59
59
  var replacer = /* #__PURE__ */(0, _factoriesNumber.createReplacer)({});
60
60
  exports.replacer = replacer;
61
+ var ResultSet = /* #__PURE__ */(0, _factoriesNumber.createResultSet)({});
62
+ exports.ResultSet = ResultSet;
61
63
  var SQRT1_2 = /* #__PURE__ */(0, _factoriesNumber.createSQRT1_2)({
62
64
  config: _configReadonly.config
63
65
  });
@@ -128,12 +130,10 @@ var bitOr = /* #__PURE__ */(0, _factoriesNumber.createBitOr)({
128
130
  typed: typed
129
131
  });
130
132
  exports.bitOr = bitOr;
131
-
132
- var _boolean = /* #__PURE__ */(0, _factoriesNumber.createBoolean)({
133
+ var boolean = /* #__PURE__ */(0, _factoriesNumber.createBoolean)({
133
134
  typed: typed
134
135
  });
135
-
136
- exports["boolean"] = _boolean;
136
+ exports.boolean = boolean;
137
137
  var cbrt = /* #__PURE__ */(0, _factoriesNumber.createCbrt)({
138
138
  typed: typed
139
139
  });
@@ -284,22 +284,18 @@ var random = /* #__PURE__ */(0, _factoriesNumber.createRandom)({
284
284
  typed: typed
285
285
  });
286
286
  exports.random = random;
287
- var rightArithShift = /* #__PURE__ */(0, _factoriesNumber.createRightArithShift)({
288
- typed: typed
289
- });
290
- exports.rightArithShift = rightArithShift;
291
- var round = /* #__PURE__ */(0, _factoriesNumber.createRound)({
287
+ var rightLogShift = /* #__PURE__ */(0, _factoriesNumber.createRightLogShift)({
292
288
  typed: typed
293
289
  });
294
- exports.round = round;
295
- var sec = /* #__PURE__ */(0, _factoriesNumber.createSec)({
296
- typed: typed
290
+ exports.rightLogShift = rightLogShift;
291
+ var SQRT2 = /* #__PURE__ */(0, _factoriesNumber.createSQRT2)({
292
+ config: _configReadonly.config
297
293
  });
298
- exports.sec = sec;
299
- var sign = /* #__PURE__ */(0, _factoriesNumber.createSign)({
294
+ exports.SQRT2 = SQRT2;
295
+ var sech = /* #__PURE__ */(0, _factoriesNumber.createSech)({
300
296
  typed: typed
301
297
  });
302
- exports.sign = sign;
298
+ exports.sech = sech;
303
299
  var sin = /* #__PURE__ */(0, _factoriesNumber.createSin)({
304
300
  typed: typed
305
301
  });
@@ -424,12 +420,14 @@ var randomInt = /* #__PURE__ */(0, _factoriesNumber.createRandomInt)({
424
420
  typed: typed
425
421
  });
426
422
  exports.randomInt = randomInt;
427
- var ResultSet = /* #__PURE__ */(0, _factoriesNumber.createResultSet)({});
428
- exports.ResultSet = ResultSet;
429
- var SQRT2 = /* #__PURE__ */(0, _factoriesNumber.createSQRT2)({
430
- config: _configReadonly.config
423
+ var rightArithShift = /* #__PURE__ */(0, _factoriesNumber.createRightArithShift)({
424
+ typed: typed
431
425
  });
432
- exports.SQRT2 = SQRT2;
426
+ exports.rightArithShift = rightArithShift;
427
+ var sec = /* #__PURE__ */(0, _factoriesNumber.createSec)({
428
+ typed: typed
429
+ });
430
+ exports.sec = sec;
433
431
  var sinh = /* #__PURE__ */(0, _factoriesNumber.createSinh)({
434
432
  typed: typed
435
433
  });
@@ -463,21 +461,10 @@ var bitXor = /* #__PURE__ */(0, _factoriesNumber.createBitXor)({
463
461
  typed: typed
464
462
  });
465
463
  exports.bitXor = bitXor;
466
- var catalan = /* #__PURE__ */(0, _factoriesNumber.createCatalan)({
467
- addScalar: addScalar,
468
- combinations: combinations,
469
- divideScalar: divideScalar,
470
- isInteger: isInteger,
471
- isNegative: isNegative,
472
- multiplyScalar: multiplyScalar,
473
- typed: typed
474
- });
475
- exports.catalan = catalan;
476
- var compareNatural = /* #__PURE__ */(0, _factoriesNumber.createCompareNatural)({
477
- compare: compare,
464
+ var clone = /* #__PURE__ */(0, _factoriesNumber.createClone)({
478
465
  typed: typed
479
466
  });
480
- exports.compareNatural = compareNatural;
467
+ exports.clone = clone;
481
468
  var equal = /* #__PURE__ */(0, _factoriesNumber.createEqual)({
482
469
  equalScalar: equalScalar,
483
470
  typed: typed
@@ -531,10 +518,10 @@ var quantileSeq = /* #__PURE__ */(0, _factoriesNumber.createQuantileSeq)({
531
518
  typed: typed
532
519
  });
533
520
  exports.quantileSeq = quantileSeq;
534
- var rightLogShift = /* #__PURE__ */(0, _factoriesNumber.createRightLogShift)({
521
+ var round = /* #__PURE__ */(0, _factoriesNumber.createRound)({
535
522
  typed: typed
536
523
  });
537
- exports.rightLogShift = rightLogShift;
524
+ exports.round = round;
538
525
  var smaller = /* #__PURE__ */(0, _factoriesNumber.createSmaller)({
539
526
  config: _configReadonly.config,
540
527
  typed: typed
@@ -576,6 +563,16 @@ var atan2 = /* #__PURE__ */(0, _factoriesNumber.createAtan2)({
576
563
  typed: typed
577
564
  });
578
565
  exports.atan2 = atan2;
566
+ var catalan = /* #__PURE__ */(0, _factoriesNumber.createCatalan)({
567
+ addScalar: addScalar,
568
+ combinations: combinations,
569
+ divideScalar: divideScalar,
570
+ isInteger: isInteger,
571
+ isNegative: isNegative,
572
+ multiplyScalar: multiplyScalar,
573
+ typed: typed
574
+ });
575
+ exports.catalan = catalan;
579
576
  var composition = /* #__PURE__ */(0, _factoriesNumber.createComposition)({
580
577
  addScalar: addScalar,
581
578
  combinations: combinations,
@@ -643,20 +640,21 @@ var range = /* #__PURE__ */(0, _factoriesNumber.createRange)({
643
640
  typed: typed
644
641
  });
645
642
  exports.range = range;
646
- var sech = /* #__PURE__ */(0, _factoriesNumber.createSech)({
643
+ var sign = /* #__PURE__ */(0, _factoriesNumber.createSign)({
647
644
  typed: typed
648
645
  });
649
- exports.sech = sech;
646
+ exports.sign = sign;
650
647
  var std = /* #__PURE__ */(0, _factoriesNumber.createStd)({
651
648
  sqrt: sqrt,
652
649
  typed: typed,
653
650
  variance: variance
654
651
  });
655
652
  exports.std = std;
656
- var clone = /* #__PURE__ */(0, _factoriesNumber.createClone)({
653
+ var compareNatural = /* #__PURE__ */(0, _factoriesNumber.createCompareNatural)({
654
+ compare: compare,
657
655
  typed: typed
658
656
  });
659
- exports.clone = clone;
657
+ exports.compareNatural = compareNatural;
660
658
  var coth = /* #__PURE__ */(0, _factoriesNumber.createCoth)({
661
659
  typed: typed
662
660
  });
@@ -680,6 +678,13 @@ var prod = /* #__PURE__ */(0, _factoriesNumber.createProd)({
680
678
  typed: typed
681
679
  });
682
680
  exports.prod = prod;
681
+ var sum = /* #__PURE__ */(0, _factoriesNumber.createSum)({
682
+ add: add,
683
+ config: _configReadonly.config,
684
+ numeric: numeric,
685
+ typed: typed
686
+ });
687
+ exports.sum = sum;
683
688
  var bellNumbers = /* #__PURE__ */(0, _factoriesNumber.createBellNumbers)({
684
689
  addScalar: addScalar,
685
690
  isInteger: isInteger,
@@ -696,13 +701,6 @@ var mad = /* #__PURE__ */(0, _factoriesNumber.createMad)({
696
701
  typed: typed
697
702
  });
698
703
  exports.mad = mad;
699
- var sum = /* #__PURE__ */(0, _factoriesNumber.createSum)({
700
- add: add,
701
- config: _configReadonly.config,
702
- numeric: numeric,
703
- typed: typed
704
- });
705
- exports.sum = sum;
706
704
  var max = /* #__PURE__ */(0, _factoriesNumber.createMax)({
707
705
  config: _configReadonly.config,
708
706
  larger: larger,
@@ -96,6 +96,10 @@ var createHelpClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
96
96
  desc += '\n';
97
97
  }
98
98
 
99
+ if (doc.mayThrow && doc.mayThrow.length) {
100
+ desc += 'Throws: ' + doc.mayThrow.join(', ') + '\n\n';
101
+ }
102
+
99
103
  if (doc.seealso && doc.seealso.length) {
100
104
  desc += 'See also: ' + doc.seealso.join(', ') + '\n';
101
105
  }
@@ -141,7 +141,7 @@ var createParserClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
141
141
 
142
142
 
143
143
  Parser.prototype.remove = function (name) {
144
- this.scope["delete"](name);
144
+ this.scope.delete(name);
145
145
  };
146
146
  /**
147
147
  * Clear the scope with variables and functions
@@ -9,7 +9,7 @@ var typedDocs = {
9
9
  category: 'Core',
10
10
  syntax: ['typed(signatures)', 'typed(name, signatures)'],
11
11
  description: 'Create a typed function.',
12
- examples: ['double = typed({ "number, number": f(x)=x+x })', 'double(2)', 'double("hello")'],
12
+ examples: ['double = typed({ "number": f(x)=x+x })', 'double(2)', 'double("hello")'],
13
13
  seealso: []
14
14
  };
15
15
  exports.typedDocs = typedDocs;
@@ -7,6 +7,8 @@ exports.embeddedDocs = void 0;
7
7
 
8
8
  var _bignumber = require("./construction/bignumber.js");
9
9
 
10
+ var _print = require("./function/utils/print.js");
11
+
10
12
  var _typeOf = require("./function/utils/typeOf.js");
11
13
 
12
14
  var _isZero = require("./function/utils/isZero.js");
@@ -279,6 +281,8 @@ var _bitAnd = require("./function/bitwise/bitAnd.js");
279
281
 
280
282
  var _xgcd = require("./function/arithmetic/xgcd.js");
281
283
 
284
+ var _invmod = require("./function/arithmetic/invmod.js");
285
+
282
286
  var _unaryPlus = require("./function/arithmetic/unaryPlus.js");
283
287
 
284
288
  var _unaryMinus = require("./function/arithmetic/unaryMinus.js");
@@ -355,10 +359,16 @@ var _usolveAll = require("./function/algebra/usolveAll.js");
355
359
 
356
360
  var _slu = require("./function/algebra/slu.js");
357
361
 
362
+ var _leafCount = require("./function/algebra/leafCount.js");
363
+
358
364
  var _rationalize = require("./function/algebra/rationalize.js");
359
365
 
360
366
  var _simplify = require("./function/algebra/simplify.js");
361
367
 
368
+ var _simplifyCore = require("./function/algebra/simplifyCore.js");
369
+
370
+ var _resolve = require("./function/algebra/resolve.js");
371
+
362
372
  var _lup = require("./function/algebra/lup.js");
363
373
 
364
374
  var _lsolve = require("./function/algebra/lsolve.js");
@@ -452,7 +462,7 @@ var _rotate = require("./function/matrix/rotate.js");
452
462
  var embeddedDocs = {
453
463
  // construction functions
454
464
  bignumber: _bignumber.bignumberDocs,
455
- "boolean": _boolean.booleanDocs,
465
+ boolean: _boolean.booleanDocs,
456
466
  complex: _complex.complexDocs,
457
467
  createUnit: _createUnit.createUnitDocs,
458
468
  fraction: _fraction.fractionDocs,
@@ -466,7 +476,7 @@ var embeddedDocs = {
466
476
  // constants
467
477
  e: _e.eDocs,
468
478
  E: _e.eDocs,
469
- "false": _false.falseDocs,
479
+ false: _false.falseDocs,
470
480
  i: _i.iDocs,
471
481
  Infinity: _Infinity.InfinityDocs,
472
482
  LN2: _LN2.LN2Docs,
@@ -474,14 +484,14 @@ var embeddedDocs = {
474
484
  LOG2E: _LOG2E.LOG2EDocs,
475
485
  LOG10E: _LOG10E.LOG10EDocs,
476
486
  NaN: _NaN.NaNDocs,
477
- "null": _null.nullDocs,
487
+ null: _null.nullDocs,
478
488
  pi: _pi.piDocs,
479
489
  PI: _pi.piDocs,
480
490
  phi: _phi.phiDocs,
481
491
  SQRT1_2: _SQRT1_.SQRT12Docs,
482
492
  SQRT2: _SQRT.SQRT2Docs,
483
493
  tau: _tau.tauDocs,
484
- "true": _true.trueDocs,
494
+ true: _true.trueDocs,
485
495
  version: _version.versionDocs,
486
496
  // physical constants
487
497
  // TODO: more detailed docs for physical constants
@@ -693,7 +703,10 @@ var embeddedDocs = {
693
703
  lsolveAll: _lsolveAll.lsolveAllDocs,
694
704
  lup: _lup.lupDocs,
695
705
  lusolve: _lusolve.lusolveDocs,
706
+ leafCount: _leafCount.leafCountDocs,
696
707
  simplify: _simplify.simplifyDocs,
708
+ resolve: _resolve.resolveDocs,
709
+ simplifyCore: _simplifyCore.simplifyCoreDocs,
697
710
  rationalize: _rationalize.rationalizeDocs,
698
711
  slu: _slu.sluDocs,
699
712
  usolve: _usolve.usolveDocs,
@@ -736,6 +749,7 @@ var embeddedDocs = {
736
749
  unaryMinus: _unaryMinus.unaryMinusDocs,
737
750
  unaryPlus: _unaryPlus.unaryPlusDocs,
738
751
  xgcd: _xgcd.xgcdDocs,
752
+ invmod: _invmod.invmodDocs,
739
753
  // functions - bitwise
740
754
  bitAnd: _bitAnd.bitAndDocs,
741
755
  bitNot: _bitNot.bitNotDocs,
@@ -751,7 +765,7 @@ var embeddedDocs = {
751
765
  stirlingS2: _stirlingS.stirlingS2Docs,
752
766
  // functions - core
753
767
  config: _config.configDocs,
754
- "import": _import.importDocs,
768
+ import: _import.importDocs,
755
769
  typed: _typed.typedDocs,
756
770
  // functions - complex
757
771
  arg: _arg.argDocs,
@@ -897,7 +911,7 @@ var embeddedDocs = {
897
911
  isPositive: _isPositive.isPositiveDocs,
898
912
  isPrime: _isPrime.isPrimeDocs,
899
913
  isZero: _isZero.isZeroDocs,
900
- // print: printDocs // TODO: add documentation for print as soon as the parser supports objects.
914
+ print: _print.printDocs,
901
915
  typeOf: _typeOf.typeOfDocs,
902
916
  numeric: _numeric.numericDocs
903
917
  };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.leafCountDocs = void 0;
7
+ var leafCountDocs = {
8
+ name: 'leafCount',
9
+ category: 'Algebra',
10
+ syntax: ['leafCount(expr)'],
11
+ description: 'Computes the number of leaves in the parse tree of the given expression',
12
+ examples: ['leafCount("e^(i*pi)-1")', 'leafCount(parse("{a: 22/7, b: 10^(1/2)}"))'],
13
+ seealso: ['simplify']
14
+ };
15
+ exports.leafCountDocs = leafCountDocs;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveDocs = void 0;
7
+ var resolveDocs = {
8
+ name: 'resolve',
9
+ category: 'Algebra',
10
+ syntax: ['resolve(node, scope)'],
11
+ description: 'Recursively substitute variables in an expression tree.',
12
+ examples: ['resolve(parse("1 + x"), { x: 7 })', 'resolve(parse("size(text)"), { text: "Hello World" })', 'resolve(parse("x + y"), { x: parse("3z") })', 'resolve(parse("3x"), { x: parse("y+z"), z: parse("w^y") })'],
13
+ seealso: ['simplify', 'evaluate'],
14
+ mayThrow: ['ReferenceError']
15
+ };
16
+ exports.resolveDocs = resolveDocs;
@@ -10,6 +10,6 @@ var simplifyDocs = {
10
10
  syntax: ['simplify(expr)', 'simplify(expr, rules)'],
11
11
  description: 'Simplify an expression tree.',
12
12
  examples: ['simplify("3 + 2 / 4")', 'simplify("2x + x")', 'f = parse("x * (x + 2 + x)")', 'simplified = simplify(f)', 'simplified.evaluate({x: 2})'],
13
- seealso: ['derivative', 'parse', 'evaluate']
13
+ seealso: ['simplifyCore', 'derivative', 'evaluate', 'parse', 'rationalize', 'resolve']
14
14
  };
15
15
  exports.simplifyDocs = simplifyDocs;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.simplifyCoreDocs = void 0;
7
+ var simplifyCoreDocs = {
8
+ name: 'simplifyCore',
9
+ category: 'Algebra',
10
+ syntax: ['simplifyCore(node)'],
11
+ description: 'Perform simple one-pass simplifications on an expression tree.',
12
+ examples: ['simplifyCore(parse("0*x"))', 'simplifyCore(parse("(x+0)*2"))'],
13
+ seealso: ['simplify', 'evaluate']
14
+ };
15
+ exports.simplifyCoreDocs = simplifyCoreDocs;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.invmodDocs = void 0;
7
+ var invmodDocs = {
8
+ name: 'invmod',
9
+ category: 'Arithmetic',
10
+ syntax: ['invmod(a, b)'],
11
+ description: 'Calculate the (modular) multiplicative inverse of a modulo b. Solution to the equation ax ≣ 1 (mod b)',
12
+ examples: ['invmod(8, 12)=NaN', 'invmod(7, 13)=2', 'math.invmod(15151, 15122)=10429'],
13
+ seealso: ['gcd', 'xgcd']
14
+ };
15
+ exports.invmodDocs = invmodDocs;
@@ -9,7 +9,7 @@ var forEachDocs = {
9
9
  category: 'Matrix',
10
10
  syntax: ['forEach(x, callback)'],
11
11
  description: 'Iterates over all elements of a matrix/array, and executes the given callback function.',
12
- examples: ['forEach([1, 2, 3], function(val) { console.log(val) })'],
12
+ examples: [],
13
13
  seealso: ['map', 'sort', 'filter']
14
14
  };
15
15
  exports.forEachDocs = forEachDocs;
@@ -152,7 +152,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
152
152
  var values = evalArgs.map(function (evalArg) {
153
153
  return evalArg(scope, args, context);
154
154
  });
155
- return fn.apply(void 0, (0, _toConsumableArray2["default"])(values));
155
+ return fn.apply(void 0, (0, _toConsumableArray2.default)(values));
156
156
  };
157
157
  }
158
158
  }
@@ -270,7 +270,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
270
270
  var customString;
271
271
  var name = this.fn.toString(options);
272
272
 
273
- if (options && (0, _typeof2["default"])(options.handler) === 'object' && (0, _object.hasOwnProperty)(options.handler, name)) {
273
+ if (options && (0, _typeof2.default)(options.handler) === 'object' && (0, _object.hasOwnProperty)(options.handler, name)) {
274
274
  // callback is a map of callback functions
275
275
  customString = options.handler[name](this, options);
276
276
  }
@@ -376,7 +376,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
376
376
 
377
377
  if (match[2] === undefined) {
378
378
  // no square brackets
379
- switch ((0, _typeof2["default"])(property)) {
379
+ switch ((0, _typeof2.default)(property)) {
380
380
  case 'string':
381
381
  latex += property;
382
382
  break;
@@ -436,7 +436,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
436
436
  FunctionNode.prototype.toTex = function (options) {
437
437
  var customTex;
438
438
 
439
- if (options && (0, _typeof2["default"])(options.handler) === 'object' && (0, _object.hasOwnProperty)(options.handler, this.name)) {
439
+ if (options && (0, _typeof2.default)(options.handler) === 'object' && (0, _object.hasOwnProperty)(options.handler, this.name)) {
440
440
  // callback is a map of callback functions
441
441
  customTex = options.handler[this.name](this, options);
442
442
  }
@@ -467,14 +467,14 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
467
467
  } // toTex property on the function itself
468
468
 
469
469
 
470
- if (math[this.name] && (typeof math[this.name].toTex === 'function' || (0, _typeof2["default"])(math[this.name].toTex) === 'object' || typeof math[this.name].toTex === 'string')) {
470
+ if (math[this.name] && (typeof math[this.name].toTex === 'function' || (0, _typeof2.default)(math[this.name].toTex) === 'object' || typeof math[this.name].toTex === 'string')) {
471
471
  // .toTex is a callback function
472
472
  latexConverter = math[this.name].toTex;
473
473
  }
474
474
 
475
475
  var customToTex;
476
476
 
477
- switch ((0, _typeof2["default"])(latexConverter)) {
477
+ switch ((0, _typeof2.default)(latexConverter)) {
478
478
  case 'function':
479
479
  // a callback function
480
480
  customToTex = latexConverter(this, options);
@@ -487,7 +487,7 @@ var createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
487
487
 
488
488
  case 'object':
489
489
  // an object with different "converters" for different numbers of arguments
490
- switch ((0, _typeof2["default"])(latexConverter[args.length])) {
490
+ switch ((0, _typeof2.default)(latexConverter[args.length])) {
491
491
  case 'function':
492
492
  customToTex = latexConverter[args.length](this, options);
493
493
  break;
@@ -143,7 +143,7 @@ var createIndexNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
143
143
  var dimensions = (0, _array.map)(evalDimensions, function (evalDimension) {
144
144
  return evalDimension(scope, args, context);
145
145
  });
146
- return index.apply(void 0, (0, _toConsumableArray2["default"])(dimensions));
146
+ return index.apply(void 0, (0, _toConsumableArray2.default)(dimensions));
147
147
  };
148
148
  };
149
149
  /**
@@ -367,8 +367,8 @@ var createNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
367
367
 
368
368
 
369
369
  Node.prototype._getCustomString = function (options) {
370
- if (options && (0, _typeof2["default"])(options) === 'object') {
371
- switch ((0, _typeof2["default"])(options.handler)) {
370
+ if (options && (0, _typeof2.default)(options) === 'object') {
371
+ switch ((0, _typeof2.default)(options.handler)) {
372
372
  case 'object':
373
373
  case 'undefined':
374
374
  return;
@@ -407,7 +407,7 @@ var createNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, functi
407
407
 
408
408
 
409
409
  function _validateScope(scope) {
410
- for (var _i = 0, _arr = (0, _toConsumableArray2["default"])(_keywords.keywords); _i < _arr.length; _i++) {
410
+ for (var _i = 0, _arr = (0, _toConsumableArray2.default)(_keywords.keywords); _i < _arr.length; _i++) {
411
411
  var symbol = _arr[_i];
412
412
 
413
413
  if (scope.has(symbol)) {
@@ -38,7 +38,7 @@ var createObjectNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies,
38
38
  this.properties = properties || {}; // validate input
39
39
 
40
40
  if (properties) {
41
- if (!((0, _typeof2["default"])(properties) === 'object') || !Object.keys(properties).every(function (key) {
41
+ if (!((0, _typeof2.default)(properties) === 'object') || !Object.keys(properties).every(function (key) {
42
42
  return (0, _is.isNode)(properties[key]);
43
43
  })) {
44
44
  throw new TypeError('Object containing Nodes expected');
@@ -37,7 +37,7 @@ function accessFactory(_ref) {
37
37
  } else if (typeof object === 'string') {
38
38
  // TODO: move getStringSubset into a separate util file, use that
39
39
  return subset(object, index);
40
- } else if ((0, _typeof2["default"])(object) === 'object') {
40
+ } else if ((0, _typeof2.default)(object) === 'object') {
41
41
  if (!index.isObjectProperty()) {
42
42
  throw new TypeError('Cannot apply a numeric index as object property');
43
43
  }
@@ -42,7 +42,7 @@ function assignFactory(_ref) {
42
42
  } else if (typeof object === 'string') {
43
43
  // TODO: move setStringSubset into a separate util file, use that
44
44
  return subset(object, index, value);
45
- } else if ((0, _typeof2["default"])(object) === 'object') {
45
+ } else if ((0, _typeof2.default)(object) === 'object') {
46
46
  if (!index.isObjectProperty()) {
47
47
  throw TypeError('Cannot apply a numeric index as object property');
48
48
  }
@@ -153,16 +153,16 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
153
153
  var NAMED_DELIMITERS = {
154
154
  mod: true,
155
155
  to: true,
156
- "in": true,
156
+ in: true,
157
157
  and: true,
158
158
  xor: true,
159
159
  or: true,
160
160
  not: true
161
161
  };
162
162
  var CONSTANTS = {
163
- "true": true,
164
- "false": false,
165
- "null": null,
163
+ true: true,
164
+ false: false,
165
+ null: null,
166
166
  undefined: undefined
167
167
  };
168
168
  var NUMERIC_CONSTANTS = ['NaN', 'Infinity'];
@@ -584,7 +584,7 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
584
584
 
585
585
  function parseStart(expression, extraNodes) {
586
586
  var state = initialState();
587
- (0, _extends2["default"])(state, {
587
+ (0, _extends2.default)(state, {
588
588
  expression: expression,
589
589
  extraNodes: extraNodes
590
590
  });
@@ -930,7 +930,7 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
930
930
  node = parseRange(state);
931
931
  var operators = {
932
932
  to: 'to',
933
- "in": 'to' // alias of 'to'
933
+ in: 'to' // alias of 'to'
934
934
 
935
935
  };
936
936
 
@@ -1112,30 +1112,30 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
1112
1112
  // Match the "number /" part of the pattern "number / number symbol"
1113
1113
  if (state.token === '/' && (0, _is.isConstantNode)(last)) {
1114
1114
  // Look ahead to see if the next token is a number
1115
- tokenStates.push((0, _extends2["default"])({}, state));
1115
+ tokenStates.push((0, _extends2.default)({}, state));
1116
1116
  getTokenSkipNewline(state); // Match the "number / number" part of the pattern
1117
1117
 
1118
1118
  if (state.tokenType === TOKENTYPE.NUMBER) {
1119
1119
  // Look ahead again
1120
- tokenStates.push((0, _extends2["default"])({}, state));
1120
+ tokenStates.push((0, _extends2.default)({}, state));
1121
1121
  getTokenSkipNewline(state); // Match the "symbol" part of the pattern, or a left parenthesis
1122
1122
 
1123
1123
  if (state.tokenType === TOKENTYPE.SYMBOL || state.token === '(') {
1124
1124
  // We've matched the pattern "number / number symbol".
1125
1125
  // Rewind once and build the "number / number" node; the symbol will be consumed later
1126
- (0, _extends2["default"])(state, tokenStates.pop());
1126
+ (0, _extends2.default)(state, tokenStates.pop());
1127
1127
  tokenStates.pop();
1128
1128
  last = parsePercentage(state);
1129
1129
  node = new OperatorNode('/', 'divide', [node, last]);
1130
1130
  } else {
1131
1131
  // Not a match, so rewind
1132
1132
  tokenStates.pop();
1133
- (0, _extends2["default"])(state, tokenStates.pop());
1133
+ (0, _extends2.default)(state, tokenStates.pop());
1134
1134
  break;
1135
1135
  }
1136
1136
  } else {
1137
1137
  // Not a match, so rewind
1138
- (0, _extends2["default"])(state, tokenStates.pop());
1138
+ (0, _extends2.default)(state, tokenStates.pop());
1139
1139
  break;
1140
1140
  }
1141
1141
  } else {
@@ -1783,7 +1783,7 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
1783
1783
  function createSyntaxError(state, message) {
1784
1784
  var c = col(state);
1785
1785
  var error = new SyntaxError(message + ' (char ' + c + ')');
1786
- error["char"] = c;
1786
+ error.char = c;
1787
1787
  return error;
1788
1788
  }
1789
1789
  /**
@@ -1798,7 +1798,7 @@ var createParse = /* #__PURE__ */(0, _factory.factory)(name, dependencies, funct
1798
1798
  function createError(state, message) {
1799
1799
  var c = col(state);
1800
1800
  var error = new SyntaxError(message + ' (char ' + c + ')');
1801
- error["char"] = c;
1801
+ error.char = c;
1802
1802
  return error;
1803
1803
  }
1804
1804