mathjs 10.0.0 → 10.6.4

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 (1084) hide show
  1. package/CONTRIBUTING.md +14 -10
  2. package/HISTORY.md +209 -0
  3. package/NOTICE +1 -1
  4. package/README.md +23 -3
  5. package/bin/cli.js +1 -1
  6. package/lib/browser/math.js +9 -8
  7. package/lib/browser/math.js.map +1 -1
  8. package/lib/cjs/core/create.js +4 -4
  9. package/lib/cjs/core/function/import.js +3 -3
  10. package/lib/cjs/core/function/typed.js +2 -2
  11. package/lib/cjs/defaultInstance.js +3 -3
  12. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  13. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  14. package/lib/cjs/entry/configReadonly.js +1 -1
  15. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +6 -0
  16. package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +26 -0
  17. package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +26 -0
  18. package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +5 -2
  19. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
  20. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -0
  21. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +6 -0
  22. package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +29 -0
  23. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -3
  24. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
  25. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +41 -0
  26. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
  27. package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +23 -0
  28. package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +53 -0
  29. package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +3 -0
  30. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +18 -0
  31. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
  32. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +21 -0
  33. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
  34. package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +6 -0
  35. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
  36. package/lib/cjs/entry/dependenciesAny.generated.js +88 -0
  37. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +3 -0
  38. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +26 -0
  39. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +26 -0
  40. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +6 -0
  41. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +3 -0
  42. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -3
  43. package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +20 -0
  44. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +18 -0
  45. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
  46. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +21 -0
  47. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
  48. package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +3 -0
  49. package/lib/cjs/entry/dependenciesNumber.generated.js +40 -0
  50. package/lib/cjs/entry/impureFunctionsAny.generated.js +164 -98
  51. package/lib/cjs/entry/impureFunctionsNumber.generated.js +117 -69
  52. package/lib/cjs/entry/pureFunctionsAny.generated.js +418 -351
  53. package/lib/cjs/entry/pureFunctionsNumber.generated.js +80 -65
  54. package/lib/cjs/expression/Help.js +4 -0
  55. package/lib/cjs/expression/Parser.js +1 -1
  56. package/lib/cjs/expression/embeddedDocs/construction/fraction.js +3 -3
  57. package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
  58. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +265 -233
  59. package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
  60. package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
  61. package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  62. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
  63. package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
  64. package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +15 -0
  65. package/lib/cjs/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
  66. package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +15 -0
  67. package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  68. package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +15 -0
  69. package/lib/cjs/expression/embeddedDocs/function/matrix/pinv.js +15 -0
  70. package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
  71. package/lib/cjs/expression/embeddedDocs/function/probability/lgamma.js +15 -0
  72. package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +15 -0
  73. package/lib/cjs/expression/node/FunctionNode.js +104 -63
  74. package/lib/cjs/expression/node/IndexNode.js +27 -62
  75. package/lib/cjs/expression/node/Node.js +3 -3
  76. package/lib/cjs/expression/node/ObjectNode.js +1 -1
  77. package/lib/cjs/expression/node/utils/access.js +1 -1
  78. package/lib/cjs/expression/node/utils/assign.js +1 -1
  79. package/lib/cjs/expression/parse.js +25 -21
  80. package/lib/cjs/expression/transform/cumsum.transform.js +57 -0
  81. package/lib/cjs/expression/transform/sum.transform.js +1 -1
  82. package/lib/cjs/factoriesAny.js +88 -0
  83. package/lib/cjs/factoriesNumber.js +77 -28
  84. package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
  85. package/lib/cjs/function/algebra/derivative.js +1 -1
  86. package/lib/cjs/function/algebra/leafCount.js +66 -0
  87. package/lib/cjs/function/algebra/rationalize.js +36 -39
  88. package/lib/cjs/function/algebra/resolve.js +106 -0
  89. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +226 -32
  90. package/lib/cjs/function/algebra/simplify/util.js +171 -33
  91. package/lib/cjs/function/algebra/simplify.js +619 -191
  92. package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +84 -32
  93. package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
  94. package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
  95. package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
  96. package/lib/cjs/function/arithmetic/ceil.js +76 -40
  97. package/lib/cjs/function/arithmetic/fix.js +54 -16
  98. package/lib/cjs/function/arithmetic/floor.js +80 -38
  99. package/lib/cjs/function/arithmetic/invmod.js +73 -0
  100. package/lib/cjs/function/arithmetic/norm.js +1 -1
  101. package/lib/cjs/function/arithmetic/nthRoot.js +1 -3
  102. package/lib/cjs/function/arithmetic/pow.js +25 -6
  103. package/lib/cjs/function/arithmetic/round.js +27 -47
  104. package/lib/cjs/function/arithmetic/sign.js +4 -0
  105. package/lib/cjs/function/combinatorics/stirlingS2.js +42 -12
  106. package/lib/cjs/function/geometry/intersect.js +12 -13
  107. package/lib/cjs/function/matrix/det.js +37 -31
  108. package/lib/cjs/function/matrix/eigs/complexEigs.js +44 -33
  109. package/lib/cjs/function/matrix/fft.js +128 -0
  110. package/lib/cjs/function/matrix/ifft.js +49 -0
  111. package/lib/cjs/function/matrix/map.js +53 -15
  112. package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
  113. package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
  114. package/lib/cjs/function/matrix/pinv.js +223 -0
  115. package/lib/cjs/function/matrix/subset.js +15 -5
  116. package/lib/cjs/function/probability/gamma.js +28 -30
  117. package/lib/cjs/function/probability/lgamma.js +146 -0
  118. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  119. package/lib/cjs/function/relational/compareNatural.js +6 -6
  120. package/lib/cjs/function/statistics/cumsum.js +151 -0
  121. package/lib/cjs/function/statistics/sum.js +1 -1
  122. package/lib/cjs/function/string/format.js +4 -1
  123. package/lib/cjs/header.js +3 -3
  124. package/lib/cjs/plain/bignumber/index.js +1 -1
  125. package/lib/cjs/plain/number/arithmetic.js +17 -31
  126. package/lib/cjs/plain/number/combinations.js +18 -6
  127. package/lib/cjs/plain/number/probability.js +43 -3
  128. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  129. package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
  130. package/lib/cjs/type/boolean.js +2 -2
  131. package/lib/cjs/type/complex/Complex.js +14 -14
  132. package/lib/cjs/type/complex/function/complex.js +1 -1
  133. package/lib/cjs/type/fraction/Fraction.js +6 -6
  134. package/lib/cjs/type/fraction/function/fraction.js +21 -9
  135. package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
  136. package/lib/cjs/type/matrix/SparseMatrix.js +21 -17
  137. package/lib/cjs/type/matrix/function/sparse.js +6 -0
  138. package/lib/cjs/type/number.js +1 -1
  139. package/lib/cjs/type/string.js +2 -2
  140. package/lib/cjs/type/unit/Unit.js +76 -88
  141. package/lib/cjs/utils/collection.js +3 -27
  142. package/lib/cjs/utils/customs.js +2 -2
  143. package/lib/cjs/utils/emitter.js +1 -1
  144. package/lib/cjs/utils/function.js +2 -2
  145. package/lib/cjs/utils/is.js +6 -6
  146. package/lib/cjs/utils/latex.js +9 -3
  147. package/lib/cjs/utils/lruQueue.js +2 -4
  148. package/lib/cjs/utils/map.js +3 -3
  149. package/lib/cjs/utils/number.js +18 -3
  150. package/lib/cjs/utils/object.js +5 -3
  151. package/lib/cjs/utils/snapshot.js +8 -8
  152. package/lib/cjs/utils/string.js +19 -6
  153. package/lib/cjs/utils/switch.js +31 -0
  154. package/lib/cjs/version.js +1 -1
  155. package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
  156. package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
  157. package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
  158. package/lib/esm/entry/dependenciesAny/dependenciesDet.generated.js +4 -2
  159. package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +24 -0
  160. package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
  161. package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
  162. package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
  163. package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
  164. package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +4 -0
  165. package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
  166. package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
  167. package/lib/esm/entry/dependenciesAny/dependenciesLgamma.generated.js +12 -0
  168. package/lib/esm/entry/dependenciesAny/dependenciesPinv.generated.js +32 -0
  169. package/lib/esm/entry/dependenciesAny/dependenciesPow.generated.js +2 -0
  170. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +12 -0
  171. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
  172. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +14 -0
  173. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
  174. package/lib/esm/entry/dependenciesAny/dependenciesStirlingS2.generated.js +4 -0
  175. package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
  176. package/lib/esm/entry/dependenciesAny.generated.js +11 -0
  177. package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
  178. package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
  179. package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
  180. package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
  181. package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
  182. package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
  183. package/lib/esm/entry/dependenciesNumber/dependenciesLgamma.generated.js +10 -0
  184. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +12 -0
  185. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
  186. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +14 -0
  187. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
  188. package/lib/esm/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +2 -0
  189. package/lib/esm/entry/dependenciesNumber.generated.js +5 -0
  190. package/lib/esm/entry/impureFunctionsAny.generated.js +150 -88
  191. package/lib/esm/entry/impureFunctionsNumber.generated.js +107 -61
  192. package/lib/esm/entry/pureFunctionsAny.generated.js +331 -268
  193. package/lib/esm/entry/pureFunctionsNumber.generated.js +56 -41
  194. package/lib/esm/expression/Help.js +4 -0
  195. package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
  196. package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
  197. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +233 -212
  198. package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
  199. package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
  200. package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  201. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
  202. package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
  203. package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
  204. package/lib/esm/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
  205. package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
  206. package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  207. package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
  208. package/lib/esm/expression/embeddedDocs/function/matrix/pinv.js +8 -0
  209. package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
  210. package/lib/esm/expression/embeddedDocs/function/probability/lgamma.js +8 -0
  211. package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
  212. package/lib/esm/expression/node/BlockNode.js +3 -3
  213. package/lib/esm/expression/node/FunctionNode.js +93 -56
  214. package/lib/esm/expression/node/IndexNode.js +22 -59
  215. package/lib/esm/expression/parse.js +17 -13
  216. package/lib/esm/expression/transform/cumsum.transform.js +48 -0
  217. package/lib/esm/expression/transform/sum.transform.js +1 -1
  218. package/lib/esm/factoriesAny.js +11 -0
  219. package/lib/esm/factoriesNumber.js +25 -8
  220. package/lib/esm/function/algebra/decomposition/qr.js +2 -2
  221. package/lib/esm/function/algebra/derivative.js +1 -1
  222. package/lib/esm/function/algebra/leafCount.js +59 -0
  223. package/lib/esm/function/algebra/rationalize.js +36 -38
  224. package/lib/esm/function/algebra/resolve.js +95 -0
  225. package/lib/esm/function/algebra/simplify/simplifyConstant.js +200 -32
  226. package/lib/esm/function/algebra/simplify/util.js +170 -34
  227. package/lib/esm/function/algebra/simplify.js +614 -186
  228. package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +76 -32
  229. package/lib/esm/function/algebra/solver/utils/solveValidation.js +5 -5
  230. package/lib/esm/function/algebra/sparse/csChol.js +2 -2
  231. package/lib/esm/function/algebra/sparse/csLeaf.js +2 -2
  232. package/lib/esm/function/algebra/sparse/csLu.js +3 -3
  233. package/lib/esm/function/algebra/symbolicEqual.js +80 -0
  234. package/lib/esm/function/arithmetic/ceil.js +61 -24
  235. package/lib/esm/function/arithmetic/fix.js +51 -13
  236. package/lib/esm/function/arithmetic/floor.js +65 -23
  237. package/lib/esm/function/arithmetic/invmod.js +57 -0
  238. package/lib/esm/function/arithmetic/nthRoot.js +1 -3
  239. package/lib/esm/function/arithmetic/nthRoots.js +1 -1
  240. package/lib/esm/function/arithmetic/pow.js +25 -6
  241. package/lib/esm/function/arithmetic/round.js +25 -43
  242. package/lib/esm/function/arithmetic/sign.js +4 -0
  243. package/lib/esm/function/combinatorics/stirlingS2.js +41 -12
  244. package/lib/esm/function/geometry/intersect.js +12 -12
  245. package/lib/esm/function/matrix/det.js +35 -31
  246. package/lib/esm/function/matrix/eigs/complexEigs.js +36 -25
  247. package/lib/esm/function/matrix/expm.js +2 -2
  248. package/lib/esm/function/matrix/fft.js +104 -0
  249. package/lib/esm/function/matrix/ifft.js +38 -0
  250. package/lib/esm/function/matrix/map.js +53 -15
  251. package/lib/esm/function/matrix/pinv.js +205 -0
  252. package/lib/esm/function/matrix/subset.js +15 -5
  253. package/lib/esm/function/probability/gamma.js +29 -31
  254. package/lib/esm/function/probability/lgamma.js +137 -0
  255. package/lib/esm/function/statistics/cumsum.js +139 -0
  256. package/lib/esm/function/statistics/sum.js +1 -1
  257. package/lib/esm/function/string/bin.js +1 -1
  258. package/lib/esm/function/string/format.js +4 -1
  259. package/lib/esm/function/string/hex.js +1 -1
  260. package/lib/esm/function/string/oct.js +1 -1
  261. package/lib/esm/header.js +1 -1
  262. package/lib/esm/plain/number/arithmetic.js +16 -20
  263. package/lib/esm/plain/number/combinations.js +18 -6
  264. package/lib/esm/plain/number/probability.js +33 -1
  265. package/lib/esm/type/complex/Complex.js +2 -2
  266. package/lib/esm/type/fraction/function/fraction.js +20 -8
  267. package/lib/esm/type/matrix/DenseMatrix.js +2 -2
  268. package/lib/esm/type/matrix/FibonacciHeap.js +2 -2
  269. package/lib/esm/type/matrix/SparseMatrix.js +32 -28
  270. package/lib/esm/type/matrix/function/sparse.js +6 -0
  271. package/lib/esm/type/unit/Unit.js +76 -88
  272. package/lib/esm/utils/collection.js +1 -26
  273. package/lib/esm/utils/latex.js +6 -0
  274. package/lib/esm/utils/lruQueue.js +1 -2
  275. package/lib/esm/utils/number.js +17 -5
  276. package/lib/esm/utils/object.js +3 -1
  277. package/lib/esm/utils/snapshot.js +2 -2
  278. package/lib/esm/utils/string.js +18 -4
  279. package/lib/esm/utils/switch.js +24 -0
  280. package/lib/esm/version.js +1 -1
  281. package/package.json +52 -33
  282. package/types/index.d.ts +2741 -1306
  283. package/types/index.ts +1656 -242
  284. package/types/tsconfig.json +2 -1
  285. package/docs/command_line_interface.md +0 -87
  286. package/docs/core/chaining.md +0 -41
  287. package/docs/core/configuration.md +0 -144
  288. package/docs/core/extension.md +0 -263
  289. package/docs/core/index.md +0 -21
  290. package/docs/core/serialization.md +0 -50
  291. package/docs/custom_bundling.md +0 -116
  292. package/docs/datatypes/bignumbers.md +0 -102
  293. package/docs/datatypes/complex_numbers.md +0 -168
  294. package/docs/datatypes/fractions.md +0 -75
  295. package/docs/datatypes/index.md +0 -67
  296. package/docs/datatypes/matrices.md +0 -358
  297. package/docs/datatypes/numbers.md +0 -106
  298. package/docs/datatypes/units.md +0 -444
  299. package/docs/expressions/algebra.md +0 -83
  300. package/docs/expressions/customization.md +0 -379
  301. package/docs/expressions/expression_trees.md +0 -700
  302. package/docs/expressions/html_classes.md +0 -38
  303. package/docs/expressions/index.md +0 -21
  304. package/docs/expressions/parsing.md +0 -224
  305. package/docs/expressions/security.md +0 -89
  306. package/docs/expressions/syntax.md +0 -670
  307. package/docs/getting_started.md +0 -124
  308. package/docs/index.md +0 -39
  309. package/docs/reference/classes/densematrix.md +0 -247
  310. package/docs/reference/classes/fibonacciheap.md +0 -70
  311. package/docs/reference/classes/matrixindex.md +0 -133
  312. package/docs/reference/classes/matrixrange.md +0 -158
  313. package/docs/reference/classes/resultset.md +0 -47
  314. package/docs/reference/classes/sparsematrix.md +0 -245
  315. package/docs/reference/classes/unit.md +0 -242
  316. package/docs/reference/classes.md +0 -86
  317. package/docs/reference/constants.md +0 -29
  318. package/docs/reference/functions/abs.md +0 -40
  319. package/docs/reference/functions/acos.md +0 -43
  320. package/docs/reference/functions/acosh.md +0 -41
  321. package/docs/reference/functions/acot.md +0 -42
  322. package/docs/reference/functions/acoth.md +0 -40
  323. package/docs/reference/functions/acsc.md +0 -43
  324. package/docs/reference/functions/acsch.md +0 -40
  325. package/docs/reference/functions/add.md +0 -53
  326. package/docs/reference/functions/and.md +0 -47
  327. package/docs/reference/functions/apply.md +0 -50
  328. package/docs/reference/functions/arg.md +0 -47
  329. package/docs/reference/functions/asec.md +0 -43
  330. package/docs/reference/functions/asech.md +0 -40
  331. package/docs/reference/functions/asin.md +0 -43
  332. package/docs/reference/functions/asinh.md +0 -40
  333. package/docs/reference/functions/atan.md +0 -43
  334. package/docs/reference/functions/atan2.md +0 -50
  335. package/docs/reference/functions/atanh.md +0 -40
  336. package/docs/reference/functions/bellNumbers.md +0 -39
  337. package/docs/reference/functions/bignumber.md +0 -47
  338. package/docs/reference/functions/bin.md +0 -39
  339. package/docs/reference/functions/bitAnd.md +0 -45
  340. package/docs/reference/functions/bitNot.md +0 -45
  341. package/docs/reference/functions/bitOr.md +0 -46
  342. package/docs/reference/functions/bitXor.md +0 -45
  343. package/docs/reference/functions/boolean.md +0 -50
  344. package/docs/reference/functions/catalan.md +0 -39
  345. package/docs/reference/functions/cbrt.md +0 -54
  346. package/docs/reference/functions/ceil.md +0 -57
  347. package/docs/reference/functions/chain.md +0 -54
  348. package/docs/reference/functions/clone.md +0 -37
  349. package/docs/reference/functions/column.md +0 -39
  350. package/docs/reference/functions/combinations.md +0 -43
  351. package/docs/reference/functions/combinationsWithRep.md +0 -43
  352. package/docs/reference/functions/compare.md +0 -61
  353. package/docs/reference/functions/compareNatural.md +0 -86
  354. package/docs/reference/functions/compareText.md +0 -48
  355. package/docs/reference/functions/compile.md +0 -50
  356. package/docs/reference/functions/complex.md +0 -17
  357. package/docs/reference/functions/composition.md +0 -40
  358. package/docs/reference/functions/concat.md +0 -50
  359. package/docs/reference/functions/config.md +0 -44
  360. package/docs/reference/functions/conj.md +0 -44
  361. package/docs/reference/functions/cos.md +0 -45
  362. package/docs/reference/functions/cosh.md +0 -40
  363. package/docs/reference/functions/cot.md +0 -41
  364. package/docs/reference/functions/coth.md +0 -43
  365. package/docs/reference/functions/count.md +0 -39
  366. package/docs/reference/functions/createUnit.md +0 -52
  367. package/docs/reference/functions/cross.md +0 -52
  368. package/docs/reference/functions/csc.md +0 -41
  369. package/docs/reference/functions/csch.md +0 -43
  370. package/docs/reference/functions/ctranspose.md +0 -44
  371. package/docs/reference/functions/cube.md +0 -45
  372. package/docs/reference/functions/deepEqual.md +0 -47
  373. package/docs/reference/functions/derivative.md +0 -55
  374. package/docs/reference/functions/det.md +0 -43
  375. package/docs/reference/functions/diag.md +0 -55
  376. package/docs/reference/functions/diff.md +0 -64
  377. package/docs/reference/functions/distance.md +0 -74
  378. package/docs/reference/functions/divide.md +0 -49
  379. package/docs/reference/functions/dot.md +0 -42
  380. package/docs/reference/functions/dotDivide.md +0 -46
  381. package/docs/reference/functions/dotMultiply.md +0 -46
  382. package/docs/reference/functions/dotPow.md +0 -43
  383. package/docs/reference/functions/eigs.md +0 -48
  384. package/docs/reference/functions/equal.md +0 -69
  385. package/docs/reference/functions/equalText.md +0 -47
  386. package/docs/reference/functions/erf.md +0 -43
  387. package/docs/reference/functions/evaluate.md +0 -50
  388. package/docs/reference/functions/exp.md +0 -48
  389. package/docs/reference/functions/expm.md +0 -43
  390. package/docs/reference/functions/expm1.md +0 -48
  391. package/docs/reference/functions/factorial.md +0 -43
  392. package/docs/reference/functions/filter.md +0 -44
  393. package/docs/reference/functions/fix.md +0 -55
  394. package/docs/reference/functions/flatten.md +0 -40
  395. package/docs/reference/functions/floor.md +0 -56
  396. package/docs/reference/functions/forEach.md +0 -35
  397. package/docs/reference/functions/format.md +0 -118
  398. package/docs/reference/functions/fraction.md +0 -45
  399. package/docs/reference/functions/gamma.md +0 -43
  400. package/docs/reference/functions/gcd.md +0 -44
  401. package/docs/reference/functions/getMatrixDataType.md +0 -53
  402. package/docs/reference/functions/hasNumericValue.md +0 -49
  403. package/docs/reference/functions/help.md +0 -36
  404. package/docs/reference/functions/hex.md +0 -39
  405. package/docs/reference/functions/hypot.md +0 -45
  406. package/docs/reference/functions/identity.md +0 -51
  407. package/docs/reference/functions/im.md +0 -47
  408. package/docs/reference/functions/import.md +0 -68
  409. package/docs/reference/functions/index.md +0 -55
  410. package/docs/reference/functions/intersect.md +0 -44
  411. package/docs/reference/functions/inv.md +0 -39
  412. package/docs/reference/functions/isInteger.md +0 -49
  413. package/docs/reference/functions/isNaN.md +0 -50
  414. package/docs/reference/functions/isNegative.md +0 -49
  415. package/docs/reference/functions/isNumeric.md +0 -49
  416. package/docs/reference/functions/isPositive.md +0 -51
  417. package/docs/reference/functions/isPrime.md +0 -48
  418. package/docs/reference/functions/isZero.md +0 -53
  419. package/docs/reference/functions/kldivergence.md +0 -35
  420. package/docs/reference/functions/kron.md +0 -47
  421. package/docs/reference/functions/larger.md +0 -54
  422. package/docs/reference/functions/largerEq.md +0 -50
  423. package/docs/reference/functions/lcm.md +0 -48
  424. package/docs/reference/functions/leftShift.md +0 -46
  425. package/docs/reference/functions/log.md +0 -51
  426. package/docs/reference/functions/log10.md +0 -44
  427. package/docs/reference/functions/log1p.md +0 -48
  428. package/docs/reference/functions/log2.md +0 -44
  429. package/docs/reference/functions/lsolve.md +0 -45
  430. package/docs/reference/functions/lsolveAll.md +0 -45
  431. package/docs/reference/functions/lup.md +0 -46
  432. package/docs/reference/functions/lusolve.md +0 -53
  433. package/docs/reference/functions/mad.md +0 -44
  434. package/docs/reference/functions/map.md +0 -42
  435. package/docs/reference/functions/matrix.md +0 -56
  436. package/docs/reference/functions/matrixFromColumns.md +0 -43
  437. package/docs/reference/functions/matrixFromFunction.md +0 -48
  438. package/docs/reference/functions/matrixFromRows.md +0 -43
  439. package/docs/reference/functions/max.md +0 -55
  440. package/docs/reference/functions/mean.md +0 -51
  441. package/docs/reference/functions/median.md +0 -51
  442. package/docs/reference/functions/min.md +0 -55
  443. package/docs/reference/functions/mod.md +0 -53
  444. package/docs/reference/functions/mode.md +0 -44
  445. package/docs/reference/functions/multinomial.md +0 -40
  446. package/docs/reference/functions/multiply.md +0 -54
  447. package/docs/reference/functions/norm.md +0 -53
  448. package/docs/reference/functions/not.md +0 -44
  449. package/docs/reference/functions/nthRoot.md +0 -47
  450. package/docs/reference/functions/nthRoots.md +0 -52
  451. package/docs/reference/functions/number.md +0 -49
  452. package/docs/reference/functions/numeric.md +0 -46
  453. package/docs/reference/functions/oct.md +0 -39
  454. package/docs/reference/functions/ones.md +0 -53
  455. package/docs/reference/functions/or.md +0 -47
  456. package/docs/reference/functions/parse.md +0 -56
  457. package/docs/reference/functions/parser.md +0 -64
  458. package/docs/reference/functions/partitionSelect.md +0 -47
  459. package/docs/reference/functions/permutations.md +0 -45
  460. package/docs/reference/functions/pickRandom.md +0 -53
  461. package/docs/reference/functions/pow.md +0 -53
  462. package/docs/reference/functions/print.md +0 -58
  463. package/docs/reference/functions/prod.md +0 -49
  464. package/docs/reference/functions/qr.md +0 -59
  465. package/docs/reference/functions/quantileSeq.md +0 -56
  466. package/docs/reference/functions/random.md +0 -48
  467. package/docs/reference/functions/randomInt.md +0 -47
  468. package/docs/reference/functions/range.md +0 -64
  469. package/docs/reference/functions/rationalize.md +0 -62
  470. package/docs/reference/functions/re.md +0 -47
  471. package/docs/reference/functions/reshape.md +0 -53
  472. package/docs/reference/functions/resize.md +0 -45
  473. package/docs/reference/functions/rightArithShift.md +0 -46
  474. package/docs/reference/functions/rightLogShift.md +0 -46
  475. package/docs/reference/functions/rotate.md +0 -47
  476. package/docs/reference/functions/rotationMatrix.md +0 -51
  477. package/docs/reference/functions/round.md +0 -55
  478. package/docs/reference/functions/row.md +0 -39
  479. package/docs/reference/functions/sec.md +0 -41
  480. package/docs/reference/functions/sech.md +0 -43
  481. package/docs/reference/functions/setCartesian.md +0 -43
  482. package/docs/reference/functions/setDifference.md +0 -41
  483. package/docs/reference/functions/setDistinct.md +0 -37
  484. package/docs/reference/functions/setIntersect.md +0 -40
  485. package/docs/reference/functions/setIsSubset.md +0 -41
  486. package/docs/reference/functions/setMultiplicity.md +0 -40
  487. package/docs/reference/functions/setPowerset.md +0 -37
  488. package/docs/reference/functions/setSize.md +0 -41
  489. package/docs/reference/functions/setSymDifference.md +0 -41
  490. package/docs/reference/functions/setUnion.md +0 -40
  491. package/docs/reference/functions/sign.md +0 -46
  492. package/docs/reference/functions/simplify.md +0 -90
  493. package/docs/reference/functions/sin.md +0 -45
  494. package/docs/reference/functions/sinh.md +0 -40
  495. package/docs/reference/functions/size.md +0 -44
  496. package/docs/reference/functions/slu.md +0 -51
  497. package/docs/reference/functions/smaller.md +0 -54
  498. package/docs/reference/functions/smallerEq.md +0 -50
  499. package/docs/reference/functions/sort.md +0 -50
  500. package/docs/reference/functions/sparse.md +0 -51
  501. package/docs/reference/functions/splitUnit.md +0 -37
  502. package/docs/reference/functions/sqrt.md +0 -44
  503. package/docs/reference/functions/sqrtm.md +0 -40
  504. package/docs/reference/functions/square.md +0 -45
  505. package/docs/reference/functions/squeeze.md +0 -47
  506. package/docs/reference/functions/std.md +0 -70
  507. package/docs/reference/functions/stirlingS2.md +0 -42
  508. package/docs/reference/functions/string.md +0 -49
  509. package/docs/reference/functions/subset.md +0 -51
  510. package/docs/reference/functions/subtract.md +0 -48
  511. package/docs/reference/functions/sum.md +0 -47
  512. package/docs/reference/functions/tan.md +0 -43
  513. package/docs/reference/functions/tanh.md +0 -44
  514. package/docs/reference/functions/to.md +0 -41
  515. package/docs/reference/functions/trace.md +0 -44
  516. package/docs/reference/functions/transpose.md +0 -43
  517. package/docs/reference/functions/typeOf.md +0 -75
  518. package/docs/reference/functions/typed.md +0 -56
  519. package/docs/reference/functions/unaryMinus.md +0 -43
  520. package/docs/reference/functions/unaryPlus.md +0 -42
  521. package/docs/reference/functions/unequal.md +0 -68
  522. package/docs/reference/functions/unit.md +0 -48
  523. package/docs/reference/functions/usolve.md +0 -45
  524. package/docs/reference/functions/usolveAll.md +0 -45
  525. package/docs/reference/functions/variance.md +0 -72
  526. package/docs/reference/functions/xgcd.md +0 -41
  527. package/docs/reference/functions/xor.md +0 -47
  528. package/docs/reference/functions/zeros.md +0 -51
  529. package/docs/reference/functions.md +0 -289
  530. package/docs/reference/index.md +0 -5
  531. package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
  532. package/examples/advanced/custom_argument_parsing.js +0 -98
  533. package/examples/advanced/custom_datatype.js +0 -56
  534. package/examples/advanced/custom_evaluate_using_factories.js +0 -19
  535. package/examples/advanced/custom_evaluate_using_import.js +0 -18
  536. package/examples/advanced/custom_loading.js +0 -33
  537. package/examples/advanced/custom_relational_functions.js +0 -62
  538. package/examples/advanced/custom_scope_objects.js +0 -115
  539. package/examples/advanced/expression_trees.js +0 -55
  540. package/examples/advanced/function_transform.js +0 -50
  541. package/examples/advanced/more_secure_eval.js +0 -36
  542. package/examples/advanced/use_bigint.js +0 -43
  543. package/examples/advanced/web_server/math_worker.js +0 -24
  544. package/examples/advanced/web_server/server.js +0 -80
  545. package/examples/algebra.js +0 -34
  546. package/examples/basic_usage.js +0 -49
  547. package/examples/bignumbers.js +0 -52
  548. package/examples/browser/angle_configuration.html +0 -134
  549. package/examples/browser/basic_usage.html +0 -39
  550. package/examples/browser/currency_conversion.html +0 -125
  551. package/examples/browser/custom_separators.html +0 -81
  552. package/examples/browser/plot.html +0 -78
  553. package/examples/browser/pretty_printing_with_mathjax.html +0 -122
  554. package/examples/browser/printing_html.html +0 -170
  555. package/examples/browser/requirejs_loading.html +0 -20
  556. package/examples/browser/rocket_trajectory_optimization.html +0 -301
  557. package/examples/browser/webworkers/webworkers.html +0 -80
  558. package/examples/browser/webworkers/worker.js +0 -28
  559. package/examples/chaining.js +0 -56
  560. package/examples/complex_numbers.js +0 -67
  561. package/examples/expressions.js +0 -188
  562. package/examples/fractions.js +0 -74
  563. package/examples/import.js +0 -95
  564. package/examples/matrices.js +0 -101
  565. package/examples/node_modules/.bin/envinfo +0 -15
  566. package/examples/node_modules/.bin/envinfo.cmd +0 -17
  567. package/examples/node_modules/.bin/envinfo.ps1 +0 -18
  568. package/examples/node_modules/.bin/import-local-fixture +0 -15
  569. package/examples/node_modules/.bin/import-local-fixture.cmd +0 -17
  570. package/examples/node_modules/.bin/import-local-fixture.ps1 +0 -18
  571. package/examples/node_modules/.bin/node-which +0 -15
  572. package/examples/node_modules/.bin/node-which.cmd +0 -17
  573. package/examples/node_modules/.bin/node-which.ps1 +0 -18
  574. package/examples/node_modules/.bin/webpack-cli +0 -15
  575. package/examples/node_modules/.bin/webpack-cli.cmd +0 -17
  576. package/examples/node_modules/.bin/webpack-cli.ps1 +0 -18
  577. package/examples/node_modules/@discoveryjs/json-ext/CHANGELOG.md +0 -42
  578. package/examples/node_modules/@discoveryjs/json-ext/LICENSE +0 -21
  579. package/examples/node_modules/@discoveryjs/json-ext/README.md +0 -255
  580. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.js +0 -808
  581. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +0 -1
  582. package/examples/node_modules/@discoveryjs/json-ext/package.json +0 -93
  583. package/examples/node_modules/@discoveryjs/json-ext/src/index.js +0 -6
  584. package/examples/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +0 -339
  585. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-info.js +0 -224
  586. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream-browser.js +0 -3
  587. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +0 -394
  588. package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder-browser.js +0 -1
  589. package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder.js +0 -1
  590. package/examples/node_modules/@discoveryjs/json-ext/src/utils.js +0 -148
  591. package/examples/node_modules/@webpack-cli/configtest/CHANGELOG.md +0 -18
  592. package/examples/node_modules/@webpack-cli/configtest/LICENSE +0 -20
  593. package/examples/node_modules/@webpack-cli/configtest/lib/index.d.ts +0 -4
  594. package/examples/node_modules/@webpack-cli/configtest/lib/index.js +0 -62
  595. package/examples/node_modules/@webpack-cli/configtest/package.json +0 -45
  596. package/examples/node_modules/@webpack-cli/info/CHANGELOG.md +0 -61
  597. package/examples/node_modules/@webpack-cli/info/LICENSE +0 -20
  598. package/examples/node_modules/@webpack-cli/info/README.md +0 -49
  599. package/examples/node_modules/@webpack-cli/info/lib/index.d.ts +0 -4
  600. package/examples/node_modules/@webpack-cli/info/lib/index.js +0 -66
  601. package/examples/node_modules/@webpack-cli/info/package.json +0 -47
  602. package/examples/node_modules/@webpack-cli/serve/CHANGELOG.md +0 -93
  603. package/examples/node_modules/@webpack-cli/serve/LICENSE +0 -20
  604. package/examples/node_modules/@webpack-cli/serve/README.md +0 -26
  605. package/examples/node_modules/@webpack-cli/serve/lib/index.d.ts +0 -4
  606. package/examples/node_modules/@webpack-cli/serve/lib/index.js +0 -107
  607. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.d.ts +0 -12
  608. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.js +0 -113
  609. package/examples/node_modules/@webpack-cli/serve/lib/types.d.ts +0 -48
  610. package/examples/node_modules/@webpack-cli/serve/lib/types.js +0 -12
  611. package/examples/node_modules/@webpack-cli/serve/package.json +0 -50
  612. package/examples/node_modules/ansi-colors/LICENSE +0 -21
  613. package/examples/node_modules/ansi-colors/README.md +0 -315
  614. package/examples/node_modules/ansi-colors/index.js +0 -177
  615. package/examples/node_modules/ansi-colors/package.json +0 -152
  616. package/examples/node_modules/ansi-colors/symbols.js +0 -70
  617. package/examples/node_modules/ansi-colors/types/index.d.ts +0 -161
  618. package/examples/node_modules/clone-deep/LICENSE +0 -21
  619. package/examples/node_modules/clone-deep/README.md +0 -106
  620. package/examples/node_modules/clone-deep/index.js +0 -49
  621. package/examples/node_modules/clone-deep/package.json +0 -112
  622. package/examples/node_modules/colorette/LICENSE.md +0 -7
  623. package/examples/node_modules/colorette/README.md +0 -102
  624. package/examples/node_modules/colorette/index.cjs +0 -73
  625. package/examples/node_modules/colorette/index.d.ts +0 -49
  626. package/examples/node_modules/colorette/index.js +0 -73
  627. package/examples/node_modules/colorette/package.json +0 -73
  628. package/examples/node_modules/commander/CHANGELOG.md +0 -440
  629. package/examples/node_modules/commander/LICENSE +0 -22
  630. package/examples/node_modules/commander/Readme.md +0 -917
  631. package/examples/node_modules/commander/esm.mjs +0 -4
  632. package/examples/node_modules/commander/index.js +0 -2217
  633. package/examples/node_modules/commander/package-support.json +0 -16
  634. package/examples/node_modules/commander/package.json +0 -100
  635. package/examples/node_modules/commander/typings/index.d.ts +0 -627
  636. package/examples/node_modules/cross-spawn/CHANGELOG.md +0 -130
  637. package/examples/node_modules/cross-spawn/LICENSE +0 -21
  638. package/examples/node_modules/cross-spawn/README.md +0 -96
  639. package/examples/node_modules/cross-spawn/index.js +0 -39
  640. package/examples/node_modules/cross-spawn/lib/enoent.js +0 -59
  641. package/examples/node_modules/cross-spawn/lib/parse.js +0 -91
  642. package/examples/node_modules/cross-spawn/lib/util/escape.js +0 -45
  643. package/examples/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  644. package/examples/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  645. package/examples/node_modules/cross-spawn/package.json +0 -104
  646. package/examples/node_modules/enquirer/CHANGELOG.md +0 -135
  647. package/examples/node_modules/enquirer/LICENSE +0 -21
  648. package/examples/node_modules/enquirer/README.md +0 -1752
  649. package/examples/node_modules/enquirer/index.d.ts +0 -151
  650. package/examples/node_modules/enquirer/index.js +0 -250
  651. package/examples/node_modules/enquirer/lib/ansi.js +0 -116
  652. package/examples/node_modules/enquirer/lib/combos.js +0 -75
  653. package/examples/node_modules/enquirer/lib/completer.js +0 -52
  654. package/examples/node_modules/enquirer/lib/interpolate.js +0 -266
  655. package/examples/node_modules/enquirer/lib/keypress.js +0 -243
  656. package/examples/node_modules/enquirer/lib/placeholder.js +0 -63
  657. package/examples/node_modules/enquirer/lib/prompt.js +0 -485
  658. package/examples/node_modules/enquirer/lib/prompts/autocomplete.js +0 -113
  659. package/examples/node_modules/enquirer/lib/prompts/basicauth.js +0 -41
  660. package/examples/node_modules/enquirer/lib/prompts/confirm.js +0 -13
  661. package/examples/node_modules/enquirer/lib/prompts/editable.js +0 -136
  662. package/examples/node_modules/enquirer/lib/prompts/form.js +0 -196
  663. package/examples/node_modules/enquirer/lib/prompts/index.js +0 -28
  664. package/examples/node_modules/enquirer/lib/prompts/input.js +0 -55
  665. package/examples/node_modules/enquirer/lib/prompts/invisible.js +0 -11
  666. package/examples/node_modules/enquirer/lib/prompts/list.js +0 -36
  667. package/examples/node_modules/enquirer/lib/prompts/multiselect.js +0 -11
  668. package/examples/node_modules/enquirer/lib/prompts/numeral.js +0 -1
  669. package/examples/node_modules/enquirer/lib/prompts/password.js +0 -18
  670. package/examples/node_modules/enquirer/lib/prompts/quiz.js +0 -37
  671. package/examples/node_modules/enquirer/lib/prompts/scale.js +0 -237
  672. package/examples/node_modules/enquirer/lib/prompts/select.js +0 -139
  673. package/examples/node_modules/enquirer/lib/prompts/snippet.js +0 -185
  674. package/examples/node_modules/enquirer/lib/prompts/sort.js +0 -37
  675. package/examples/node_modules/enquirer/lib/prompts/survey.js +0 -163
  676. package/examples/node_modules/enquirer/lib/prompts/text.js +0 -1
  677. package/examples/node_modules/enquirer/lib/prompts/toggle.js +0 -109
  678. package/examples/node_modules/enquirer/lib/render.js +0 -33
  679. package/examples/node_modules/enquirer/lib/roles.js +0 -46
  680. package/examples/node_modules/enquirer/lib/state.js +0 -69
  681. package/examples/node_modules/enquirer/lib/styles.js +0 -144
  682. package/examples/node_modules/enquirer/lib/symbols.js +0 -66
  683. package/examples/node_modules/enquirer/lib/theme.js +0 -11
  684. package/examples/node_modules/enquirer/lib/timer.js +0 -38
  685. package/examples/node_modules/enquirer/lib/types/array.js +0 -658
  686. package/examples/node_modules/enquirer/lib/types/auth.js +0 -29
  687. package/examples/node_modules/enquirer/lib/types/boolean.js +0 -88
  688. package/examples/node_modules/enquirer/lib/types/index.js +0 -7
  689. package/examples/node_modules/enquirer/lib/types/number.js +0 -86
  690. package/examples/node_modules/enquirer/lib/types/string.js +0 -185
  691. package/examples/node_modules/enquirer/lib/utils.js +0 -268
  692. package/examples/node_modules/enquirer/package.json +0 -148
  693. package/examples/node_modules/envinfo/LICENSE +0 -21
  694. package/examples/node_modules/envinfo/README.md +0 -285
  695. package/examples/node_modules/envinfo/dist/cli.js +0 -2
  696. package/examples/node_modules/envinfo/dist/envinfo.js +0 -1
  697. package/examples/node_modules/envinfo/package.json +0 -130
  698. package/examples/node_modules/execa/index.d.ts +0 -554
  699. package/examples/node_modules/execa/index.js +0 -258
  700. package/examples/node_modules/execa/lib/command.js +0 -32
  701. package/examples/node_modules/execa/lib/error.js +0 -86
  702. package/examples/node_modules/execa/lib/kill.js +0 -112
  703. package/examples/node_modules/execa/lib/promise.js +0 -46
  704. package/examples/node_modules/execa/lib/stdio.js +0 -52
  705. package/examples/node_modules/execa/lib/stream.js +0 -97
  706. package/examples/node_modules/execa/license +0 -9
  707. package/examples/node_modules/execa/package.json +0 -102
  708. package/examples/node_modules/execa/readme.md +0 -650
  709. package/examples/node_modules/fastest-levenshtein/.eslintrc.js +0 -27
  710. package/examples/node_modules/fastest-levenshtein/.prettierrc +0 -4
  711. package/examples/node_modules/fastest-levenshtein/.travis.yml +0 -17
  712. package/examples/node_modules/fastest-levenshtein/LICENSE.md +0 -21
  713. package/examples/node_modules/fastest-levenshtein/README.md +0 -55
  714. package/examples/node_modules/fastest-levenshtein/index.d.ts +0 -2
  715. package/examples/node_modules/fastest-levenshtein/index.js +0 -147
  716. package/examples/node_modules/fastest-levenshtein/package.json +0 -90
  717. package/examples/node_modules/fastest-levenshtein/test.js +0 -64
  718. package/examples/node_modules/find-up/index.d.ts +0 -137
  719. package/examples/node_modules/find-up/index.js +0 -89
  720. package/examples/node_modules/find-up/license +0 -9
  721. package/examples/node_modules/find-up/package.json +0 -85
  722. package/examples/node_modules/find-up/readme.md +0 -156
  723. package/examples/node_modules/function-bind/.editorconfig +0 -20
  724. package/examples/node_modules/function-bind/.eslintrc +0 -15
  725. package/examples/node_modules/function-bind/.jscs.json +0 -176
  726. package/examples/node_modules/function-bind/.travis.yml +0 -168
  727. package/examples/node_modules/function-bind/LICENSE +0 -20
  728. package/examples/node_modules/function-bind/README.md +0 -48
  729. package/examples/node_modules/function-bind/implementation.js +0 -52
  730. package/examples/node_modules/function-bind/index.js +0 -5
  731. package/examples/node_modules/function-bind/package.json +0 -94
  732. package/examples/node_modules/function-bind/test/.eslintrc +0 -9
  733. package/examples/node_modules/function-bind/test/index.js +0 -252
  734. package/examples/node_modules/get-stream/buffer-stream.js +0 -52
  735. package/examples/node_modules/get-stream/index.d.ts +0 -105
  736. package/examples/node_modules/get-stream/index.js +0 -61
  737. package/examples/node_modules/get-stream/license +0 -9
  738. package/examples/node_modules/get-stream/package.json +0 -79
  739. package/examples/node_modules/get-stream/readme.md +0 -124
  740. package/examples/node_modules/has/LICENSE-MIT +0 -22
  741. package/examples/node_modules/has/README.md +0 -18
  742. package/examples/node_modules/has/package.json +0 -73
  743. package/examples/node_modules/has/src/index.js +0 -5
  744. package/examples/node_modules/has/test/index.js +0 -10
  745. package/examples/node_modules/human-signals/CHANGELOG.md +0 -11
  746. package/examples/node_modules/human-signals/LICENSE +0 -201
  747. package/examples/node_modules/human-signals/README.md +0 -165
  748. package/examples/node_modules/human-signals/build/src/core.js +0 -273
  749. package/examples/node_modules/human-signals/build/src/core.js.map +0 -1
  750. package/examples/node_modules/human-signals/build/src/main.d.ts +0 -52
  751. package/examples/node_modules/human-signals/build/src/main.js +0 -71
  752. package/examples/node_modules/human-signals/build/src/main.js.map +0 -1
  753. package/examples/node_modules/human-signals/build/src/realtime.js +0 -19
  754. package/examples/node_modules/human-signals/build/src/realtime.js.map +0 -1
  755. package/examples/node_modules/human-signals/build/src/signals.js +0 -35
  756. package/examples/node_modules/human-signals/build/src/signals.js.map +0 -1
  757. package/examples/node_modules/human-signals/package.json +0 -96
  758. package/examples/node_modules/import-local/fixtures/cli.js +0 -7
  759. package/examples/node_modules/import-local/index.js +0 -19
  760. package/examples/node_modules/import-local/license +0 -9
  761. package/examples/node_modules/import-local/package.json +0 -83
  762. package/examples/node_modules/import-local/readme.md +0 -38
  763. package/examples/node_modules/interpret/CHANGELOG +0 -115
  764. package/examples/node_modules/interpret/LICENSE +0 -22
  765. package/examples/node_modules/interpret/README.md +0 -229
  766. package/examples/node_modules/interpret/index.js +0 -211
  767. package/examples/node_modules/interpret/mjs-stub.js +0 -1
  768. package/examples/node_modules/interpret/package.json +0 -118
  769. package/examples/node_modules/is-core-module/.eslintignore +0 -1
  770. package/examples/node_modules/is-core-module/.eslintrc +0 -18
  771. package/examples/node_modules/is-core-module/.github/FUNDING.yml +0 -12
  772. package/examples/node_modules/is-core-module/.github/workflows/node-4+.yml +0 -54
  773. package/examples/node_modules/is-core-module/.github/workflows/node-iojs.yml +0 -58
  774. package/examples/node_modules/is-core-module/.github/workflows/node-pretest.yml +0 -26
  775. package/examples/node_modules/is-core-module/.github/workflows/node-zero.yml +0 -58
  776. package/examples/node_modules/is-core-module/.github/workflows/rebase.yml +0 -15
  777. package/examples/node_modules/is-core-module/.github/workflows/require-allow-edits.yml +0 -14
  778. package/examples/node_modules/is-core-module/.nycrc +0 -13
  779. package/examples/node_modules/is-core-module/CHANGELOG.md +0 -58
  780. package/examples/node_modules/is-core-module/LICENSE +0 -20
  781. package/examples/node_modules/is-core-module/README.md +0 -37
  782. package/examples/node_modules/is-core-module/core.json +0 -83
  783. package/examples/node_modules/is-core-module/index.js +0 -69
  784. package/examples/node_modules/is-core-module/package.json +0 -94
  785. package/examples/node_modules/is-core-module/test/index.js +0 -83
  786. package/examples/node_modules/is-plain-object/LICENSE +0 -21
  787. package/examples/node_modules/is-plain-object/README.md +0 -104
  788. package/examples/node_modules/is-plain-object/index.d.ts +0 -5
  789. package/examples/node_modules/is-plain-object/index.js +0 -37
  790. package/examples/node_modules/is-plain-object/package.json +0 -121
  791. package/examples/node_modules/is-stream/index.d.ts +0 -80
  792. package/examples/node_modules/is-stream/index.js +0 -29
  793. package/examples/node_modules/is-stream/license +0 -9
  794. package/examples/node_modules/is-stream/package.json +0 -73
  795. package/examples/node_modules/is-stream/readme.md +0 -57
  796. package/examples/node_modules/isexe/LICENSE +0 -15
  797. package/examples/node_modules/isexe/README.md +0 -51
  798. package/examples/node_modules/isexe/index.js +0 -57
  799. package/examples/node_modules/isexe/mode.js +0 -41
  800. package/examples/node_modules/isexe/package.json +0 -60
  801. package/examples/node_modules/isexe/test/basic.js +0 -221
  802. package/examples/node_modules/isexe/windows.js +0 -42
  803. package/examples/node_modules/isobject/LICENSE +0 -21
  804. package/examples/node_modules/isobject/README.md +0 -122
  805. package/examples/node_modules/isobject/index.d.ts +0 -5
  806. package/examples/node_modules/isobject/index.js +0 -12
  807. package/examples/node_modules/isobject/package.json +0 -119
  808. package/examples/node_modules/kind-of/CHANGELOG.md +0 -160
  809. package/examples/node_modules/kind-of/LICENSE +0 -21
  810. package/examples/node_modules/kind-of/README.md +0 -367
  811. package/examples/node_modules/kind-of/index.js +0 -129
  812. package/examples/node_modules/kind-of/package.json +0 -144
  813. package/examples/node_modules/locate-path/index.d.ts +0 -83
  814. package/examples/node_modules/locate-path/index.js +0 -65
  815. package/examples/node_modules/locate-path/license +0 -9
  816. package/examples/node_modules/locate-path/package.json +0 -77
  817. package/examples/node_modules/locate-path/readme.md +0 -122
  818. package/examples/node_modules/merge-stream/LICENSE +0 -21
  819. package/examples/node_modules/merge-stream/README.md +0 -78
  820. package/examples/node_modules/merge-stream/index.js +0 -41
  821. package/examples/node_modules/merge-stream/package.json +0 -54
  822. package/examples/node_modules/mimic-fn/index.d.ts +0 -54
  823. package/examples/node_modules/mimic-fn/index.js +0 -13
  824. package/examples/node_modules/mimic-fn/license +0 -9
  825. package/examples/node_modules/mimic-fn/package.json +0 -74
  826. package/examples/node_modules/mimic-fn/readme.md +0 -69
  827. package/examples/node_modules/npm-run-path/index.d.ts +0 -89
  828. package/examples/node_modules/npm-run-path/index.js +0 -47
  829. package/examples/node_modules/npm-run-path/license +0 -9
  830. package/examples/node_modules/npm-run-path/package.json +0 -76
  831. package/examples/node_modules/npm-run-path/readme.md +0 -115
  832. package/examples/node_modules/onetime/index.d.ts +0 -64
  833. package/examples/node_modules/onetime/index.js +0 -44
  834. package/examples/node_modules/onetime/license +0 -9
  835. package/examples/node_modules/onetime/package.json +0 -75
  836. package/examples/node_modules/onetime/readme.md +0 -94
  837. package/examples/node_modules/p-limit/index.d.ts +0 -38
  838. package/examples/node_modules/p-limit/index.js +0 -57
  839. package/examples/node_modules/p-limit/license +0 -9
  840. package/examples/node_modules/p-limit/package.json +0 -84
  841. package/examples/node_modules/p-limit/readme.md +0 -101
  842. package/examples/node_modules/p-locate/index.d.ts +0 -64
  843. package/examples/node_modules/p-locate/index.js +0 -52
  844. package/examples/node_modules/p-locate/license +0 -9
  845. package/examples/node_modules/p-locate/package.json +0 -85
  846. package/examples/node_modules/p-locate/readme.md +0 -90
  847. package/examples/node_modules/p-try/index.d.ts +0 -39
  848. package/examples/node_modules/p-try/index.js +0 -9
  849. package/examples/node_modules/p-try/license +0 -9
  850. package/examples/node_modules/p-try/package.json +0 -74
  851. package/examples/node_modules/p-try/readme.md +0 -58
  852. package/examples/node_modules/path-exists/index.d.ts +0 -28
  853. package/examples/node_modules/path-exists/index.js +0 -23
  854. package/examples/node_modules/path-exists/license +0 -9
  855. package/examples/node_modules/path-exists/package.json +0 -71
  856. package/examples/node_modules/path-exists/readme.md +0 -52
  857. package/examples/node_modules/path-key/index.d.ts +0 -40
  858. package/examples/node_modules/path-key/index.js +0 -16
  859. package/examples/node_modules/path-key/license +0 -9
  860. package/examples/node_modules/path-key/package.json +0 -72
  861. package/examples/node_modules/path-key/readme.md +0 -61
  862. package/examples/node_modules/path-parse/.travis.yml +0 -9
  863. package/examples/node_modules/path-parse/LICENSE +0 -21
  864. package/examples/node_modules/path-parse/README.md +0 -42
  865. package/examples/node_modules/path-parse/index.js +0 -93
  866. package/examples/node_modules/path-parse/package.json +0 -61
  867. package/examples/node_modules/path-parse/test.js +0 -77
  868. package/examples/node_modules/pkg-dir/index.d.ts +0 -44
  869. package/examples/node_modules/pkg-dir/index.js +0 -17
  870. package/examples/node_modules/pkg-dir/license +0 -9
  871. package/examples/node_modules/pkg-dir/package.json +0 -88
  872. package/examples/node_modules/pkg-dir/readme.md +0 -66
  873. package/examples/node_modules/rechoir/LICENSE +0 -24
  874. package/examples/node_modules/rechoir/README.md +0 -74
  875. package/examples/node_modules/rechoir/index.js +0 -67
  876. package/examples/node_modules/rechoir/lib/extension.js +0 -19
  877. package/examples/node_modules/rechoir/lib/normalize.js +0 -13
  878. package/examples/node_modules/rechoir/lib/register.js +0 -15
  879. package/examples/node_modules/rechoir/package.json +0 -89
  880. package/examples/node_modules/resolve/.editorconfig +0 -37
  881. package/examples/node_modules/resolve/.eslintignore +0 -1
  882. package/examples/node_modules/resolve/.eslintrc +0 -39
  883. package/examples/node_modules/resolve/LICENSE +0 -21
  884. package/examples/node_modules/resolve/SECURITY.md +0 -3
  885. package/examples/node_modules/resolve/appveyor.yml +0 -74
  886. package/examples/node_modules/resolve/example/async.js +0 -5
  887. package/examples/node_modules/resolve/example/sync.js +0 -3
  888. package/examples/node_modules/resolve/index.js +0 -6
  889. package/examples/node_modules/resolve/lib/async.js +0 -320
  890. package/examples/node_modules/resolve/lib/caller.js +0 -8
  891. package/examples/node_modules/resolve/lib/core.js +0 -53
  892. package/examples/node_modules/resolve/lib/core.json +0 -83
  893. package/examples/node_modules/resolve/lib/is-core.js +0 -5
  894. package/examples/node_modules/resolve/lib/node-modules-paths.js +0 -42
  895. package/examples/node_modules/resolve/lib/normalize-options.js +0 -10
  896. package/examples/node_modules/resolve/lib/sync.js +0 -199
  897. package/examples/node_modules/resolve/package.json +0 -80
  898. package/examples/node_modules/resolve/readme.markdown +0 -279
  899. package/examples/node_modules/resolve/test/.eslintrc +0 -5
  900. package/examples/node_modules/resolve/test/core.js +0 -81
  901. package/examples/node_modules/resolve/test/dotdot/abc/index.js +0 -2
  902. package/examples/node_modules/resolve/test/dotdot/index.js +0 -1
  903. package/examples/node_modules/resolve/test/dotdot.js +0 -29
  904. package/examples/node_modules/resolve/test/faulty_basedir.js +0 -29
  905. package/examples/node_modules/resolve/test/filter.js +0 -34
  906. package/examples/node_modules/resolve/test/filter_sync.js +0 -33
  907. package/examples/node_modules/resolve/test/mock.js +0 -315
  908. package/examples/node_modules/resolve/test/mock_sync.js +0 -216
  909. package/examples/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +0 -1
  910. package/examples/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +0 -1
  911. package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +0 -1
  912. package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +0 -3
  913. package/examples/node_modules/resolve/test/module_dir.js +0 -56
  914. package/examples/node_modules/resolve/test/node-modules-paths.js +0 -143
  915. package/examples/node_modules/resolve/test/node_path/x/aaa/index.js +0 -1
  916. package/examples/node_modules/resolve/test/node_path/x/ccc/index.js +0 -1
  917. package/examples/node_modules/resolve/test/node_path/y/bbb/index.js +0 -1
  918. package/examples/node_modules/resolve/test/node_path/y/ccc/index.js +0 -1
  919. package/examples/node_modules/resolve/test/node_path.js +0 -70
  920. package/examples/node_modules/resolve/test/nonstring.js +0 -9
  921. package/examples/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  922. package/examples/node_modules/resolve/test/pathfilter.js +0 -75
  923. package/examples/node_modules/resolve/test/precedence/aaa/index.js +0 -1
  924. package/examples/node_modules/resolve/test/precedence/aaa/main.js +0 -1
  925. package/examples/node_modules/resolve/test/precedence/aaa.js +0 -1
  926. package/examples/node_modules/resolve/test/precedence/bbb/main.js +0 -1
  927. package/examples/node_modules/resolve/test/precedence/bbb.js +0 -1
  928. package/examples/node_modules/resolve/test/precedence.js +0 -23
  929. package/examples/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  930. package/examples/node_modules/resolve/test/resolver/baz/package.json +0 -4
  931. package/examples/node_modules/resolve/test/resolver/baz/quux.js +0 -1
  932. package/examples/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  933. package/examples/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  934. package/examples/node_modules/resolve/test/resolver/browser_field/package.json +0 -5
  935. package/examples/node_modules/resolve/test/resolver/cup.coffee +0 -1
  936. package/examples/node_modules/resolve/test/resolver/dot_main/index.js +0 -1
  937. package/examples/node_modules/resolve/test/resolver/dot_main/package.json +0 -3
  938. package/examples/node_modules/resolve/test/resolver/dot_slash_main/index.js +0 -1
  939. package/examples/node_modules/resolve/test/resolver/dot_slash_main/package.json +0 -3
  940. package/examples/node_modules/resolve/test/resolver/foo.js +0 -1
  941. package/examples/node_modules/resolve/test/resolver/incorrect_main/index.js +0 -2
  942. package/examples/node_modules/resolve/test/resolver/incorrect_main/package.json +0 -3
  943. package/examples/node_modules/resolve/test/resolver/invalid_main/package.json +0 -7
  944. package/examples/node_modules/resolve/test/resolver/mug.coffee +0 -0
  945. package/examples/node_modules/resolve/test/resolver/mug.js +0 -0
  946. package/examples/node_modules/resolve/test/resolver/multirepo/lerna.json +0 -6
  947. package/examples/node_modules/resolve/test/resolver/multirepo/package.json +0 -20
  948. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +0 -35
  949. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +0 -14
  950. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  951. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +0 -14
  952. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +0 -26
  953. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +0 -15
  954. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +0 -12
  955. package/examples/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  956. package/examples/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  957. package/examples/node_modules/resolve/test/resolver/quux/foo/index.js +0 -1
  958. package/examples/node_modules/resolve/test/resolver/same_names/foo/index.js +0 -1
  959. package/examples/node_modules/resolve/test/resolver/same_names/foo.js +0 -1
  960. package/examples/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  961. package/examples/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  962. package/examples/node_modules/resolve/test/resolver/symlinked/package/bar.js +0 -1
  963. package/examples/node_modules/resolve/test/resolver/symlinked/package/package.json +0 -3
  964. package/examples/node_modules/resolve/test/resolver/without_basedir/main.js +0 -5
  965. package/examples/node_modules/resolve/test/resolver.js +0 -450
  966. package/examples/node_modules/resolve/test/resolver_sync.js +0 -358
  967. package/examples/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  968. package/examples/node_modules/resolve/test/shadowed_core.js +0 -54
  969. package/examples/node_modules/resolve/test/subdirs.js +0 -13
  970. package/examples/node_modules/resolve/test/symlinks.js +0 -176
  971. package/examples/node_modules/resolve-cwd/index.d.ts +0 -48
  972. package/examples/node_modules/resolve-cwd/index.js +0 -5
  973. package/examples/node_modules/resolve-cwd/license +0 -9
  974. package/examples/node_modules/resolve-cwd/package.json +0 -75
  975. package/examples/node_modules/resolve-cwd/readme.md +0 -58
  976. package/examples/node_modules/resolve-from/index.d.ts +0 -31
  977. package/examples/node_modules/resolve-from/index.js +0 -47
  978. package/examples/node_modules/resolve-from/license +0 -9
  979. package/examples/node_modules/resolve-from/package.json +0 -68
  980. package/examples/node_modules/resolve-from/readme.md +0 -72
  981. package/examples/node_modules/shallow-clone/LICENSE +0 -21
  982. package/examples/node_modules/shallow-clone/README.md +0 -153
  983. package/examples/node_modules/shallow-clone/index.js +0 -83
  984. package/examples/node_modules/shallow-clone/package.json +0 -101
  985. package/examples/node_modules/shebang-command/index.js +0 -19
  986. package/examples/node_modules/shebang-command/license +0 -9
  987. package/examples/node_modules/shebang-command/package.json +0 -66
  988. package/examples/node_modules/shebang-command/readme.md +0 -34
  989. package/examples/node_modules/shebang-regex/index.d.ts +0 -22
  990. package/examples/node_modules/shebang-regex/index.js +0 -2
  991. package/examples/node_modules/shebang-regex/license +0 -9
  992. package/examples/node_modules/shebang-regex/package.json +0 -67
  993. package/examples/node_modules/shebang-regex/readme.md +0 -33
  994. package/examples/node_modules/signal-exit/CHANGELOG.md +0 -35
  995. package/examples/node_modules/signal-exit/LICENSE.txt +0 -16
  996. package/examples/node_modules/signal-exit/README.md +0 -39
  997. package/examples/node_modules/signal-exit/index.js +0 -163
  998. package/examples/node_modules/signal-exit/package.json +0 -66
  999. package/examples/node_modules/signal-exit/signals.js +0 -53
  1000. package/examples/node_modules/strip-final-newline/index.js +0 -16
  1001. package/examples/node_modules/strip-final-newline/license +0 -9
  1002. package/examples/node_modules/strip-final-newline/package.json +0 -72
  1003. package/examples/node_modules/strip-final-newline/readme.md +0 -30
  1004. package/examples/node_modules/v8-compile-cache/CHANGELOG.md +0 -53
  1005. package/examples/node_modules/v8-compile-cache/LICENSE +0 -21
  1006. package/examples/node_modules/v8-compile-cache/README.md +0 -55
  1007. package/examples/node_modules/v8-compile-cache/package.json +0 -66
  1008. package/examples/node_modules/v8-compile-cache/v8-compile-cache.js +0 -371
  1009. package/examples/node_modules/webpack-cli/CHANGELOG.md +0 -501
  1010. package/examples/node_modules/webpack-cli/LICENSE +0 -20
  1011. package/examples/node_modules/webpack-cli/README.md +0 -116
  1012. package/examples/node_modules/webpack-cli/bin/cli.js +0 -40
  1013. package/examples/node_modules/webpack-cli/lib/bootstrap.js +0 -18
  1014. package/examples/node_modules/webpack-cli/lib/index.js +0 -5
  1015. package/examples/node_modules/webpack-cli/lib/plugins/CLIPlugin.js +0 -99
  1016. package/examples/node_modules/webpack-cli/lib/utils/__tests__/get-package-manager.test.js +0 -108
  1017. package/examples/node_modules/webpack-cli/lib/utils/__tests__/prompt-installation.test.js +0 -118
  1018. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-all-lock/pnpm-lock.yaml +0 -0
  1019. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-all-lock/yarn.lock +0 -0
  1020. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-pnpm/pnpm-lock.yaml +0 -0
  1021. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-yarn/yarn.lock +0 -0
  1022. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-pnpm-lock/pnpm-lock.yaml +0 -0
  1023. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/pnpm-lock.yaml +0 -0
  1024. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/yarn.lock +0 -0
  1025. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-lock/yarn.lock +0 -0
  1026. package/examples/node_modules/webpack-cli/lib/utils/capitalize-first-letter.js +0 -9
  1027. package/examples/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +0 -13
  1028. package/examples/node_modules/webpack-cli/lib/utils/get-package-manager.js +0 -65
  1029. package/examples/node_modules/webpack-cli/lib/utils/index.js +0 -49
  1030. package/examples/node_modules/webpack-cli/lib/utils/logger.js +0 -11
  1031. package/examples/node_modules/webpack-cli/lib/utils/package-exists.js +0 -9
  1032. package/examples/node_modules/webpack-cli/lib/utils/prompt-installation.js +0 -58
  1033. package/examples/node_modules/webpack-cli/lib/utils/run-command.js +0 -13
  1034. package/examples/node_modules/webpack-cli/lib/utils/to-kebab-case.js +0 -5
  1035. package/examples/node_modules/webpack-cli/lib/webpack-cli.js +0 -1803
  1036. package/examples/node_modules/webpack-cli/package.json +0 -96
  1037. package/examples/node_modules/webpack-merge/CHANGELOG.md +0 -421
  1038. package/examples/node_modules/webpack-merge/LICENSE +0 -20
  1039. package/examples/node_modules/webpack-merge/README.md +0 -314
  1040. package/examples/node_modules/webpack-merge/dist/index.d.ts +0 -15
  1041. package/examples/node_modules/webpack-merge/dist/index.js +0 -262
  1042. package/examples/node_modules/webpack-merge/dist/index.js.map +0 -1
  1043. package/examples/node_modules/webpack-merge/dist/join-arrays.d.ts +0 -6
  1044. package/examples/node_modules/webpack-merge/dist/join-arrays.js +0 -69
  1045. package/examples/node_modules/webpack-merge/dist/join-arrays.js.map +0 -1
  1046. package/examples/node_modules/webpack-merge/dist/merge-with.d.ts +0 -2
  1047. package/examples/node_modules/webpack-merge/dist/merge-with.js +0 -38
  1048. package/examples/node_modules/webpack-merge/dist/merge-with.js.map +0 -1
  1049. package/examples/node_modules/webpack-merge/dist/types.d.ts +0 -13
  1050. package/examples/node_modules/webpack-merge/dist/types.js +0 -12
  1051. package/examples/node_modules/webpack-merge/dist/types.js.map +0 -1
  1052. package/examples/node_modules/webpack-merge/dist/unique.d.ts +0 -2
  1053. package/examples/node_modules/webpack-merge/dist/unique.js +0 -40
  1054. package/examples/node_modules/webpack-merge/dist/unique.js.map +0 -1
  1055. package/examples/node_modules/webpack-merge/dist/utils.d.ts +0 -5
  1056. package/examples/node_modules/webpack-merge/dist/utils.js +0 -24
  1057. package/examples/node_modules/webpack-merge/dist/utils.js.map +0 -1
  1058. package/examples/node_modules/webpack-merge/package.json +0 -86
  1059. package/examples/node_modules/which/CHANGELOG.md +0 -166
  1060. package/examples/node_modules/which/LICENSE +0 -15
  1061. package/examples/node_modules/which/README.md +0 -54
  1062. package/examples/node_modules/which/bin/node-which +0 -52
  1063. package/examples/node_modules/which/package.json +0 -76
  1064. package/examples/node_modules/which/which.js +0 -125
  1065. package/examples/node_modules/wildcard/.travis.yml +0 -9
  1066. package/examples/node_modules/wildcard/README.md +0 -99
  1067. package/examples/node_modules/wildcard/docs.json +0 -9
  1068. package/examples/node_modules/wildcard/examples/arrays.js +0 -10
  1069. package/examples/node_modules/wildcard/examples/objects.js +0 -10
  1070. package/examples/node_modules/wildcard/examples/strings.js +0 -7
  1071. package/examples/node_modules/wildcard/index.js +0 -114
  1072. package/examples/node_modules/wildcard/package.json +0 -82
  1073. package/examples/node_modules/wildcard/test/all.js +0 -3
  1074. package/examples/node_modules/wildcard/test/arrays.js +0 -33
  1075. package/examples/node_modules/wildcard/test/objects.js +0 -106
  1076. package/examples/node_modules/wildcard/test/strings.js +0 -46
  1077. package/examples/node_modules/wildcard/yarn.lock +0 -228
  1078. package/examples/objects.js +0 -35
  1079. package/examples/package.json +0 -3
  1080. package/examples/serialization.js +0 -16
  1081. package/examples/sparse_matrices.js +0 -19
  1082. package/examples/units.js +0 -108
  1083. package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
  1084. package/lib/esm/function/algebra/simplify/resolve.js +0 -67
