mathjs 10.6.3 → 11.0.1

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 (451) hide show
  1. package/HISTORY.md +74 -1
  2. package/README.md +1 -1
  3. package/lib/browser/math.js +2 -41
  4. package/lib/browser/math.js.LICENSE.txt +43 -0
  5. package/lib/browser/math.js.map +1 -1
  6. package/lib/cjs/core/create.js +6 -5
  7. package/lib/cjs/core/function/import.js +4 -14
  8. package/lib/cjs/core/function/typed.js +54 -12
  9. package/lib/cjs/defaultInstance.js +3 -3
  10. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  11. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  12. package/lib/cjs/entry/configReadonly.js +1 -1
  13. package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +3 -0
  14. package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +3 -0
  15. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +3 -0
  16. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +3 -0
  17. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +3 -0
  18. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +56 -0
  19. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +6 -0
  20. package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +3 -0
  21. package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +3 -0
  22. package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +3 -0
  23. package/lib/cjs/entry/dependenciesAny.generated.js +8 -0
  24. package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +3 -0
  25. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +3 -0
  26. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +3 -0
  27. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +3 -0
  28. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +50 -0
  29. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +6 -0
  30. package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +3 -0
  31. package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +3 -0
  32. package/lib/cjs/entry/dependenciesNumber.generated.js +8 -0
  33. package/lib/cjs/entry/impureFunctionsAny.generated.js +87 -61
  34. package/lib/cjs/entry/impureFunctionsNumber.generated.js +93 -69
  35. package/lib/cjs/entry/pureFunctionsAny.generated.js +50 -45
  36. package/lib/cjs/entry/pureFunctionsNumber.generated.js +22 -19
  37. package/lib/cjs/expression/Parser.js +1 -1
  38. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -5
  39. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +15 -0
  40. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
  41. package/lib/cjs/expression/node/AccessorNode.js +216 -173
  42. package/lib/cjs/expression/node/ArrayNode.js +206 -160
  43. package/lib/cjs/expression/node/AssignmentNode.js +321 -270
  44. package/lib/cjs/expression/node/BlockNode.js +223 -172
  45. package/lib/cjs/expression/node/ConditionalNode.js +253 -193
  46. package/lib/cjs/expression/node/ConstantNode.js +216 -171
  47. package/lib/cjs/expression/node/FunctionAssignmentNode.js +258 -196
  48. package/lib/cjs/expression/node/FunctionNode.js +456 -416
  49. package/lib/cjs/expression/node/IndexNode.js +256 -210
  50. package/lib/cjs/expression/node/Node.js +411 -378
  51. package/lib/cjs/expression/node/ObjectNode.js +223 -178
  52. package/lib/cjs/expression/node/OperatorNode.js +474 -397
  53. package/lib/cjs/expression/node/ParenthesisNode.js +189 -143
  54. package/lib/cjs/expression/node/RangeNode.js +272 -224
  55. package/lib/cjs/expression/node/RelationalNode.js +246 -195
  56. package/lib/cjs/expression/node/SymbolNode.js +219 -172
  57. package/lib/cjs/expression/node/utils/access.js +1 -1
  58. package/lib/cjs/expression/node/utils/assign.js +1 -1
  59. package/lib/cjs/expression/operators.js +117 -23
  60. package/lib/cjs/expression/parse.js +37 -19
  61. package/lib/cjs/expression/transform/std.transform.js +3 -1
  62. package/lib/cjs/factoriesAny.js +8 -0
  63. package/lib/cjs/factoriesNumber.js +10 -1
  64. package/lib/cjs/function/algebra/decomposition/qr.js +1 -1
  65. package/lib/cjs/function/algebra/derivative.js +25 -33
  66. package/lib/cjs/function/algebra/leafCount.js +0 -3
  67. package/lib/cjs/function/algebra/rationalize.js +78 -108
  68. package/lib/cjs/function/algebra/resolve.js +53 -16
  69. package/lib/cjs/function/algebra/simplify/util.js +1 -1
  70. package/lib/cjs/function/algebra/simplify.js +90 -115
  71. package/lib/cjs/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +44 -10
  72. package/lib/cjs/function/algebra/simplifyCore.js +196 -93
  73. package/lib/cjs/function/algebra/solver/lsolveAll.js +2 -2
  74. package/lib/cjs/function/algebra/solver/usolveAll.js +2 -2
  75. package/lib/cjs/function/algebra/symbolicEqual.js +14 -32
  76. package/lib/cjs/function/arithmetic/abs.js +7 -14
  77. package/lib/cjs/function/arithmetic/add.js +26 -70
  78. package/lib/cjs/function/arithmetic/addScalar.js +17 -9
  79. package/lib/cjs/function/arithmetic/cbrt.js +7 -11
  80. package/lib/cjs/function/arithmetic/ceil.js +56 -46
  81. package/lib/cjs/function/arithmetic/cube.js +5 -10
  82. package/lib/cjs/function/arithmetic/divide.js +7 -7
  83. package/lib/cjs/function/arithmetic/divideScalar.js +4 -18
  84. package/lib/cjs/function/arithmetic/dotDivide.js +22 -65
  85. package/lib/cjs/function/arithmetic/dotMultiply.js +16 -61
  86. package/lib/cjs/function/arithmetic/dotPow.js +30 -63
  87. package/lib/cjs/function/arithmetic/exp.js +8 -12
  88. package/lib/cjs/function/arithmetic/expm1.js +10 -10
  89. package/lib/cjs/function/arithmetic/fix.js +34 -28
  90. package/lib/cjs/function/arithmetic/floor.js +57 -47
  91. package/lib/cjs/function/arithmetic/gcd.js +27 -68
  92. package/lib/cjs/function/arithmetic/hypot.js +9 -5
  93. package/lib/cjs/function/arithmetic/invmod.js +2 -2
  94. package/lib/cjs/function/arithmetic/lcm.js +27 -68
  95. package/lib/cjs/function/arithmetic/log.js +10 -12
  96. package/lib/cjs/function/arithmetic/log10.js +5 -3
  97. package/lib/cjs/function/arithmetic/log1p.js +11 -7
  98. package/lib/cjs/function/arithmetic/log2.js +5 -3
  99. package/lib/cjs/function/arithmetic/mod.js +22 -64
  100. package/lib/cjs/function/arithmetic/multiply.js +40 -35
  101. package/lib/cjs/function/arithmetic/multiplyScalar.js +2 -9
  102. package/lib/cjs/function/arithmetic/norm.js +1 -5
  103. package/lib/cjs/function/arithmetic/nthRoot.js +83 -95
  104. package/lib/cjs/function/arithmetic/nthRoots.js +2 -2
  105. package/lib/cjs/function/arithmetic/round.js +56 -42
  106. package/lib/cjs/function/arithmetic/sign.js +14 -10
  107. package/lib/cjs/function/arithmetic/sqrt.js +5 -9
  108. package/lib/cjs/function/arithmetic/square.js +6 -10
  109. package/lib/cjs/function/arithmetic/subtract.js +44 -100
  110. package/lib/cjs/function/arithmetic/unaryMinus.js +14 -16
  111. package/lib/cjs/function/arithmetic/unaryPlus.js +6 -4
  112. package/lib/cjs/function/bitwise/bitAnd.js +17 -61
  113. package/lib/cjs/function/bitwise/bitNot.js +6 -4
  114. package/lib/cjs/function/bitwise/bitOr.js +16 -60
  115. package/lib/cjs/function/bitwise/bitXor.js +17 -61
  116. package/lib/cjs/function/bitwise/leftShift.js +69 -82
  117. package/lib/cjs/function/bitwise/rightArithShift.js +69 -82
  118. package/lib/cjs/function/bitwise/rightLogShift.js +69 -82
  119. package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +36 -0
  120. package/lib/cjs/function/complex/arg.js +5 -3
  121. package/lib/cjs/function/complex/conj.js +6 -7
  122. package/lib/cjs/function/complex/im.js +7 -8
  123. package/lib/cjs/function/complex/re.js +6 -10
  124. package/lib/cjs/function/geometry/distance.js +2 -2
  125. package/lib/cjs/function/logical/and.js +74 -80
  126. package/lib/cjs/function/logical/not.js +13 -6
  127. package/lib/cjs/function/logical/or.js +21 -63
  128. package/lib/cjs/function/logical/xor.js +21 -63
  129. package/lib/cjs/function/matrix/diff.js +11 -8
  130. package/lib/cjs/function/matrix/eigs/complexEigs.js +5 -5
  131. package/lib/cjs/function/matrix/fft.js +2 -2
  132. package/lib/cjs/function/matrix/matrixFromColumns.js +1 -1
  133. package/lib/cjs/function/matrix/matrixFromRows.js +1 -1
  134. package/lib/cjs/function/matrix/ones.js +2 -1
  135. package/lib/cjs/function/matrix/rotate.js +5 -5
  136. package/lib/cjs/function/matrix/sqrtm.js +3 -2
  137. package/lib/cjs/function/matrix/transpose.js +47 -48
  138. package/lib/cjs/function/matrix/zeros.js +2 -1
  139. package/lib/cjs/function/probability/factorial.js +5 -3
  140. package/lib/cjs/function/probability/gamma.js +38 -40
  141. package/lib/cjs/function/probability/kldivergence.js +5 -2
  142. package/lib/cjs/function/probability/lgamma.js +30 -30
  143. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  144. package/lib/cjs/function/relational/compare.js +21 -67
  145. package/lib/cjs/function/relational/compareNatural.js +59 -54
  146. package/lib/cjs/function/relational/compareText.js +10 -43
  147. package/lib/cjs/function/relational/compareUnits.js +24 -0
  148. package/lib/cjs/function/relational/equal.js +19 -80
  149. package/lib/cjs/function/relational/equalScalar.js +7 -9
  150. package/lib/cjs/function/relational/larger.js +21 -67
  151. package/lib/cjs/function/relational/largerEq.js +21 -67
  152. package/lib/cjs/function/relational/smaller.js +21 -67
  153. package/lib/cjs/function/relational/smallerEq.js +21 -67
  154. package/lib/cjs/function/relational/unequal.js +19 -80
  155. package/lib/cjs/function/special/erf.js +5 -3
  156. package/lib/cjs/function/statistics/std.js +11 -2
  157. package/lib/cjs/function/string/format.js +2 -2
  158. package/lib/cjs/function/string/hex.js +1 -2
  159. package/lib/cjs/function/trigonometry/acos.js +4 -8
  160. package/lib/cjs/function/trigonometry/acosh.js +2 -7
  161. package/lib/cjs/function/trigonometry/acot.js +6 -11
  162. package/lib/cjs/function/trigonometry/acoth.js +4 -8
  163. package/lib/cjs/function/trigonometry/acsc.js +6 -11
  164. package/lib/cjs/function/trigonometry/acsch.js +4 -8
  165. package/lib/cjs/function/trigonometry/asec.js +6 -10
  166. package/lib/cjs/function/trigonometry/asech.js +4 -8
  167. package/lib/cjs/function/trigonometry/asin.js +5 -10
  168. package/lib/cjs/function/trigonometry/asinh.js +4 -9
  169. package/lib/cjs/function/trigonometry/atan.js +5 -11
  170. package/lib/cjs/function/trigonometry/atan2.js +25 -63
  171. package/lib/cjs/function/trigonometry/atanh.js +4 -9
  172. package/lib/cjs/function/trigonometry/cos.js +11 -20
  173. package/lib/cjs/function/trigonometry/cosh.js +5 -19
  174. package/lib/cjs/function/trigonometry/cot.js +9 -15
  175. package/lib/cjs/function/trigonometry/coth.js +4 -15
  176. package/lib/cjs/function/trigonometry/csc.js +11 -17
  177. package/lib/cjs/function/trigonometry/csch.js +4 -15
  178. package/lib/cjs/function/trigonometry/sec.js +11 -17
  179. package/lib/cjs/function/trigonometry/sech.js +4 -15
  180. package/lib/cjs/function/trigonometry/sin.js +11 -21
  181. package/lib/cjs/function/trigonometry/sinh.js +5 -20
  182. package/lib/cjs/function/trigonometry/tan.js +11 -21
  183. package/lib/cjs/function/trigonometry/tanh.js +5 -20
  184. package/lib/cjs/function/trigonometry/trigUnit.js +24 -0
  185. package/lib/cjs/function/unit/to.js +7 -41
  186. package/lib/cjs/function/utils/clone.js +1 -1
  187. package/lib/cjs/function/utils/hasNumericValue.js +5 -1
  188. package/lib/cjs/function/utils/isInteger.js +6 -4
  189. package/lib/cjs/function/utils/isNaN.js +1 -1
  190. package/lib/cjs/function/utils/isNegative.js +11 -7
  191. package/lib/cjs/function/utils/isNumeric.js +6 -4
  192. package/lib/cjs/function/utils/isPositive.js +11 -7
  193. package/lib/cjs/function/utils/isPrime.js +5 -3
  194. package/lib/cjs/function/utils/isZero.js +21 -17
  195. package/lib/cjs/function/utils/numeric.js +11 -4
  196. package/lib/cjs/function/utils/typeOf.js +38 -44
  197. package/lib/cjs/header.js +2 -2
  198. package/lib/cjs/plain/bignumber/index.js +1 -1
  199. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  200. package/lib/cjs/type/bignumber/function/bignumber.js +6 -4
  201. package/lib/cjs/type/boolean.js +7 -5
  202. package/lib/cjs/type/chain/Chain.js +23 -3
  203. package/lib/cjs/type/complex/Complex.js +18 -14
  204. package/lib/cjs/type/complex/function/complex.js +6 -4
  205. package/lib/cjs/type/fraction/Fraction.js +10 -6
  206. package/lib/cjs/type/fraction/function/fraction.js +6 -4
  207. package/lib/cjs/type/matrix/DenseMatrix.js +21 -6
  208. package/lib/cjs/type/matrix/SparseMatrix.js +12 -2
  209. package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +4 -4
  210. package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +5 -5
  211. package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +5 -5
  212. package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +7 -7
  213. package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +5 -5
  214. package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +5 -5
  215. package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +5 -5
  216. package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +6 -6
  217. package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +5 -5
  218. package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +5 -5
  219. package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +5 -5
  220. package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +5 -5
  221. package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +5 -5
  222. package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +5 -5
  223. package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +238 -0
  224. package/lib/cjs/type/number.js +6 -4
  225. package/lib/cjs/type/string.js +7 -5
  226. package/lib/cjs/type/unit/Unit.js +69 -21
  227. package/lib/cjs/type/unit/function/createUnit.js +2 -1
  228. package/lib/cjs/type/unit/function/unit.js +9 -3
  229. package/lib/cjs/utils/customs.js +2 -2
  230. package/lib/cjs/utils/emitter.js +1 -1
  231. package/lib/cjs/utils/function.js +2 -2
  232. package/lib/cjs/utils/is.js +27 -25
  233. package/lib/cjs/utils/latex.js +3 -3
  234. package/lib/cjs/utils/lruQueue.js +1 -1
  235. package/lib/cjs/utils/map.js +3 -3
  236. package/lib/cjs/utils/object.js +2 -2
  237. package/lib/cjs/utils/snapshot.js +30 -57
  238. package/lib/cjs/utils/string.js +3 -3
  239. package/lib/cjs/version.js +1 -1
  240. package/lib/esm/core/create.js +2 -1
  241. package/lib/esm/core/function/import.js +2 -12
  242. package/lib/esm/core/function/typed.js +47 -11
  243. package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
  244. package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
  245. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +2 -0
  246. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +2 -0
  247. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +2 -0
  248. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +34 -0
  249. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +4 -0
  250. package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
  251. package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
  252. package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
  253. package/lib/esm/entry/dependenciesAny.generated.js +1 -0
  254. package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
  255. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +2 -0
  256. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +2 -0
  257. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +2 -0
  258. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +30 -0
  259. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +4 -0
  260. package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
  261. package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
  262. package/lib/esm/entry/dependenciesNumber.generated.js +1 -0
  263. package/lib/esm/entry/impureFunctionsAny.generated.js +73 -48
  264. package/lib/esm/entry/impureFunctionsNumber.generated.js +81 -58
  265. package/lib/esm/entry/pureFunctionsAny.generated.js +39 -36
  266. package/lib/esm/entry/pureFunctionsNumber.generated.js +14 -13
  267. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -0
  268. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
  269. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +1 -1
  270. package/lib/esm/expression/node/AccessorNode.js +158 -153
  271. package/lib/esm/expression/node/ArrayNode.js +162 -154
  272. package/lib/esm/expression/node/AssignmentNode.js +257 -245
  273. package/lib/esm/expression/node/BlockNode.js +177 -163
  274. package/lib/esm/expression/node/ConditionalNode.js +197 -174
  275. package/lib/esm/expression/node/ConstantNode.js +171 -163
  276. package/lib/esm/expression/node/FunctionAssignmentNode.js +205 -180
  277. package/lib/esm/expression/node/FunctionNode.js +407 -407
  278. package/lib/esm/expression/node/IndexNode.js +206 -198
  279. package/lib/esm/expression/node/Node.js +325 -325
  280. package/lib/esm/expression/node/ObjectNode.js +166 -157
  281. package/lib/esm/expression/node/OperatorNode.js +414 -377
  282. package/lib/esm/expression/node/ParenthesisNode.js +146 -138
  283. package/lib/esm/expression/node/RangeNode.js +221 -212
  284. package/lib/esm/expression/node/RelationalNode.js +190 -176
  285. package/lib/esm/expression/node/SymbolNode.js +161 -152
  286. package/lib/esm/expression/operators.js +96 -4
  287. package/lib/esm/expression/parse.js +25 -7
  288. package/lib/esm/expression/transform/std.transform.js +3 -1
  289. package/lib/esm/factoriesAny.js +1 -0
  290. package/lib/esm/factoriesNumber.js +1 -0
  291. package/lib/esm/function/algebra/derivative.js +25 -33
  292. package/lib/esm/function/algebra/leafCount.js +0 -3
  293. package/lib/esm/function/algebra/rationalize.js +83 -114
  294. package/lib/esm/function/algebra/resolve.js +25 -16
  295. package/lib/esm/function/algebra/simplify.js +85 -113
  296. package/lib/esm/function/algebra/{simplify/simplifyConstant.js → simplifyConstant.js} +39 -9
  297. package/lib/esm/function/algebra/simplifyCore.js +192 -91
  298. package/lib/esm/function/algebra/symbolicEqual.js +14 -32
  299. package/lib/esm/function/arithmetic/abs.js +3 -16
  300. package/lib/esm/function/arithmetic/add.js +21 -65
  301. package/lib/esm/function/arithmetic/addScalar.js +11 -5
  302. package/lib/esm/function/arithmetic/cbrt.js +7 -10
  303. package/lib/esm/function/arithmetic/ceil.js +25 -25
  304. package/lib/esm/function/arithmetic/cube.js +5 -9
  305. package/lib/esm/function/arithmetic/divide.js +7 -7
  306. package/lib/esm/function/arithmetic/divideScalar.js +2 -19
  307. package/lib/esm/function/arithmetic/dotDivide.js +22 -64
  308. package/lib/esm/function/arithmetic/dotMultiply.js +16 -60
  309. package/lib/esm/function/arithmetic/dotPow.js +30 -62
  310. package/lib/esm/function/arithmetic/exp.js +8 -11
  311. package/lib/esm/function/arithmetic/expm1.js +10 -9
  312. package/lib/esm/function/arithmetic/fix.js +18 -18
  313. package/lib/esm/function/arithmetic/floor.js +26 -26
  314. package/lib/esm/function/arithmetic/gcd.js +26 -70
  315. package/lib/esm/function/arithmetic/hypot.js +7 -6
  316. package/lib/esm/function/arithmetic/invmod.js +1 -1
  317. package/lib/esm/function/arithmetic/lcm.js +26 -70
  318. package/lib/esm/function/arithmetic/log.js +7 -10
  319. package/lib/esm/function/arithmetic/log10.js +1 -3
  320. package/lib/esm/function/arithmetic/log1p.js +4 -6
  321. package/lib/esm/function/arithmetic/log2.js +1 -3
  322. package/lib/esm/function/arithmetic/mod.js +21 -62
  323. package/lib/esm/function/arithmetic/multiply.js +23 -27
  324. package/lib/esm/function/arithmetic/multiplyScalar.js +2 -13
  325. package/lib/esm/function/arithmetic/norm.js +0 -4
  326. package/lib/esm/function/arithmetic/nthRoot.js +41 -76
  327. package/lib/esm/function/arithmetic/nthRoots.js +2 -2
  328. package/lib/esm/function/arithmetic/round.js +26 -28
  329. package/lib/esm/function/arithmetic/sign.js +5 -7
  330. package/lib/esm/function/arithmetic/sqrt.js +5 -8
  331. package/lib/esm/function/arithmetic/square.js +6 -9
  332. package/lib/esm/function/arithmetic/subtract.js +31 -95
  333. package/lib/esm/function/arithmetic/unaryMinus.js +6 -16
  334. package/lib/esm/function/arithmetic/unaryPlus.js +2 -4
  335. package/lib/esm/function/bitwise/bitAnd.js +16 -59
  336. package/lib/esm/function/bitwise/bitNot.js +2 -4
  337. package/lib/esm/function/bitwise/bitOr.js +16 -59
  338. package/lib/esm/function/bitwise/bitXor.js +16 -59
  339. package/lib/esm/function/bitwise/leftShift.js +39 -61
  340. package/lib/esm/function/bitwise/rightArithShift.js +39 -61
  341. package/lib/esm/function/bitwise/rightLogShift.js +39 -61
  342. package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
  343. package/lib/esm/function/complex/arg.js +1 -3
  344. package/lib/esm/function/complex/conj.js +3 -12
  345. package/lib/esm/function/complex/im.js +4 -15
  346. package/lib/esm/function/complex/re.js +3 -15
  347. package/lib/esm/function/geometry/distance.js +2 -2
  348. package/lib/esm/function/logical/and.js +35 -57
  349. package/lib/esm/function/logical/not.js +3 -6
  350. package/lib/esm/function/logical/or.js +16 -61
  351. package/lib/esm/function/logical/xor.js +16 -61
  352. package/lib/esm/function/matrix/diff.js +3 -8
  353. package/lib/esm/function/matrix/ones.js +2 -1
  354. package/lib/esm/function/matrix/rotate.js +5 -5
  355. package/lib/esm/function/matrix/sqrtm.js +3 -2
  356. package/lib/esm/function/matrix/transpose.js +47 -50
  357. package/lib/esm/function/matrix/zeros.js +2 -1
  358. package/lib/esm/function/probability/factorial.js +1 -3
  359. package/lib/esm/function/probability/gamma.js +38 -39
  360. package/lib/esm/function/probability/kldivergence.js +3 -2
  361. package/lib/esm/function/probability/lgamma.js +29 -29
  362. package/lib/esm/function/relational/compare.js +21 -67
  363. package/lib/esm/function/relational/compareNatural.js +54 -49
  364. package/lib/esm/function/relational/compareText.js +10 -42
  365. package/lib/esm/function/relational/compareUnits.js +15 -0
  366. package/lib/esm/function/relational/equal.js +19 -79
  367. package/lib/esm/function/relational/equalScalar.js +6 -9
  368. package/lib/esm/function/relational/larger.js +23 -73
  369. package/lib/esm/function/relational/largerEq.js +23 -73
  370. package/lib/esm/function/relational/smaller.js +23 -73
  371. package/lib/esm/function/relational/smallerEq.js +23 -73
  372. package/lib/esm/function/relational/unequal.js +19 -79
  373. package/lib/esm/function/special/erf.js +1 -3
  374. package/lib/esm/function/statistics/std.js +10 -2
  375. package/lib/esm/function/string/format.js +2 -2
  376. package/lib/esm/function/string/hex.js +1 -2
  377. package/lib/esm/function/trigonometry/acos.js +4 -7
  378. package/lib/esm/function/trigonometry/acosh.js +2 -6
  379. package/lib/esm/function/trigonometry/acot.js +6 -10
  380. package/lib/esm/function/trigonometry/acoth.js +4 -7
  381. package/lib/esm/function/trigonometry/acsc.js +6 -10
  382. package/lib/esm/function/trigonometry/acsch.js +4 -7
  383. package/lib/esm/function/trigonometry/asec.js +6 -9
  384. package/lib/esm/function/trigonometry/asech.js +4 -7
  385. package/lib/esm/function/trigonometry/asin.js +5 -9
  386. package/lib/esm/function/trigonometry/asinh.js +4 -8
  387. package/lib/esm/function/trigonometry/atan.js +5 -10
  388. package/lib/esm/function/trigonometry/atan2.js +26 -65
  389. package/lib/esm/function/trigonometry/atanh.js +4 -8
  390. package/lib/esm/function/trigonometry/cos.js +11 -22
  391. package/lib/esm/function/trigonometry/cosh.js +5 -20
  392. package/lib/esm/function/trigonometry/cot.js +10 -20
  393. package/lib/esm/function/trigonometry/coth.js +6 -20
  394. package/lib/esm/function/trigonometry/csc.js +12 -22
  395. package/lib/esm/function/trigonometry/csch.js +6 -20
  396. package/lib/esm/function/trigonometry/sec.js +12 -22
  397. package/lib/esm/function/trigonometry/sech.js +6 -20
  398. package/lib/esm/function/trigonometry/sin.js +11 -23
  399. package/lib/esm/function/trigonometry/sinh.js +5 -21
  400. package/lib/esm/function/trigonometry/tan.js +11 -23
  401. package/lib/esm/function/trigonometry/tanh.js +5 -21
  402. package/lib/esm/function/trigonometry/trigUnit.js +15 -0
  403. package/lib/esm/function/unit/to.js +8 -43
  404. package/lib/esm/function/utils/clone.js +1 -1
  405. package/lib/esm/function/utils/hasNumericValue.js +3 -1
  406. package/lib/esm/function/utils/isInteger.js +2 -4
  407. package/lib/esm/function/utils/isNaN.js +1 -1
  408. package/lib/esm/function/utils/isNegative.js +3 -7
  409. package/lib/esm/function/utils/isNumeric.js +4 -10
  410. package/lib/esm/function/utils/isPositive.js +3 -7
  411. package/lib/esm/function/utils/isPrime.js +1 -3
  412. package/lib/esm/function/utils/isZero.js +13 -17
  413. package/lib/esm/function/utils/numeric.js +11 -4
  414. package/lib/esm/function/utils/typeOf.js +38 -44
  415. package/lib/esm/type/bignumber/function/bignumber.js +1 -3
  416. package/lib/esm/type/boolean.js +1 -3
  417. package/lib/esm/type/chain/Chain.js +23 -3
  418. package/lib/esm/type/complex/Complex.js +4 -0
  419. package/lib/esm/type/complex/function/complex.js +1 -3
  420. package/lib/esm/type/fraction/Fraction.js +4 -0
  421. package/lib/esm/type/fraction/function/fraction.js +1 -3
  422. package/lib/esm/type/matrix/DenseMatrix.js +15 -1
  423. package/lib/esm/type/matrix/SparseMatrix.js +9 -0
  424. package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +2 -2
  425. package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +3 -3
  426. package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +3 -3
  427. package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +5 -5
  428. package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +3 -3
  429. package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +3 -3
  430. package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +3 -3
  431. package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +4 -4
  432. package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +3 -3
  433. package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +3 -3
  434. package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +3 -3
  435. package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +3 -3
  436. package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +3 -3
  437. package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +3 -3
  438. package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +168 -0
  439. package/lib/esm/type/number.js +1 -3
  440. package/lib/esm/type/string.js +1 -3
  441. package/lib/esm/type/unit/Unit.js +61 -13
  442. package/lib/esm/type/unit/function/createUnit.js +2 -1
  443. package/lib/esm/type/unit/function/unit.js +5 -3
  444. package/lib/esm/utils/is.js +18 -18
  445. package/lib/esm/utils/snapshot.js +22 -48
  446. package/lib/esm/version.js +1 -1
  447. package/package.json +21 -24
  448. package/types/index.d.ts +215 -183
  449. package/types/index.ts +358 -144
  450. package/lib/cjs/utils/polyfills.js +0 -14
  451. package/lib/esm/utils/polyfills.js +0 -12
