mathjs 10.1.0 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/HISTORY.md +38 -0
  2. package/docs/expressions/algebra.md +27 -0
  3. package/docs/expressions/syntax.md +31 -2
  4. package/docs/reference/functions/abs.md +6 -0
  5. package/docs/reference/functions/acos.md +6 -0
  6. package/docs/reference/functions/acosh.md +6 -0
  7. package/docs/reference/functions/acot.md +6 -0
  8. package/docs/reference/functions/acoth.md +6 -0
  9. package/docs/reference/functions/acsc.md +6 -0
  10. package/docs/reference/functions/acsch.md +6 -0
  11. package/docs/reference/functions/add.md +6 -0
  12. package/docs/reference/functions/and.md +6 -0
  13. package/docs/reference/functions/apply.md +6 -0
  14. package/docs/reference/functions/arg.md +6 -0
  15. package/docs/reference/functions/asec.md +6 -0
  16. package/docs/reference/functions/asech.md +6 -0
  17. package/docs/reference/functions/asin.md +6 -0
  18. package/docs/reference/functions/asinh.md +6 -0
  19. package/docs/reference/functions/atan.md +6 -0
  20. package/docs/reference/functions/atan2.md +6 -0
  21. package/docs/reference/functions/atanh.md +6 -0
  22. package/docs/reference/functions/bellNumbers.md +6 -0
  23. package/docs/reference/functions/bin.md +6 -0
  24. package/docs/reference/functions/bitAnd.md +6 -0
  25. package/docs/reference/functions/bitNot.md +6 -0
  26. package/docs/reference/functions/bitOr.md +6 -0
  27. package/docs/reference/functions/bitXor.md +6 -0
  28. package/docs/reference/functions/catalan.md +6 -0
  29. package/docs/reference/functions/cbrt.md +6 -0
  30. package/docs/reference/functions/ceil.md +6 -0
  31. package/docs/reference/functions/clone.md +6 -0
  32. package/docs/reference/functions/column.md +6 -0
  33. package/docs/reference/functions/combinations.md +6 -0
  34. package/docs/reference/functions/combinationsWithRep.md +6 -0
  35. package/docs/reference/functions/compare.md +6 -0
  36. package/docs/reference/functions/compareNatural.md +6 -0
  37. package/docs/reference/functions/compareText.md +6 -0
  38. package/docs/reference/functions/compile.md +6 -0
  39. package/docs/reference/functions/composition.md +6 -0
  40. package/docs/reference/functions/concat.md +6 -0
  41. package/docs/reference/functions/conj.md +6 -0
  42. package/docs/reference/functions/cos.md +6 -0
  43. package/docs/reference/functions/cosh.md +6 -0
  44. package/docs/reference/functions/cot.md +6 -0
  45. package/docs/reference/functions/coth.md +6 -0
  46. package/docs/reference/functions/count.md +6 -0
  47. package/docs/reference/functions/cross.md +6 -0
  48. package/docs/reference/functions/csc.md +6 -0
  49. package/docs/reference/functions/csch.md +6 -0
  50. package/docs/reference/functions/ctranspose.md +6 -0
  51. package/docs/reference/functions/cube.md +6 -0
  52. package/docs/reference/functions/deepEqual.md +6 -0
  53. package/docs/reference/functions/derivative.md +6 -0
  54. package/docs/reference/functions/det.md +6 -0
  55. package/docs/reference/functions/diag.md +6 -0
  56. package/docs/reference/functions/diff.md +6 -0
  57. package/docs/reference/functions/distance.md +6 -0
  58. package/docs/reference/functions/divide.md +6 -0
  59. package/docs/reference/functions/dot.md +6 -0
  60. package/docs/reference/functions/dotDivide.md +6 -0
  61. package/docs/reference/functions/dotMultiply.md +6 -0
  62. package/docs/reference/functions/dotPow.md +6 -0
  63. package/docs/reference/functions/eigs.md +6 -0
  64. package/docs/reference/functions/equal.md +6 -0
  65. package/docs/reference/functions/equalText.md +6 -0
  66. package/docs/reference/functions/erf.md +6 -0
  67. package/docs/reference/functions/evaluate.md +6 -0
  68. package/docs/reference/functions/exp.md +6 -0
  69. package/docs/reference/functions/expm.md +6 -0
  70. package/docs/reference/functions/expm1.md +6 -0
  71. package/docs/reference/functions/factorial.md +6 -0
  72. package/docs/reference/functions/filter.md +6 -0
  73. package/docs/reference/functions/fix.md +6 -0
  74. package/docs/reference/functions/flatten.md +6 -0
  75. package/docs/reference/functions/floor.md +6 -0
  76. package/docs/reference/functions/forEach.md +6 -0
  77. package/docs/reference/functions/format.md +6 -0
  78. package/docs/reference/functions/gamma.md +6 -0
  79. package/docs/reference/functions/gcd.md +6 -0
  80. package/docs/reference/functions/getMatrixDataType.md +6 -0
  81. package/docs/reference/functions/hasNumericValue.md +6 -0
  82. package/docs/reference/functions/help.md +6 -0
  83. package/docs/reference/functions/hex.md +6 -0
  84. package/docs/reference/functions/hypot.md +6 -0
  85. package/docs/reference/functions/identity.md +6 -0
  86. package/docs/reference/functions/im.md +6 -0
  87. package/docs/reference/functions/intersect.md +6 -0
  88. package/docs/reference/functions/inv.md +6 -0
  89. package/docs/reference/functions/invmod.md +6 -0
  90. package/docs/reference/functions/isInteger.md +6 -0
  91. package/docs/reference/functions/isNaN.md +6 -0
  92. package/docs/reference/functions/isNegative.md +6 -0
  93. package/docs/reference/functions/isNumeric.md +6 -0
  94. package/docs/reference/functions/isPositive.md +6 -0
  95. package/docs/reference/functions/isPrime.md +6 -0
  96. package/docs/reference/functions/isZero.md +6 -0
  97. package/docs/reference/functions/kldivergence.md +6 -0
  98. package/docs/reference/functions/kron.md +6 -0
  99. package/docs/reference/functions/larger.md +6 -0
  100. package/docs/reference/functions/largerEq.md +6 -0
  101. package/docs/reference/functions/lcm.md +6 -0
  102. package/docs/reference/functions/leafCount.md +52 -0
  103. package/docs/reference/functions/leftShift.md +6 -0
  104. package/docs/reference/functions/log.md +6 -0
  105. package/docs/reference/functions/log10.md +6 -0
  106. package/docs/reference/functions/log1p.md +6 -0
  107. package/docs/reference/functions/log2.md +6 -0
  108. package/docs/reference/functions/lsolve.md +6 -0
  109. package/docs/reference/functions/lsolveAll.md +6 -0
  110. package/docs/reference/functions/lup.md +6 -0
  111. package/docs/reference/functions/lusolve.md +6 -0
  112. package/docs/reference/functions/mad.md +6 -0
  113. package/docs/reference/functions/map.md +28 -5
  114. package/docs/reference/functions/matrixFromColumns.md +6 -0
  115. package/docs/reference/functions/matrixFromFunction.md +6 -0
  116. package/docs/reference/functions/matrixFromRows.md +6 -0
  117. package/docs/reference/functions/max.md +6 -0
  118. package/docs/reference/functions/mean.md +6 -0
  119. package/docs/reference/functions/median.md +6 -0
  120. package/docs/reference/functions/min.md +6 -0
  121. package/docs/reference/functions/mod.md +6 -0
  122. package/docs/reference/functions/mode.md +6 -0
  123. package/docs/reference/functions/multinomial.md +6 -0
  124. package/docs/reference/functions/multiply.md +6 -0
  125. package/docs/reference/functions/norm.md +6 -0
  126. package/docs/reference/functions/not.md +6 -0
  127. package/docs/reference/functions/nthRoot.md +6 -0
  128. package/docs/reference/functions/nthRoots.md +6 -0
  129. package/docs/reference/functions/numeric.md +6 -0
  130. package/docs/reference/functions/oct.md +6 -0
  131. package/docs/reference/functions/ones.md +6 -0
  132. package/docs/reference/functions/or.md +6 -0
  133. package/docs/reference/functions/parser.md +6 -0
  134. package/docs/reference/functions/partitionSelect.md +6 -0
  135. package/docs/reference/functions/permutations.md +6 -0
  136. package/docs/reference/functions/pickRandom.md +6 -0
  137. package/docs/reference/functions/pow.md +6 -0
  138. package/docs/reference/functions/print.md +6 -0
  139. package/docs/reference/functions/prod.md +6 -0
  140. package/docs/reference/functions/qr.md +6 -0
  141. package/docs/reference/functions/quantileSeq.md +6 -0
  142. package/docs/reference/functions/random.md +6 -0
  143. package/docs/reference/functions/randomInt.md +6 -0
  144. package/docs/reference/functions/range.md +6 -0
  145. package/docs/reference/functions/rationalize.md +7 -1
  146. package/docs/reference/functions/re.md +6 -0
  147. package/docs/reference/functions/reshape.md +7 -0
  148. package/docs/reference/functions/resize.md +6 -0
  149. package/docs/reference/functions/resolve.md +46 -0
  150. package/docs/reference/functions/rightArithShift.md +6 -0
  151. package/docs/reference/functions/rightLogShift.md +6 -0
  152. package/docs/reference/functions/rotate.md +6 -0
  153. package/docs/reference/functions/rotationMatrix.md +6 -0
  154. package/docs/reference/functions/round.md +6 -0
  155. package/docs/reference/functions/row.md +6 -0
  156. package/docs/reference/functions/sec.md +6 -0
  157. package/docs/reference/functions/sech.md +6 -0
  158. package/docs/reference/functions/setCartesian.md +6 -0
  159. package/docs/reference/functions/setDifference.md +6 -0
  160. package/docs/reference/functions/setDistinct.md +6 -0
  161. package/docs/reference/functions/setIntersect.md +6 -0
  162. package/docs/reference/functions/setIsSubset.md +6 -0
  163. package/docs/reference/functions/setMultiplicity.md +6 -0
  164. package/docs/reference/functions/setPowerset.md +6 -0
  165. package/docs/reference/functions/setSize.md +6 -0
  166. package/docs/reference/functions/setSymDifference.md +6 -0
  167. package/docs/reference/functions/setUnion.md +6 -0
  168. package/docs/reference/functions/sign.md +6 -0
  169. package/docs/reference/functions/simplify.md +47 -7
  170. package/docs/reference/functions/simplifyCore.md +50 -0
  171. package/docs/reference/functions/sin.md +6 -0
  172. package/docs/reference/functions/sinh.md +6 -0
  173. package/docs/reference/functions/size.md +6 -0
  174. package/docs/reference/functions/slu.md +6 -0
  175. package/docs/reference/functions/smaller.md +6 -0
  176. package/docs/reference/functions/smallerEq.md +6 -0
  177. package/docs/reference/functions/sort.md +6 -0
  178. package/docs/reference/functions/sqrt.md +6 -0
  179. package/docs/reference/functions/sqrtm.md +6 -0
  180. package/docs/reference/functions/square.md +6 -0
  181. package/docs/reference/functions/squeeze.md +6 -0
  182. package/docs/reference/functions/std.md +6 -0
  183. package/docs/reference/functions/stirlingS2.md +6 -0
  184. package/docs/reference/functions/subset.md +16 -2
  185. package/docs/reference/functions/subtract.md +6 -0
  186. package/docs/reference/functions/sum.md +6 -0
  187. package/docs/reference/functions/symbolicEqual.md +62 -0
  188. package/docs/reference/functions/tan.md +6 -0
  189. package/docs/reference/functions/tanh.md +6 -0
  190. package/docs/reference/functions/to.md +6 -0
  191. package/docs/reference/functions/trace.md +6 -0
  192. package/docs/reference/functions/transpose.md +6 -0
  193. package/docs/reference/functions/typeOf.md +6 -0
  194. package/docs/reference/functions/unaryMinus.md +6 -0
  195. package/docs/reference/functions/unaryPlus.md +6 -0
  196. package/docs/reference/functions/unequal.md +6 -0
  197. package/docs/reference/functions/usolve.md +6 -0
  198. package/docs/reference/functions/usolveAll.md +6 -0
  199. package/docs/reference/functions/variance.md +6 -0
  200. package/docs/reference/functions/xgcd.md +6 -0
  201. package/docs/reference/functions/xor.md +6 -0
  202. package/docs/reference/functions/zeros.md +6 -0
  203. package/docs/reference/functions.md +5 -1
  204. package/lib/browser/math.js +6 -6
  205. package/lib/browser/math.js.map +1 -1
  206. package/lib/cjs/core/create.js +4 -4
  207. package/lib/cjs/core/function/import.js +3 -3
  208. package/lib/cjs/core/function/typed.js +2 -2
  209. package/lib/cjs/defaultInstance.js +3 -3
  210. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  211. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  212. package/lib/cjs/entry/configReadonly.js +1 -1
  213. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +23 -0
  214. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
  215. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +32 -0
  216. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +6 -0
  217. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +65 -0
  218. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
  219. package/lib/cjs/entry/dependenciesAny.generated.js +32 -0
  220. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
  221. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +32 -0
  222. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +6 -0
  223. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +65 -0
  224. package/lib/cjs/entry/dependenciesNumber.generated.js +16 -0
  225. package/lib/cjs/entry/impureFunctionsAny.generated.js +80 -34
  226. package/lib/cjs/entry/impureFunctionsNumber.generated.js +96 -64
  227. package/lib/cjs/entry/pureFunctionsAny.generated.js +62 -64
  228. package/lib/cjs/entry/pureFunctionsNumber.generated.js +46 -48
  229. package/lib/cjs/expression/Help.js +4 -0
  230. package/lib/cjs/expression/Parser.js +1 -1
  231. package/lib/cjs/expression/embeddedDocs/core/typed.js +1 -1
  232. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +247 -235
  233. package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +15 -0
  234. package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +16 -0
  235. package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  236. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +15 -0
  237. package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
  238. package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
  239. package/lib/cjs/expression/node/FunctionNode.js +80 -61
  240. package/lib/cjs/expression/node/IndexNode.js +1 -1
  241. package/lib/cjs/expression/node/Node.js +3 -3
  242. package/lib/cjs/expression/node/ObjectNode.js +1 -1
  243. package/lib/cjs/expression/node/utils/access.js +1 -1
  244. package/lib/cjs/expression/node/utils/assign.js +1 -1
  245. package/lib/cjs/expression/parse.js +13 -13
  246. package/lib/cjs/factoriesAny.js +32 -0
  247. package/lib/cjs/factoriesNumber.js +16 -0
  248. package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
  249. package/lib/cjs/function/algebra/leafCount.js +66 -0
  250. package/lib/cjs/function/algebra/rationalize.js +24 -41
  251. package/lib/cjs/function/algebra/resolve.js +106 -0
  252. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +5 -5
  253. package/lib/cjs/function/algebra/simplify/util.js +171 -33
  254. package/lib/cjs/function/algebra/simplify.js +588 -211
  255. package/lib/cjs/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +67 -43
  256. package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
  257. package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
  258. package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
  259. package/lib/cjs/function/arithmetic/ceil.js +3 -3
  260. package/lib/cjs/function/arithmetic/floor.js +3 -3
  261. package/lib/cjs/function/arithmetic/invmod.js +1 -1
  262. package/lib/cjs/function/arithmetic/norm.js +1 -1
  263. package/lib/cjs/function/arithmetic/round.js +1 -1
  264. package/lib/cjs/function/matrix/eigs/complexEigs.js +13 -11
  265. package/lib/cjs/function/matrix/map.js +53 -15
  266. package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
  267. package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
  268. package/lib/cjs/function/matrix/subset.js +15 -5
  269. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  270. package/lib/cjs/function/relational/compareNatural.js +6 -6
  271. package/lib/cjs/header.js +2 -2
  272. package/lib/cjs/plain/bignumber/index.js +1 -1
  273. package/lib/cjs/plain/number/combinations.js +18 -6
  274. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  275. package/lib/cjs/type/bignumber/function/bignumber.js +1 -1
  276. package/lib/cjs/type/boolean.js +2 -2
  277. package/lib/cjs/type/complex/Complex.js +14 -14
  278. package/lib/cjs/type/complex/function/complex.js +1 -1
  279. package/lib/cjs/type/fraction/Fraction.js +6 -6
  280. package/lib/cjs/type/fraction/function/fraction.js +1 -1
  281. package/lib/cjs/type/matrix/DenseMatrix.js +5 -5
  282. package/lib/cjs/type/matrix/SparseMatrix.js +2 -2
  283. package/lib/cjs/type/number.js +1 -1
  284. package/lib/cjs/type/string.js +2 -2
  285. package/lib/cjs/type/unit/Unit.js +8 -8
  286. package/lib/cjs/utils/customs.js +2 -2
  287. package/lib/cjs/utils/emitter.js +1 -1
  288. package/lib/cjs/utils/function.js +2 -2
  289. package/lib/cjs/utils/is.js +6 -6
  290. package/lib/cjs/utils/latex.js +3 -3
  291. package/lib/cjs/utils/lruQueue.js +1 -1
  292. package/lib/cjs/utils/map.js +3 -3
  293. package/lib/cjs/utils/object.js +2 -2
  294. package/lib/cjs/utils/snapshot.js +7 -7
  295. package/lib/cjs/utils/string.js +2 -2
  296. package/lib/cjs/version.js +1 -1
  297. package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
  298. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
  299. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +18 -0
  300. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +4 -0
  301. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +40 -0
  302. package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
  303. package/lib/esm/entry/dependenciesAny.generated.js +4 -0
  304. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
  305. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +18 -0
  306. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +4 -0
  307. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +40 -0
  308. package/lib/esm/entry/dependenciesNumber.generated.js +2 -0
  309. package/lib/esm/entry/impureFunctionsAny.generated.js +69 -27
  310. package/lib/esm/entry/impureFunctionsNumber.generated.js +83 -53
  311. package/lib/esm/entry/pureFunctionsAny.generated.js +49 -49
  312. package/lib/esm/entry/pureFunctionsNumber.generated.js +32 -32
  313. package/lib/esm/expression/Help.js +4 -0
  314. package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
  315. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +220 -212
  316. package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
  317. package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
  318. package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  319. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
  320. package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
  321. package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
  322. package/lib/esm/expression/node/FunctionNode.js +70 -53
  323. package/lib/esm/factoriesAny.js +4 -0
  324. package/lib/esm/factoriesNumber.js +2 -0
  325. package/lib/esm/function/algebra/leafCount.js +59 -0
  326. package/lib/esm/function/algebra/rationalize.js +24 -40
  327. package/lib/esm/function/algebra/resolve.js +95 -0
  328. package/lib/esm/function/algebra/simplify/simplifyConstant.js +3 -3
  329. package/lib/esm/function/algebra/simplify/util.js +170 -34
  330. package/lib/esm/function/algebra/simplify.js +583 -206
  331. package/lib/esm/function/algebra/{simplify/simplifyCore.js → simplifyCore.js} +60 -44
  332. package/lib/esm/function/algebra/symbolicEqual.js +80 -0
  333. package/lib/esm/function/matrix/eigs/complexEigs.js +8 -6
  334. package/lib/esm/function/matrix/map.js +53 -15
  335. package/lib/esm/function/matrix/subset.js +15 -5
  336. package/lib/esm/plain/number/combinations.js +18 -6
  337. package/lib/esm/version.js +1 -1
  338. package/package.json +20 -15
  339. package/types/index.d.ts +52 -10
  340. package/lib/cjs/function/algebra/simplify/resolve.js +0 -76
  341. package/lib/esm/function/algebra/simplify/resolve.js +0 -67
