mathjs 10.1.0 → 10.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -39,16 +39,26 @@ var createSubset = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
39
39
  *
40
40
  * // replace a subset
41
41
  * const e = []
42
- * const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
42
+ * const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]] and e = [[5, 0, 6]]
43
43
  * const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
44
44
  *
45
+ * // get submatrix using ranges
46
+ * const M = [
47
+ * [1,2,3],
48
+ * [4,5,6],
49
+ * [7,8,9]
50
+ * ]
51
+ * math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
52
+ *
45
53
  * See also:
46
54
  *
47
55
  * size, resize, squeeze, index
48
56
  *
49
57
  * @param {Array | Matrix | string} matrix An array, matrix, or string
50
- * @param {Index} index An index containing ranges for each
51
- * dimension
58
+ * @param {Index} index
59
+ * For each dimension of the target, specifies an index or a list of
60
+ * indices to fetch or set. `subset` uses the cartesian product of
61
+ * the indices specified in each dimension.
52
62
  * @param {*} [replacement] An array, matrix, or scalar.
53
63
  * If provided, the subset is replaced with replacement.
54
64
  * If not provided, the subset is returned
@@ -91,7 +101,7 @@ var createSubset = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
91
101
  /**
92
102
  * Retrieve a subset of a string
93
103
  * @param {string} str string from which to get a substring
94
- * @param {Index} index An index containing ranges for each dimension
104
+ * @param {Index} index An index or list of indices (character positions)
95
105
  * @returns {string} substring
96
106
  * @private
97
107
  */
@@ -122,7 +132,7 @@ function _getSubstring(str, index) {
122
132
  /**
123
133
  * Replace a substring in a string
124
134
  * @param {string} str string to be replaced
125
- * @param {Index} index An index containing ranges for each dimension
135
+ * @param {Index} index An index or list of indices (character positions)
126
136
  * @param {string} replacement Replacement string
127
137
  * @param {string} [defaultValue] Default value to be uses when resizing
128
138
  * the string. is ' ' by default
@@ -9,13 +9,13 @@ exports.createRng = createRng;
9
9
 
10
10
  var _seedrandom = _interopRequireDefault(require("seedrandom"));
11
11
 
12
- var singletonRandom = /* #__PURE__ */(0, _seedrandom["default"])(Date.now());
12
+ var singletonRandom = /* #__PURE__ */(0, _seedrandom.default)(Date.now());
13
13
 
14
14
  function createRng(randomSeed) {
15
15
  var random; // create a new random generator with given seed
16
16
 
17
17
  function setSeed(seed) {
18
- random = seed === null ? singletonRandom : (0, _seedrandom["default"])(String(seed));
18
+ random = seed === null ? singletonRandom : (0, _seedrandom.default)(String(seed));
19
19
  } // initialize a seeded pseudo random number generator with config's random seed
20
20
 
21
21
 
@@ -101,7 +101,7 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
101
101
  // c can be number, BigNumber, or Fraction
102
102
  return c > 0 ? 1 : -1; // return a number
103
103
  } else {
104
- return (0, _javascriptNaturalSort["default"])(typeX, typeY);
104
+ return (0, _javascriptNaturalSort.default)(typeX, typeY);
105
105
  }
106
106
  } // matrix types
107
107
 
@@ -112,13 +112,13 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
112
112
  if (c !== 0) {
113
113
  return c;
114
114
  } else {
115
- return (0, _javascriptNaturalSort["default"])(typeX, typeY);
115
+ return (0, _javascriptNaturalSort.default)(typeX, typeY);
116
116
  }
117
117
  } // in case of different types, order by name of type, i.e. 'BigNumber' < 'Complex'
118
118
 
119
119
 
120
120
  if (typeX !== typeY) {
121
- return (0, _javascriptNaturalSort["default"])(typeX, typeY);
121
+ return (0, _javascriptNaturalSort.default)(typeX, typeY);
122
122
  }