@@ -1,13 +1,11 @@
1
1
  import { isConstantNode, isParenthesisNode } from '../../utils/is.js';
2
2
  import { factory } from '../../utils/factory.js';
3
3
  import { createUtil } from './simplify/util.js';
4
- import { createSimplifyCore } from './simplify/simplifyCore.js';
5
4
  import { createSimplifyConstant } from './simplify/simplifyConstant.js';
6
- import { createResolve } from './simplify/resolve.js';
7
5
  import { hasOwnProperty } from '../../utils/object.js';
8
6
  import { createEmptyMap, createMap } from '../../utils/map.js';
9
7
  var name = 'simplify';
10
- var dependencies = ['config', 'typed', 'parse', 'add', 'subtract', 'multiply', 'divide', 'pow', 'isZero', 'equal', '?fraction', '?bignumber', 'mathWithTransform', 'ConstantNode', 'FunctionNode', 'OperatorNode', 'ParenthesisNode', 'SymbolNode'];
8
+ var dependencies = ['config', 'typed', 'parse', 'add', 'subtract', 'multiply', 'divide', 'pow', 'isZero', 'equal', 'resolve', 'simplifyCore', '?fraction', '?bignumber', 'mathWithTransform', 'matrix', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'ParenthesisNode', 'SymbolNode'];
11
9
  export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
