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
@@ -5,22 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createLeftShift = void 0;
7
7
 
8
- var _algorithm = require("../../type/matrix/utils/algorithm02.js");
8
+ var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
9
9
 
10
- var _algorithm2 = require("../../type/matrix/utils/algorithm11.js");
10
+ var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
11
11
 
12
- var _algorithm3 = require("../../type/matrix/utils/algorithm13.js");
12
+ var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
13
13
 
14
- var _algorithm4 = require("../../type/matrix/utils/algorithm14.js");
14
+ var _matAlgo01xDSid = require("../../type/matrix/utils/matAlgo01xDSid.js");
15
15
 
16
- var _algorithm5 = require("../../type/matrix/utils/algorithm01.js");
16
+ var _matAlgo10xSids = require("../../type/matrix/utils/matAlgo10xSids.js");
17
17
 
18
- var _algorithm6 = require("../../type/matrix/utils/algorithm10.js");
19
-
20
- var _algorithm7 = require("../../type/matrix/utils/algorithm08.js");
18
+ var _matAlgo08xS0Sid = require("../../type/matrix/utils/matAlgo08xS0Sid.js");
21
19
 
22
20
  var _factory = require("../../utils/factory.js");
23
21
 
22
+ var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
23
+
24
+ var _useMatrixForArrayScalar = require("./useMatrixForArrayScalar.js");
25
+
24
26
  var _index = require("../../plain/number/index.js");
25
27
 
26
28
  var _bitwise = require("../../utils/bignumber/bitwise.js");
@@ -33,30 +35,35 @@ var createLeftShift = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
33
35
  equalScalar = _ref.equalScalar,
34
36
  zeros = _ref.zeros,
35
37
  DenseMatrix = _ref.DenseMatrix;