123
123
 
124
124
  if (typeX === 'Complex') {
@@ -139,7 +139,7 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
139
139
  }
140
140
 
141
141
  if (typeX === 'string') {
142
- return (0, _javascriptNaturalSort["default"])(x, y);
142
+ return (0, _javascriptNaturalSort.default)(x, y);
143
143
  }
144
144
 
145
145
  if (typeX === 'Object') {
@@ -252,8 +252,8 @@ var createCompareNatural = /* #__PURE__ */(0, _factory.factory)(name, dependenci
252
252
  var keysX = Object.keys(x);
253
253
  var keysY = Object.keys(y); // compare keys
254
254
 
255
- keysX.sort(_javascriptNaturalSort["default"]);
256
- keysY.sort(_javascriptNaturalSort["default"]);
255
+ keysX.sort(_javascriptNaturalSort.default);
256
+ keysY.sort(_javascriptNaturalSort.default);
257
257
  var c = compareArrays(compareNatural, keysX, keysY);
258
258
 
259
259
  if (c !== 0) {
package/lib/cjs/header.js CHANGED
@@ -6,8 +6,8 @@
6
6
  * It features real and complex numbers, units, matrices, a large set of
7
7
  * mathematical functions, and a flexible expression parser.
8
8
  *
9
- * @version 10.1.0
10
- * @date 2022-01-15
9
+ * @version 10.3.0
10
+ * @date 2022-03-02
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2022 Jos de Jong <wjosdejong@gmail.com>
@@ -27,7 +27,7 @@ Object.keys(_arithmetic).forEach(function (key) {
27
27
  });
28
28
 
29
29
  // TODO: this is ugly. Instead, be able to pass your own isBigNumber function to typed?
30
- var BigNumber = _decimal["default"].clone();
30
+ var BigNumber = _decimal.default.clone();
31
31
 
32
32
  BigNumber.prototype.isBigNumber = true;
33
33
 
@@ -23,15 +23,27 @@ function combinationsNumber(n, k) {
23
23
  }
24
24
 
25
25
  var nMinusk = n - k;
26
- var prodrange;
26
+ var answer = 1;
27
+ var firstnumerator = k < nMinusk ? nMinusk + 1 : k + 1;
28
+ var nextdivisor = 2;
29
+ var lastdivisor = k < nMinusk ? k : nMinusk; // balance multiplications and divisions to try to keep intermediate values
30
+ // in exact-integer range as long as possible
27
31
 
28
- if (k < nMinusk) {
29
- prodrange = (0, _product.product)(nMinusk + 1, n);
30
- return prodrange / (0, _product.product)(1, k);
32
+ for (var nextnumerator = firstnumerator; nextnumerator <= n; ++nextnumerator) {
33
+ answer *= nextnumerator;
34
+
35
+ while (nextdivisor <= lastdivisor && answer % nextdivisor === 0) {
36
+ answer /= nextdivisor;
37
+ ++nextdivisor;
38
+ }
39
+ } // for big n, k, floating point may have caused weirdness in remainder
40
+
41
+
42
+ if (nextdivisor <= lastdivisor) {
43
+ answer /= (0, _product.product)(nextdivisor, lastdivisor);
31
44
  }
32
45
 
33
- prodrange = (0, _product.product)(k + 1, n);
34
- return prodrange / (0, _product.product)(1, nMinusk);
46
+ return answer;
35
47
  }
36
48
 
37
49
  combinationsNumber.signature = 'number, number';
@@ -17,9 +17,9 @@ var createBigNumberClass = /* #__PURE__ */(0, _factory.factory)(name, dependenci
17
17
  var on = _ref.on,
18
18
  config = _ref.config;
19
19
 
20
- var BigNumber = _decimal["default"].clone({
20
+ var BigNumber = _decimal.default.clone({
21
21
  precision: config.precision,
22
- modulo: _decimal["default"].EUCLID
22
+ modulo: _decimal.default.EUCLID
23
23
  });
24
24
 
25
25
  BigNumber.prototype = Object.create(BigNumber.prototype);
@@ -79,7 +79,7 @@ var createBignumber = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
79
79
  Fraction: function Fraction(x) {
80
80
  return new BigNumber(x.n).div(x.d).times(x.s);
81
81
  },
82
- "null": function _null(x) {
82
+ null: function _null(x) {
83
83
  return new BigNumber(0);
84
84
  },
85
85
  'Array | Matrix': function ArrayMatrix(x) {
@@ -45,13 +45,13 @@ var createBoolean = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
45
45
  '': function _() {
46
46
  return false;
47
47
  },
48
- "boolean": function boolean(x) {
48
+ boolean: function boolean(x) {
49
49
  return x;
50
50
  },
51
51
  number: function number(x) {
52
52
  return !!x;
53
53
  },
54
- "null": function _null(x) {
54
+ null: function _null(x) {
55
55
  return false;
56
56
  },
57
57
  BigNumber: function BigNumber(x) {
@@ -23,15 +23,15 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
23
23
  /**
24
24
  * Attach type information
25
25
  */
26
- _complex["default"].prototype.type = 'Complex';
27
- _complex["default"].prototype.isComplex = true;
26
+ _complex.default.prototype.type = 'Complex';
27
+ _complex.default.prototype.isComplex = true;
28
28
  /**
29
29
  * Get a JSON representation of the complex number
30
30
  * @returns {Object} Returns a JSON object structured as:
31
31
  * `{"mathjs": "Complex", "re": 2, "im": 3}`
32
32
  */
33
33
 
34
- _complex["default"].prototype.toJSON = function () {
34
+ _complex.default.prototype.toJSON = function () {
35
35
  return {
36
36
  mathjs: 'Complex',
37
37
  re: this.re,
@@ -45,7 +45,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
45
45
  */
46
46
 
47
47
 
48
- _complex["default"].prototype.toPolar = function () {
48
+ _complex.default.prototype.toPolar = function () {
49
49
  return {
50
50
  r: this.abs(),
51
51
  phi: this.arg()
@@ -62,7 +62,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
62
62
  */
63
63
 
64
64
 
65
- _complex["default"].prototype.format = function (options) {
65
+ _complex.default.prototype.format = function (options) {
66
66
  var str = '';
67
67
  var im = this.im;
68
68
  var re = this.re;
@@ -127,14 +127,14 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
127
127
  */
128
128
 
129
129
 
130
- _complex["default"].fromPolar = function (args) {
130
+ _complex.default.fromPolar = function (args) {
131
131
  switch (arguments.length) {
132
132
  case 1:
133
133
  {
134
134
  var arg = arguments[0];
135
135
 
136
- if ((0, _typeof2["default"])(arg) === 'object') {
137
- return (0, _complex["default"])(arg);
136
+ if ((0, _typeof2.default)(arg) === 'object') {
137
+ return (0, _complex.default)(arg);
138
138
  } else {
139
139
  throw new TypeError('Input has to be an object with r and phi keys.');
140
140
  }
@@ -152,7 +152,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
152
152
  }
153
153
 
154
154
  if ((0, _is.isNumber)(phi)) {
155
- return new _complex["default"]({
155
+ return new _complex.default({
156
156
  r: r,
157
157
  phi: phi
158
158
  });
@@ -169,7 +169,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
169
169
  }
170
170
  };
171
171
 
172
- _complex["default"].prototype.valueOf = _complex["default"].prototype.toString;
172
+ _complex.default.prototype.valueOf = _complex.default.prototype.toString;
173
173
  /**
174
174
  * Create a Complex number from a JSON object
175
175
  * @param {Object} json A JSON Object structured as
@@ -179,8 +179,8 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
179
179
  * @return {Complex} Returns a new Complex number
180
180
  */
181
181
 
182
- _complex["default"].fromJSON = function (json) {
183
- return new _complex["default"](json);
182
+ _complex.default.fromJSON = function (json) {
183
+ return new _complex.default(json);
184
184
  };
185
185
  /**
186
186
  * Compare two complex numbers, `a` and `b`:
@@ -199,7 +199,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
199
199
  */
200
200
 
201
201
 
202
- _complex["default"].compare = function (a, b) {
202
+ _complex.default.compare = function (a, b) {
203
203
  if (a.re > b.re) {
204
204
  return 1;
205
205
  }
@@ -219,7 +219,7 @@ var createComplexClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies
219
219
  return 0;
220
220
  };
221
221
 
222
- return _complex["default"];
222
+ return _complex.default;
223
223
  }, {
224
224
  isClass: true
225
225
  });
@@ -76,7 +76,7 @@ var createComplex = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fun
76
76
  string: function string(x) {
77
77
  return Complex(x); // for example '2 + 3i'
78
78
  },
79
- "null": function _null(x) {
79
+ null: function _null(x) {
80
80
  return Complex(0);
81
81
  },
82
82
  Object: function Object(x) {
@@ -17,15 +17,15 @@ var createFractionClass = /* #__PURE__ */(0, _factory.factory)(name, dependencie
17
17
  /**
18
18
  * Attach type information
19
19
  */
20
- _fraction["default"].prototype.type = 'Fraction';
21
- _fraction["default"].prototype.isFraction = true;
20
+ _fraction.default.prototype.type = 'Fraction';
21
+ _fraction.default.prototype.isFraction = true;
22
22
  /**
23
23
  * Get a JSON representation of a Fraction containing type information
24
24
  * @returns {Object} Returns a JSON object structured as:
25
25
  * `{"mathjs": "Fraction", "n": 3, "d": 8}`
26
26
  */
27
27
 
28
- _fraction["default"].prototype.toJSON = function () {
28
+ _fraction.default.prototype.toJSON = function () {
29
29
  return {
30
30
  mathjs: 'Fraction',
31
31
  n: this.s * this.n,
@@ -40,11 +40,11 @@ var createFractionClass = /* #__PURE__ */(0, _factory.factory)(name, dependencie
40
40
  */
41
41
 
42
42
 
43
- _fraction["default"].fromJSON = function (json) {
44
- return new _fraction["default"](json);
43
+ _fraction.default.fromJSON = function (json) {
44
+ return new _fraction.default(json);
45
45
  };
46
46
 
47
- return _fraction["default"];
47
+ return _fraction.default;
48
48
  }, {
49
49
  isClass: true
50
50
  });
@@ -54,7 +54,7 @@ var createFraction = /* #__PURE__ */(0, _factory.factory)(name, dependencies, fu
54
54
  'number, number': function numberNumber(numerator, denominator) {
55
55
  return new Fraction(numerator, denominator);
56
56
  },
57
- "null": function _null(x) {
57
+ null: function _null(x) {
58
58
  return new Fraction(0);
59
59
  },
60
60
  BigNumber: function BigNumber(x) {
@@ -23,7 +23,7 @@ var _DimensionError = require("../../error/DimensionError.js");
23
23
 
24
24
  var _factory = require("../../utils/factory.js");
25
25
 
26
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
26
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
27
27
 
28
28
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
29
 
@@ -648,15 +648,15 @@ var createDenseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependen
648
648
  */
649
649
 
650
650
 
651
- DenseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
651
+ DenseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator.default.mark(function _callee() {
652
652
  var recurse;
653
- return _regenerator["default"].wrap(function _callee$(_context2) {
653
+ return _regenerator.default.wrap(function _callee$(_context2) {
654
654
  while (1) {
655
655
  switch (_context2.prev = _context2.next) {
656
656
  case 0:
657
- recurse = /*#__PURE__*/_regenerator["default"].mark(function recurse(value, index) {
657
+ recurse = /*#__PURE__*/_regenerator.default.mark(function recurse(value, index) {
658
658
  var i;
659
- return _regenerator["default"].wrap(function recurse$(_context) {
659
+ return _regenerator.default.wrap(function recurse$(_context) {
660
660
  while (1) {
661
661
  switch (_context.prev = _context.next) {
662
662
  case 0:
@@ -1087,9 +1087,9 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
1087
1087
  */
1088
1088
 
1089
1089
 
1090
- SparseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
1090
+ SparseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator.default.mark(function _callee() {
1091
1091
  var columns, j, k0, k1, k, i;
1092
- return _regenerator["default"].wrap(function _callee$(_context) {
1092
+ return _regenerator.default.wrap(function _callee$(_context) {
1093
1093
  while (1) {
1094
1094
  switch (_context.prev = _context.next) {
1095
1095
  case 0:
@@ -147,7 +147,7 @@ var createNumber = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
147
147
  Unit: function Unit(x) {
148
148
  throw new Error('Second argument with valueless unit expected');
149
149
  },
150
- "null": function _null(x) {
150
+ null: function _null(x) {
151
151
  return 0;
152
152
  },
153
153
  'Unit, string | Unit': function UnitStringUnit(unit, valuelessUnit) {
@@ -46,10 +46,10 @@ var createString = /* #__PURE__ */(0, _factory.factory)(name, dependencies, func
46
46
  return '';
47
47
  },
48
48
  number: _number.format,
49
- "null": function _null(x) {
49
+ null: function _null(x) {
50
50
  return 'null';
51
51
  },
52
- "boolean": function boolean(x) {
52
+ boolean: function boolean(x) {
53
53
  return x + '';
54
54
  },
55
55
  string: function string(x) {
@@ -27,7 +27,7 @@ var _constants = require("../../utils/bignumber/constants.js");
27
27
 
28
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
29
 
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
31
 
32
32
  var name = 'Unit';
33
33
  var dependencies = ['?on', 'config', 'addScalar', 'subtract', 'multiplyScalar', 'divideScalar', 'pow', 'abs', 'fix', 'round', 'equal', 'isNumeric', 'format', 'number', 'Complex', 'BigNumber', 'Fraction'];
@@ -1951,9 +1951,9 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
1951
1951
  }
1952
1952
  }
1953
1953
  };
1954
- PREFIXES.SHORTLONG = (0, _extends2["default"])({}, PREFIXES.SHORT, PREFIXES.LONG);
1955
- PREFIXES.BINARY_SHORT = (0, _extends2["default"])({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);
1956
- PREFIXES.BINARY_LONG = (0, _extends2["default"])({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);
1954
+ PREFIXES.SHORTLONG = (0, _extends2.default)({}, PREFIXES.SHORT, PREFIXES.LONG);
1955
+ PREFIXES.BINARY_SHORT = (0, _extends2.default)({}, PREFIXES.BINARY_SHORT_SI, PREFIXES.BINARY_SHORT_IEC);
1956
+ PREFIXES.BINARY_LONG = (0, _extends2.default)({}, PREFIXES.BINARY_LONG_SI, PREFIXES.BINARY_LONG_IEC);
1957
1957
  /* Internally, each unit is represented by a value and a dimension array. The elements of the dimensions array have the following meaning:
1958
1958
  * Index Dimension
1959
1959
  * ----- ---------
@@ -2137,7 +2137,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
2137
2137
  value: 1,
2138
2138
  offset: 0
2139
2139
  },
2140
- "in": {
2140
+ in: {
2141
2141
  name: 'in',
2142
2142
  base: BASE_UNITS.LENGTH,
2143
2143
  prefixes: PREFIXES.NONE,
@@ -3401,7 +3401,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
3401
3401
  electronvolts: 'electronvolt',
3402
3402
  moles: 'mole',
3403
3403
  bit: 'bits',
3404
- "byte": 'bytes'
3404
+ byte: 'bytes'
3405
3405
  };
3406
3406
  /**
3407
3407
  * Calculate the values for the angle units.
@@ -3745,7 +3745,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
3745
3745
 
3746
3746
 
3747
3747
  Unit.createUnit = function (obj, options) {
3748
- if ((0, _typeof2["default"])(obj) !== 'object') {
3748
+ if ((0, _typeof2.default)(obj) !== 'object') {
3749
3749
  throw new TypeError("createUnit expects first parameter to be of type 'Object'");
3750
3750
  } // Remove all units and aliases we are overriding
3751
3751
 
@@ -3835,7 +3835,7 @@ var createUnitClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
3835
3835
  if (obj !== '') {
3836
3836
  definition = obj;
3837
3837
  }
3838
- } else if ((0, _typeof2["default"])(obj) === 'object') {
3838
+ } else if ((0, _typeof2.default)(obj) === 'object') {
3839
3839
  definition = obj.definition;
3840
3840
  prefixes = obj.prefixes;
3841
3841
  offset = obj.offset;
@@ -78,7 +78,7 @@ function hasSafeProperty(object, prop) {
78
78
 
79
79
 
80
80
  function isSafeProperty(object, prop) {
81
- if (!object || (0, _typeof2["default"])(object) !== 'object') {
81
+ if (!object || (0, _typeof2.default)(object) !== 'object') {
82
82
  return false;
83
83
  } // SAFE: whitelisted
84
84
  // e.g length
@@ -171,7 +171,7 @@ function isSafeMethod(object, method) {
171
171
  }
172
172
 
173
173
  function isPlainObject(object) {
174
- return (0, _typeof2["default"])(object) === 'object' && object && object.constructor === Object;
174
+ return (0, _typeof2.default)(object) === 'object' && object && object.constructor === Object;
175
175
  }
176
176
 
177
177
  var safeNativeProperties = {
@@ -16,7 +16,7 @@ var _tinyEmitter = _interopRequireDefault(require("tiny-emitter"));
16
16
  */
17
17
  function mixin(obj) {
18
18
  // create event emitter
19
- var emitter = new _tinyEmitter["default"](); // bind methods to obj (we don't want to expose the emitter.e Array...)
19
+ var emitter = new _tinyEmitter.default(); // bind methods to obj (we don't want to expose the emitter.e Array...)
20
20
 
21
21
  obj.on = emitter.on.bind(emitter);
22
22
  obj.off = emitter.off.bind(emitter);
@@ -38,7 +38,7 @@ function memoize(fn) {
38
38
  limit = limit == null ? Number.POSITIVE_INFINITY : limit;
39
39
  hasher = hasher == null ? JSON.stringify : hasher;
40
40
  return function memoize() {
41
- if ((0, _typeof2["default"])(memoize.cache) !== 'object') {
41
+ if ((0, _typeof2.default)(memoize.cache) !== 'object') {
42
42
  memoize.cache = {
43
43
  values: new Map(),
44
44
  lru: (0, _lruQueue.lruQueue)(limit || Number.POSITIVE_INFINITY)
@@ -60,7 +60,7 @@ function memoize(fn) {
60
60
 
61
61
  var newVal = fn.apply(fn, args);
62
62
  memoize.cache.values.set(hash, newVal);
63
- memoize.cache.values["delete"](memoize.cache.lru.hit(hash));
63
+ memoize.cache.values.delete(memoize.cache.lru.hit(hash));
64
64
  return newVal;
65
65
  };
66
66
  }
@@ -65,11 +65,11 @@ function isNumber(x) {
65
65
  }
66
66
 
67
67
  function isBigNumber(x) {
68
- if (!x || (0, _typeof2["default"])(x) !== 'object' || typeof x.constructor !== 'function') {
68
+ if (!x || (0, _typeof2.default)(x) !== 'object' || typeof x.constructor !== 'function') {
69
69
  return false;
70
70
  }
71
71
 
72
- if (x.isBigNumber === true && (0, _typeof2["default"])(x.constructor.prototype) === 'object' && x.constructor.prototype.isBigNumber === true) {
72
+ if (x.isBigNumber === true && (0, _typeof2.default)(x.constructor.prototype) === 'object' && x.constructor.prototype.isBigNumber === true) {
73
73
  return true;
74
74
  }
75
75
 
@@ -81,11 +81,11 @@ function isBigNumber(x) {
81
81
  }
82
82
 
83
83
  function isComplex(x) {
84
- return x && (0, _typeof2["default"])(x) === 'object' && Object.getPrototypeOf(x).isComplex === true || false;
84
+ return x && (0, _typeof2.default)(x) === 'object' && Object.getPrototypeOf(x).isComplex === true || false;
85
85
  }
86
86
 
87
87
  function isFraction(x) {
88
- return x && (0, _typeof2["default"])(x) === 'object' && Object.getPrototypeOf(x).isFraction === true || false;
88
+ return x && (0, _typeof2.default)(x) === 'object' && Object.getPrototypeOf(x).isFraction === true || false;
89
89
  }
90
90
 
91
91
  function isUnit(x) {
@@ -154,7 +154,7 @@ function isRegExp(x) {
154
154
  }
155
155
 
156
156
  function isObject(x) {
157
- return !!(x && (0, _typeof2["default"])(x) === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
157
+ return !!(x && (0, _typeof2.default)(x) === 'object' && x.constructor === Object && !isComplex(x) && !isFraction(x));
158
158
  }
159
159
 
160
160
  function isNull(x) {
@@ -230,7 +230,7 @@ function isChain(x) {
230
230
  }
231
231
 
232
232
  function typeOf(x) {
233
- var t = (0, _typeof2["default"])(x);
233
+ var t = (0, _typeof2.default)(x);
234
234
 
235
235
  if (t === 'object') {
236
236
  // JavaScript types
@@ -73,8 +73,8 @@ var latexSymbols = {
73
73
  Omega: '\\Omega',
74
74
  omega: '\\omega',
75
75
  // logic
76
- "true": '\\mathrm{True}',
77
- "false": '\\mathrm{False}',
76
+ true: '\\mathrm{True}',
77
+ false: '\\mathrm{False}',
78
78
  // other
79
79
  i: 'i',
80
80
  // TODO use \i ??
@@ -475,7 +475,7 @@ var latexUnits = {
475
475
  };
476
476
 
477
477
  function escapeLatex(string) {
478
- return (0, _escapeLatex["default"])(string, {
478
+ return (0, _escapeLatex.default)(string, {
479
479
  preserveFormatting: true
480
480
  });
481
481
  } // @param {string} name
@@ -59,7 +59,7 @@ function lruQueue(limit) {
59
59
 
60
60
  return undefined;
61
61
  },
62
- "delete": del,
62
+ delete: del,
63
63
  clear: function clear() {
64
64
  size = index = 0;
65
65
  base = 1;
@@ -20,7 +20,7 @@ var _customs = require("./customs.js");
20
20
 
21
21
  var _is = require("./is.js");
22
22
 
23
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
24
24
 
25
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
26
 
@@ -36,11 +36,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
36
36
  */
37
37
  var ObjectWrappingMap = /*#__PURE__*/function () {
38
38
  function ObjectWrappingMap(object) {
39
- (0, _classCallCheck2["default"])(this, ObjectWrappingMap);
39
+ (0, _classCallCheck2.default)(this, ObjectWrappingMap);
40
40
  this.wrappedObject = object;
41
41
  }
42
42
 
43
- (0, _createClass2["default"])(ObjectWrappingMap, [{
43
+ (0, _createClass2.default)(ObjectWrappingMap, [{
44
44
  key: "keys",
45
45
  value: function keys() {
46
46
  return Object.keys(this.wrappedObject);