12
10
  var {
13
11
  config,
@@ -20,11 +18,18 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
20
18
  pow,
21
19
  isZero,
22
20
  equal,
21
+ resolve,
22
+ simplifyCore,
23
23
  fraction,
24
24
  bignumber,
25
25
  mathWithTransform,
26
+ matrix,
27
+ AccessorNode,
28
+ ArrayNode,
26
29
  ConstantNode,
27
30
  FunctionNode,
31
+ IndexNode,
32
+ ObjectNode,
28
33
  OperatorNode,
29
34
  ParenthesisNode,
30
35
  SymbolNode
@@ -33,39 +38,30 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
33
38
  typed,
34
39
  config,
35
40
  mathWithTransform,
41
+ matrix,
36
42
  fraction,
37
43
  bignumber,
44
+ AccessorNode,
45
+ ArrayNode,
38
46
  ConstantNode,
39
- OperatorNode,
40
- FunctionNode,
41
- SymbolNode
42
- });
43
- var simplifyCore = createSimplifyCore({
44
- equal,
45
- isZero,
46
- add,
47
- subtract,
48
- multiply,
49
- divide,
50
- pow,
51
- ConstantNode,
52
- OperatorNode,
53
- FunctionNode,
54
- ParenthesisNode
55
- });
56
- var resolve = createResolve({
57
- parse,
58
47
  FunctionNode,
48
+ IndexNode,
49
+ ObjectNode,
59
50
  OperatorNode,
60
- ParenthesisNode
51
+ SymbolNode
61
52
  });