@@ -1,7 +1,8 @@
1
- import { isAccessorNode, isArrayNode, isConstantNode, isFunctionNode, isIndexNode, isObjectNode, isOperatorNode, isParenthesisNode, isSymbolNode } from '../../../utils/is.js';
2
- import { factory } from '../../../utils/factory.js';
1
+ import { isAccessorNode, isArrayNode, isConstantNode, isFunctionNode, isIndexNode, isObjectNode, isOperatorNode } from '../../utils/is.js';
2
+ import { createUtil } from './simplify/util.js';
3
+ import { factory } from '../../utils/factory.js';
3
4
  var name = 'simplifyCore';
4
- var dependencies = ['equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'ParenthesisNode'];
5
+ var dependencies = ['equal', 'isZero', 'add', 'subtract', 'multiply', 'divide', 'pow', 'AccessorNode', 'ArrayNode', 'ConstantNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'ParenthesisNode', 'SymbolNode'];
5
6
  export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref => {
6
7
  var {
7
8
  equal,
@@ -18,16 +19,19 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
18
19
  IndexNode,
19
20
  ObjectNode,
20
21
  OperatorNode,
21
- ParenthesisNode
22
+ ParenthesisNode,
23
+ SymbolNode
22
24
  } = _ref;
23
25
  var node0 = new ConstantNode(0);
24
26
  var node1 = new ConstantNode(1);
25
-
26
- function mapSimplifyCore(nodeArray) {
27
- return nodeArray.map(simplifyCore).map(function (arg) {
28
- return isParenthesisNode(arg) ? arg.content : arg;
29
- });
30
- }
27
+ var {
28
+ hasProperty,
29
+ isCommutative
30
+ } = createUtil({
31
+ FunctionNode,
32
+ OperatorNode,
33
+ SymbolNode
34
+ });
31
35
  /**
32
36
  * simplifyCore() performs single pass simplification suitable for
33
37
  * applications requiring ultimate performance. In contrast, simplify()
@@ -36,31 +40,53 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
36
40
  *
37
41
  * Syntax:
38
42
  *
39
- * simplify.simplifyCore(expr)
43
+ * simplifyCore(expr)
40
44
  *
41
45
  * Examples:
42
46
  *
43
47
  * const f = math.parse('2 * 1 * x ^ (2 - 1)')
44
- * math.simplify.simpifyCore(f) // Node {2 * x}
45
- * math.simplify('2 * 1 * x ^ (2 - 1)', [math.simplify.simpifyCore]) // Node {2 * x}
48
+ * math.simpifyCore(f) // Node {2 * x}
49
+ * math.simplify('2 * 1 * x ^ (2 - 1)', [math.simplifyCore]) // Node {2 * x}
46
50
  *
47
51
  * See also:
48
52
  *
49
- * derivative
53
+ * simplify, resolve, derivative
50
54
  *
51
55
  * @param {Node} node
52
56
  * The expression to be simplified
57
+ * @param {Object} options
58
+ * Simplification options, as per simplify()
59
+ * @return {Node} Returns expression with basic simplifications applied
53
60
  */
54
61
 
62
+ function simplifyCore(node, options) {
63
+ var context = options ? options.context : undefined;
55
64
 
56
- function simplifyCore(node) {
57
- if (isOperatorNode(node) && node.isUnary()) {
58
- var a0 = simplifyCore(node.args[0]);
65
+ if (hasProperty(node, 'trivial', context)) {
66
+ // This node does nothing if it has only one argument, so if so,
67
+ // return that argument simplified
68
+ if (isFunctionNode(node) && node.args.length === 1) {
69
+ return simplifyCore(node.args[0], options);
70
+ } // For other node types, we try the generic methods
59
71
 
60
- if (node.op === '+') {
61
- // unary plus
62
- return a0;
72
+
73
+ var simpChild = false;
74
+ var childCount = 0;
75
+ node.forEach(c => {
76
+ ++childCount;
77
+
78
+ if (childCount === 1) {
79
+ simpChild = simplifyCore(c, options);
80
+ }
81
+ });
82
+
83
+ if (childCount === 1) {
84
+ return simpChild;
63
85
  }
86
+ }
87
+
88
+ if (isOperatorNode(node) && node.isUnary()) {
89
+ var a0 = simplifyCore(node.args[0], options);
64
90
 
65
91
  if (node.op === '-') {
66
92
  // unary minus
@@ -75,9 +101,9 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
75
101
  return new OperatorNode(node.op, node.fn, [a0]);
76
102
  }
77
103
  } else if (isOperatorNode(node) && node.isBinary()) {
78
- var _a = simplifyCore(node.args[0]);
104
+ var _a = simplifyCore(node.args[0], options);
79
105
 
80
- var a1 = simplifyCore(node.args[1]);
106
+ var a1 = simplifyCore(node.args[1], options);
81
107
 
82
108
  if (node.op === '+') {
83
109
  if (isConstantNode(_a)) {
@@ -113,7 +139,7 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
113
139
  }
114
140
 
115
141
  if (isOperatorNode(a1) && a1.isUnary() && a1.op === '-') {
116
- return simplifyCore(new OperatorNode('+', 'add', [_a, a1.args[0]]));
142
+ return simplifyCore(new OperatorNode('+', 'add', [_a, a1.args[0]]), options);
117
143
  }
118
144
 
119
145
  return new OperatorNode(node.op, node.fn, [_a, a1]);
@@ -134,7 +160,7 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
134
160
  return node0;
135
161
  } else if (equal(a1.value, 1)) {
136
162
  return _a;
137
- } else if (isOperatorNode(_a) && _a.isBinary() && _a.op === node.op) {
163
+ } else if (isOperatorNode(_a) && _a.isBinary() && _a.op === node.op && isCommutative(node, context)) {
138
164
  var a00 = _a.args[0];
139
165
 
140
166
  if (isConstantNode(a00)) {
@@ -143,7 +169,11 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
143
169
  }
144
170
  }
145
171
 
146
- return new OperatorNode(node.op, node.fn, [a1, _a], node.implicit); // constants on left
172
+ if (isCommutative(node, context)) {
173
+ return new OperatorNode(node.op, node.fn, [a1, _a], node.implicit); // constants on left
174
+ } else {
175
+ return new OperatorNode(node.op, node.fn, [_a, a1], node.implicit);
176
+ }
147
177
  }
148
178
 
149
179
  return new OperatorNode(node.op, node.fn, [_a, a1], node.implicit);
@@ -179,33 +209,19 @@ export var createSimplifyCore = /* #__PURE__ */factory(name, dependencies, _ref
179
209
 
180
210
  return new OperatorNode(node.op, node.fn, [_a, a1]);
181
211
  }
182
- } else if (isParenthesisNode(node)) {
183
- var c = simplifyCore(node.content);
184
-
185
- if (isParenthesisNode(c) || isSymbolNode(c) || isConstantNode(c)) {
186
- return c;
187
- }
188
-
189
- return new ParenthesisNode(c);
190
212
  } else if (isFunctionNode(node)) {
191
- return new FunctionNode(simplifyCore(node.fn), mapSimplifyCore(node.args));
213
+ return new FunctionNode(simplifyCore(node.fn), node.args.map(n => simplifyCore(n, options)));
192
214
  } else if (isArrayNode(node)) {
193
- return new ArrayNode(mapSimplifyCore(node.items));
215
+ return new ArrayNode(node.items.map(n => simplifyCore(n, options)));
194
216
  } else if (isAccessorNode(node)) {
195
- var obj = mapSimplifyCore(node.object);
196
-
197
- if (isParenthesisNode(obj)) {
198
- obj = obj.content;
199
- }
200
-
201
- return new AccessorNode(obj, simplifyCore(node.index));
217
+ return new AccessorNode(simplifyCore(node.object, options), simplifyCore(node.index, options));
202
218
  } else if (isIndexNode(node)) {
203
- return new IndexNode(mapSimplifyCore(node.dimensions));
219
+ return new IndexNode(node.dimensions.map(n => simplifyCore(n, options)));
204
220
  } else if (isObjectNode(node)) {
205
221
  var newProps = {};
206
222
 
207
223
  for (var prop in node.properties) {
208
- newProps[prop] = simplifyCore(node.properties[prop]);
224
+ newProps[prop] = simplifyCore(node.properties[prop], options);
209
225
  }
210
226
 
211
227
  return new ObjectNode(newProps);
@@ -0,0 +1,80 @@
1
+ import { isConstantNode } from '../../utils/is.js';
2
+ import { factory } from '../../utils/factory.js';
3
+ var name = 'symbolicEqual';
4
+ var dependencies = ['parse', 'simplify', 'typed', 'OperatorNode'];
5
+ export var createSymbolicEqual = /* #__PURE__ */factory(name, dependencies, _ref => {
6
+ var {
7
+ parse,
8
+ simplify,
9
+ typed,
10
+ OperatorNode
11
+ } = _ref;
12
+
13
+ /**
14
+ * Attempts to determine if two expressions are symbolically equal, i.e.
15
+ * one is the result of valid algebraic manipulations on the other.
16
+ * Currently, this simply checks if the difference of the two expressions
17
+ * simplifies down to 0. So there are two important caveats:
18
+ * 1. whether two expressions are symbolically equal depends on the
19
+ * manipulations allowed. Therefore, this function takes an optional
20
+ * third argument, which are the options that control the behavior
21
+ * as documented for the `simplify()` function.
22
+ * 2. it is in general intractable to find the minimal simplification of
23
+ * an arbitrarily complicated expression. So while a `true` value
24
+ * of `symbolicEqual` ensures that the two expressions can be manipulated
25
+ * to match each other, a `false` value does not absolutely rule this out.
26
+ *
27
+ * Syntax:
28
+ *
29
+ * symbolicEqual(expr1, expr2)
30
+ * symbolicEqual(expr1, expr2, options)
31
+ *
32
+ * Examples:
33
+ *
34
+ * symbolicEqual('x*y', 'y*x') // true
35
+ * symbolicEqual('x*y', 'y*x', {context: {multiply: {commutative: false}}})
36
+ * //false
37
+ * symbolicEqual('x/y', '(y*x^(-1))^(-1)') // true
38
+ * symbolicEqual('abs(x)','x') // false
39
+ * symbolicEqual('abs(x)','x', simplify.positiveContext) // true
40
+ *
41
+ * See also:
42
+ *
43
+ * simplify, evaluate
44
+ *
45
+ * @param {Node|string} expr1 The first expression to compare
46
+ * @param {Node|string} expr2 The second expression to compare
47
+ * @param {Object} [options] Optional option object, passed to simplify
48
+ * @returns {boolean}
49
+ * Returns true if a valid manipulation making the expressions equal
50
+ * is found.
51
+ */
52
+ return typed(name, {
53
+ 'string, string': function stringString(s1, s2) {
54
+ return this(parse(s1), parse(s2), {});
55
+ },
56
+ 'string, string, Object': function stringStringObject(s1, s2, options) {
57
+ return this(parse(s1), parse(s2), options);
58
+ },
59
+ 'Node, string': function NodeString(e1, s2) {
60
+ return this(e1, parse(s2), {});
61
+ },
62
+ 'Node, string, Object': function NodeStringObject(e1, s2, options) {
63
+ return this(e1, parse(s2), options);
64
+ },
65
+ 'string, Node': function stringNode(s1, e2) {
66
+ return this(parse(s1), e2, {});
67
+ },
68
+ 'string, Node, Object': function stringNodeObject(s1, e2, options) {
69
+ return this(parse(s1), e2, options);
70
+ },
71
+ 'Node, Node': function NodeNode(e1, e2) {
72
+ return this(e1, e2, {});
73
+ },
74
+ 'Node, Node, Object': function NodeNodeObject(e1, e2, options) {
75
+ var diff = new OperatorNode('-', 'subtract', [e1, e2]);
76
+ var simplified = simplify(diff, {}, options);
77
+ return isConstantNode(simplified) && !simplified.value;
78
+ }
79
+ });
80
+ });
@@ -84,8 +84,9 @@ export function createComplexEigs(_ref) {
84
84
  function balance(arr, N, prec, type, findVectors) {
85
85
  var big = type === 'BigNumber';
86
86
  var cplx = type === 'Complex';
87
- var zero = big ? bignumber(0) : cplx ? complex(0) : 0;
88
- var one = big ? bignumber(1) : cplx ? complex(1) : 1; // base of the floating-point arithmetic
87
+ var realzero = big ? bignumber(0) : 0;
88
+ var one = big ? bignumber(1) : cplx ? complex(1) : 1;
89
+ var realone = big ? bignumber(1) : 1; // base of the floating-point arithmetic
89
90
 
90
91
  var radix = big ? bignumber(10) : 2;
91
92
  var radixSq = multiplyScalar(radix, radix); // the diagonal transformation matrix R
@@ -106,12 +107,13 @@ export function createComplexEigs(_ref) {
106
107
  for (var i = 0; i < N; i++) {
107
108
  // compute the taxicab norm of i-th column and row
108
109
  // TODO optimize for complex numbers
109
- var colNorm = zero;
110
- var rowNorm = zero;
110
+ var colNorm = realzero;
111
+ var rowNorm = realzero;
111
112
 
112
113
  for (var j = 0; j < N; j++) {
113
114
  if (i === j) continue;
114
- var c = abs(arr[i][j]);
115
+ var c = abs(arr[i][j]); // should be real
116
+
115
117
  colNorm = addScalar(colNorm, c);
116
118
  rowNorm = addScalar(rowNorm, c);
117
119
  }
@@ -120,7 +122,7 @@ export function createComplexEigs(_ref) {
120
122
  // find integer power closest to balancing the matrix
121
123
  // (we want to scale only by integer powers of radix,
122
124
  // so that we don't lose any precision due to round-off)
123
- var f = one;
125
+ var f = realone;
124
126
  var _c = colNorm;
125
127
  var rowDivRadix = divideScalar(rowNorm, radix);
126
128
  var rowMulRadix = multiplyScalar(rowNorm, radix);
@@ -8,8 +8,15 @@ export var createMap = /* #__PURE__ */factory(name, dependencies, _ref => {
8
8
  } = _ref;
9
9
 
10
10
  /**
11
- * Create a new matrix or array with the results of the callback function executed on
12
- * each entry of the matrix/array.
11
+ * Create a new matrix or array with the results of a callback function executed on
12
+ * each entry of a given matrix/array.
13
+ *
14
+ * For each entry of the input, the callback is invoked with three arguments:
15
+ * the value of the entry, the index at which that entry occurs, and the full
16
+ * matrix/array being traversed. Note that because the matrix/array might be
17
+ * multidimensional, the "index" argument is always an array of numbers giving
18
+ * the index in each dimension. This is true even for vectors: the "index"
19
+ * argument is an array of length 1, rather than simply a number.
13
20
  *
14
21
  * Syntax:
15
22
  *
@@ -21,15 +28,25 @@ export var createMap = /* #__PURE__ */factory(name, dependencies, _ref => {
21
28
  * return value * value
22
29
  * }) // returns [1, 4, 9]
23
30
  *
31
+ * // The calling convention for the callback can cause subtleties:
32
+ * math.map([1, 2, 3], math.format)
33
+ * // throws TypeError: map attempted to call 'format(1,[0])' but argument 2 of type Array does not match expected type number or function or Object or string or boolean
34
+ * // [This happens because `format` _can_ take a second argument,
35
+ * // but its semantics don't match that of the 2nd argument `map` provides]
36
+ *
37
+ * // To avoid this error, use a function that takes exactly the
38
+ * // desired arguments:
39
+ * math.map([1, 2, 3], x => math.format(x)) // returns ['1', '2', '3']
40
+ *
24
41
  * See also:
25
42
  *
26
43
  * filter, forEach, sort
27
44
  *
28
- * @param {Matrix | Array} x The matrix to iterate on.
29
- * @param {Function} callback The callback method is invoked with three
30
- * parameters: the value of the element, the index
31
- * of the element, and the matrix being traversed.
32
- * @return {Matrix | array} Transformed map of x
45
+ * @param {Matrix | Array} x The input to iterate on.
46
+ * @param {Function} callback
47
+ * The function to call (as described above) on each entry of the input
48
+ * @return {Matrix | array}
49
+ * Transformed map of x; always has the same type and shape as x
33
50
  */
34
51
  return typed(name, {
35
52
  'Array, function': _map,
@@ -57,14 +74,35 @@ function _map(array, callback) {
57
74
  return recurse(child, index.concat(i));
58
75
  });
59
76
  } else {
60
- // invoke the callback function with the right number of arguments
61
- if (args === 1) {
62
- return callback(value);
63
- } else if (args === 2) {
64
- return callback(value, index);
65
- } else {
66
- // 3 or -1
67
- return callback(value, index, array);
77
+ try {
78
+ // invoke the callback function with the right number of arguments
79
+ if (args === 1) {
80
+ return callback(value);
81
+ } else if (args === 2) {
82
+ return callback(value, index);
83
+ } else {
84
+ // 3 or -1
85
+ return callback(value, index, array);
86
+ }
87
+ } catch (err) {
88
+ // But maybe the arguments still weren't right
89
+ if (err instanceof TypeError && 'data' in err && err.data.category === 'wrongType') {
90
+ var newmsg = "map attempted to call '".concat(err.data.fn, "(").concat(value);
91
+ var indexString = JSON.stringify(index);
92
+
93
+ if (args === 2) {
94
+ newmsg += ',' + indexString;
95
+ } else if (args !== 1) {
96
+ newmsg += ",".concat(indexString, ",").concat(array);
97
+ }
98
+
99
+ newmsg += ")' but argument ".concat(err.data.index + 1, " of type ");
100
+ newmsg += "".concat(err.data.actual, " does not match expected type ");
101
+ newmsg += err.data.expected.join(' or ');
102
+ throw new TypeError(newmsg);
103
+ }
104
+
105
+ throw err;
68
106
  }
69
107
  }
70
108
  };
@@ -28,16 +28,26 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
28
28
  *
29
29
  * // replace a subset
30
30
  * const e = []
31
- * const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
31
+ * const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]] and e = [[5, 0, 6]]
32
32
  * const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
33
33
  *
34
+ * // get submatrix using ranges
35
+ * const M = [
36
+ * [1,2,3],
37
+ * [4,5,6],
38
+ * [7,8,9]
39
+ * ]
40
+ * math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
41
+ *
34
42
  * See also:
35
43
  *
36
44
  * size, resize, squeeze, index
37
45
  *
38
46
  * @param {Array | Matrix | string} matrix An array, matrix, or string
39
- * @param {Index} index An index containing ranges for each
40
- * dimension
47
+ * @param {Index} index
48
+ * For each dimension of the target, specifies an index or a list of
49
+ * indices to fetch or set. `subset` uses the cartesian product of
50
+ * the indices specified in each dimension.
41
51
  * @param {*} [replacement] An array, matrix, or scalar.
42
52
  * If provided, the subset is replaced with replacement.
43
53
  * If not provided, the subset is returned
@@ -80,7 +90,7 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
80
90
  /**
81
91
  * Retrieve a subset of a string
82
92
  * @param {string} str string from which to get a substring
83
- * @param {Index} index An index containing ranges for each dimension
93
+ * @param {Index} index An index or list of indices (character positions)
84
94
  * @returns {string} substring
85
95
  * @private
86
96
  */
@@ -109,7 +119,7 @@ function _getSubstring(str, index) {
109
119
  /**
110
120
  * Replace a substring in a string
111
121
  * @param {string} str string to be replaced
112
- * @param {Index} index An index containing ranges for each dimension
122
+ * @param {Index} index An index or list of indices (character positions)
113
123
  * @param {string} replacement Replacement string
114
124
  * @param {string} [defaultValue] Default value to be uses when resizing
115
125
  * the string. is ' ' by default
@@ -14,14 +14,26 @@ export function combinationsNumber(n, k) {
14
14
  }
15
15
 
16
16
  var nMinusk = n - k;
17
- var prodrange;
17
+ var answer = 1;
18
+ var firstnumerator = k < nMinusk ? nMinusk + 1 : k + 1;
19
+ var nextdivisor = 2;
20
+ var lastdivisor = k < nMinusk ? k : nMinusk; // balance multiplications and divisions to try to keep intermediate values
21
+ // in exact-integer range as long as possible
18
22
 
19
- if (k < nMinusk) {
20
- prodrange = product(nMinusk + 1, n);
21
- return prodrange / product(1, k);
23
+ for (var nextnumerator = firstnumerator; nextnumerator <= n; ++nextnumerator) {
24
+ answer *= nextnumerator;
25
+
26
+ while (nextdivisor <= lastdivisor && answer % nextdivisor === 0) {
27
+ answer /= nextdivisor;
28
+ ++nextdivisor;
29
+ }
30
+ } // for big n, k, floating point may have caused weirdness in remainder
31
+
32
+
33
+ if (nextdivisor <= lastdivisor) {
34
+ answer /= product(nextdivisor, lastdivisor);
22
35
  }
23
36
 
24
- prodrange = product(k + 1, n);
25
- return prodrange / product(1, nMinusk);
37
+ return answer;
26
38
  }
27
39
  combinationsNumber.signature = 'number, number';
@@ -1,2 +1,2 @@
1
- export var version = '10.1.0'; // Note: This file is automatically generated when building math.js.
1
+ export var version = '10.3.0'; // Note: This file is automatically generated when building math.js.
2
2
  // Changes made in this file will be overwritten.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathjs",
3
- "version": "10.1.0",
3
+ "version": "10.3.0",
4
4
  "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
5
5
  "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
6
6
  "homepage": "https://mathjs.org",
@@ -25,43 +25,44 @@
25
25
  "unit"
26
26
  ],
27
27
  "dependencies": {
28
- "@babel/runtime": "^7.16.5",
28
+ "@babel/runtime": "^7.17.2",
29
29
  "complex.js": "^2.0.15",
30
30
  "decimal.js": "^10.3.1",
31
31
  "escape-latex": "^1.2.0",
32
- "fraction.js": "^4.1.2",
32
+ "fraction.js": "^4.1.3",
33
33
  "javascript-natural-sort": "^0.7.1",
34
34
  "seedrandom": "^3.0.5",
35
35
  "tiny-emitter": "^2.1.0",
36
36
  "typed-function": "^2.0.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@babel/core": "7.16.5",
40
- "@babel/plugin-transform-object-assign": "7.16.5",
41
- "@babel/plugin-transform-runtime": "7.16.5",
42
- "@babel/preset-env": "7.16.5",
43
- "@babel/register": "7.16.5",
39
+ "@babel/core": "7.17.5",
40
+ "@babel/plugin-transform-object-assign": "7.16.7",
41
+ "@babel/plugin-transform-runtime": "7.17.0",
42
+ "@babel/preset-env": "7.16.11",
43
+ "@babel/register": "7.17.0",
44
+ "assert": "2.0.0",
44
45
  "babel-loader": "8.2.3",
45
46
  "benchmark": "2.1.4",
46
47
  "codecov": "3.8.3",
47
- "core-js": "3.20.1",
48
+ "core-js": "3.21.1",
48
49
  "del": "6.0.0",
49
50
  "dtslint": "4.2.1",
50
51
  "expr-eval": "2.0.2",
51
- "fancy-log": "1.3.3",
52
+ "fancy-log": "2.0.0",
52
53
  "glob": "7.2.0",
53
54
  "gulp": "4.0.2",
54
55
  "gulp-babel": "8.0.0",
55
56
  "handlebars": "4.7.7",
56
57
  "istanbul": "0.4.5",
57
- "jsep": "1.2.0",
58
- "karma": "6.3.9",
58
+ "jsep": "1.3.0",
59
+ "karma": "6.3.16",
59
60
  "karma-browserstack-launcher": "1.6.0",
60
61
  "karma-firefox-launcher": "2.1.2",
61
62
  "karma-mocha": "2.0.1",
62
63
  "karma-mocha-reporter": "2.2.5",
63
64
  "karma-webpack": "4.0.2",
64
- "math-expression-evaluator": "1.3.8",
65
+ "math-expression-evaluator": "1.3.14",
65
66
  "mkdirp": "1.0.4",
66
67
  "mocha": "8.4.0",
67
68
  "ndarray": "1.0.19",
@@ -72,9 +73,10 @@
72
73
  "numericjs": "1.2.6",
73
74
  "nyc": "15.1.0",
74
75
  "pad-right": "0.2.2",
76
+ "process": "0.11.10",
75
77
  "standard": "16.0.4",
76
78
  "sylvester": "0.0.21",
77
- "typescript": "4.5.4",
79
+ "typescript": "4.5.5",
78
80
  "webpack": "4.46.0",
79
81
  "zeros": "1.0.0"
80
82
  },
@@ -124,7 +126,7 @@
124
126
  "CONTRIBUTING.md"
125
127
  ],
126
128
  "scripts": {
127
- "build": "gulp --gulpfile gulpfile.cjs",
129
+ "build": "gulp --gulpfile gulpfile.cjs && npm run update-authors",
128
130
  "build-and-test": "npm run build && npm run test:all && npm run lint",
129
131
  "build:clean": "gulp --gulpfile gulpfile.cjs clean",
130
132
  "build:docs": "gulp --gulpfile gulpfile.cjs docs",
@@ -161,5 +163,8 @@
161
163
  "src": "./src",
162
164
  "test": "./test"
163
165
  },
166
+ "browserslist": [
167
+ "IE 11"
168
+ ],
164
169
  "sideEffects": false
165
170
  }