36
- var algorithm01 = (0, _algorithm5.createAlgorithm01)({
38
+ var matAlgo01xDSid = (0, _matAlgo01xDSid.createMatAlgo01xDSid)({
37
39
  typed: typed
38
40
  });
39
- var algorithm02 = (0, _algorithm.createAlgorithm02)({
41
+ var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
40
42
  typed: typed,
41
43
  equalScalar: equalScalar
42
44
  });
43
- var algorithm08 = (0, _algorithm7.createAlgorithm08)({
45
+ var matAlgo08xS0Sid = (0, _matAlgo08xS0Sid.createMatAlgo08xS0Sid)({
44
46
  typed: typed,
45
47
  equalScalar: equalScalar
46
48
  });
47
- var algorithm10 = (0, _algorithm6.createAlgorithm10)({
49
+ var matAlgo10xSids = (0, _matAlgo10xSids.createMatAlgo10xSids)({
48
50
  typed: typed,
49
51
  DenseMatrix: DenseMatrix
50
52
  });
51
- var algorithm11 = (0, _algorithm2.createAlgorithm11)({
53
+ var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
52
54
  typed: typed,
53
55
  equalScalar: equalScalar
54
56
  });
55
- var algorithm13 = (0, _algorithm3.createAlgorithm13)({
57
+ var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
56
58
  typed: typed
57
59
  });
58
- var algorithm14 = (0, _algorithm4.createAlgorithm14)({
59
- typed: typed
60
+ var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
61
+ typed: typed,
62
+ matrix: matrix
63
+ });
64
+ var useMatrixForArrayScalar = (0, _useMatrixForArrayScalar.createUseMatrixForArrayScalar)({
65
+ typed: typed,
66
+ matrix: matrix
60
67
  });
61
68
  /**
62
69
  * Bitwise left logical shift of a value x by y number of bits, `x << y`.
@@ -71,7 +78,7 @@ var createLeftShift = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
71
78
  *
72
79
  * math.leftShift(1, 2) // returns number 4
73
80
  *
74
- * math.leftShift([1, 2, 3], 4) // returns Array [16, 32, 64]
81
+ * math.leftShift([1, 2, 4], 4) // returns Array [16, 32, 64]
75
82
  *
76
83
  * See also:
77
84
  *
@@ -85,70 +92,50 @@ var createLeftShift = /* #__PURE__ */(0, _factory.factory)(name, dependencies, f
85
92
  return typed(name, {
86
93
  'number, number': _index.leftShiftNumber,
87
94
  'BigNumber, BigNumber': _bitwise.leftShiftBigNumber,
88
- 'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
89
- return algorithm08(x, y, this, false);
90
- },
91
- 'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
92
- return algorithm02(y, x, this, true);
93
- },
94
- 'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
95
- return algorithm01(x, y, this, false);
96
- },
97
- 'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
98
- return algorithm13(x, y, this);
99
- },
100
- 'Array, Array': function ArrayArray(x, y) {
101
- // use matrix implementation
102
- return this(matrix(x), matrix(y)).valueOf();
103
- },
104
- 'Array, Matrix': function ArrayMatrix(x, y) {
105
- // use matrix implementation
106
- return this(matrix(x), y);
107
- },
108
- 'Matrix, Array': function MatrixArray(x, y) {
109
- // use matrix implementation
110
- return this(x, matrix(y));
111
- },
112
- 'SparseMatrix, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
113
- // check scalar
114
- if (equalScalar(y, 0)) {
115
- return x.clone();
116
- }
117
-
118
- return algorithm11(x, y, this, false);
119
- },
120
- 'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
121
- // check scalar
122
- if (equalScalar(y, 0)) {
123
- return x.clone();
124
- }
125
-
126
- return algorithm14(x, y, this, false);
127
- },
128
- 'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
129
- // check scalar
130
- if (equalScalar(x, 0)) {
131
- return zeros(y.size(), y.storage());
132
- }
133
-
134
- return algorithm10(y, x, this, true);
135
- },
136
- 'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
137
- // check scalar
138
- if (equalScalar(x, 0)) {
139
- return zeros(y.size(), y.storage());
140
- }
141
-
142
- return algorithm14(y, x, this, true);
143
- },
144
- 'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
145
- // use matrix implementation
146
- return this(matrix(x), y).valueOf();
147
- },
148
- 'number | BigNumber, Array': function numberBigNumberArray(x, y) {
149
- // use matrix implementation
150
- return this(x, matrix(y)).valueOf();
151
- }
152
- });
95
+ 'SparseMatrix, number | BigNumber': typed.referToSelf(function (self) {
96
+ return function (x, y) {
97
+ // check scalar
98
+ if (equalScalar(y, 0)) {
99
+ return x.clone();
100
+ }
101
+
102
+ return matAlgo11xS0s(x, y, self, false);
103
+ };
104
+ }),
105
+ 'DenseMatrix, number | BigNumber': typed.referToSelf(function (self) {
106
+ return function (x, y) {
107
+ // check scalar
108
+ if (equalScalar(y, 0)) {
109
+ return x.clone();
110
+ }
111
+
112
+ return matAlgo14xDs(x, y, self, false);
113
+ };
114
+ }),
115
+ 'number | BigNumber, SparseMatrix': typed.referToSelf(function (self) {
116
+ return function (x, y) {
117
+ // check scalar
118
+ if (equalScalar(x, 0)) {
119
+ return zeros(y.size(), y.storage());
120
+ }
121
+
122
+ return matAlgo10xSids(y, x, self, true);
123
+ };
124
+ }),
125
+ 'number | BigNumber, DenseMatrix': typed.referToSelf(function (self) {
126
+ return function (x, y) {
127
+ // check scalar
128
+ if (equalScalar(x, 0)) {
129
+ return zeros(y.size(), y.storage());
130
+ }
131
+
132
+ return matAlgo14xDs(y, x, self, true);
133
+ };
134
+ })
135
+ }, useMatrixForArrayScalar, matrixAlgorithmSuite({
136
+ SS: matAlgo08xS0Sid,
137
+ DS: matAlgo01xDSid,
138
+ SD: matAlgo02xDS0
139
+ }));
153
140
  });
154
141
  exports.createLeftShift = createLeftShift;
@@ -7,22 +7,24 @@ exports.createRightArithShift = void 0;
7
7
 
8
8
  var _bitwise = require("../../utils/bignumber/bitwise.js");
9
9
 
10
- var _algorithm = require("../../type/matrix/utils/algorithm02.js");
10
+ var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
11
11
 
12
- var _algorithm2 = require("../../type/matrix/utils/algorithm11.js");
12
+ var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
13
13
 
14
- var _algorithm3 = require("../../type/matrix/utils/algorithm13.js");
14
+ var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
15
15
 
16
- var _algorithm4 = require("../../type/matrix/utils/algorithm14.js");
16
+ var _matAlgo01xDSid = require("../../type/matrix/utils/matAlgo01xDSid.js");
17
17
 