62
53
  var {
54
+ hasProperty,
63
55
  isCommutative,
64
56
  isAssociative,
57
+ mergeContext,
65
58
  flatten,
66
59
  unflattenr,
67
60
  unflattenl,
68
- createMakeNodeFunction
61
+ createMakeNodeFunction,
62
+ defaultContext,
63
+ realContext,
64
+ positiveContext
69
65
  } = createUtil({
70
66
  FunctionNode,
71
67
  OperatorNode,
@@ -101,17 +97,49 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
101
97
  * The default list of rules is exposed on the function as `simplify.rules`
102
98
  * and can be used as a basis to built a set of custom rules.
103
99
  *
100
+ * To specify a rule as a string, separate the left and right pattern by '->'
101
+ * When specifying a rule as an object, the following keys are meaningful:
102
+ * - l - the left pattern
103
+ * - r - the right pattern
104
+ * - s - in lieu of l and r, the string form that is broken at -> to give them
105
+ * - repeat - whether to repeat this rule until the expression stabilizes
106
+ * - assuming - gives a context object, as in the 'context' option to
107
+ * simplify. Every property in the context object must match the current
108
+ * context in order, or else the rule will not be applied.
109
+ * - imposeContext - gives a context object, as in the 'context' option to
110
+ * simplify. Any settings specified will override the incoming context
111
+ * for all matches of this rule.
112
+ *
104
113
  * For more details on the theory, see:
105
114
  *
106
115
  * - [Strategies for simplifying math expressions (Stackoverflow)](https://stackoverflow.com/questions/7540227/strategies-for-simplifying-math-expressions)
107
116
  * - [Symbolic computation - Simplification (Wikipedia)](https://en.wikipedia.org/wiki/Symbolic_computation#Simplification)
108
117
  *
109
118
  * An optional `options` argument can be passed as last argument of `simplify`.
110
- * There is currently one option available:
111
- * - `exactFractions`: a boolean which is `true` by default.
112
- * - `fractionsLimit`: when `exactFractions` is true, a fraction will be returned
113
- * only when both numerator and denominator are smaller than `fractionsLimit`.
114
- * Default value is 10000.
119
+ * Currently available options (defaults in parentheses):
120
+ * - `consoleDebug` (false): whether to write the expression being simplified
121
+ * and any changes to it, along with the rule responsible, to console
122
+ * - `context` (simplify.defaultContext): an object giving properties of
123
+ * each operator, which determine what simplifications are allowed. The
124
+ * currently meaningful properties are commutative, associative,
125
+ * total (whether the operation is defined for all arguments), and
126
+ * trivial (whether the operation applied to a single argument leaves
127
+ * that argument unchanged). The default context is very permissive and
128
+ * allows almost all simplifications. Only properties differing from
129
+ * the default need to be specified; the default context is used as a
130
+ * fallback. Additional contexts `simplify.realContext` and
131
+ * `simplify.positiveContext` are supplied to cause simplify to perform
132
+ * just simplifications guaranteed to preserve all values of the expression
133
+ * assuming all variables and subexpressions are real numbers or
134
+ * positive real numbers, respectively. (Note that these are in some cases
135
+ * more restrictive than the default context; for example, the default
136
+ * context will allow `x/x` to simplify to 1, whereas
137
+ * `simplify.realContext` will not, as `0/0` is not equal to 1.)
138
+ * - `exactFractions` (true): whether to try to convert all constants to
139
+ * exact rational numbers.
140
+ * - `fractionsLimit` (10000): when `exactFractions` is true, constants will
141
+ * be expressed as fractions only when both numerator and denominator
142
+ * are smaller than `fractionsLimit`.
115
143
  *
116
144
  * Syntax:
117
145
  *
@@ -134,7 +162,7 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
134
162
  *
135
163
  * See also:
136
164
  *
137
- * derivative, parse, evaluate, rationalize
165
+ * simplifyCore, derivative, evaluate, parse, rationalize, resolve
138
166
  *
139
167
  * @param {Node | string} expr
140
168
  * The expression to be simplified
@@ -181,7 +209,8 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
181
209
  return this(expr, rules, createMap(scope), options);
182
210
  },
183
211
  'Node, Array, Map, Object': function NodeArrayMapObject(expr, rules, scope, options) {
184
- rules = _buildRules(rules);
212
+ var debug = options.consoleDebug;
213
+ rules = _buildRules(rules, options.context);
185
214
  var res = resolve(expr, scope);
186
215
  res = removeParens(res);
187
216
  var visited = {};
@@ -193,15 +222,40 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
193
222
  visited[str] = true;
194
223
  _lastsym = 0; // counter for placeholder symbols
195
224
 
225
+ var laststr = str;
226
+ if (debug) console.log('Working on: ', str);
227
+
196
228
  for (var i = 0; i < rules.length; i++) {
229
+ var rulestr = '';
230
+
197
231
  if (typeof rules[i] === 'function') {
198
232
  res = rules[i](res, options);
233
+ if (debug) rulestr = rules[i].name;
199
234
  } else {
200
- flatten(res);
201
- res = applyRule(res, rules[i]);
235
+ flatten(res, options.context);
236
+ res = applyRule(res, rules[i], options.context);
237
+
238
+ if (debug) {
239
+ rulestr = "".concat(rules[i].l.toString(), " -> ").concat(rules[i].r.toString());
240
+ }
241
+ }
242
+
243
+ if (debug) {
244
+ var newstr = res.toString({
245
+ parenthesis: 'all'
246
+ });
247
+
248
+ if (newstr !== laststr) {
249
+ console.log('Applying', rulestr, 'produced', newstr);
250
+ laststr = newstr;
251
+ }
202
252
  }
253
+ /* Use left-heavy binary tree internally,
254
+ * since custom rule functions may expect it
255
+ */
203
256
 
204
- unflattenl(res); // using left-heavy binary tree here since custom rule functions may expect it
257
+
258
+ unflattenl(res, options.context);
205
259
  }
206
260
 
207
261
  str = res.toString({
@@ -212,8 +266,9 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
212
266
  return res;
213
267
  }
214
268
  });
215
- simplify.simplifyCore = simplifyCore;
216
- simplify.resolve = resolve;
269
+ simplify.defaultContext = defaultContext;
270
+ simplify.realContext = realContext;
271
+ simplify.positiveContext = positiveContext;
217
272
 
218
273
  function removeParens(node) {
219
274
  return node.transform(function (node, path, parent) {
@@ -262,72 +317,255 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
262
317
  l: 'log(e)',
263
318
  r: '1'
264
319
  }, // temporary rules
320
+ // Note initially we tend constants to the right because like-term
321
+ // collection prefers the left, and we would rather collect nonconstants
265
322
  {
266
- l: 'n-n1',
267
- r: 'n+-n1'
268
- }, // temporarily replace 'subtract' so we can further flatten the 'add' operator
323
+ s: 'n-n1 -> n+-n1',
324
+ // temporarily replace 'subtract' so we can further flatten the 'add' operator
325
+ assuming: {
326
+ subtract: {
327
+ total: true
328
+ }
329
+ }
330
+ }, {
331
+ s: 'n-n -> 0',
332
+ // partial alternative when we can't always subtract
333
+ assuming: {
334
+ subtract: {
335
+ total: false
336
+ }
337
+ }
338
+ }, {
339
+ s: '-(c*v) -> v * (-c)',
340
+ // make non-constant terms positive
341
+ assuming: {
342
+ multiply: {
343
+ commutative: true
344
+ },
345
+ subtract: {
346
+ total: true
347
+ }
348
+ }
349
+ }, {
350
+ s: '-(c*v) -> (-c) * v',
351
+ // non-commutative version, part 1
352
+ assuming: {
353
+ multiply: {
354
+ commutative: false
355
+ },
356
+ subtract: {
357
+ total: true
358
+ }
359
+ }
360
+ }, {
361
+ s: '-(v*c) -> v * (-c)',
362
+ // non-commutative version, part 2
363
+ assuming: {
364
+ multiply: {
365
+ commutative: false
366
+ },
367
+ subtract: {
368
+ total: true
369
+ }
370
+ }
371
+ }, {
372
+ l: '-(n1/n2)',
373
+ r: '-n1/n2'
374
+ }, {
375
+ l: '-v',
376
+ r: 'v * (-1)'
377
+ }, // finish making non-constant terms positive
269
378
  {
270
- l: '-(c*v)',
271
- r: '(-c) * v'
272
- }, // make non-constant terms positive
379
+ l: '(n1 + n2)*(-1)',
380
+ r: 'n1*(-1) + n2*(-1)',
381
+ repeat: true
382
+ }, // expand negations to achieve as much sign cancellation as possible
273
383
  {
274
- l: '-v',
275
- r: '(-1) * v'
276
- }, {
277
384
  l: 'n/n1^n2',
278
385
  r: 'n*n1^-n2'
279
386
  }, // temporarily replace 'divide' so we can further flatten the 'multiply' operator
280
387
  {
281
388
  l: 'n/n1',
282
389
  r: 'n*n1^-1'
390
+ }, {
391
+ s: '(n1*n2)^n3 -> n1^n3 * n2^n3',
392
+ assuming: {
393
+ multiply: {
394
+ commutative: true
395
+ }
396
+ }
397
+ }, {
398
+ s: '(n1*n2)^(-1) -> n2^(-1) * n1^(-1)',
399
+ assuming: {
400
+ multiply: {
401
+ commutative: false
402
+ }
403
+ }
283
404
  }, // expand nested exponentiation
284
405
  {
285
- l: '(n ^ n1) ^ n2',
286
- r: 'n ^ (n1 * n2)'
287
- }, // collect like factors
406
+ s: '(n ^ n1) ^ n2 -> n ^ (n1 * n2)',
407
+ assuming: {
408
+ divide: {
409
+ total: true
410
+ }
411
+ } // 1/(1/n) = n needs 1/n to exist
412
+
413
+ }, // collect like factors; into a sum, only do this for nonconstants
288
414
  {
415
+ l: ' v * ( v * n1 + n2)',
416
+ r: 'v^2 * n1 + v * n2'
417
+ }, {
418
+ s: ' v * (v^n4 * n1 + n2) -> v^(1+n4) * n1 + v * n2',
419
+ assuming: {
420
+ divide: {
421
+ total: true
422
+ }
423
+ } // v*1/v = v^(1+-1) needs 1/v
424
+
425
+ }, {
426
+ s: 'v^n3 * ( v * n1 + n2) -> v^(n3+1) * n1 + v^n3 * n2',
427
+ assuming: {
428
+ divide: {
429
+ total: true
430
+ }
431
+ }
432
+ }, {
433
+ s: 'v^n3 * (v^n4 * n1 + n2) -> v^(n3+n4) * n1 + v^n3 * n2',
434
+ assuming: {
435
+ divide: {
436
+ total: true
437
+ }
438
+ }
439
+ }, {
289
440
  l: 'n*n',
290
441
  r: 'n^2'
291
442
  }, {
292
- l: 'n * n^n1',
293
- r: 'n^(n1+1)'
443
+ s: 'n * n^n1 -> n^(n1+1)',
444
+ assuming: {
445
+ divide: {
446
+ total: true
447
+ }
448
+ } // n*1/n = n^(-1+1) needs 1/n
449
+
294
450
  }, {
295
- l: 'n^n1 * n^n2',
296
- r: 'n^(n1+n2)'
297
- }, // collect like terms
451
+ s: 'n^n1 * n^n2 -> n^(n1+n2)',
452
+ assuming: {
453
+ divide: {
454
+ total: true
455
+ }
456
+ } // ditto for n^2*1/n^2
457
+
458
+ }, // Unfortunately, to deal with more complicated cancellations, it
459
+ // becomes necessary to simplify constants twice per pass. It's not
460
+ // terribly expensive compared to matching rules, so this should not
461
+ // pose a performance problem.
462
+ simplifyConstant, // First: before collecting like terms
463
+ // collect like terms
298
464
  {
299
- l: 'n+n',
300
- r: '2*n'
465
+ s: 'n+n -> 2*n',
466
+ assuming: {
467
+ add: {
468
+ total: true
469
+ }
470
+ } // 2 = 1 + 1 needs to exist
471
+
301
472
  }, {
302
473
  l: 'n+-n',
303
474
  r: '0'
304
475
  }, {
305
- l: 'n1*n2 + n2',
306
- r: '(n1+1)*n2'
476
+ l: 'v*n + v',
477
+ r: 'v*(n+1)'
478
+ }, // NOTE: leftmost position is special:
479
+ {
480
+ l: 'n3*n1 + n3*n2',
481
+ r: 'n3*(n1+n2)'
482
+ }, // All sub-monomials tried there.
483
+ {
484
+ l: 'n3^(-n4)*n1 + n3 * n2',
485
+ r: 'n3^(-n4)*(n1 + n3^(n4+1) *n2)'
486
+ }, {
487
+ l: 'n3^(-n4)*n1 + n3^n5 * n2',
488
+ r: 'n3^(-n4)*(n1 + n3^(n4+n5)*n2)'
489
+ }, {
490
+ s: 'n*v + v -> (n+1)*v',
491
+ // noncommutative additional cases
492
+ assuming: {
493
+ multiply: {
494
+ commutative: false
495
+ }
496
+ }
497
+ }, {
498
+ s: 'n1*n3 + n2*n3 -> (n1+n2)*n3',
499
+ assuming: {
500
+ multiply: {
501
+ commutative: false
502
+ }
503
+ }
504
+ }, {
505
+ s: 'n1*n3^(-n4) + n2 * n3 -> (n1 + n2*n3^(n4 + 1))*n3^(-n4)',
506
+ assuming: {
507
+ multiply: {
508
+ commutative: false
509
+ }
510
+ }
511
+ }, {
512
+ s: 'n1*n3^(-n4) + n2 * n3^n5 -> (n1 + n2*n3^(n4 + n5))*n3^(-n4)',
513
+ assuming: {
514
+ multiply: {
515
+ commutative: false
516
+ }
517
+ }
518
+ }, {
519
+ l: 'n*c + c',
520
+ r: '(n+1)*c'
307
521
  }, {
308
- l: 'n1*n3 + n2*n3',
309
- r: '(n1+n2)*n3'
310
- }, // remove parenthesis in the case of negating a quantitiy
522
+ s: 'c*n + c -> c*(n+1)',
523
+ assuming: {
524
+ multiply: {
525
+ commutative: false
526
+ }
527
+ }
528
+ }, simplifyConstant, // Second: before returning expressions to "standard form"
529
+ // make factors positive (and undo 'make non-constant terms positive')
311
530
  {
312
- l: 'n1 + -1 * (n2 + n3)',
313
- r: 'n1 + -1 * n2 + -1 * n3'
314
- }, simplifyConstant, {
315
- l: '(-n)*n1',
316
- r: '-(n*n1)'
317
- }, // make factors positive (and undo 'make non-constant terms positive')
318
- // ordering of constants
531
+ s: '(-n)*n1 -> -(n*n1)',
532
+ assuming: {
533
+ subtract: {
534
+ total: true
535
+ }
536
+ }
537
+ }, {
538
+ s: 'n1*(-n) -> -(n1*n)',
539
+ // in case * non-commutative
540
+ assuming: {
541
+ subtract: {
542
+ total: true
543
+ },
544
+ multiply: {
545
+ commutative: false
546
+ }
547
+ }
548
+ }, // final ordering of constants
319
549
  {
320
- l: 'c+v',
321
- r: 'v+c',
322
- context: {
550
+ s: 'c+v -> v+c',
551
+ assuming: {
552
+ add: {
553
+ commutative: true
554
+ }
555
+ },
556
+ imposeContext: {
323
557
  add: {
324
558
  commutative: false
325
559
  }
326
560
  }
327
561
  }, {
328
- l: 'v*c',
329
- r: 'c*v',
330
- context: {
562
+ s: 'v*c -> c*v',
563
+ assuming: {
564
+ multiply: {
565
+ commutative: true
566
+ }
567
+ },
568
+ imposeContext: {
331
569
  multiply: {
332
570
  commutative: false
333
571
  }
@@ -339,33 +577,125 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
339
577
  r: 'n-n1'
340
578
  }, // undo replace 'subtract'
341
579
  {
342
- l: 'n*(n1^-1)',
343
- r: 'n/n1'
344
- }, // undo replace 'divide'
345
- {
346
- l: 'n*n1^-n2',
347
- r: 'n/n1^n2'
580
+ s: 'n*(n1^-1) -> n/n1',
581
+ // undo replace 'divide'; for * commutative
582
+ assuming: {
583
+ multiply: {
584
+ commutative: true
585
+ }
586
+ } // o.w. / not conventional
587
+
348
588
  }, {
349
- l: 'n1^-1',
350
- r: '1/n1'
589
+ s: 'n*n1^-n2 -> n/n1^n2',
590
+ assuming: {
591
+ multiply: {
592
+ commutative: true
593
+ }
594
+ } // o.w. / not conventional
595
+
351
596
  }, {
352
- l: 'n*(n1/n2)',
353
- r: '(n*n1)/n2'
354
- }, // '*' before '/'
597
+ s: 'n^-1 -> 1/n',
598
+ assuming: {
599
+ multiply: {
600
+ commutative: true
601
+ }
602
+ } // o.w. / not conventional
603
+
604
+ }, {
605
+ l: 'n^1',
606
+ r: 'n'
607
+ }, // can be produced by power cancellation
355
608
  {
356
- l: 'n-(n1+n2)',
357
- r: 'n-n1-n2'
358
- }, // '-' before '+'
359
- // { l: '(n1/n2)/n3', r: 'n1/(n2*n3)' },
609
+ s: 'n*(n1/n2) -> (n*n1)/n2',
610
+ // '*' before '/'
611
+ assuming: {
612
+ multiply: {
613
+ associative: true
614
+ }
615
+ }
616
+ }, {
617
+ s: 'n-(n1+n2) -> n-n1-n2',
618
+ // '-' before '+'
619
+ assuming: {
620
+ addition: {
621
+ associative: true,
622
+ commutative: true
623
+ }
624
+ }
625
+ }, // { l: '(n1/n2)/n3', r: 'n1/(n2*n3)' },
360
626
  // { l: '(n*n1)/(n*n2)', r: 'n1/n2' },
627
+ // simplifyConstant can leave an extra factor of 1, which can always
628
+ // be eliminated, since the identity always commutes
361
629
  {
362
630
  l: '1*n',
363
- r: 'n'
364
- }, // this pattern can be produced by simplifyConstant
365
- {
366
- l: 'n1/(n2/n3)',
367
- r: '(n1*n3)/n2'
631
+ r: 'n',
632
+ imposeContext: {
633
+ multiply: {
634
+ commutative: true
635
+ }
636
+ }
637
+ }, {
638
+ s: 'n1/(n2/n3) -> (n1*n3)/n2',
639
+ assuming: {
640
+ multiply: {
641
+ associative: true
642
+ }
643
+ }
644
+ }, {
645
+ l: 'n1/(-n2)',
646
+ r: '-n1/n2'
368
647
  }];