@@ -1,11 +1,11 @@
1
1
  import { nearlyEqual as bigNearlyEqual } from '../../utils/bignumber/nearlyEqual.js';
2
2
  import { nearlyEqual } from '../../utils/number.js';
3
3
  import { factory } from '../../utils/factory.js';
4
- import { createAlgorithm03 } from '../../type/matrix/utils/algorithm03.js';
5
- import { createAlgorithm07 } from '../../type/matrix/utils/algorithm07.js';
6
- import { createAlgorithm12 } from '../../type/matrix/utils/algorithm12.js';
7
- import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
8
- import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
4
+ import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
5
+ import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
6
+ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
7
+ import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
8
+ import { createCompareUnits } from './compareUnits.js';
9
9
  var name = 'smallerEq';
10
10
  var dependencies = ['typed', 'config', 'matrix', 'DenseMatrix'];
11
11
  export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref => {
@@ -15,21 +15,22 @@ export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref =>
15
15
  matrix,
16
16
  DenseMatrix
17
17
  } = _ref;
18
- var algorithm03 = createAlgorithm03({
18
+ var matAlgo03xDSf = createMatAlgo03xDSf({
19
19
  typed
20
20
  });
21
- var algorithm07 = createAlgorithm07({
21
+ var matAlgo07xSSf = createMatAlgo07xSSf({
22
22
  typed,
23
23
  DenseMatrix
24
24
  });
25
- var algorithm12 = createAlgorithm12({
25
+ var matAlgo12xSfs = createMatAlgo12xSfs({
26
26
  typed,
27
27
  DenseMatrix
28
28
  });
29
- var algorithm13 = createAlgorithm13({
30
- typed
29
+ var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
30
+ typed,
31
+ matrix
31
32
  });
32
- var algorithm14 = createAlgorithm14({
33
+ var compareUnits = createCompareUnits({
33
34
  typed
34
35
  });
35
36
  /**
@@ -60,74 +61,23 @@ export var createSmallerEq = /* #__PURE__ */factory(name, dependencies, _ref =>
60
61
  * @return {boolean | Array | Matrix} Returns true when the x is smaller than y, else returns false
61
62
  */
62
63
 
63
- return typed(name, {
64
- 'boolean, boolean': function booleanBoolean(x, y) {
65
- return x <= y;
66
- },
67
- 'number, number': function numberNumber(x, y) {
68
- return x <= y || nearlyEqual(x, y, config.epsilon);
69
- },
64
+ return typed(name, createSmallerEqNumber({
65
+ typed,
66
+ config
67
+ }), {
68
+ 'boolean, boolean': (x, y) => x <= y,
70
69
  'BigNumber, BigNumber': function BigNumberBigNumber(x, y) {
71
70
  return x.lte(y) || bigNearlyEqual(x, y, config.epsilon);
72
71
  },
73
- 'Fraction, Fraction': function FractionFraction(x, y) {
74
- return x.compare(y) !== 1;
75
- },
72
+ 'Fraction, Fraction': (x, y) => x.compare(y) !== 1,
76
73
  'Complex, Complex': function ComplexComplex() {
77
74
  throw new TypeError('No ordering relation is defined for complex numbers');
78
- },
79
- 'Unit, Unit': function UnitUnit(x, y) {
80
- if (!x.equalBase(y)) {
81
- throw new Error('Cannot compare units with different base');
82
- }
83
-
84
- return this(x.value, y.value);
85
- },
86
- 'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
87
- return algorithm07(x, y, this);
88
- },
89
- 'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
90
- return algorithm03(y, x, this, true);
91
- },
92
- 'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
93
- return algorithm03(x, y, this, false);
94
- },
95
- 'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
96
- return algorithm13(x, y, this);
97
- },
98
- 'Array, Array': function ArrayArray(x, y) {
99
- // use matrix implementation
100
- return this(matrix(x), matrix(y)).valueOf();
101
- },
102
- 'Array, Matrix': function ArrayMatrix(x, y) {
103
- // use matrix implementation
104
- return this(matrix(x), y);
105
- },
106
- 'Matrix, Array': function MatrixArray(x, y) {
107
- // use matrix implementation
108
- return this(x, matrix(y));
109
- },
110
- 'SparseMatrix, any': function SparseMatrixAny(x, y) {
111
- return algorithm12(x, y, this, false);
112
- },
113
- 'DenseMatrix, any': function DenseMatrixAny(x, y) {
114
- return algorithm14(x, y, this, false);
115
- },
116
- 'any, SparseMatrix': function anySparseMatrix(x, y) {
117
- return algorithm12(y, x, this, true);
118
- },
119
- 'any, DenseMatrix': function anyDenseMatrix(x, y) {
120
- return algorithm14(y, x, this, true);
121
- },
122
- 'Array, any': function ArrayAny(x, y) {
123
- // use matrix implementation
124
- return algorithm14(matrix(x), y, this, false).valueOf();
125
- },
126
- 'any, Array': function anyArray(x, y) {
127
- // use matrix implementation
128
- return algorithm14(matrix(y), x, this, true).valueOf();
129
75
  }
130
- });
76
+ }, compareUnits, matrixAlgorithmSuite({
77
+ SS: matAlgo07xSSf,
78
+ DS: matAlgo03xDSf,
79
+ Ss: matAlgo12xSfs
80
+ }));
131
81
  });
132
82
  export var createSmallerEqNumber = /* #__PURE__ */factory(name, ['typed', 'config'], _ref2 => {
133
83
  var {
@@ -1,9 +1,8 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { createAlgorithm03 } from '../../type/matrix/utils/algorithm03.js';
3
- import { createAlgorithm07 } from '../../type/matrix/utils/algorithm07.js';
4
- import { createAlgorithm12 } from '../../type/matrix/utils/algorithm12.js';
5
- import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
6
- import { createAlgorithm13 } from '../../type/matrix/utils/algorithm13.js';
2
+ import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
3
+ import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
4
+ import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
5
+ import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
7
6
  var name = 'unequal';
8
7
  var dependencies = ['typed', 'config', 'equalScalar', 'matrix', 'DenseMatrix'];
9
8
  export var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {
@@ -14,22 +13,20 @@ export var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {
14
13
  matrix,
15
14
  DenseMatrix
16
15
  } = _ref;
17
- var algorithm03 = createAlgorithm03({
16
+ var matAlgo03xDSf = createMatAlgo03xDSf({
18
17
  typed
19
18
  });
20
- var algorithm07 = createAlgorithm07({
19
+ var matAlgo07xSSf = createMatAlgo07xSSf({
21
20
  typed,
22
21
  DenseMatrix
23
22
  });
24
- var algorithm12 = createAlgorithm12({
23
+ var matAlgo12xSfs = createMatAlgo12xSfs({
25
24
  typed,
26
25
  DenseMatrix
27
26
  });
28
- var algorithm13 = createAlgorithm13({
29
- typed
30
- });
31
- var algorithm14 = createAlgorithm14({
32
- typed
27
+ var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
28
+ typed,
29
+ matrix
33
30
  });
34
31
  /**
35
32
  * Test whether two values are unequal.
@@ -75,72 +72,15 @@ export var createUnequal = /* #__PURE__ */factory(name, dependencies, _ref => {
75
72
  * @return {boolean | Array | Matrix} Returns true when the compared values are unequal, else returns false
76
73
  */
77
74
 
78
- return typed('unequal', {
79
- 'any, any': function anyAny(x, y) {
80
- // strict equality for null and undefined?
81
- if (x === null) {
82
- return y !== null;
83
- }
84
-
85
- if (y === null) {
86
- return x !== null;
87
- }
88
-
89
- if (x === undefined) {
90
- return y !== undefined;
91
- }
92
-
93
- if (y === undefined) {
94
- return x !== undefined;
95
- }
96
-
97
- return _unequal(x, y);
98
- },
99
- 'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
100
- return algorithm07(x, y, _unequal);
101
- },
102
- 'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
103
- return algorithm03(y, x, _unequal, true);
104
- },
105
- 'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
106
- return algorithm03(x, y, _unequal, false);
107
- },
108
- 'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
109
- return algorithm13(x, y, _unequal);
110
- },
111
- 'Array, Array': function ArrayArray(x, y) {
112
- // use matrix implementation
113
- return this(matrix(x), matrix(y)).valueOf();
114
- },
115
- 'Array, Matrix': function ArrayMatrix(x, y) {
116
- // use matrix implementation
117
- return this(matrix(x), y);
118
- },
119
- 'Matrix, Array': function MatrixArray(x, y) {
120
- // use matrix implementation
121
- return this(x, matrix(y));
122
- },
123
- 'SparseMatrix, any': function SparseMatrixAny(x, y) {
124
- return algorithm12(x, y, _unequal, false);
125
- },
126
- 'DenseMatrix, any': function DenseMatrixAny(x, y) {
127
- return algorithm14(x, y, _unequal, false);
128
- },
129
- 'any, SparseMatrix': function anySparseMatrix(x, y) {
130
- return algorithm12(y, x, _unequal, true);
131
- },
132
- 'any, DenseMatrix': function anyDenseMatrix(x, y) {
133
- return algorithm14(y, x, _unequal, true);
134
- },
135
- 'Array, any': function ArrayAny(x, y) {
136
- // use matrix implementation
137
- return algorithm14(matrix(x), y, _unequal, false).valueOf();
138
- },
139
- 'any, Array': function anyArray(x, y) {
140
- // use matrix implementation
141
- return algorithm14(matrix(y), x, _unequal, true).valueOf();
142
- }
143
- });
75
+ return typed(name, createUnequalNumber({
76
+ typed,
77
+ equalScalar
78
+ }), matrixAlgorithmSuite({
79
+ elop: _unequal,
80
+ SS: matAlgo07xSSf,
81
+ DS: matAlgo03xDSf,
82
+ Ss: matAlgo12xSfs
83
+ }));
144
84
 
145
85
  function _unequal(x, y) {
146
86
  return !equalScalar(x, y);
@@ -51,9 +51,7 @@ export var createErf = /* #__PURE__ */factory(name, dependencies, _ref => {
51
51
 
52
52
  return sign(x) * (1 - erfc3(y));
53
53
  },
54
- 'Array | Matrix': function ArrayMatrix(n) {
55
- return deepMap(n, this);
56
- } // TODO: For complex numbers, use the approximation for the Faddeeva function
54
+ 'Array | Matrix': typed.referToSelf(self => n => deepMap(n, self)) // TODO: For complex numbers, use the approximation for the Faddeeva function
57
55
  // from "More Efficient Computation of the Complex Error Function" (AMS)
58
56
 
59
57
  });
@@ -1,9 +1,11 @@
1
1
  import { factory } from '../../utils/factory.js';
2
+ import { isCollection } from '../../utils/is.js';
2
3
  var name = 'std';
3
- var dependencies = ['typed', 'sqrt', 'variance'];
4
+ var dependencies = ['typed', 'map', 'sqrt', 'variance'];
4
5
  export var createStd = /* #__PURE__ */factory(name, dependencies, _ref => {
5
6
  var {
6
7
  typed,
8
+ map,
7
9
  sqrt,
8
10
  variance
9
11
  } = _ref;
@@ -81,7 +83,13 @@ export var createStd = /* #__PURE__ */factory(name, dependencies, _ref => {
81
83
  }
82
84
 
83
85
  try {
84
- return sqrt(variance.apply(null, arguments));
86
+ var v = variance.apply(null, arguments);
87
+
88
+ if (isCollection(v)) {
89
+ return map(v, sqrt);
90
+ } else {
91
+ return sqrt(v);
92
+ }
85
93
  } catch (err) {
86
94
  if (err instanceof TypeError && err.message.indexOf(' variance') !== -1) {
87
95
  throw new TypeError(err.message.replace(' variance', ' std'));
@@ -98,14 +98,14 @@ export var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {
98
98
  * Examples:
99
99
  *
100
100
  * math.format(6.4) // returns '6.4'
101
- * math.format(1240000) // returns '1.24e6'
101
+ * math.format(1240000) // returns '1.24e+6'
102
102
  * math.format(1/3) // returns '0.3333333333333333'
103
103
  * math.format(1/3, 3) // returns '0.333'
104
104
  * math.format(21385, 2) // returns '21000'
105
105
  * math.format(12e8, {notation: 'fixed'}) // returns '1200000000'
106
106
  * math.format(2.3, {notation: 'fixed', precision: 4}) // returns '2.3000'
107
107
  * math.format(52.8, {notation: 'exponential'}) // returns '5.28e+1'
108
- * math.format(12400,{notation: 'engineering'}) // returns '12.400e+3'
108
+ * math.format(12400, {notation: 'engineering'}) // returns '12.4e+3'
109
109
  * math.format(2000, {lowerExp: -2, upperExp: 2}) // returns '2e+3'
110
110
  *
111
111
  * function formatCurrency(value) {
@@ -10,8 +10,7 @@ var dependencies = ['typed', 'format'];
10
10
  *
11
11
  * Examples:
12
12
  *
13
- * //the following outputs "0xF0"
14
- * math.hex(240)
13
+ * math.hex(240) // returns "0xF0"
15
14
  *
16
15
  * See also:
17
16
  *
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  var name = 'acos';
4
3
  var dependencies = ['typed', 'config', 'Complex'];
5
4
  export var createAcos = /* #__PURE__ */factory(name, dependencies, _ref => {
@@ -12,7 +11,8 @@ export var createAcos = /* #__PURE__ */factory(name, dependencies, _ref => {
12
11
  /**
13
12
  * Calculate the inverse cosine of a value.
14
13
  *
15
- * For matrices, the function is evaluated element wise.
14
+ * To avoid confusion with the matrix arccosine, this function does not
15
+ * apply to matrices.
16
16
  *
17
17
  * Syntax:
18
18
  *
@@ -29,8 +29,8 @@ export var createAcos = /* #__PURE__ */factory(name, dependencies, _ref => {
29
29
  *
30
30
  * cos, atan, asin
31
31
  *
32
- * @param {number | BigNumber | Complex | Array | Matrix} x Function input
33
- * @return {number | BigNumber | Complex | Array | Matrix} The arc cosine of x
32
+ * @param {number | BigNumber | Complex} x Function input
33
+ * @return {number | BigNumber | Complex} The arc cosine of x
34
34
  */
35
35
  return typed(name, {
36
36
  number: function number(x) {
@@ -45,9 +45,6 @@ export var createAcos = /* #__PURE__ */factory(name, dependencies, _ref => {
45
45
  },
46
46
  BigNumber: function BigNumber(x) {
47
47
  return x.acos();
48
- },
49
- 'Array | Matrix': function ArrayMatrix(x) {
50
- return deepMap(x, this);
51
48
  }
52
49
  });
53
50
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { acoshNumber } from '../../plain/number/index.js';
4
3
  var name = 'acosh';
5
4
  var dependencies = ['typed', 'config', 'Complex'];
@@ -28,8 +27,8 @@ export var createAcosh = /* #__PURE__ */factory(name, dependencies, _ref => {
28
27
  *
29
28
  * cosh, asinh, atanh
30
29
  *
31
- * @param {number | Complex | Unit | Array | Matrix} x Function input
32
- * @return {number | Complex | Array | Matrix} Hyperbolic arccosine of x
30
+ * @param {number | BigNumber | Complex} x Function input
31
+ * @return {number | BigNumber | Complex} Hyperbolic arccosine of x
33
32
  */
34
33
  return typed(name, {
35
34
  number: function number(x) {
@@ -48,9 +47,6 @@ export var createAcosh = /* #__PURE__ */factory(name, dependencies, _ref => {
48
47
  },
49
48
  BigNumber: function BigNumber(x) {
50
49
  return x.acosh();
51
- },
52
- 'Array | Matrix': function ArrayMatrix(x) {
53
- return deepMap(x, this);
54
50
  }
55
51
  });
56
52
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { acotNumber } from '../../plain/number/index.js';
4
3
  var name = 'acot';
5
4
  var dependencies = ['typed', 'BigNumber'];
@@ -12,7 +11,8 @@ export var createAcot = /* #__PURE__ */factory(name, dependencies, _ref => {
12
11
  /**
13
12
  * Calculate the inverse cotangent of a value, defined as `acot(x) = atan(1/x)`.
14
13
  *
15
- * For matrices, the function is evaluated element wise.
14
+ * To avoid confusion with the matrix arccotanget, this function does not
15
+ * apply to matrices.
16
16
  *
17
17
  * Syntax:
18
18
  *
@@ -20,17 +20,16 @@ export var createAcot = /* #__PURE__ */factory(name, dependencies, _ref => {
20
20
  *
21
21
  * Examples:
22
22
  *
23
- * math.acot(0.5) // returns number 0.4636476090008061
23
+ * math.acot(0.5) // returns number 1.1071487177940904
24
+ * math.acot(2) // returns number 0.4636476090008061
24
25
  * math.acot(math.cot(1.5)) // returns number 1.5
25
26
  *
26
- * math.acot(2) // returns Complex 1.5707963267948966 -1.3169578969248166 i
27
- *
28
27
  * See also:
29
28
  *
30
29
  * cot, atan
31
30
  *
32
- * @param {number | Complex | Array | Matrix} x Function input
33
- * @return {number | Complex | Array | Matrix} The arc cotangent of x
31
+ * @param {number | BigNumber| Complex} x Function input
32
+ * @return {number | BigNumber| Complex} The arc cotangent of x
34
33
  */
35
34
  return typed(name, {
36
35
  number: acotNumber,
@@ -39,9 +38,6 @@ export var createAcot = /* #__PURE__ */factory(name, dependencies, _ref => {
39
38
  },
40
39
  BigNumber: function BigNumber(x) {
41
40
  return new _BigNumber(1).div(x).atan();
42
- },
43
- 'Array | Matrix': function ArrayMatrix(x) {
44
- return deepMap(x, this);
45
41
  }
46
42
  });
47
43
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { acothNumber } from '../../plain/number/index.js';
4
3
  var name = 'acoth';
5
4
  var dependencies = ['typed', 'config', 'Complex', 'BigNumber'];
@@ -15,7 +14,8 @@ export var createAcoth = /* #__PURE__ */factory(name, dependencies, _ref => {
15
14
  * Calculate the hyperbolic arccotangent of a value,
16
15
  * defined as `acoth(x) = atanh(1/x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.
17
16
  *
18
- * For matrices, the function is evaluated element wise.
17
+ * To avoid confusion with the matrix hyperbolic arccotangent, this
18
+ * function does not apply to matrices.
19
19
  *
20
20
  * Syntax:
21
21
  *
@@ -29,8 +29,8 @@ export var createAcoth = /* #__PURE__ */factory(name, dependencies, _ref => {
29
29
  *
30
30
  * acsch, asech
31
31
  *
32
- * @param {number | Complex | Array | Matrix} x Function input
33
- * @return {number | Complex | Array | Matrix} Hyperbolic arccotangent of x
32
+ * @param {number | BigNumber | Complex} x Function input
33
+ * @return {number | BigNumber | Complex} Hyperbolic arccotangent of x
34
34
  */
35
35
  return typed(name, {
36
36
  number: function number(x) {
@@ -45,9 +45,6 @@ export var createAcoth = /* #__PURE__ */factory(name, dependencies, _ref => {
45
45
  },
46
46
  BigNumber: function BigNumber(x) {
47
47
  return new _BigNumber(1).div(x).atanh();
48
- },
49
- 'Array | Matrix': function ArrayMatrix(x) {
50
- return deepMap(x, this);
51
48
  }
52
49
  });
53
50
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { acscNumber } from '../../plain/number/index.js';
4
3
  var name = 'acsc';
5
4
  var dependencies = ['typed', 'config', 'Complex', 'BigNumber'];
@@ -14,7 +13,8 @@ export var createAcsc = /* #__PURE__ */factory(name, dependencies, _ref => {
14
13
  /**
15
14
  * Calculate the inverse cosecant of a value, defined as `acsc(x) = asin(1/x)`.
16
15
  *
17
- * For matrices, the function is evaluated element wise.
16
+ * To avoid confusion with the matrix arccosecant, this function does not
17
+ * apply to matrices.
18
18
  *
19
19
  * Syntax:
20
20
  *
@@ -22,17 +22,16 @@ export var createAcsc = /* #__PURE__ */factory(name, dependencies, _ref => {
22
22
  *
23
23
  * Examples:
24
24
  *
25
- * math.acsc(0.5) // returns number 0.5235987755982989
25
+ * math.acsc(2) // returns 0.5235987755982989
26
+ * math.acsc(0.5) // returns Complex 1.5707963267948966 -1.3169578969248166i
26
27
  * math.acsc(math.csc(1.5)) // returns number ~1.5
27
28
  *
28
- * math.acsc(2) // returns Complex 1.5707963267948966 -1.3169578969248166 i
29
- *
30
29
  * See also:
31
30
  *
32
31
  * csc, asin, asec
33
32
  *
34
- * @param {number | Complex | Array | Matrix} x Function input
35
- * @return {number | Complex | Array | Matrix} The arc cosecant of x
33
+ * @param {number | BigNumber | Complex} x Function input
34
+ * @return {number | BigNumber | Complex} The arc cosecant of x
36
35
  */
37
36
  return typed(name, {
38
37
  number: function number(x) {
@@ -47,9 +46,6 @@ export var createAcsc = /* #__PURE__ */factory(name, dependencies, _ref => {
47
46
  },
48
47
  BigNumber: function BigNumber(x) {
49
48
  return new _BigNumber(1).div(x).asin();
50
- },
51
- 'Array | Matrix': function ArrayMatrix(x) {
52
- return deepMap(x, this);
53
49
  }
54
50
  });
55
51
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { acschNumber } from '../../plain/number/index.js';
4
3
  var name = 'acsch';
5
4
  var dependencies = ['typed', 'BigNumber'];
@@ -13,7 +12,8 @@ export var createAcsch = /* #__PURE__ */factory(name, dependencies, _ref => {
13
12
  * Calculate the hyperbolic arccosecant of a value,
14
13
  * defined as `acsch(x) = asinh(1/x) = ln(1/x + sqrt(1/x^2 + 1))`.
15
14
  *
16
- * For matrices, the function is evaluated element wise.
15
+ * To avoid confusion with the matrix hyperbolic arccosecant, this function
16
+ * does not apply to matrices.
17
17
  *
18
18
  * Syntax:
19
19
  *
@@ -27,8 +27,8 @@ export var createAcsch = /* #__PURE__ */factory(name, dependencies, _ref => {
27
27
  *
28
28
  * asech, acoth
29
29
  *
30
- * @param {number | Complex | Array | Matrix} x Function input
31
- * @return {number | Complex | Array | Matrix} Hyperbolic arccosecant of x
30
+ * @param {number | BigNumber | Complex} x Function input
31
+ * @return {number | BigNumber | Complex} Hyperbolic arccosecant of x
32
32
  */
33
33
  return typed(name, {
34
34
  number: acschNumber,
@@ -37,9 +37,6 @@ export var createAcsch = /* #__PURE__ */factory(name, dependencies, _ref => {
37
37
  },
38
38
  BigNumber: function BigNumber(x) {
39
39
  return new _BigNumber(1).div(x).asinh();
40
- },
41
- 'Array | Matrix': function ArrayMatrix(x) {
42
- return deepMap(x, this);
43
40
  }
44
41
  });
45
42
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { asecNumber } from '../../plain/number/index.js';
4
3
  var name = 'asec';
5
4
  var dependencies = ['typed', 'config', 'Complex', 'BigNumber'];
@@ -14,7 +13,8 @@ export var createAsec = /* #__PURE__ */factory(name, dependencies, _ref => {
14
13
  /**
15
14
  * Calculate the inverse secant of a value. Defined as `asec(x) = acos(1/x)`.
16
15
  *
17
- * For matrices, the function is evaluated element wise.
16
+ * To avoid confusion with the matrix arcsecant, this function does not
17
+ * apply to matrices.
18
18
  *
19
19
  * Syntax:
20
20
  *
@@ -22,17 +22,17 @@ export var createAsec = /* #__PURE__ */factory(name, dependencies, _ref => {
22
22
  *
23
23
  * Examples:
24
24
  *
25
- * math.asec(0.5) // returns 1.0471975511965979
25
+ * math.asec(2) // returns 1.0471975511965979
26
26
  * math.asec(math.sec(1.5)) // returns 1.5
27
27
  *
28
- * math.asec(2) // returns 0 + 1.3169578969248166 i
28
+ * math.asec(0.5) // returns Complex 0 + 1.3169578969248166i
29
29
  *
30
30
  * See also:
31
31
  *
32
32
  * acos, acot, acsc
33
33
  *
34
- * @param {number | Complex | Array | Matrix} x Function input
35
- * @return {number | Complex | Array | Matrix} The arc secant of x
34
+ * @param {number | BigNumber | Complex} x Function input
35
+ * @return {number | BigNumber | Complex} The arc secant of x
36
36
  */
37
37
  return typed(name, {
38
38
  number: function number(x) {
@@ -47,9 +47,6 @@ export var createAsec = /* #__PURE__ */factory(name, dependencies, _ref => {
47
47
  },
48
48
  BigNumber: function BigNumber(x) {
49
49
  return new _BigNumber(1).div(x).acos();
50
- },
51
- 'Array | Matrix': function ArrayMatrix(x) {
52
- return deepMap(x, this);
53
50
  }
54
51
  });
55
52
  });
@@ -1,5 +1,4 @@
1
1
  import { factory } from '../../utils/factory.js';
2
- import { deepMap } from '../../utils/collection.js';
3
2
  import { asechNumber } from '../../plain/number/index.js';
4
3
  var name = 'asech';
5
4
  var dependencies = ['typed', 'config', 'Complex', 'BigNumber'];
@@ -15,7 +14,8 @@ export var createAsech = /* #__PURE__ */factory(name, dependencies, _ref => {
15
14
  * Calculate the hyperbolic arcsecant of a value,
16
15
  * defined as `asech(x) = acosh(1/x) = ln(sqrt(1/x^2 - 1) + 1/x)`.
17
16
  *
18
- * For matrices, the function is evaluated element wise.
17
+ * To avoid confusion with the matrix hyperbolic arcsecant, this function
18
+ * does not apply to matrices.
19
19
  *
20
20
  * Syntax:
21
21
  *
@@ -29,8 +29,8 @@ export var createAsech = /* #__PURE__ */factory(name, dependencies, _ref => {
29
29
  *
30
30
  * acsch, acoth
31
31
  *
32
- * @param {number | Complex | Array | Matrix} x Function input
33
- * @return {number | Complex | Array | Matrix} Hyperbolic arcsecant of x
32
+ * @param {number | BigNumber | Complex} x Function input
33
+ * @return {number | BigNumber | Complex} Hyperbolic arcsecant of x
34
34
  */
35
35
  return typed(name, {
36
36
  number: function number(x) {
@@ -52,9 +52,6 @@ export var createAsech = /* #__PURE__ */factory(name, dependencies, _ref => {
52
52
  },
53
53
  BigNumber: function BigNumber(x) {
54
54
  return new _BigNumber(1).div(x).acosh();
55
- },
56
- 'Array | Matrix': function ArrayMatrix(x) {
57
- return deepMap(x, this);
58
55
  }
59
56
  });
60
57
  });