18
- var _algorithm5 = require("../../type/matrix/utils/algorithm01.js");
18
+ var _matAlgo10xSids = require("../../type/matrix/utils/matAlgo10xSids.js");
19
19
 
20
- var _algorithm6 = require("../../type/matrix/utils/algorithm10.js");
21
-
22
- var _algorithm7 = require("../../type/matrix/utils/algorithm08.js");
20
+ var _matAlgo08xS0Sid = require("../../type/matrix/utils/matAlgo08xS0Sid.js");
23
21
 
24
22
  var _factory = require("../../utils/factory.js");
25
23
 
24
+ var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
25
+
26
+ var _useMatrixForArrayScalar = require("./useMatrixForArrayScalar.js");
27
+
26
28
  var _index = require("../../plain/number/index.js");
27
29
 
28
30
  var name = 'rightArithShift';
@@ -33,30 +35,35 @@ var createRightArithShift = /* #__PURE__ */(0, _factory.factory)(name, dependenc
33
35
  equalScalar = _ref.equalScalar,
34
36
  zeros = _ref.zeros,
35
37
  DenseMatrix = _ref.DenseMatrix;
36
- var algorithm01 = (0, _algorithm5.createAlgorithm01)({
38
+ var matAlgo01xDSid = (0, _matAlgo01xDSid.createMatAlgo01xDSid)({
37
39
  typed: typed
38
40
  });
39
- var algorithm02 = (0, _algorithm.createAlgorithm02)({
41
+ var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
40
42
  typed: typed,
41
43
  equalScalar: equalScalar
42
44
  });
43
- var algorithm08 = (0, _algorithm7.createAlgorithm08)({
45
+ var matAlgo08xS0Sid = (0, _matAlgo08xS0Sid.createMatAlgo08xS0Sid)({
44
46
  typed: typed,
45
47
  equalScalar: equalScalar
46
48
  });
47
- var algorithm10 = (0, _algorithm6.createAlgorithm10)({
49
+ var matAlgo10xSids = (0, _matAlgo10xSids.createMatAlgo10xSids)({
48
50
  typed: typed,
49
51
  DenseMatrix: DenseMatrix
50
52
  });
51
- var algorithm11 = (0, _algorithm2.createAlgorithm11)({
53
+ var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
52
54
  typed: typed,
53
55
  equalScalar: equalScalar
54
56
  });
55
- var algorithm13 = (0, _algorithm3.createAlgorithm13)({
57
+ var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
56
58
  typed: typed
57
59
  });
58
- var algorithm14 = (0, _algorithm4.createAlgorithm14)({
59
- typed: typed
60
+ var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
61
+ typed: typed,
62
+ matrix: matrix
63
+ });
64
+ var useMatrixForArrayScalar = (0, _useMatrixForArrayScalar.createUseMatrixForArrayScalar)({
65
+ typed: typed,
66
+ matrix: matrix
60
67
  });
61
68
  /**
62
69
  * Bitwise right arithmetic shift of a value x by y number of bits, `x >> y`.
@@ -71,7 +78,7 @@ var createRightArithShift = /* #__PURE__ */(0, _factory.factory)(name, dependenc
71
78
  *
72
79
  * math.rightArithShift(4, 2) // returns number 1
73
80
  *
74
- * math.rightArithShift([16, -32, 64], 4) // returns Array [1, -2, 3]
81
+ * math.rightArithShift([16, -32, 64], 4) // returns Array [1, -2, 4]
75
82
  *
76
83
  * See also:
77
84
  *
@@ -85,70 +92,50 @@ var createRightArithShift = /* #__PURE__ */(0, _factory.factory)(name, dependenc
85
92
  return typed(name, {
86
93
  'number, number': _index.rightArithShiftNumber,
87
94
  'BigNumber, BigNumber': _bitwise.rightArithShiftBigNumber,
88
- 'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
89
- return algorithm08(x, y, this, false);
90
- },
91
- 'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
92
- return algorithm02(y, x, this, true);
93
- },
94
- 'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
95
- return algorithm01(x, y, this, false);
96
- },
97
- 'DenseMatrix, DenseMatrix': function DenseMatrixDenseMatrix(x, y) {
98
- return algorithm13(x, y, this);
99
- },
100
- 'Array, Array': function ArrayArray(x, y) {
101
- // use matrix implementation
102
- return this(matrix(x), matrix(y)).valueOf();
103
- },
104
- 'Array, Matrix': function ArrayMatrix(x, y) {
105
- // use matrix implementation
106
- return this(matrix(x), y);
107
- },
108
- 'Matrix, Array': function MatrixArray(x, y) {
109
- // use matrix implementation
110
- return this(x, matrix(y));
111
- },
112
- 'SparseMatrix, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
113
- // check scalar
114
- if (equalScalar(y, 0)) {
115
- return x.clone();
116
- }
117
-
118
- return algorithm11(x, y, this, false);
119
- },
120
- 'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
121
- // check scalar
122
- if (equalScalar(y, 0)) {
123
- return x.clone();
124
- }
125
-
126
- return algorithm14(x, y, this, false);
127
- },
128
- 'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
129
- // check scalar
130
- if (equalScalar(x, 0)) {
131
- return zeros(y.size(), y.storage());
132
- }
133
-
134
- return algorithm10(y, x, this, true);
135
- },
136
- 'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
137
- // check scalar
138
- if (equalScalar(x, 0)) {
139
- return zeros(y.size(), y.storage());
140
- }
141
-
142
- return algorithm14(y, x, this, true);
143
- },
144
- 'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
145
- // use matrix implementation
146
- return this(matrix(x), y).valueOf();
147
- },
148
- 'number | BigNumber, Array': function numberBigNumberArray(x, y) {
149
- // use matrix implementation
150
- return this(x, matrix(y)).valueOf();
151
- }
152
- });
95
+ 'SparseMatrix, number | BigNumber': typed.referToSelf(function (self) {
96
+ return function (x, y) {
97
+ // check scalar
98
+ if (equalScalar(y, 0)) {
99
+ return x.clone();
100
+ }
101
+
102
+ return matAlgo11xS0s(x, y, self, false);
103
+ };
104
+ }),
105
+ 'DenseMatrix, number | BigNumber': typed.referToSelf(function (self) {
106
+ return function (x, y) {
107
+ // check scalar
108
+ if (equalScalar(y, 0)) {
109
+ return x.clone();
110
+ }
111
+
112
+ return matAlgo14xDs(x, y, self, false);
113
+ };
114
+ }),
115
+ 'number | BigNumber, SparseMatrix': typed.referToSelf(function (self) {
116
+ return function (x, y) {
117
+ // check scalar
118
+ if (equalScalar(x, 0)) {
119
+ return zeros(y.size(), y.storage());
120
+ }
121
+
122
+ return matAlgo10xSids(y, x, self, true);
123
+ };
124
+ }),
125
+ 'number | BigNumber, DenseMatrix': typed.referToSelf(function (self) {
126
+ return function (x, y) {
127
+ // check scalar
128
+ if (equalScalar(x, 0)) {
129
+ return zeros(y.size(), y.storage());
130
+ }
131
+
132
+ return matAlgo14xDs(y, x, self, true);
133
+ };
134
+ })
135
+ }, useMatrixForArrayScalar, matrixAlgorithmSuite({
136
+ SS: matAlgo08xS0Sid,
137
+ DS: matAlgo01xDSid,
138
+ SD: matAlgo02xDS0
139
+ }));
153
140
  });