648
+ /**
649
+ * Takes any rule object as allowed by the specification in simplify
650
+ * and puts it in a standard form used by applyRule
651
+ */
652
+
653
+ function _canonicalizeRule(ruleObject, context) {
654
+ var newRule = {};
655
+
656
+ if (ruleObject.s) {
657
+ var lr = ruleObject.s.split('->');
658
+
659
+ if (lr.length === 2) {
660
+ newRule.l = lr[0];
661
+ newRule.r = lr[1];
662
+ } else {
663
+ throw SyntaxError('Could not parse rule: ' + ruleObject.s);
664
+ }
665
+ } else {
666
+ newRule.l = ruleObject.l;
667
+ newRule.r = ruleObject.r;
668
+ }
669
+
670
+ newRule.l = removeParens(parse(newRule.l));
671
+ newRule.r = removeParens(parse(newRule.r));
672
+
673
+ for (var prop of ['imposeContext', 'repeat', 'assuming']) {
674
+ if (prop in ruleObject) {
675
+ newRule[prop] = ruleObject[prop];
676
+ }
677
+ }
678
+
679
+ if (ruleObject.evaluate) {
680
+ newRule.evaluate = parse(ruleObject.evaluate);
681
+ }
682
+
683
+ if (isAssociative(newRule.l, context)) {
684
+ var makeNode = createMakeNodeFunction(newRule.l);
685
+
686
+ var expandsym = _getExpandPlaceholderSymbol();
687
+
688
+ newRule.expanded = {};
689
+ newRule.expanded.l = makeNode([newRule.l.clone(), expandsym]); // Push the expandsym into the deepest possible branch.
690
+ // This helps to match the newRule against nodes returned from getSplits() later on.
691
+
692
+ flatten(newRule.expanded.l, context);
693
+ unflattenr(newRule.expanded.l, context);
694
+ newRule.expanded.r = makeNode([newRule.r, expandsym]);
695
+ }
696
+
697
+ return newRule;
698
+ }
369
699
  /**
370
700
  * Parse the string array of rules into nodes
371
701
  *
@@ -383,7 +713,8 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
383
713
  * 'n1 * c1 -> c1 * n1'
384
714
  */
385
715
 
386
- function _buildRules(rules) {
716
+
717
+ function _buildRules(rules, context) {
387
718
  // Array of rules to be used to simplify expressions
388
719
  var ruleSet = [];
389
720
 
@@ -394,49 +725,14 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
394
725
 
395
726
  switch (ruleType) {
396
727
  case 'string':
397
- {
398
- var lr = rule.split('->');
399
-
400
- if (lr.length === 2) {
401
- rule = {
402
- l: lr[0],
403
- r: lr[1]
404
- };
405
- } else {
406
- throw SyntaxError('Could not parse rule: ' + rule);
407
- }
408
- }
728
+ rule = {
729
+ s: rule
730
+ };
409
731
 
410
732
  /* falls through */
411
733
 
412
734
  case 'object':
413
- newRule = {
414
- l: removeParens(parse(rule.l)),
415
- r: removeParens(parse(rule.r))
416
- };
417
-
418
- if (rule.context) {
419
- newRule.evaluate = rule.context;
420
- }
421
-
422
- if (rule.evaluate) {
423
- newRule.evaluate = parse(rule.evaluate);
424
- }
425
-
426
- if (isAssociative(newRule.l)) {
427
- var makeNode = createMakeNodeFunction(newRule.l);
428
-
429
- var expandsym = _getExpandPlaceholderSymbol();
430
-
431
- newRule.expanded = {};
432
- newRule.expanded.l = makeNode([newRule.l.clone(), expandsym]); // Push the expandsym into the deepest possible branch.
433
- // This helps to match the newRule against nodes returned from getSplits() later on.
434
-
435
- flatten(newRule.expanded.l);
436
- unflattenr(newRule.expanded.l);
437
- newRule.expanded.r = makeNode([newRule.r, expandsym]);
438
- }
439
-
735
+ newRule = _canonicalizeRule(rule, context);
440
736
  break;
441
737
 
442
738
  case 'function':
@@ -460,71 +756,156 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
460
756
  function _getExpandPlaceholderSymbol() {
461
757
  return new SymbolNode('_p' + _lastsym++);
462
758
  }
759
+
760
+ function mapRule(nodes, rule, context) {
761
+ var resNodes = nodes;
762
+
763
+ if (nodes) {
764
+ for (var i = 0; i < nodes.length; ++i) {
765
+ var newNode = applyRule(nodes[i], rule, context);
766
+
767
+ if (newNode !== nodes[i]) {
768
+ if (resNodes === nodes) {
769
+ resNodes = nodes.slice();
770
+ }
771
+
772
+ resNodes[i] = newNode;
773
+ }
774
+ }
775
+ }
776
+
777
+ return resNodes;
778
+ }
463
779
  /**
464
780
  * Returns a simplfied form of node, or the original node if no simplification was possible.
465
781
  *
466
782
  * @param {ConstantNode | SymbolNode | ParenthesisNode | FunctionNode | OperatorNode} node
783
+ * @param {Object | Function} rule
784
+ * @param {Object} context -- information about assumed properties of operators
467
785
  * @return {ConstantNode | SymbolNode | ParenthesisNode | FunctionNode | OperatorNode} The simplified form of `expr`, or the original node if no simplification was possible.
468
786
  */
469
787
 
470
788
 
471
- var applyRule = typed('applyRule', {
472
- 'Node, Object': function NodeObject(node, rule) {
473
- // console.log('Entering applyRule(' + node.toString() + ')')
474
- // Do not clone node unless we find a match
475
- var res = node; // First replace our child nodes with their simplified versions
476
- // If a child could not be simplified, the assignments will have
477
- // no effect since the node is returned unchanged
478
-
479
- if (res instanceof OperatorNode || res instanceof FunctionNode) {
480
- if (res.args) {
481
- for (var i = 0; i < res.args.length; i++) {
482
- res.args[i] = applyRule(res.args[i], rule);
789
+ function applyRule(node, rule, context) {
790
+ // console.log('Entering applyRule("', rule.l.toString({parenthesis:'all'}), '->', rule.r.toString({parenthesis:'all'}), '",', node.toString({parenthesis:'all'}),')')
791
+ // check that the assumptions for this rule are satisfied by the current
792
+ // context:
793
+ if (rule.assuming) {
794
+ for (var symbol in rule.assuming) {
795
+ for (var property in rule.assuming[symbol]) {
796
+ if (hasProperty(symbol, property, context) !== rule.assuming[symbol][property]) {
797
+ return node;
483
798
  }
484
799
  }
485
- } else if (res instanceof ParenthesisNode) {
486
- if (res.content) {
487
- res.content = applyRule(res.content, rule);
800
+ }
801
+ }
802
+
803
+ var mergedContext = mergeContext(rule.imposeContext, context); // Do not clone node unless we find a match
804
+
805
+ var res = node; // First replace our child nodes with their simplified versions
806
+ // If a child could not be simplified, applying the rule to it
807
+ // will have no effect since the node is returned unchanged
808
+
809
+ if (res instanceof OperatorNode || res instanceof FunctionNode) {
810
+ var newArgs = mapRule(res.args, rule, context);
811
+
812
+ if (newArgs !== res.args) {
813
+ res = res.clone();
814
+ res.args = newArgs;
815
+ }
816
+ } else if (res instanceof ParenthesisNode) {
817
+ if (res.content) {
818
+ var newContent = applyRule(res.content, rule, context);
819
+
820
+ if (newContent !== res.content) {
821
+ res = new ParenthesisNode(newContent);
488
822
  }
489
- } // Try to match a rule against this node
823
+ }
824
+ } else if (res instanceof ArrayNode) {
825
+ var newItems = mapRule(res.items, rule, context);
490
826
 
827
+ if (newItems !== res.items) {
828
+ res = new ArrayNode(newItems);
829
+ }
830
+ } else if (res instanceof AccessorNode) {
831
+ var newObj = res.object;
491
832
 
492
- var repl = rule.r;
833
+ if (res.object) {
834
+ newObj = applyRule(res.object, rule, context);
835
+ }
493
836
 
494
- var matches = _ruleMatch(rule.l, res)[0]; // If the rule is associative operator, we can try matching it while allowing additional terms.
495
- // This allows us to match rules like 'n+n' to the expression '(1+x)+x' or even 'x+1+x' if the operator is commutative.
837
+ var newIndex = res.index;
496
838
 
839
+ if (res.index) {
840
+ newIndex = applyRule(res.index, rule, context);
841
+ }
497
842
 
498
- if (!matches && rule.expanded) {
499
- repl = rule.expanded.r;
500
- matches = _ruleMatch(rule.expanded.l, res)[0];
843
+ if (newObj !== res.object || newIndex !== res.index) {
844
+ res = new AccessorNode(newObj, newIndex);
501
845
  }
846
+ } else if (res instanceof IndexNode) {
847
+ var newDims = mapRule(res.dimensions, rule, context);
502
848
 
503
- if (matches) {
504
- // const before = res.toString({parenthesis: 'all'})
505
- // Create a new node by cloning the rhs of the matched rule
506
- // we keep any implicit multiplication state if relevant
507
- var implicit = res.implicit;
508
- res = repl.clone();
849
+ if (newDims !== res.dimensions) {
850
+ res = new IndexNode(newDims);
851
+ }
852
+ } else if (res instanceof ObjectNode) {
853
+ var changed = false;
854
+ var newProps = {};
509
855
 
510
- if (implicit && 'implicit' in repl) {
511
- res.implicit = true;
512
- } // Replace placeholders with their respective nodes without traversing deeper into the replaced nodes
856
+ for (var prop in res.properties) {
857
+ newProps[prop] = applyRule(res.properties[prop], rule, context);
513
858
 
859
+ if (newProps[prop] !== res.properties[prop]) {
860
+ changed = true;
861
+ }
862
+ }
514
863
 
515
- res = res.transform(function (node) {
516
- if (node.isSymbolNode && hasOwnProperty(matches.placeholders, node.name)) {
517
- return matches.placeholders[node.name].clone();
518
- } else {
519
- return node;
520
- }
521
- }); // const after = res.toString({parenthesis: 'all'})
522
- // console.log('Simplified ' + before + ' to ' + after)
864
+ if (changed) {
865
+ res = new ObjectNode(newProps);
523
866
  }
867
+ } // Try to match a rule against this node
524
868
 
525
- return res;
869
+
870
+ var repl = rule.r;
871
+
872
+ var matches = _ruleMatch(rule.l, res, mergedContext)[0]; // If the rule is associative operator, we can try matching it while allowing additional terms.
873
+ // This allows us to match rules like 'n+n' to the expression '(1+x)+x' or even 'x+1+x' if the operator is commutative.
874
+
875
+
876
+ if (!matches && rule.expanded) {
877
+ repl = rule.expanded.r;
878
+ matches = _ruleMatch(rule.expanded.l, res, mergedContext)[0];
526
879
  }
527
- });
880
+
881
+ if (matches) {
882
+ // const before = res.toString({parenthesis: 'all'})
883
+ // Create a new node by cloning the rhs of the matched rule
884
+ // we keep any implicit multiplication state if relevant
885
+ var implicit = res.implicit;
886
+ res = repl.clone();
887
+
888
+ if (implicit && 'implicit' in repl) {
889
+ res.implicit = true;
890
+ } // Replace placeholders with their respective nodes without traversing deeper into the replaced nodes
891
+
892
+
893
+ res = res.transform(function (node) {
894
+ if (node.isSymbolNode && hasOwnProperty(matches.placeholders, node.name)) {
895
+ return matches.placeholders[node.name].clone();
896
+ } else {
897
+ return node;
898
+ }
899
+ }); // const after = res.toString({parenthesis: 'all'})
900
+ // console.log('Simplified ' + before + ' to ' + after)
901
+ }
902
+
903
+ if (rule.repeat && res !== node) {
904
+ res = applyRule(res, rule, context);
905
+ }
906
+
907
+ return res;
908
+ }
528
909
  /**
529
910
  * Get (binary) combinations of a flattened binary node
530
911
  * e.g. +(node1, node2, node3) -> [
@@ -534,6 +915,7 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
534
915
  *
535
916
  */
536
917
 
918
+
537
919
  function getSplits(node, context) {
538
920
  var res = [];
539
921
  var right, rightArgs;
@@ -547,9 +929,18 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
547
929
  res.push(makeNode([node.args[i], right]));
548
930
  }
549
931
  } else {
550
- rightArgs = node.args.slice(1);
551
- right = rightArgs.length === 1 ? rightArgs[0] : makeNode(rightArgs);
552
- res.push(makeNode([node.args[0], right]));
932
+ // Keep order, but try all parenthesizations
933
+ for (var _i = 1; _i < node.args.length; _i++) {
934
+ var left = node.args[0];
935
+
936
+ if (_i > 1) {
937
+ left = makeNode(node.args.slice(0, _i));
938
+ }
939
+
940
+ rightArgs = node.args.slice(_i);
941
+ right = rightArgs.length === 1 ? rightArgs[0] : makeNode(rightArgs);
942
+ res.push(makeNode([left, right]));
943
+ }
553
944
  }
554
945
 
555
946
  return res;
@@ -652,15 +1043,19 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
652
1043
  *
653
1044
  * @param {ConstantNode | SymbolNode | ParenthesisNode | FunctionNode | OperatorNode} rule
654
1045
  * @param {ConstantNode | SymbolNode | ParenthesisNode | FunctionNode | OperatorNode} node
1046
+ * @param {Object} context -- provides assumed properties of operators
1047
+ * @param {Boolean} isSplit -- whether we are in process of splitting an
1048
+ * n-ary operator node into possible binary combinations.
1049
+ * Defaults to false.
655
1050
  * @return {Object} Information about the match, if it exists.
656
1051
  */
657
1052
 
658
1053
 
659
- function _ruleMatch(rule, node, isSplit) {
1054
+ function _ruleMatch(rule, node, context, isSplit) {
660
1055
  // console.log('Entering _ruleMatch(' + JSON.stringify(rule) + ', ' + JSON.stringify(node) + ')')
661
1056
  // console.log('rule = ' + rule)
662
1057
  // console.log('node = ' + node)
663
- // console.log('Entering _ruleMatch(' + rule.toString() + ', ' + node.toString() + ')')
1058
+ // console.log('Entering _ruleMatch(', rule.toString({parenthesis:'all'}), ', ', node.toString({parenthesis:'all'}), ', ', context, ')')
664
1059
  var res = [{
665
1060
  placeholders: {}
666
1061
  }];
@@ -678,32 +1073,65 @@ export var createSimplify = /* #__PURE__ */factory(name, dependencies, _ref => {
678
1073
  } // rule and node match. Search the children of rule and node.
679
1074
 
680
1075
 
681
- if (node.args.length === 1 && rule.args.length === 1 || !isAssociative(node) && node.args.length === rule.args.length || isSplit) {
682
- // Expect non-associative operators to match exactly
1076
+ if (node.args.length === 1 && rule.args.length === 1 || !isAssociative(node, context) && node.args.length === rule.args.length || isSplit) {
1077
+ // Expect non-associative operators to match exactly,
1078
+ // except in any order if operator is commutative
683
1079
  var childMatches = [];
684
1080
 
685
1081
  for (var i = 0; i < rule.args.length; i++) {
686
- var childMatch = _ruleMatch(rule.args[i], node.args[i]);
1082
+ var childMatch = _ruleMatch(rule.args[i], node.args[i], context);
687
1083
 
688
1084
  if (childMatch.length === 0) {
689
1085
  // Child did not match, so stop searching immediately
690
- return [];
1086
+ break;
691
1087
  } // The child matched, so add the information returned from the child to our result
692
1088
 
693
1089
 
694
1090
  childMatches.push(childMatch);
695
1091
  }
696
1092
 
1093
+ if (childMatches.length !== rule.args.length) {
1094
+ if (!isCommutative(node, context) || // exact match in order needed
1095
+ rule.args.length === 1) {
1096
+ // nothing to commute
1097
+ return [];
1098
+ }
1099
+
1100
+ if (rule.args.length > 2) {
1101
+ /* Need to generate all permutations and try them.
1102
+ * It's a bit complicated, and unlikely to come up since there
1103
+ * are very few ternary or higher operators. So punt for now.
1104
+ */
1105
+ throw new Error('permuting >2 commutative non-associative rule arguments not yet implemented');
1106
+ }
1107
+ /* Exactly two arguments, try them reversed */
1108
+
1109
+
1110
+ var leftMatch = _ruleMatch(rule.args[0], node.args[1], context);
1111
+
1112
+ if (leftMatch.length === 0) {
1113
+ return [];
1114
+ }
1115
+
1116
+ var rightMatch = _ruleMatch(rule.args[1], node.args[0], context);
1117
+
1118
+ if (rightMatch.length === 0) {
1119
+ return [];
1120
+ }
1121
+
1122
+ childMatches = [leftMatch, rightMatch];
1123
+ }
1124
+
697
1125
  res = mergeChildMatches(childMatches);
698
1126
  } else if (node.args.length >= 2 && rule.args.length === 2) {
699
1127
  // node is flattened, rule is not
700
1128
  // Associative operators/functions can be split in different ways so we check if the rule matches each
701
1129
  // them and return their union.
702
- var splits = getSplits(node, rule.context);
1130
+ var splits = getSplits(node, context);
703
1131
  var splitMatches = [];
704
1132
 
705
- for (var _i = 0; _i < splits.length; _i++) {
706
- var matchSet = _ruleMatch(rule, splits[_i], true); // recursing at the same tree depth here
1133
+ for (var _i2 = 0; _i2 < splits.length; _i2++) {
1134
+ var matchSet = _ruleMatch(rule, splits[_i2], context, true); // recursing at the same tree depth here
707
1135
 
708
1136
 
709
1137
  splitMatches = splitMatches.concat(matchSet);