154
141
  exports.createRightArithShift = createRightArithShift;
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createRightLogShift = void 0;
7
7
 
8
- var _algorithm = require("../../type/matrix/utils/algorithm02.js");
8
+ var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
9
9
 
10
- var _algorithm2 = require("../../type/matrix/utils/algorithm11.js");
10
+ var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
11
11
 
12
- var _algorithm3 = require("../../type/matrix/utils/algorithm13.js");
12
+ var _matAlgo14xDs = require("../../type/matrix/utils/matAlgo14xDs.js");
13
13
 
14
- var _algorithm4 = require("../../type/matrix/utils/algorithm14.js");
14
+ var _matAlgo01xDSid = require("../../type/matrix/utils/matAlgo01xDSid.js");
15
15
 
16
- var _algorithm5 = require("../../type/matrix/utils/algorithm01.js");
16
+ var _matAlgo10xSids = require("../../type/matrix/utils/matAlgo10xSids.js");
17
17
 
18
- var _algorithm6 = require("../../type/matrix/utils/algorithm10.js");
19
-
20
- var _algorithm7 = require("../../type/matrix/utils/algorithm08.js");
18
+ var _matAlgo08xS0Sid = require("../../type/matrix/utils/matAlgo08xS0Sid.js");
21
19
 
22
20
  var _factory = require("../../utils/factory.js");
23
21
 
22
+ var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
23
+
24
24
  var _index = require("../../plain/number/index.js");
25
25
 
26
+ var _useMatrixForArrayScalar = require("./useMatrixForArrayScalar.js");
27
+
26
28
  var name = 'rightLogShift';
27
29
  var dependencies = ['typed', 'matrix', 'equalScalar', 'zeros', 'DenseMatrix'];
28
30
  var createRightLogShift = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
@@ -31,30 +33,35 @@ var createRightLogShift = /* #__PURE__ */(0, _factory.factory)(name, dependencie
31
33
  equalScalar = _ref.equalScalar,
32
34
  zeros = _ref.zeros,
33
35
  DenseMatrix = _ref.DenseMatrix;
34
- var algorithm01 = (0, _algorithm5.createAlgorithm01)({
36
+ var matAlgo01xDSid = (0, _matAlgo01xDSid.createMatAlgo01xDSid)({
35
37
  typed: typed
36
38
  });
37
- var algorithm02 = (0, _algorithm.createAlgorithm02)({
39
+ var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
38
40
  typed: typed,
39
41
  equalScalar: equalScalar
40
42
  });
41
- var algorithm08 = (0, _algorithm7.createAlgorithm08)({
43
+ var matAlgo08xS0Sid = (0, _matAlgo08xS0Sid.createMatAlgo08xS0Sid)({
42
44
  typed: typed,
43
45
  equalScalar: equalScalar
44
46
  });
45
- var algorithm10 = (0, _algorithm6.createAlgorithm10)({
47
+ var matAlgo10xSids = (0, _matAlgo10xSids.createMatAlgo10xSids)({
46
48
  typed: typed,
47
49
  DenseMatrix: DenseMatrix
48
50
  });
49
- var algorithm11 = (0, _algorithm2.createAlgorithm11)({
51
+ var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
50
52
  typed: typed,
51
53
  equalScalar: equalScalar
52
54
  });
53
- var algorithm13 = (0, _algorithm3.createAlgorithm13)({
55
+ var matAlgo14xDs = (0, _matAlgo14xDs.createMatAlgo14xDs)({
54
56
  typed: typed
55
57
  });
56
- var algorithm14 = (0, _algorithm4.createAlgorithm14)({
57
- typed: typed
58
+ var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
59
+ typed: typed,
60
+ matrix: matrix
61
+ });
62
+ var useMatrixForArrayScalar = (0, _useMatrixForArrayScalar.createUseMatrixForArrayScalar)({
63
+ typed: typed,
64
+ matrix: matrix
58
65
  });
59
66
  /**
60
67
  * Bitwise right logical shift of value x by y number of bits, `x >>> y`.
@@ -69,7 +76,7 @@ var createRightLogShift = /* #__PURE__ */(0, _factory.factory)(name, dependencie
69
76
  *
70
77
  * math.rightLogShift(4, 2) // returns number 1
71
78
  *
72
- * math.rightLogShift([16, -32, 64], 4) // returns Array [1, 2, 3]
79
+ * math.rightLogShift([16, 32, 64], 4) // returns Array [1, 2, 4]
73
80
  *
74
81
  * See also:
75
82
  *
@@ -83,70 +90,50 @@ var createRightLogShift = /* #__PURE__ */(0, _factory.factory)(name, dependencie
83
90
  return typed(name, {
84
91
  'number, number': _index.rightLogShiftNumber,
85
92
  // 'BigNumber, BigNumber': ..., // TODO: implement BigNumber support for rightLogShift
86
- 'SparseMatrix, SparseMatrix': function SparseMatrixSparseMatrix(x, y) {
87
- return algorithm08(x, y, this, false);
88
- },
89
- 'SparseMatrix, DenseMatrix': function SparseMatrixDenseMatrix(x, y) {
90
- return algorithm02(y, x, this, true);
91
- },
92
- 'DenseMatrix, SparseMatrix': function DenseMatrixSparseMatrix(x, y) {
93
- return algorithm01(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, number | BigNumber': function SparseMatrixNumberBigNumber(x, y) {
111
- // check scalar
112
- if (equalScalar(y, 0)) {
113
- return x.clone();
114
- }
115
-
116
- return algorithm11(x, y, this, false);
117
- },
118
- 'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
119
- // check scalar
120
- if (equalScalar(y, 0)) {
121
- return x.clone();
122
- }
123
-
124
- return algorithm14(x, y, this, false);
125
- },
126
- 'number | BigNumber, SparseMatrix': function numberBigNumberSparseMatrix(x, y) {
127
- // check scalar
128
- if (equalScalar(x, 0)) {
129
- return zeros(y.size(), y.storage());
130
- }
131
-
132
- return algorithm10(y, x, this, true);
133
- },
134
- 'number | BigNumber, DenseMatrix': function numberBigNumberDenseMatrix(x, y) {
135
- // check scalar
136
- if (equalScalar(x, 0)) {
137
- return zeros(y.size(), y.storage());
138
- }
139
-
140
- return algorithm14(y, x, this, true);
141
- },
142
- 'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
143
- // use matrix implementation
144
- return this(matrix(x), y).valueOf();
145
- },
146
- 'number | BigNumber, Array': function numberBigNumberArray(x, y) {
147
- // use matrix implementation
148
- return this(x, matrix(y)).valueOf();
149
- }
150
- });
93
+ 'SparseMatrix, number | BigNumber': typed.referToSelf(function (self) {
94
+ return function (x, y) {
95
+ // check scalar
96
+ if (equalScalar(y, 0)) {
97
+ return x.clone();
98
+ }
99
+
100
+ return matAlgo11xS0s(x, y, self, false);
101
+ };
102
+ }),
103
+ 'DenseMatrix, number | BigNumber': typed.referToSelf(function (self) {
104
+ return function (x, y) {
105
+ // check scalar
106
+ if (equalScalar(y, 0)) {
107
+ return x.clone();
108
+ }
109
+
110
+ return matAlgo14xDs(x, y, self, false);
111
+ };
112
+ }),
113
+ 'number | BigNumber, SparseMatrix': typed.referToSelf(function (self) {
114
+ return function (x, y) {
115
+ // check scalar
116
+ if (equalScalar(x, 0)) {
117
+ return zeros(y.size(), y.storage());
118
+ }
119
+
120
+ return matAlgo10xSids(y, x, self, true);
121
+ };
122
+ }),
123
+ 'number | BigNumber, DenseMatrix': typed.referToSelf(function (self) {
124
+ return function (x, y) {
125
+ // check scalar
126
+ if (equalScalar(x, 0)) {
127
+ return zeros(y.size(), y.storage());
128
+ }
129
+
130
+ return matAlgo14xDs(y, x, self, true);
131
+ };
132
+ })
133
+ }, useMatrixForArrayScalar, matrixAlgorithmSuite({
134
+ SS: matAlgo08xS0Sid,
135
+ DS: matAlgo01xDSid,
136
+ SD: matAlgo02xDS0
137
+ }));
151
138
  });
152
139
  exports.createRightLogShift = createRightLogShift;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUseMatrixForArrayScalar = void 0;
7
+
8
+ var _factory = require("../../utils/factory.js");
9
+
10
+ var createUseMatrixForArrayScalar = /* #__PURE__ */(0, _factory.factory)('useMatrixForArrayScalar', ['typed', 'matrix'], function (_ref) {
11
+ var typed = _ref.typed,
12
+ matrix = _ref.matrix;
13
+ return {
14
+ 'Array, number': typed.referTo('DenseMatrix, number', function (selfDn) {
15
+ return function (x, y) {
16
+ return selfDn(matrix(x), y).valueOf();
17
+ };
18
+ }),
19
+ 'Array, BigNumber': typed.referTo('DenseMatrix, BigNumber', function (selfDB) {
20
+ return function (x, y) {
21
+ return selfDB(matrix(x), y).valueOf();
22
+ };
23
+ }),
24
+ 'number, Array': typed.referTo('number, DenseMatrix', function (selfnD) {
25
+ return function (x, y) {
26
+ return selfnD(x, matrix(y)).valueOf();
27
+ };
28
+ }),
29
+ 'BigNumber, Array': typed.referTo('BigNumber, DenseMatrix', function (selfBD) {
30
+ return function (x, y) {
31
+ return selfBD(x, matrix(y)).valueOf();
32
+ };
33
+ })
34
+ };
35
+ });
36
+ exports.createUseMatrixForArrayScalar = createUseMatrixForArrayScalar;