mathjs 11.2.1 → 11.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1322) hide show
  1. package/HISTORY.md +19 -1
  2. package/README.md +26 -0
  3. package/lib/browser/math.js +1 -1
  4. package/lib/browser/math.js.LICENSE.txt +2 -2
  5. package/lib/browser/math.js.map +1 -1
  6. package/lib/cjs/constants.js +21 -23
  7. package/lib/cjs/core/create.js +23 -41
  8. package/lib/cjs/core/function/config.js +12 -16
  9. package/lib/cjs/core/function/import.js +21 -66
  10. package/lib/cjs/core/function/typed.js +24 -50
  11. package/lib/cjs/defaultInstance.js +0 -7
  12. package/lib/cjs/entry/allFactoriesAny.js +1 -5
  13. package/lib/cjs/entry/allFactoriesNumber.js +1 -5
  14. package/lib/cjs/entry/configReadonly.js +0 -7
  15. package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +1 -3
  16. package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +1 -4
  17. package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +1 -4
  18. package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +1 -4
  19. package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +1 -4
  20. package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +1 -5
  21. package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +1 -5
  22. package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +1 -4
  23. package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +1 -8
  24. package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +1 -3
  25. package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +1 -7
  26. package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +1 -4
  27. package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +1 -4
  28. package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +1 -3
  29. package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +1 -3
  30. package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +1 -5
  31. package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +1 -5
  32. package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +1 -4
  33. package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +1 -3
  34. package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +1 -5
  35. package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +1 -3
  36. package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +1 -7
  37. package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +1 -4
  38. package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +1 -4
  39. package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +1 -4
  40. package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +1 -7
  41. package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +1 -2
  42. package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +1 -4
  43. package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +1 -4
  44. package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +1 -5
  45. package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +1 -3
  46. package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +1 -6
  47. package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +1 -5
  48. package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +1 -4
  49. package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +1 -4
  50. package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +1 -4
  51. package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +1 -4
  52. package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +1 -3
  53. package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +1 -9
  54. package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +1 -9
  55. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +1 -8
  56. package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +1 -4
  57. package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +1 -3
  58. package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +1 -4
  59. package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +1 -3
  60. package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +1 -6
  61. package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +1 -6
  62. package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +1 -3
  63. package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +1 -3
  64. package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +1 -8
  65. package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +1 -4
  66. package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +1 -4
  67. package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +1 -4
  68. package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +1 -4
  69. package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +1 -2
  70. package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +1 -9
  71. package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +1 -5
  72. package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +1 -5
  73. package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +1 -3
  74. package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +1 -4
  75. package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +1 -3
  76. package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +1 -3
  77. package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +1 -3
  78. package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +1 -3
  79. package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +1 -4
  80. package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +1 -4
  81. package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +1 -4
  82. package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +1 -5
  83. package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +1 -4
  84. package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +1 -6
  85. package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +1 -4
  86. package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +1 -4
  87. package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +1 -5
  88. package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +1 -3
  89. package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +1 -5
  90. package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +1 -5
  91. package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +1 -4
  92. package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +1 -3
  93. package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +1 -13
  94. package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +1 -9
  95. package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +1 -4
  96. package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +1 -6
  97. package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +1 -6
  98. package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +1 -7
  99. package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +1 -10
  100. package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +1 -8
  101. package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +1 -4
  102. package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +1 -7
  103. package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +1 -7
  104. package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +1 -6
  105. package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +1 -7
  106. package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +1 -3
  107. package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +1 -3
  108. package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +1 -32
  109. package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +1 -4
  110. package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +1 -4
  111. package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +1 -4
  112. package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +1 -6
  113. package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +1 -3
  114. package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +1 -5
  115. package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +1 -3
  116. package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +1 -4
  117. package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +1 -3
  118. package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +1 -8
  119. package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +1 -4
  120. package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +1 -4
  121. package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +1 -2
  122. package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +1 -4
  123. package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +1 -4
  124. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +1 -10
  125. package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +1 -4
  126. package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +1 -3
  127. package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +1 -3
  128. package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +1 -3
  129. package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +1 -4
  130. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +1 -10
  131. package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +1 -4
  132. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +1 -8
  133. package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +1 -3
  134. package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +1 -3
  135. package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +1 -3
  136. package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +1 -4
  137. package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +1 -2
  138. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +1 -4
  139. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +1 -4
  140. package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +1 -7
  141. package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +1 -4
  142. package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +1 -7
  143. package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +1 -3
  144. package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +1 -4
  145. package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +1 -4
  146. package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +1 -4
  147. package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +1 -4
  148. package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +1 -4
  149. package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +1 -3
  150. package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +1 -4
  151. package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +1 -10
  152. package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +1 -3
  153. package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +1 -7
  154. package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +1 -6
  155. package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +1 -3
  156. package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +1 -4
  157. package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +1 -4
  158. package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +1 -3
  159. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +1 -4
  160. package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +1 -3
  161. package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +1 -3
  162. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +1 -16
  163. package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +1 -11
  164. package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +1 -4
  165. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +1 -10
  166. package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +1 -3
  167. package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +1 -3
  168. package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +1 -3
  169. package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +1 -3
  170. package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +1 -3
  171. package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +1 -3
  172. package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +1 -3
  173. package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +1 -11
  174. package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +1 -4
  175. package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +1 -5
  176. package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +1 -3
  177. package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +1 -3
  178. package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +1 -3
  179. package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +1 -3
  180. package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +1 -5
  181. package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +1 -5
  182. package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +1 -5
  183. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +1 -4
  184. package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +1 -7
  185. package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +1 -4
  186. package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +1 -5
  187. package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +1 -4
  188. package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +1 -6
  189. package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +1 -4
  190. package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +1 -4
  191. package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +1 -9
  192. package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +1 -9
  193. package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +1 -15
  194. package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +1 -9
  195. package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +1 -7
  196. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +1 -4
  197. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +1 -4
  198. package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +1 -3
  199. package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +1 -3
  200. package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +1 -6
  201. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +1 -2
  202. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +1 -6
  203. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +1 -5
  204. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +1 -6
  205. package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +1 -5
  206. package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +1 -5
  207. package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +1 -5
  208. package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +1 -5
  209. package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +1 -7
  210. package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +1 -5
  211. package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +1 -5
  212. package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +1 -6
  213. package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +1 -5
  214. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +1 -4
  215. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +1 -4
  216. package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +1 -4
  217. package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +1 -4
  218. package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +1 -9
  219. package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +1 -8
  220. package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +1 -3
  221. package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +1 -3
  222. package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +1 -4
  223. package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +1 -2
  224. package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +1 -15
  225. package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +1 -3
  226. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +1 -6
  227. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +1 -5
  228. package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +1 -4
  229. package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +1 -2
  230. package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +1 -3
  231. package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +1 -5
  232. package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +1 -3
  233. package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +1 -4
  234. package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +1 -5
  235. package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +1 -3
  236. package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +1 -6
  237. package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +1 -3
  238. package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +1 -19
  239. package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +1 -4
  240. package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +1 -3
  241. package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +1 -6
  242. package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +1 -4
  243. package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +1 -3
  244. package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +1 -3
  245. package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +1 -3
  246. package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +1 -14
  247. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +1 -4
  248. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +1 -4
  249. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +1 -4
  250. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +1 -4
  251. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +1 -4
  252. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +1 -4
  253. package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +1 -10
  254. package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +1 -3
  255. package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +1 -5
  256. package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +1 -4
  257. package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +1 -17
  258. package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +1 -7
  259. package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +1 -4
  260. package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +1 -3
  261. package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +1 -3
  262. package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +1 -9
  263. package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +1 -2
  264. package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +1 -3
  265. package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +1 -9
  266. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +1 -26
  267. package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +1 -3
  268. package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +1 -4
  269. package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +1 -3
  270. package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +1 -2
  271. package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +1 -5
  272. package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +1 -3
  273. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +1 -8
  274. package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +1 -2
  275. package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +1 -2
  276. package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +1 -7
  277. package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +1 -7
  278. package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +1 -5
  279. package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +1 -13
  280. package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +1 -8
  281. package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +1 -6
  282. package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +1 -6
  283. package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +1 -4
  284. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +2 -3
  285. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +1 -3
  286. package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +1 -3
  287. package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +1 -4
  288. package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +1 -4
  289. package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +1 -4
  290. package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +1 -8
  291. package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +1 -8
  292. package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +1 -8
  293. package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +1 -8
  294. package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +1 -7
  295. package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +1 -7
  296. package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +1 -7
  297. package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +1 -4
  298. package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +1 -8
  299. package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +1 -9
  300. package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +1 -6
  301. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +1 -26
  302. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +1 -15
  303. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +1 -20
  304. package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +1 -3
  305. package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +1 -3
  306. package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +1 -4
  307. package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +1 -12
  308. package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +1 -5
  309. package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +1 -5
  310. package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +1 -6
  311. package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +1 -5
  312. package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +1 -4
  313. package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +1 -5
  314. package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +1 -4
  315. package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +1 -3
  316. package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +1 -4
  317. package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +1 -13
  318. package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +1 -3
  319. package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +1 -4
  320. package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +1 -6
  321. package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +1 -6
  322. package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +1 -4
  323. package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +1 -15
  324. package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +1 -3
  325. package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +1 -4
  326. package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +1 -4
  327. package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +1 -8
  328. package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +1 -5
  329. package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +1 -5
  330. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +1 -4
  331. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +1 -6
  332. package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +1 -3
  333. package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +1 -3
  334. package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +1 -3
  335. package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +1 -4
  336. package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +1 -4
  337. package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +1 -5
  338. package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +1 -4
  339. package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +1 -2
  340. package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +1 -3
  341. package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +1 -6
  342. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +1 -3
  343. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +1 -4
  344. package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +1 -6
  345. package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +1 -17
  346. package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +1 -4
  347. package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +1 -3
  348. package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +1 -3
  349. package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +1 -9
  350. package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +1 -9
  351. package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +1 -4
  352. package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +1 -9
  353. package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +1 -9
  354. package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +1 -2
  355. package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +1 -3
  356. package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +1 -4
  357. package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +1 -5
  358. package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +1 -5
  359. package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +1 -5
  360. package/lib/cjs/entry/dependenciesAny.generated.js +0 -346
  361. package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +1 -3
  362. package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +1 -4
  363. package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +1 -3
  364. package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +1 -3
  365. package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +1 -3
  366. package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +1 -3
  367. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +1 -3
  368. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +1 -3
  369. package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +1 -3
  370. package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +1 -3
  371. package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +1 -3
  372. package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +1 -4
  373. package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +1 -4
  374. package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +1 -3
  375. package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +1 -3
  376. package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +1 -3
  377. package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +1 -3
  378. package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +1 -3
  379. package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +1 -5
  380. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +1 -3
  381. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +1 -3
  382. package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +1 -3
  383. package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +1 -7
  384. package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +1 -3
  385. package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +1 -3
  386. package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +1 -3
  387. package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +1 -3
  388. package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +1 -4
  389. package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +1 -3
  390. package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +1 -9
  391. package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +1 -3
  392. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +1 -4
  393. package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +1 -4
  394. package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +1 -3
  395. package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +1 -3
  396. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +1 -3
  397. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +1 -3
  398. package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +1 -3
  399. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +1 -4
  400. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +1 -3
  401. package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +1 -4
  402. package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +1 -9
  403. package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +1 -3
  404. package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +1 -3
  405. package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +1 -3
  406. package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +1 -3
  407. package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +1 -3
  408. package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +1 -3
  409. package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +1 -3
  410. package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +1 -3
  411. package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +1 -3
  412. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +1 -5
  413. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +1 -5
  414. package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +1 -4
  415. package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +1 -13
  416. package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +1 -3
  417. package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +1 -3
  418. package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +1 -2
  419. package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +1 -4
  420. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +1 -3
  421. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +1 -5
  422. package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +1 -3
  423. package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +1 -4
  424. package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +1 -3
  425. package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +1 -3
  426. package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +1 -4
  427. package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +1 -2
  428. package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +1 -3
  429. package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +1 -3
  430. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +1 -5
  431. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +1 -4
  432. package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +1 -3
  433. package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +1 -3
  434. package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +1 -3
  435. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +1 -4
  436. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +1 -4
  437. package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +1 -3
  438. package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +1 -3
  439. package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +1 -4
  440. package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +1 -4
  441. package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +1 -3
  442. package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +1 -10
  443. package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +1 -2
  444. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +1 -4
  445. package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +1 -2
  446. package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +1 -3
  447. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +1 -3
  448. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +1 -3
  449. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +1 -3
  450. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +1 -3
  451. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +1 -3
  452. package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +1 -3
  453. package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +1 -2
  454. package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +1 -2
  455. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +1 -2
  456. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +1 -2
  457. package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +1 -3
  458. package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +1 -3
  459. package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +1 -3
  460. package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +1 -3
  461. package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +1 -3
  462. package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +1 -3
  463. package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +1 -3
  464. package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +1 -3
  465. package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +1 -3
  466. package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +1 -7
  467. package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +1 -3
  468. package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +1 -3
  469. package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +1 -2
  470. package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +1 -5
  471. package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +1 -5
  472. package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +1 -5
  473. package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +1 -5
  474. package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +1 -7
  475. package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +1 -5
  476. package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +1 -5
  477. package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +1 -3
  478. package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +1 -5
  479. package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +1 -9
  480. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +1 -3
  481. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +1 -3
  482. package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +1 -2
  483. package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +1 -2
  484. package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +1 -3
  485. package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +1 -3
  486. package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +1 -3
  487. package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +1 -2
  488. package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +1 -3
  489. package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +1 -3
  490. package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +1 -3
  491. package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +1 -3
  492. package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +1 -3
  493. package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +1 -3
  494. package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +1 -19
  495. package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +1 -4
  496. package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +1 -3
  497. package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +1 -6
  498. package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +1 -4
  499. package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +1 -2
  500. package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +1 -2
  501. package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +1 -3
  502. package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +1 -3
  503. package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +1 -3
  504. package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +1 -5
  505. package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +1 -7
  506. package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +1 -3
  507. package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +1 -3
  508. package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +1 -8
  509. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +1 -2
  510. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +1 -3
  511. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +1 -8
  512. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +1 -24
  513. package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +1 -3
  514. package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +1 -2
  515. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +1 -8
  516. package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +1 -2
  517. package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +1 -2
  518. package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +1 -3
  519. package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +1 -3
  520. package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +1 -3
  521. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +1 -2
  522. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +1 -2
  523. package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +1 -3
  524. package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +1 -3
  525. package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +1 -3
  526. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +1 -24
  527. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +1 -13
  528. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +1 -20
  529. package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +1 -3
  530. package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +1 -3
  531. package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +1 -4
  532. package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +1 -3
  533. package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +1 -3
  534. package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +1 -3
  535. package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +1 -3
  536. package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +1 -6
  537. package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +1 -6
  538. package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +1 -14
  539. package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +1 -3
  540. package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +1 -2
  541. package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +1 -2
  542. package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +1 -3
  543. package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +1 -5
  544. package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +1 -5
  545. package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +1 -3
  546. package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +1 -3
  547. package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +1 -3
  548. package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +1 -2
  549. package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +1 -2
  550. package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +1 -3
  551. package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +1 -2
  552. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +1 -3
  553. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +1 -3
  554. package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +1 -4
  555. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +1 -3
  556. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +1 -3
  557. package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +1 -9
  558. package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +1 -9
  559. package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +1 -2
  560. package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +1 -3
  561. package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +1 -3
  562. package/lib/cjs/entry/dependenciesNumber.generated.js +0 -202
  563. package/lib/cjs/entry/impureFunctionsAny.generated.js +1 -9
  564. package/lib/cjs/entry/impureFunctionsNumber.generated.js +1 -9
  565. package/lib/cjs/entry/mainAny.js +0 -16
  566. package/lib/cjs/entry/mainNumber.js +0 -16
  567. package/lib/cjs/entry/pureFunctionsAny.generated.js +1 -15
  568. package/lib/cjs/entry/pureFunctionsNumber.generated.js +1 -15
  569. package/lib/cjs/entry/typeChecks.js +0 -1
  570. package/lib/cjs/error/ArgumentsError.js +0 -3
  571. package/lib/cjs/error/DimensionError.js +0 -3
  572. package/lib/cjs/error/IndexError.js +0 -6
  573. package/lib/cjs/expression/Help.js +5 -28
  574. package/lib/cjs/expression/Parser.js +8 -21
  575. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +1 -235
  576. package/lib/cjs/expression/function/compile.js +1 -5
  577. package/lib/cjs/expression/function/evaluate.js +1 -6
  578. package/lib/cjs/expression/function/help.js +3 -12
  579. package/lib/cjs/expression/function/parser.js +1 -4
  580. package/lib/cjs/expression/node/AccessorNode.js +15 -45
  581. package/lib/cjs/expression/node/ArrayNode.js +10 -33
  582. package/lib/cjs/expression/node/AssignmentNode.js +28 -68
  583. package/lib/cjs/expression/node/BlockNode.js +11 -37
  584. package/lib/cjs/expression/node/ConditionalNode.js +14 -56
  585. package/lib/cjs/expression/node/ConstantNode.js +10 -41
  586. package/lib/cjs/expression/node/FunctionAssignmentNode.js +34 -54
  587. package/lib/cjs/expression/node/FunctionNode.js +32 -103
  588. package/lib/cjs/expression/node/IndexNode.js +15 -44
  589. package/lib/cjs/expression/node/Node.js +23 -57
  590. package/lib/cjs/expression/node/ObjectNode.js +10 -48
  591. package/lib/cjs/expression/node/OperatorNode.js +35 -142
  592. package/lib/cjs/expression/node/ParenthesisNode.js +11 -33
  593. package/lib/cjs/expression/node/RangeNode.js +15 -66
  594. package/lib/cjs/expression/node/RelationalNode.js +8 -44
  595. package/lib/cjs/expression/node/SymbolNode.js +16 -43
  596. package/lib/cjs/expression/node/utils/access.js +0 -7
  597. package/lib/cjs/expression/node/utils/assign.js +1 -8
  598. package/lib/cjs/expression/operators.js +22 -54
  599. package/lib/cjs/expression/parse.js +162 -341
  600. package/lib/cjs/expression/transform/apply.transform.js +4 -10
  601. package/lib/cjs/expression/transform/column.transform.js +6 -12
  602. package/lib/cjs/expression/transform/concat.transform.js +3 -10
  603. package/lib/cjs/expression/transform/cumsum.transform.js +2 -9
  604. package/lib/cjs/expression/transform/diff.transform.js +5 -11
  605. package/lib/cjs/expression/transform/filter.transform.js +3 -14
  606. package/lib/cjs/expression/transform/forEach.transform.js +2 -14
  607. package/lib/cjs/expression/transform/index.transform.js +4 -9
  608. package/lib/cjs/expression/transform/map.transform.js +3 -16
  609. package/lib/cjs/expression/transform/max.transform.js +4 -10
  610. package/lib/cjs/expression/transform/mean.transform.js +3 -9
  611. package/lib/cjs/expression/transform/min.transform.js +4 -10
  612. package/lib/cjs/expression/transform/range.transform.js +8 -13
  613. package/lib/cjs/expression/transform/row.transform.js +6 -12
  614. package/lib/cjs/expression/transform/std.transform.js +4 -10
  615. package/lib/cjs/expression/transform/subset.transform.js +2 -6
  616. package/lib/cjs/expression/transform/sum.transform.js +3 -9
  617. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +2 -7
  618. package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
  619. package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +0 -4
  620. package/lib/cjs/expression/transform/variance.transform.js +7 -13
  621. package/lib/cjs/factoriesAny.js +0 -278
  622. package/lib/cjs/factoriesNumber.js +20 -123
  623. package/lib/cjs/function/algebra/decomposition/lup.js +136 -173
  624. package/lib/cjs/function/algebra/decomposition/qr.js +36 -54
  625. package/lib/cjs/function/algebra/decomposition/slu.js +18 -22
  626. package/lib/cjs/function/algebra/derivative.js +47 -119
  627. package/lib/cjs/function/algebra/leafCount.js +2 -6
  628. package/lib/cjs/function/algebra/rationalize.js +152 -170
  629. package/lib/cjs/function/algebra/resolve.js +8 -19
  630. package/lib/cjs/function/algebra/simplify/util.js +14 -74
  631. package/lib/cjs/function/algebra/simplify.js +126 -213
  632. package/lib/cjs/function/algebra/simplifyConstant.js +45 -131
  633. package/lib/cjs/function/algebra/simplifyCore.js +29 -81
  634. package/lib/cjs/function/algebra/solver/lsolve.js +28 -35
  635. package/lib/cjs/function/algebra/solver/lsolveAll.js +30 -36
  636. package/lib/cjs/function/algebra/solver/lusolve.js +15 -25
  637. package/lib/cjs/function/algebra/solver/usolve.js +32 -40
  638. package/lib/cjs/function/algebra/solver/usolveAll.js +34 -36
  639. package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
  640. package/lib/cjs/function/algebra/sparse/csAmd.js +249 -301
  641. package/lib/cjs/function/algebra/sparse/csChol.js +72 -88
  642. package/lib/cjs/function/algebra/sparse/csCounts.js +37 -55
  643. package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
  644. package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
  645. package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
  646. package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
  647. package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
  648. package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
  649. package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
  650. package/lib/cjs/function/algebra/sparse/csLeaf.js +12 -13
  651. package/lib/cjs/function/algebra/sparse/csLu.js +71 -92
  652. package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
  653. package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
  654. package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
  655. package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
  656. package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
  657. package/lib/cjs/function/algebra/sparse/csSpsolve.js +32 -40
  658. package/lib/cjs/function/algebra/sparse/csSqr.js +62 -86
  659. package/lib/cjs/function/algebra/sparse/csSymperm.js +33 -44
  660. package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
  661. package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
  662. package/lib/cjs/function/algebra/symbolicEqual.js +3 -8
  663. package/lib/cjs/function/arithmetic/abs.js +0 -5
  664. package/lib/cjs/function/arithmetic/add.js +6 -14
  665. package/lib/cjs/function/arithmetic/addScalar.js +0 -6
  666. package/lib/cjs/function/arithmetic/cbrt.js +15 -26
  667. package/lib/cjs/function/arithmetic/ceil.js +11 -29
  668. package/lib/cjs/function/arithmetic/cube.js +2 -4
  669. package/lib/cjs/function/arithmetic/divide.js +7 -11
  670. package/lib/cjs/function/arithmetic/divideScalar.js +1 -4
  671. package/lib/cjs/function/arithmetic/dotDivide.js +5 -13
  672. package/lib/cjs/function/arithmetic/dotMultiply.js +4 -10
  673. package/lib/cjs/function/arithmetic/dotPow.js +5 -14
  674. package/lib/cjs/function/arithmetic/exp.js +0 -4
  675. package/lib/cjs/function/arithmetic/expm1.js +1 -5
  676. package/lib/cjs/function/arithmetic/fix.js +9 -17
  677. package/lib/cjs/function/arithmetic/floor.js +11 -29
  678. package/lib/cjs/function/arithmetic/gcd.js +8 -19
  679. package/lib/cjs/function/arithmetic/hypot.js +8 -17
  680. package/lib/cjs/function/arithmetic/invmod.js +11 -19
  681. package/lib/cjs/function/arithmetic/lcm.js +7 -20
  682. package/lib/cjs/function/arithmetic/log.js +3 -7
  683. package/lib/cjs/function/arithmetic/log10.js +2 -7
  684. package/lib/cjs/function/arithmetic/log1p.js +5 -11
  685. package/lib/cjs/function/arithmetic/log2.js +3 -8
  686. package/lib/cjs/function/arithmetic/mod.js +6 -17
  687. package/lib/cjs/function/arithmetic/multiply.js +312 -335
  688. package/lib/cjs/function/arithmetic/multiplyScalar.js +0 -4
  689. package/lib/cjs/function/arithmetic/norm.js +41 -69
  690. package/lib/cjs/function/arithmetic/nthRoot.js +9 -25
  691. package/lib/cjs/function/arithmetic/nthRoots.js +7 -15
  692. package/lib/cjs/function/arithmetic/pow.js +21 -40
  693. package/lib/cjs/function/arithmetic/round.js +6 -22
  694. package/lib/cjs/function/arithmetic/sign.js +3 -9
  695. package/lib/cjs/function/arithmetic/sqrt.js +3 -6
  696. package/lib/cjs/function/arithmetic/square.js +0 -4
  697. package/lib/cjs/function/arithmetic/subtract.js +7 -17
  698. package/lib/cjs/function/arithmetic/unaryMinus.js +2 -6
  699. package/lib/cjs/function/arithmetic/unaryPlus.js +5 -7
  700. package/lib/cjs/function/arithmetic/xgcd.js +12 -18
  701. package/lib/cjs/function/bitwise/bitAnd.js +3 -11
  702. package/lib/cjs/function/bitwise/bitNot.js +0 -6
  703. package/lib/cjs/function/bitwise/bitOr.js +4 -12
  704. package/lib/cjs/function/bitwise/bitXor.js +3 -11
  705. package/lib/cjs/function/bitwise/leftShift.js +5 -21
  706. package/lib/cjs/function/bitwise/rightArithShift.js +5 -21
  707. package/lib/cjs/function/bitwise/rightLogShift.js +6 -19
  708. package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +1 -3
  709. package/lib/cjs/function/combinatorics/bellNumbers.js +6 -11
  710. package/lib/cjs/function/combinatorics/catalan.js +6 -10
  711. package/lib/cjs/function/combinatorics/composition.js +6 -10
  712. package/lib/cjs/function/combinatorics/stirlingS2.js +12 -23
  713. package/lib/cjs/function/complex/arg.js +1 -4
  714. package/lib/cjs/function/complex/conj.js +0 -4
  715. package/lib/cjs/function/complex/im.js +0 -4
  716. package/lib/cjs/function/complex/re.js +0 -4
  717. package/lib/cjs/function/geometry/distance.js +7 -55
  718. package/lib/cjs/function/geometry/intersect.js +19 -54
  719. package/lib/cjs/function/logical/and.js +5 -17
  720. package/lib/cjs/function/logical/not.js +0 -5
  721. package/lib/cjs/function/logical/or.js +4 -11
  722. package/lib/cjs/function/logical/xor.js +3 -10
  723. package/lib/cjs/function/matrix/apply.js +3 -23
  724. package/lib/cjs/function/matrix/column.js +4 -10
  725. package/lib/cjs/function/matrix/concat.js +9 -26
  726. package/lib/cjs/function/matrix/count.js +2 -5
  727. package/lib/cjs/function/matrix/cross.js +4 -11
  728. package/lib/cjs/function/matrix/ctranspose.js +2 -5
  729. package/lib/cjs/function/matrix/det.js +7 -26
  730. package/lib/cjs/function/matrix/diag.js +21 -35
  731. package/lib/cjs/function/matrix/diff.js +7 -24
  732. package/lib/cjs/function/matrix/dot.js +22 -46
  733. package/lib/cjs/function/matrix/eigs/complexEigs.js +156 -209
  734. package/lib/cjs/function/matrix/eigs/realSymetric.js +62 -106
  735. package/lib/cjs/function/matrix/eigs.js +40 -72
  736. package/lib/cjs/function/matrix/expm.js +26 -42
  737. package/lib/cjs/function/matrix/fft.js +12 -26
  738. package/lib/cjs/function/matrix/filter.js +1 -7
  739. package/lib/cjs/function/matrix/flatten.js +6 -12
  740. package/lib/cjs/function/matrix/forEach.js +1 -9
  741. package/lib/cjs/function/matrix/getMatrixDataType.js +0 -5
  742. package/lib/cjs/function/matrix/identity.js +14 -30
  743. package/lib/cjs/function/matrix/ifft.js +3 -8
  744. package/lib/cjs/function/matrix/inv.js +20 -44
  745. package/lib/cjs/function/matrix/kron.js +3 -10
  746. package/lib/cjs/function/matrix/map.js +1 -11
  747. package/lib/cjs/function/matrix/matrixFromColumns.js +12 -22
  748. package/lib/cjs/function/matrix/matrixFromFunction.js +2 -8
  749. package/lib/cjs/function/matrix/matrixFromRows.js +6 -18
  750. package/lib/cjs/function/matrix/ones.js +8 -22
  751. package/lib/cjs/function/matrix/partitionSelect.js +15 -26
  752. package/lib/cjs/function/matrix/pinv.js +18 -50
  753. package/lib/cjs/function/matrix/range.js +15 -41
  754. package/lib/cjs/function/matrix/reshape.js +1 -5
  755. package/lib/cjs/function/matrix/resize.js +6 -27
  756. package/lib/cjs/function/matrix/rotate.js +2 -14
  757. package/lib/cjs/function/matrix/rotationMatrix.js +14 -33
  758. package/lib/cjs/function/matrix/row.js +4 -10
  759. package/lib/cjs/function/matrix/size.js +2 -7
  760. package/lib/cjs/function/matrix/sort.js +7 -20
  761. package/lib/cjs/function/matrix/sqrtm.js +12 -25
  762. package/lib/cjs/function/matrix/squeeze.js +3 -8
  763. package/lib/cjs/function/matrix/subset.js +16 -39
  764. package/lib/cjs/function/matrix/trace.js +22 -36
  765. package/lib/cjs/function/matrix/transpose.js +43 -58
  766. package/lib/cjs/function/matrix/zeros.js +10 -23
  767. package/lib/cjs/function/probability/combinations.js +3 -12
  768. package/lib/cjs/function/probability/combinationsWithRep.js +1 -17
  769. package/lib/cjs/function/probability/factorial.js +1 -7
  770. package/lib/cjs/function/probability/gamma.js +23 -34
  771. package/lib/cjs/function/probability/kldivergence.js +10 -22
  772. package/lib/cjs/function/probability/lgamma.js +13 -17
  773. package/lib/cjs/function/probability/multinomial.js +6 -11
  774. package/lib/cjs/function/probability/permutations.js +6 -19
  775. package/lib/cjs/function/probability/pickRandom.js +7 -27
  776. package/lib/cjs/function/probability/random.js +9 -20
  777. package/lib/cjs/function/probability/randomInt.js +3 -12
  778. package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
  779. package/lib/cjs/function/probability/util/seededRNG.js +6 -9
  780. package/lib/cjs/function/relational/compare.js +8 -17
  781. package/lib/cjs/function/relational/compareNatural.js +28 -59
  782. package/lib/cjs/function/relational/compareText.js +2 -6
  783. package/lib/cjs/function/relational/compareUnits.js +0 -3
  784. package/lib/cjs/function/relational/deepEqual.js +2 -8
  785. package/lib/cjs/function/relational/equal.js +5 -15
  786. package/lib/cjs/function/relational/equalScalar.js +3 -9
  787. package/lib/cjs/function/relational/equalText.js +2 -5
  788. package/lib/cjs/function/relational/larger.js +5 -14
  789. package/lib/cjs/function/relational/largerEq.js +5 -14
  790. package/lib/cjs/function/relational/smaller.js +5 -14
  791. package/lib/cjs/function/relational/smallerEq.js +5 -14
  792. package/lib/cjs/function/relational/unequal.js +6 -17
  793. package/lib/cjs/function/set/setCartesian.js +9 -17
  794. package/lib/cjs/function/set/setDifference.js +9 -19
  795. package/lib/cjs/function/set/setDistinct.js +9 -17
  796. package/lib/cjs/function/set/setIntersect.js +9 -17
  797. package/lib/cjs/function/set/setIsSubset.js +4 -13
  798. package/lib/cjs/function/set/setMultiplicity.js +4 -11
  799. package/lib/cjs/function/set/setPowerset.js +10 -20
  800. package/lib/cjs/function/set/setSize.js +1 -7
  801. package/lib/cjs/function/set/setSymDifference.js +5 -10
  802. package/lib/cjs/function/set/setUnion.js +6 -11
  803. package/lib/cjs/function/special/erf.js +12 -27
  804. package/lib/cjs/function/statistics/cumsum.js +4 -27
  805. package/lib/cjs/function/statistics/mad.js +4 -12
  806. package/lib/cjs/function/statistics/max.js +7 -16
  807. package/lib/cjs/function/statistics/mean.js +4 -14
  808. package/lib/cjs/function/statistics/median.js +14 -21
  809. package/lib/cjs/function/statistics/min.js +7 -16
  810. package/lib/cjs/function/statistics/mode.js +3 -15
  811. package/lib/cjs/function/statistics/prod.js +9 -13
  812. package/lib/cjs/function/statistics/quantileSeq.js +19 -65
  813. package/lib/cjs/function/statistics/std.js +3 -10
  814. package/lib/cjs/function/statistics/sum.js +6 -14
  815. package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
  816. package/lib/cjs/function/statistics/variance.js +11 -24
  817. package/lib/cjs/function/string/bin.js +2 -4
  818. package/lib/cjs/function/string/format.js +0 -4
  819. package/lib/cjs/function/string/hex.js +2 -4
  820. package/lib/cjs/function/string/oct.js +2 -3
  821. package/lib/cjs/function/string/print.js +1 -10
  822. package/lib/cjs/function/trigonometry/acos.js +2 -5
  823. package/lib/cjs/function/trigonometry/acosh.js +2 -8
  824. package/lib/cjs/function/trigonometry/acot.js +1 -5
  825. package/lib/cjs/function/trigonometry/acoth.js +3 -8
  826. package/lib/cjs/function/trigonometry/acsc.js +3 -8
  827. package/lib/cjs/function/trigonometry/acsch.js +1 -5
  828. package/lib/cjs/function/trigonometry/asec.js +3 -8
  829. package/lib/cjs/function/trigonometry/asech.js +3 -10
  830. package/lib/cjs/function/trigonometry/asin.js +2 -5
  831. package/lib/cjs/function/trigonometry/asinh.js +0 -4
  832. package/lib/cjs/function/trigonometry/atan.js +0 -3
  833. package/lib/cjs/function/trigonometry/atan2.js +6 -13
  834. package/lib/cjs/function/trigonometry/atanh.js +2 -7
  835. package/lib/cjs/function/trigonometry/cos.js +1 -4
  836. package/lib/cjs/function/trigonometry/cosh.js +0 -4
  837. package/lib/cjs/function/trigonometry/cot.js +2 -6
  838. package/lib/cjs/function/trigonometry/coth.js +1 -5
  839. package/lib/cjs/function/trigonometry/csc.js +2 -6
  840. package/lib/cjs/function/trigonometry/csch.js +1 -5
  841. package/lib/cjs/function/trigonometry/sec.js +2 -6
  842. package/lib/cjs/function/trigonometry/sech.js +1 -5
  843. package/lib/cjs/function/trigonometry/sin.js +1 -4
  844. package/lib/cjs/function/trigonometry/sinh.js +0 -4
  845. package/lib/cjs/function/trigonometry/tan.js +1 -4
  846. package/lib/cjs/function/trigonometry/tanh.js +0 -4
  847. package/lib/cjs/function/trigonometry/trigUnit.js +0 -3
  848. package/lib/cjs/function/unit/to.js +2 -5
  849. package/lib/cjs/function/utils/clone.js +0 -4
  850. package/lib/cjs/function/utils/hasNumericValue.js +1 -4
  851. package/lib/cjs/function/utils/isInteger.js +1 -5
  852. package/lib/cjs/function/utils/isNaN.js +0 -5
  853. package/lib/cjs/function/utils/isNegative.js +1 -5
  854. package/lib/cjs/function/utils/isNumeric.js +0 -4
  855. package/lib/cjs/function/utils/isPositive.js +0 -5
  856. package/lib/cjs/function/utils/isPrime.js +4 -25
  857. package/lib/cjs/function/utils/isZero.js +0 -5
  858. package/lib/cjs/function/utils/numeric.js +5 -13
  859. package/lib/cjs/function/utils/typeOf.js +0 -4
  860. package/lib/cjs/header.js +2 -2
  861. package/lib/cjs/index.js +0 -2
  862. package/lib/cjs/json/replacer.js +0 -3
  863. package/lib/cjs/json/reviver.js +0 -5
  864. package/lib/cjs/number.js +0 -2
  865. package/lib/cjs/plain/bignumber/arithmetic.js +0 -10
  866. package/lib/cjs/plain/bignumber/index.js +0 -7
  867. package/lib/cjs/plain/number/arithmetic.js +24 -85
  868. package/lib/cjs/plain/number/bitwise.js +0 -23
  869. package/lib/cjs/plain/number/combinations.js +4 -14
  870. package/lib/cjs/plain/number/constants.js +0 -1
  871. package/lib/cjs/plain/number/index.js +0 -18
  872. package/lib/cjs/plain/number/logical.js +0 -8
  873. package/lib/cjs/plain/number/probability.js +11 -22
  874. package/lib/cjs/plain/number/trigonometry.js +0 -52
  875. package/lib/cjs/plain/number/utils.js +0 -12
  876. package/lib/cjs/type/bignumber/BigNumber.js +4 -13
  877. package/lib/cjs/type/bignumber/function/bignumber.js +1 -10
  878. package/lib/cjs/type/boolean.js +2 -9
  879. package/lib/cjs/type/chain/Chain.js +18 -43
  880. package/lib/cjs/type/chain/function/chain.js +1 -4
  881. package/lib/cjs/type/complex/Complex.js +8 -35
  882. package/lib/cjs/type/complex/function/complex.js +2 -7
  883. package/lib/cjs/type/fraction/Fraction.js +2 -8
  884. package/lib/cjs/type/fraction/function/fraction.js +2 -6
  885. package/lib/cjs/type/matrix/DenseMatrix.js +144 -246
  886. package/lib/cjs/type/matrix/FibonacciHeap.js +119 -159
  887. package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +20 -43
  888. package/lib/cjs/type/matrix/Matrix.js +18 -38
  889. package/lib/cjs/type/matrix/MatrixIndex.js +24 -65
  890. package/lib/cjs/type/matrix/Range.js +14 -50
  891. package/lib/cjs/type/matrix/Spa.js +34 -54
  892. package/lib/cjs/type/matrix/SparseMatrix.js +414 -531
  893. package/lib/cjs/type/matrix/function/index.js +1 -5
  894. package/lib/cjs/type/matrix/function/matrix.js +4 -9
  895. package/lib/cjs/type/matrix/function/sparse.js +1 -4
  896. package/lib/cjs/type/matrix/utils/matAlgo01xDSid.js +36 -36
  897. package/lib/cjs/type/matrix/utils/matAlgo02xDS0.js +43 -43
  898. package/lib/cjs/type/matrix/utils/matAlgo03xDSf.js +40 -40
  899. package/lib/cjs/type/matrix/utils/matAlgo04xSidSid.js +71 -71
  900. package/lib/cjs/type/matrix/utils/matAlgo05xSfSf.js +73 -74
  901. package/lib/cjs/type/matrix/utils/matAlgo06xS0S0.js +61 -61
  902. package/lib/cjs/type/matrix/utils/matAlgo07xSSf.js +47 -49
  903. package/lib/cjs/type/matrix/utils/matAlgo08xS0Sid.js +67 -67
  904. package/lib/cjs/type/matrix/utils/matAlgo09xS0Sf.js +57 -56
  905. package/lib/cjs/type/matrix/utils/matAlgo10xSids.js +33 -33
  906. package/lib/cjs/type/matrix/utils/matAlgo11xS0s.js +39 -38
  907. package/lib/cjs/type/matrix/utils/matAlgo12xSfs.js +33 -33
  908. package/lib/cjs/type/matrix/utils/matAlgo13xDD.js +26 -28
  909. package/lib/cjs/type/matrix/utils/matAlgo14xDs.js +18 -19
  910. package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +10 -32
  911. package/lib/cjs/type/number.js +7 -26
  912. package/lib/cjs/type/resultset/ResultSet.js +5 -13
  913. package/lib/cjs/type/string.js +0 -5
  914. package/lib/cjs/type/unit/Unit.js +206 -394
  915. package/lib/cjs/type/unit/function/createUnit.js +1 -4
  916. package/lib/cjs/type/unit/function/splitUnit.js +0 -3
  917. package/lib/cjs/type/unit/function/unit.js +5 -6
  918. package/lib/cjs/type/unit/physicalConstants.js +22 -19
  919. package/lib/cjs/utils/array.js +62 -137
  920. package/lib/cjs/utils/bignumber/bitwise.js +13 -96
  921. package/lib/cjs/utils/bignumber/constants.js +4 -7
  922. package/lib/cjs/utils/bignumber/formatter.js +20 -46
  923. package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
  924. package/lib/cjs/utils/collection.js +24 -43
  925. package/lib/cjs/utils/complex.js +0 -2
  926. package/lib/cjs/utils/customs.js +18 -42
  927. package/lib/cjs/utils/emitter.js +2 -4
  928. package/lib/cjs/utils/factory.js +11 -28
  929. package/lib/cjs/utils/function.js +4 -21
  930. package/lib/cjs/utils/is.js +3 -50
  931. package/lib/cjs/utils/latex.js +6 -14
  932. package/lib/cjs/utils/log.js +0 -6
  933. package/lib/cjs/utils/lruQueue.js +0 -9
  934. package/lib/cjs/utils/map.js +12 -44
  935. package/lib/cjs/utils/noop.js +0 -5
  936. package/lib/cjs/utils/number.js +71 -151
  937. package/lib/cjs/utils/object.js +25 -85
  938. package/lib/cjs/utils/product.js +0 -4
  939. package/lib/cjs/utils/scope.js +0 -4
  940. package/lib/cjs/utils/snapshot.js +13 -47
  941. package/lib/cjs/utils/string.js +9 -40
  942. package/lib/cjs/utils/switch.js +0 -5
  943. package/lib/cjs/version.js +2 -2
  944. package/lib/esm/constants.js +9 -5
  945. package/lib/esm/core/create.js +24 -26
  946. package/lib/esm/core/function/config.js +12 -10
  947. package/lib/esm/core/function/import.js +21 -57
  948. package/lib/esm/core/function/typed.js +23 -41
  949. package/lib/esm/entry/configReadonly.js +2 -3
  950. package/lib/esm/entry/dependenciesAny.generated.js +0 -1
  951. package/lib/esm/entry/dependenciesNumber.generated.js +0 -1
  952. package/lib/esm/entry/impureFunctionsAny.generated.js +2 -8
  953. package/lib/esm/entry/impureFunctionsNumber.generated.js +2 -8
  954. package/lib/esm/entry/mainAny.js +10 -5
  955. package/lib/esm/entry/mainNumber.js +10 -5
  956. package/lib/esm/entry/pureFunctionsAny.generated.js +2 -1
  957. package/lib/esm/entry/pureFunctionsNumber.generated.js +2 -1
  958. package/lib/esm/error/ArgumentsError.js +0 -1
  959. package/lib/esm/error/DimensionError.js +0 -1
  960. package/lib/esm/error/IndexError.js +0 -4
  961. package/lib/esm/expression/Help.js +5 -23
  962. package/lib/esm/expression/Parser.js +8 -18
  963. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +1 -0
  964. package/lib/esm/expression/function/compile.js +0 -1
  965. package/lib/esm/expression/function/evaluate.js +0 -1
  966. package/lib/esm/expression/function/help.js +1 -5
  967. package/lib/esm/expression/function/parser.js +0 -1
  968. package/lib/esm/expression/node/AccessorNode.js +14 -40
  969. package/lib/esm/expression/node/ArrayNode.js +11 -29
  970. package/lib/esm/expression/node/AssignmentNode.js +25 -58
  971. package/lib/esm/expression/node/BlockNode.js +11 -33
  972. package/lib/esm/expression/node/ConditionalNode.js +15 -53
  973. package/lib/esm/expression/node/ConstantNode.js +11 -37
  974. package/lib/esm/expression/node/FunctionAssignmentNode.js +22 -46
  975. package/lib/esm/expression/node/FunctionNode.js +30 -93
  976. package/lib/esm/expression/node/IndexNode.js +15 -38
  977. package/lib/esm/expression/node/Node.js +23 -67
  978. package/lib/esm/expression/node/ObjectNode.js +11 -41
  979. package/lib/esm/expression/node/OperatorNode.js +36 -138
  980. package/lib/esm/expression/node/ParenthesisNode.js +12 -32
  981. package/lib/esm/expression/node/RangeNode.js +16 -62
  982. package/lib/esm/expression/node/RelationalNode.js +9 -37
  983. package/lib/esm/expression/node/SymbolNode.js +16 -39
  984. package/lib/esm/expression/node/utils/access.js +0 -2
  985. package/lib/esm/expression/node/utils/assign.js +0 -2
  986. package/lib/esm/expression/operators.js +21 -41
  987. package/lib/esm/expression/parse.js +145 -323
  988. package/lib/esm/expression/transform/apply.transform.js +3 -4
  989. package/lib/esm/expression/transform/column.transform.js +3 -4
  990. package/lib/esm/expression/transform/concat.transform.js +1 -3
  991. package/lib/esm/expression/transform/cumsum.transform.js +1 -3
  992. package/lib/esm/expression/transform/diff.transform.js +1 -2
  993. package/lib/esm/expression/transform/filter.transform.js +3 -7
  994. package/lib/esm/expression/transform/forEach.transform.js +2 -8
  995. package/lib/esm/expression/transform/index.transform.js +4 -6
  996. package/lib/esm/expression/transform/map.transform.js +3 -9
  997. package/lib/esm/expression/transform/max.transform.js +1 -2
  998. package/lib/esm/expression/transform/mean.transform.js +1 -2
  999. package/lib/esm/expression/transform/min.transform.js +1 -2
  1000. package/lib/esm/expression/transform/range.transform.js +1 -3
  1001. package/lib/esm/expression/transform/row.transform.js +3 -4
  1002. package/lib/esm/expression/transform/std.transform.js +1 -2
  1003. package/lib/esm/expression/transform/subset.transform.js +1 -1
  1004. package/lib/esm/expression/transform/sum.transform.js +1 -2
  1005. package/lib/esm/expression/transform/utils/compileInlineExpression.js +3 -5
  1006. package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
  1007. package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +1 -3
  1008. package/lib/esm/expression/transform/variance.transform.js +1 -2
  1009. package/lib/esm/factoriesAny.js +2 -1
  1010. package/lib/esm/factoriesNumber.js +58 -33
  1011. package/lib/esm/function/algebra/decomposition/lup.js +124 -158
  1012. package/lib/esm/function/algebra/decomposition/qr.js +22 -36
  1013. package/lib/esm/function/algebra/decomposition/slu.js +9 -8
  1014. package/lib/esm/function/algebra/derivative.js +36 -105
  1015. package/lib/esm/function/algebra/leafCount.js +1 -3
  1016. package/lib/esm/function/algebra/rationalize.js +127 -142
  1017. package/lib/esm/function/algebra/resolve.js +3 -10
  1018. package/lib/esm/function/algebra/simplify/util.js +12 -67
  1019. package/lib/esm/function/algebra/simplify.js +86 -162
  1020. package/lib/esm/function/algebra/simplifyConstant.js +22 -94
  1021. package/lib/esm/function/algebra/simplifyCore.js +6 -52
  1022. package/lib/esm/function/algebra/solver/lsolve.js +22 -26
  1023. package/lib/esm/function/algebra/solver/lsolveAll.js +24 -25
  1024. package/lib/esm/function/algebra/solver/lusolve.js +9 -14
  1025. package/lib/esm/function/algebra/solver/usolve.js +26 -31
  1026. package/lib/esm/function/algebra/solver/usolveAll.js +28 -25
  1027. package/lib/esm/function/algebra/solver/utils/solveValidation.js +4 -28
  1028. package/lib/esm/function/algebra/sparse/csAmd.js +247 -294
  1029. package/lib/esm/function/algebra/sparse/csChol.js +63 -75
  1030. package/lib/esm/function/algebra/sparse/csCounts.js +37 -52
  1031. package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
  1032. package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
  1033. package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
  1034. package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
  1035. package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
  1036. package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
  1037. package/lib/esm/function/algebra/sparse/csLeaf.js +12 -12
  1038. package/lib/esm/function/algebra/sparse/csLu.js +65 -83
  1039. package/lib/esm/function/algebra/sparse/csMark.js +1 -1
  1040. package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
  1041. package/lib/esm/function/algebra/sparse/csPost.js +15 -23
  1042. package/lib/esm/function/algebra/sparse/csReach.js +15 -17
  1043. package/lib/esm/function/algebra/sparse/csSpsolve.js +30 -35
  1044. package/lib/esm/function/algebra/sparse/csSqr.js +60 -77
  1045. package/lib/esm/function/algebra/sparse/csSymperm.js +32 -40
  1046. package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
  1047. package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
  1048. package/lib/esm/function/algebra/symbolicEqual.js +0 -2
  1049. package/lib/esm/function/arithmetic/abs.js +0 -1
  1050. package/lib/esm/function/arithmetic/add.js +1 -3
  1051. package/lib/esm/function/arithmetic/addScalar.js +0 -3
  1052. package/lib/esm/function/arithmetic/cbrt.js +8 -15
  1053. package/lib/esm/function/arithmetic/ceil.js +0 -3
  1054. package/lib/esm/function/arithmetic/cube.js +2 -1
  1055. package/lib/esm/function/arithmetic/divide.js +2 -1
  1056. package/lib/esm/function/arithmetic/divideScalar.js +0 -1
  1057. package/lib/esm/function/arithmetic/dotDivide.js +1 -1
  1058. package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
  1059. package/lib/esm/function/arithmetic/dotPow.js +1 -3
  1060. package/lib/esm/function/arithmetic/exp.js +0 -1
  1061. package/lib/esm/function/arithmetic/expm1.js +0 -1
  1062. package/lib/esm/function/arithmetic/fix.js +0 -3
  1063. package/lib/esm/function/arithmetic/floor.js +0 -3
  1064. package/lib/esm/function/arithmetic/gcd.js +4 -8
  1065. package/lib/esm/function/arithmetic/hypot.js +1 -6
  1066. package/lib/esm/function/arithmetic/invmod.js +0 -2
  1067. package/lib/esm/function/arithmetic/lcm.js +5 -11
  1068. package/lib/esm/function/arithmetic/log.js +0 -1
  1069. package/lib/esm/function/arithmetic/log10.js +0 -1
  1070. package/lib/esm/function/arithmetic/log1p.js +1 -3
  1071. package/lib/esm/function/arithmetic/log2.js +1 -2
  1072. package/lib/esm/function/arithmetic/mod.js +3 -5
  1073. package/lib/esm/function/arithmetic/multiply.js +307 -324
  1074. package/lib/esm/function/arithmetic/multiplyScalar.js +0 -1
  1075. package/lib/esm/function/arithmetic/norm.js +29 -55
  1076. package/lib/esm/function/arithmetic/nthRoot.js +6 -14
  1077. package/lib/esm/function/arithmetic/nthRoots.js +4 -10
  1078. package/lib/esm/function/arithmetic/pow.js +13 -27
  1079. package/lib/esm/function/arithmetic/round.js +1 -10
  1080. package/lib/esm/function/arithmetic/sign.js +0 -2
  1081. package/lib/esm/function/arithmetic/sqrt.js +1 -2
  1082. package/lib/esm/function/arithmetic/square.js +0 -1
  1083. package/lib/esm/function/arithmetic/subtract.js +2 -4
  1084. package/lib/esm/function/arithmetic/unaryMinus.js +2 -2
  1085. package/lib/esm/function/arithmetic/unaryPlus.js +3 -1
  1086. package/lib/esm/function/arithmetic/xgcd.js +9 -12
  1087. package/lib/esm/function/bitwise/bitAnd.js +1 -1
  1088. package/lib/esm/function/bitwise/bitNot.js +0 -1
  1089. package/lib/esm/function/bitwise/bitOr.js +1 -1
  1090. package/lib/esm/function/bitwise/bitXor.js +1 -1
  1091. package/lib/esm/function/bitwise/leftShift.js +1 -5
  1092. package/lib/esm/function/bitwise/rightArithShift.js +1 -5
  1093. package/lib/esm/function/bitwise/rightLogShift.js +2 -4
  1094. package/lib/esm/function/combinatorics/bellNumbers.js +2 -5
  1095. package/lib/esm/function/combinatorics/catalan.js +0 -2
  1096. package/lib/esm/function/combinatorics/composition.js +0 -2
  1097. package/lib/esm/function/combinatorics/stirlingS2.js +0 -8
  1098. package/lib/esm/function/complex/arg.js +1 -1
  1099. package/lib/esm/function/complex/conj.js +0 -1
  1100. package/lib/esm/function/complex/im.js +0 -1
  1101. package/lib/esm/function/complex/re.js +0 -1
  1102. package/lib/esm/function/geometry/distance.js +0 -45
  1103. package/lib/esm/function/geometry/intersect.js +5 -38
  1104. package/lib/esm/function/logical/and.js +1 -5
  1105. package/lib/esm/function/logical/not.js +0 -1
  1106. package/lib/esm/function/logical/or.js +1 -1
  1107. package/lib/esm/function/logical/xor.js +1 -1
  1108. package/lib/esm/function/matrix/apply.js +2 -16
  1109. package/lib/esm/function/matrix/column.js +1 -3
  1110. package/lib/esm/function/matrix/concat.js +7 -16
  1111. package/lib/esm/function/matrix/count.js +0 -1
  1112. package/lib/esm/function/matrix/cross.js +1 -5
  1113. package/lib/esm/function/matrix/ctranspose.js +0 -1
  1114. package/lib/esm/function/matrix/det.js +1 -15
  1115. package/lib/esm/function/matrix/diag.js +18 -27
  1116. package/lib/esm/function/matrix/diff.js +4 -17
  1117. package/lib/esm/function/matrix/dot.js +18 -39
  1118. package/lib/esm/function/matrix/eigs/complexEigs.js +131 -169
  1119. package/lib/esm/function/matrix/eigs/realSymetric.js +51 -93
  1120. package/lib/esm/function/matrix/eigs.js +6 -30
  1121. package/lib/esm/function/matrix/expm.js +21 -33
  1122. package/lib/esm/function/matrix/fft.js +5 -14
  1123. package/lib/esm/function/matrix/filter.js +1 -2
  1124. package/lib/esm/function/matrix/flatten.js +5 -7
  1125. package/lib/esm/function/matrix/forEach.js +1 -4
  1126. package/lib/esm/function/matrix/getMatrixDataType.js +0 -1
  1127. package/lib/esm/function/matrix/identity.js +9 -20
  1128. package/lib/esm/function/matrix/ifft.js +0 -1
  1129. package/lib/esm/function/matrix/inv.js +12 -31
  1130. package/lib/esm/function/matrix/kron.js +1 -5
  1131. package/lib/esm/function/matrix/map.js +1 -7
  1132. package/lib/esm/function/matrix/matrixFromColumns.js +8 -12
  1133. package/lib/esm/function/matrix/matrixFromFunction.js +0 -4
  1134. package/lib/esm/function/matrix/matrixFromRows.js +2 -8
  1135. package/lib/esm/function/matrix/ones.js +5 -14
  1136. package/lib/esm/function/matrix/partitionSelect.js +12 -19
  1137. package/lib/esm/function/matrix/pinv.js +5 -31
  1138. package/lib/esm/function/matrix/range.js +8 -31
  1139. package/lib/esm/function/matrix/reshape.js +0 -1
  1140. package/lib/esm/function/matrix/resize.js +5 -17
  1141. package/lib/esm/function/matrix/rotate.js +0 -9
  1142. package/lib/esm/function/matrix/rotationMatrix.js +3 -19
  1143. package/lib/esm/function/matrix/row.js +1 -3
  1144. package/lib/esm/function/matrix/size.js +0 -1
  1145. package/lib/esm/function/matrix/sort.js +4 -14
  1146. package/lib/esm/function/matrix/sqrtm.js +2 -10
  1147. package/lib/esm/function/matrix/squeeze.js +2 -3
  1148. package/lib/esm/function/matrix/subset.js +15 -30
  1149. package/lib/esm/function/matrix/trace.js +20 -30
  1150. package/lib/esm/function/matrix/transpose.js +42 -53
  1151. package/lib/esm/function/matrix/zeros.js +8 -15
  1152. package/lib/esm/function/probability/combinations.js +3 -8
  1153. package/lib/esm/function/probability/combinationsWithRep.js +1 -12
  1154. package/lib/esm/function/probability/factorial.js +0 -3
  1155. package/lib/esm/function/probability/gamma.js +18 -26
  1156. package/lib/esm/function/probability/kldivergence.js +2 -12
  1157. package/lib/esm/function/probability/lgamma.js +12 -12
  1158. package/lib/esm/function/probability/multinomial.js +0 -2
  1159. package/lib/esm/function/probability/permutations.js +5 -13
  1160. package/lib/esm/function/probability/pickRandom.js +2 -17
  1161. package/lib/esm/function/probability/random.js +4 -10
  1162. package/lib/esm/function/probability/randomInt.js +1 -5
  1163. package/lib/esm/function/probability/util/randomMatrix.js +0 -2
  1164. package/lib/esm/function/probability/util/seededRNG.js +6 -5
  1165. package/lib/esm/function/relational/compare.js +1 -1
  1166. package/lib/esm/function/relational/compareNatural.js +27 -52
  1167. package/lib/esm/function/relational/compareText.js +1 -1
  1168. package/lib/esm/function/relational/compareUnits.js +0 -1
  1169. package/lib/esm/function/relational/deepEqual.js +1 -5
  1170. package/lib/esm/function/relational/equal.js +1 -5
  1171. package/lib/esm/function/relational/equalScalar.js +1 -1
  1172. package/lib/esm/function/relational/equalText.js +0 -1
  1173. package/lib/esm/function/relational/larger.js +1 -1
  1174. package/lib/esm/function/relational/largerEq.js +1 -1
  1175. package/lib/esm/function/relational/smaller.js +1 -1
  1176. package/lib/esm/function/relational/smallerEq.js +1 -1
  1177. package/lib/esm/function/relational/unequal.js +1 -6
  1178. package/lib/esm/function/set/setCartesian.js +4 -9
  1179. package/lib/esm/function/set/setDifference.js +4 -11
  1180. package/lib/esm/function/set/setDistinct.js +4 -9
  1181. package/lib/esm/function/set/setIntersect.js +4 -9
  1182. package/lib/esm/function/set/setIsSubset.js +0 -6
  1183. package/lib/esm/function/set/setMultiplicity.js +0 -4
  1184. package/lib/esm/function/set/setPowerset.js +6 -13
  1185. package/lib/esm/function/set/setSize.js +0 -3
  1186. package/lib/esm/function/set/setSymDifference.js +0 -2
  1187. package/lib/esm/function/set/setUnion.js +0 -2
  1188. package/lib/esm/function/special/erf.js +12 -23
  1189. package/lib/esm/function/statistics/cumsum.js +2 -18
  1190. package/lib/esm/function/statistics/mad.js +0 -4
  1191. package/lib/esm/function/statistics/max.js +4 -9
  1192. package/lib/esm/function/statistics/mean.js +2 -7
  1193. package/lib/esm/function/statistics/median.js +10 -12
  1194. package/lib/esm/function/statistics/min.js +4 -9
  1195. package/lib/esm/function/statistics/mode.js +1 -10
  1196. package/lib/esm/function/statistics/prod.js +6 -6
  1197. package/lib/esm/function/statistics/quantileSeq.js +15 -56
  1198. package/lib/esm/function/statistics/std.js +0 -4
  1199. package/lib/esm/function/statistics/sum.js +3 -7
  1200. package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
  1201. package/lib/esm/function/statistics/variance.js +5 -13
  1202. package/lib/esm/function/string/bin.js +1 -1
  1203. package/lib/esm/function/string/format.js +0 -1
  1204. package/lib/esm/function/string/hex.js +1 -1
  1205. package/lib/esm/function/string/oct.js +1 -0
  1206. package/lib/esm/function/string/print.js +1 -5
  1207. package/lib/esm/function/trigonometry/acos.js +0 -1
  1208. package/lib/esm/function/trigonometry/acosh.js +0 -3
  1209. package/lib/esm/function/trigonometry/acot.js +0 -1
  1210. package/lib/esm/function/trigonometry/acoth.js +0 -2
  1211. package/lib/esm/function/trigonometry/acsc.js +0 -2
  1212. package/lib/esm/function/trigonometry/acsch.js +0 -1
  1213. package/lib/esm/function/trigonometry/asec.js +0 -2
  1214. package/lib/esm/function/trigonometry/asech.js +0 -4
  1215. package/lib/esm/function/trigonometry/asin.js +0 -1
  1216. package/lib/esm/function/trigonometry/asinh.js +0 -1
  1217. package/lib/esm/function/trigonometry/atan.js +0 -1
  1218. package/lib/esm/function/trigonometry/atan2.js +2 -1
  1219. package/lib/esm/function/trigonometry/atanh.js +0 -2
  1220. package/lib/esm/function/trigonometry/cos.js +1 -1
  1221. package/lib/esm/function/trigonometry/cosh.js +0 -1
  1222. package/lib/esm/function/trigonometry/cot.js +1 -1
  1223. package/lib/esm/function/trigonometry/coth.js +0 -1
  1224. package/lib/esm/function/trigonometry/csc.js +1 -1
  1225. package/lib/esm/function/trigonometry/csch.js +0 -1
  1226. package/lib/esm/function/trigonometry/sec.js +1 -1
  1227. package/lib/esm/function/trigonometry/sech.js +0 -1
  1228. package/lib/esm/function/trigonometry/sin.js +1 -1
  1229. package/lib/esm/function/trigonometry/sinh.js +0 -1
  1230. package/lib/esm/function/trigonometry/tan.js +1 -1
  1231. package/lib/esm/function/trigonometry/tanh.js +0 -1
  1232. package/lib/esm/function/trigonometry/trigUnit.js +0 -1
  1233. package/lib/esm/function/unit/to.js +1 -1
  1234. package/lib/esm/function/utils/clone.js +0 -1
  1235. package/lib/esm/function/utils/hasNumericValue.js +0 -1
  1236. package/lib/esm/function/utils/isInteger.js +1 -1
  1237. package/lib/esm/function/utils/isNaN.js +0 -1
  1238. package/lib/esm/function/utils/isNegative.js +1 -1
  1239. package/lib/esm/function/utils/isNumeric.js +0 -1
  1240. package/lib/esm/function/utils/isPositive.js +0 -1
  1241. package/lib/esm/function/utils/isPrime.js +4 -22
  1242. package/lib/esm/function/utils/isZero.js +0 -1
  1243. package/lib/esm/function/utils/numeric.js +3 -7
  1244. package/lib/esm/function/utils/typeOf.js +0 -1
  1245. package/lib/esm/json/replacer.js +0 -1
  1246. package/lib/esm/json/reviver.js +0 -3
  1247. package/lib/esm/plain/bignumber/index.js +2 -1
  1248. package/lib/esm/plain/number/arithmetic.js +25 -45
  1249. package/lib/esm/plain/number/bitwise.js +0 -7
  1250. package/lib/esm/plain/number/combinations.js +4 -10
  1251. package/lib/esm/plain/number/probability.js +12 -16
  1252. package/lib/esm/type/bignumber/BigNumber.js +3 -6
  1253. package/lib/esm/type/bignumber/function/bignumber.js +0 -6
  1254. package/lib/esm/type/boolean.js +2 -6
  1255. package/lib/esm/type/chain/Chain.js +16 -36
  1256. package/lib/esm/type/chain/function/chain.js +0 -1
  1257. package/lib/esm/type/complex/Complex.js +8 -28
  1258. package/lib/esm/type/complex/function/complex.js +1 -3
  1259. package/lib/esm/type/fraction/Fraction.js +2 -4
  1260. package/lib/esm/type/fraction/function/fraction.js +1 -2
  1261. package/lib/esm/type/matrix/DenseMatrix.js +143 -224
  1262. package/lib/esm/type/matrix/FibonacciHeap.js +118 -156
  1263. package/lib/esm/type/matrix/ImmutableDenseMatrix.js +19 -38
  1264. package/lib/esm/type/matrix/Matrix.js +18 -36
  1265. package/lib/esm/type/matrix/MatrixIndex.js +24 -60
  1266. package/lib/esm/type/matrix/Range.js +14 -46
  1267. package/lib/esm/type/matrix/Spa.js +32 -50
  1268. package/lib/esm/type/matrix/SparseMatrix.js +412 -513
  1269. package/lib/esm/type/matrix/function/index.js +0 -1
  1270. package/lib/esm/type/matrix/function/matrix.js +1 -4
  1271. package/lib/esm/type/matrix/function/sparse.js +0 -1
  1272. package/lib/esm/type/matrix/utils/matAlgo01xDSid.js +36 -33
  1273. package/lib/esm/type/matrix/utils/matAlgo02xDS0.js +42 -39
  1274. package/lib/esm/type/matrix/utils/matAlgo03xDSf.js +40 -37
  1275. package/lib/esm/type/matrix/utils/matAlgo04xSidSid.js +70 -67
  1276. package/lib/esm/type/matrix/utils/matAlgo05xSfSf.js +72 -70
  1277. package/lib/esm/type/matrix/utils/matAlgo06xS0S0.js +60 -56
  1278. package/lib/esm/type/matrix/utils/matAlgo07xSSf.js +46 -45
  1279. package/lib/esm/type/matrix/utils/matAlgo08xS0Sid.js +66 -63
  1280. package/lib/esm/type/matrix/utils/matAlgo09xS0Sf.js +56 -52
  1281. package/lib/esm/type/matrix/utils/matAlgo10xSids.js +32 -30
  1282. package/lib/esm/type/matrix/utils/matAlgo11xS0s.js +38 -35
  1283. package/lib/esm/type/matrix/utils/matAlgo12xSfs.js +32 -30
  1284. package/lib/esm/type/matrix/utils/matAlgo13xDD.js +26 -25
  1285. package/lib/esm/type/matrix/utils/matAlgo14xDs.js +18 -16
  1286. package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +9 -26
  1287. package/lib/esm/type/number.js +7 -23
  1288. package/lib/esm/type/resultset/ResultSet.js +5 -11
  1289. package/lib/esm/type/string.js +0 -1
  1290. package/lib/esm/type/unit/Unit.js +190 -368
  1291. package/lib/esm/type/unit/function/createUnit.js +0 -1
  1292. package/lib/esm/type/unit/function/splitUnit.js +0 -1
  1293. package/lib/esm/type/unit/function/unit.js +4 -2
  1294. package/lib/esm/type/unit/physicalConstants.js +22 -15
  1295. package/lib/esm/utils/array.js +63 -113
  1296. package/lib/esm/utils/bignumber/bitwise.js +13 -89
  1297. package/lib/esm/utils/bignumber/constants.js +5 -5
  1298. package/lib/esm/utils/bignumber/formatter.js +21 -42
  1299. package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
  1300. package/lib/esm/utils/collection.js +25 -35
  1301. package/lib/esm/utils/complex.js +1 -1
  1302. package/lib/esm/utils/customs.js +19 -39
  1303. package/lib/esm/utils/emitter.js +3 -2
  1304. package/lib/esm/utils/factory.js +12 -20
  1305. package/lib/esm/utils/function.js +4 -13
  1306. package/lib/esm/utils/is.js +3 -7
  1307. package/lib/esm/utils/latex.js +6 -8
  1308. package/lib/esm/utils/log.js +0 -2
  1309. package/lib/esm/utils/lruQueue.js +0 -8
  1310. package/lib/esm/utils/map.js +6 -21
  1311. package/lib/esm/utils/number.js +72 -115
  1312. package/lib/esm/utils/object.js +26 -66
  1313. package/lib/esm/utils/product.js +0 -3
  1314. package/lib/esm/utils/scope.js +1 -3
  1315. package/lib/esm/utils/snapshot.js +10 -32
  1316. package/lib/esm/utils/string.js +10 -32
  1317. package/lib/esm/utils/switch.js +0 -4
  1318. package/lib/esm/version.js +2 -1
  1319. package/package.json +19 -18
  1320. package/types/index.d.ts +34 -35
  1321. package/types/index.ts +0 -2265
  1322. package/types/tsconfig.json +0 -22
package/types/index.ts DELETED
@@ -1,2265 +0,0 @@
1
- import {
2
- AccessorNode,
3
- addDependencies,
4
- all,
5
- ArrayNode,
6
- AssignmentNode,
7
- BigNumber,
8
- BlockNode,
9
- Complex,
10
- ConditionalNode,
11
- ConstantNode,
12
- create,
13
- divideDependencies,
14
- EvalFunction,
15
- factory,
16
- formatDependencies,
17
- Fraction,
18
- fractionDependencies,
19
- FunctionAssignmentNode,
20
- FunctionNode,
21
- Help,
22
- Index,
23
- IndexNode,
24
- LUDecomposition,
25
- MathArray,
26
- MathCollection,
27
- MathJsChain,
28
- MathJsFunctionName,
29
- MathNode,
30
- MathNodeCommon,
31
- MathNumericType,
32
- MathType,
33
- Matrix,
34
- ObjectNode,
35
- OperatorNode,
36
- OperatorNodeFn,
37
- OperatorNodeOp,
38
- ParenthesisNode,
39
- PolarCoordinates,
40
- QRDecomposition,
41
- RangeNode,
42
- SimplifyRule,
43
- SLUDecomposition,
44
- SymbolNode,
45
- Unit,
46
- } from 'mathjs'
47
- import * as assert from 'assert'
48
- import { expectTypeOf } from 'expect-type'
49
-
50
- // This file serves a dual purpose:
51
- // 1) examples of how to use math.js in TypeScript
52
- // 2) tests for the TypeScript declarations provided by math.js
53
-
54
- /*
55
- Basic usage examples
56
- */
57
- {
58
- const math = create(all)
59
-
60
- const m2by2 = [
61
- [-1, 2],
62
- [3, 1],
63
- ]
64
- const m2by3 = [
65
- [1, 2, 3],
66
- [4, 5, 6],
67
- ]
68
-
69
- // functions and constants
70
- math.round(math.e, 3)
71
- math.round(100.123, 3)
72
- math.atan2(3, -3) / math.pi
73
- math.log(10000, 10)
74
- math.sqrt(-4)
75
-
76
- math.pow(m2by2, 2)
77
- const angle = 0.2
78
- math.add(math.pow(math.sin(angle), 2), math.pow(math.cos(angle), 2))
79
-
80
- // std and variance check
81
-
82
- math.std(1, 2, 3)
83
- math.std([1, 2, 3])
84
- math.std([1, 2, 3], 'biased')
85
- math.std([1, 2, 3], 0, 'biased')
86
- math.std(m2by3, 1, 'unbiased')
87
- math.std(m2by3, 1, 'uncorrected')
88
- math.variance(1, 2, 3)
89
- math.variance([1, 2, 3])
90
- math.variance([1, 2, 3], 'biased')
91
- math.variance([1, 2, 3], 0, 'biased')
92
- math.variance(m2by3, 1, 'unbiased')
93
- math.variance(m2by3, 1, 'uncorrected')
94
-
95
- // std and variance on chain
96
- math.chain([1, 2, 3]).std('unbiased')
97
- math.chain(m2by3).std(0, 'biased').std(0, 'uncorrected')
98
- math.chain(m2by3).std(0, 'biased').std(0, 'uncorrected')
99
- math.chain([1, 2, 3]).std('unbiased')
100
- math.chain(m2by3).variance(0, 'biased')
101
- math.chain(m2by3).variance(1, 'uncorrected').variance('unbiased')
102
-
103
- math.variance(math.variance(m2by3, 'uncorrected'))
104
-
105
- // count and sum check
106
- math.count([10, 10, 10])
107
- math.count([
108
- [1, 2, 3],
109
- [4, 5, 6],
110
- ])
111
- math.count('mathjs')
112
-
113
- math.sum(1, 2, 3, 4)
114
- math.sum([1, 2, 3, 4])
115
- math.sum([
116
- [1, 2],
117
- [3, 4],
118
- [5, 6],
119
- ])
120
-
121
- // expressions
122
- math.evaluate('1.2 * (2 + 4.5)')
123
-
124
- // chained operations
125
- const a = math.chain(3).add(4).multiply(2).done()
126
- assert.strictEqual(a, 14)
127
-
128
- // mixed use of different data types in functions
129
- assert.deepStrictEqual(math.add(4, [5, 6]), [9, 10]) // number + Array
130
- assert.deepStrictEqual(
131
- math.multiply(math.unit('5 mm'), 3),
132
- math.unit('15 mm')
133
- ) // Unit * number
134
- assert.deepStrictEqual(math.subtract([2, 3, 4], 5), [-3, -2, -1]) // Array - number
135
- assert.deepStrictEqual(
136
- math.add(math.matrix([2, 3]), [4, 5]),
137
- math.matrix([6, 8])
138
- ) // Matrix + Array
139
-
140
- // narrowed type inference
141
- const _b: Matrix = math.add(math.matrix([2]), math.matrix([3]))
142
- const _c: Matrix = math.subtract(math.matrix([4]), math.matrix([5]))
143
- }
144
-
145
- /*
146
- Bignumbers examples
147
- */
148
- {
149
- // configure the default type of numbers as BigNumbers
150
- const math = create(all, {
151
- number: 'BigNumber',
152
- precision: 20,
153
- })
154
-
155
- {
156
- assert.deepStrictEqual(
157
- math.add(math.bignumber(0.1), math.bignumber(0.2)),
158
- math.bignumber(0.3)
159
- )
160
- assert.deepStrictEqual(
161
- math.divide(math.bignumber(0.3), math.bignumber(0.2)),
162
- math.bignumber(1.5)
163
- )
164
- }
165
- }
166
-
167
- /*
168
- Arithmetic function examples
169
- */
170
- {
171
- const math = create(all, {})
172
-
173
- const _e: number = math.exp(1)
174
- const _bige: BigNumber = math.exp(math.bignumber(1))
175
- const _compe: Complex = math.exp(math.complex(1, 0))
176
- // TODO: Typescript type declarations are not understanding typed-function's
177
- // automatic conversions, so the following do not work:
178
-
179
- // const _compeagain: Complex = math.exp(math.fraction(1, 1))
180
- // const _eagain: number = math.exp('1')
181
- // const _eanother: number = math.exp(true)
182
- }
183
-
184
- /*
185
- Chaining examples
186
- */
187
- {
188
- const math = create(all, {})
189
- const a = math.chain(3).add(4).multiply(2).done()
190
- assert.strictEqual(a, 14)
191
-
192
- // Another example, calculate square(sin(pi / 4))
193
- const _b = math.chain(math.pi).divide(4).sin().square().done()
194
-
195
- // toString will return a string representation of the chain's value
196
- const chain = math.chain(2).divide(3)
197
- const str: string = chain.toString()
198
- assert.strictEqual(str, '0.6666666666666666')
199
-
200
- chain.valueOf()
201
-
202
- // the function subset can be used to get or replace sub matrices
203
- const array = [
204
- [1, 2],
205
- [3, 4],
206
- ]
207
- const v = math.chain(array).subset(math.index(1, 0)).done()
208
- assert.strictEqual(v, 3)
209
-
210
- const _m = math.chain(array).subset(math.index(0, 0), 8).multiply(3).done()
211
-
212
- // filtering
213
- assert.deepStrictEqual(
214
- math
215
- .chain([-1, 0, 1.1, 2, 3, 1000])
216
- .filter(math.isPositive)
217
- .filter(math.isInteger)
218
- .filter((n) => n !== 1000)
219
- .done(),
220
- [2, 3]
221
- )
222
-
223
- const r = math.chain(-0.483).round([0, 1, 2]).floor().add(0.52).fix(1).done()
224
-
225
- assert.deepStrictEqual(r, [0.5, -0.4, -0.4])
226
-
227
- expectTypeOf(
228
- math.chain('x + y').parse().resolve({ x: 1 }).done()
229
- ).toMatchTypeOf<MathNode>()
230
- expectTypeOf(
231
- math.chain('x + y').parse().resolve().done()
232
- ).toMatchTypeOf<MathNode>()
233
-
234
- // bignum
235
- expectTypeOf(math.chain(math.bignumber(12))).toMatchTypeOf<
236
- MathJsChain<BigNumber>
237
- >()
238
- expectTypeOf(math.chain(12).bignumber()).toMatchTypeOf<
239
- MathJsChain<BigNumber>
240
- >()
241
- expectTypeOf(math.chain([12, 13, 14]).bignumber()).toMatchTypeOf<
242
- MathJsChain<MathCollection>
243
- >()
244
-
245
- // chain
246
- expectTypeOf(math.chain(12).bignumber().clone()).toMatchTypeOf<
247
- MathJsChain<BigNumber>
248
- >()
249
-
250
- // boolean
251
- expectTypeOf(math.chain(math.boolean(true))).toMatchTypeOf<
252
- MathJsChain<boolean>
253
- >()
254
- expectTypeOf(math.chain(true).boolean()).toMatchTypeOf<MathJsChain<boolean>>()
255
- expectTypeOf(math.chain([12, 13, 14]).boolean()).toMatchTypeOf<
256
- MathJsChain<MathCollection>
257
- >()
258
-
259
- // complex
260
- expectTypeOf(math.chain(math.complex('123'))).toMatchTypeOf<
261
- MathJsChain<Complex>
262
- >()
263
- expectTypeOf(math.chain('123').complex()).toMatchTypeOf<
264
- MathJsChain<Complex>
265
- >()
266
- expectTypeOf(math.chain('123').complex(1)).toMatchTypeOf<
267
- MathJsChain<Complex>
268
- >()
269
- expectTypeOf(math.chain([12, 13, 14]).complex()).toMatchTypeOf<
270
- MathJsChain<MathCollection>
271
- >()
272
-
273
- // createUnit
274
- expectTypeOf(math.chain(math.createUnit('furlong'))).toMatchTypeOf<
275
- MathJsChain<Unit>
276
- >()
277
- expectTypeOf(
278
- math.chain(
279
- math.createUnit({
280
- fresnel: '1234',
281
- })
282
- )
283
- ).toMatchTypeOf<MathJsChain<Unit>>()
284
-
285
- // fraction
286
- expectTypeOf(math.chain(math.fraction('123'))).toMatchTypeOf<
287
- MathJsChain<Fraction>
288
- >()
289
- expectTypeOf(math.chain('123').fraction()).toMatchTypeOf<
290
- MathJsChain<Fraction>
291
- >()
292
- expectTypeOf(math.chain('123').fraction(2)).toMatchTypeOf<
293
- MathJsChain<Fraction>
294
- >()
295
- expectTypeOf(math.chain([12, 13, 14]).fraction()).toMatchTypeOf<
296
- MathJsChain<MathCollection>
297
- >()
298
- expectTypeOf(math.chain([12, 13, 14]).fraction()).toMatchTypeOf<
299
- MathJsChain<MathCollection>
300
- >()
301
-
302
- // index
303
- expectTypeOf(math.chain([12, 13, 14]).index()).toMatchTypeOf<
304
- MathJsChain<Index>
305
- >()
306
-
307
- // matrix
308
- expectTypeOf(math.chain([12, 13, 14, 15]).matrix()).toMatchTypeOf<
309
- MathJsChain<Matrix>
310
- >()
311
-
312
- // number
313
- expectTypeOf(math.chain('12').number()).toMatchTypeOf<MathJsChain<number>>()
314
- expectTypeOf(math.chain([12, 13, 14]).number()).toMatchTypeOf<
315
- MathJsChain<MathCollection>
316
- >()
317
-
318
- // sparse
319
- expectTypeOf(math.chain([12, 13, 14, 15]).sparse()).toMatchTypeOf<
320
- MathJsChain<Matrix>
321
- >()
322
-
323
- // split unit
324
- expectTypeOf(math.chain(math.unit('furlong')).splitUnit([])).toMatchTypeOf<
325
- MathJsChain<Unit[]>
326
- >()
327
-
328
- // string
329
- expectTypeOf(math.chain('test').string()).toMatchTypeOf<MathJsChain<string>>()
330
- expectTypeOf(math.chain([1, 2, 3]).string()).toMatchTypeOf<
331
- MathJsChain<MathCollection>
332
- >()
333
-
334
- // unit
335
- expectTypeOf(math.chain(12).unit()).toMatchTypeOf<MathJsChain<Unit>>()
336
- expectTypeOf(math.chain([1, 2, 3]).unit()).toMatchTypeOf<
337
- MathJsChain<Unit[]>
338
- >()
339
-
340
- // compile
341
- expectTypeOf(math.chain('a + b').compile()).toMatchTypeOf<
342
- MathJsChain<EvalFunction>
343
- >()
344
-
345
- // evaluate
346
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
347
- expectTypeOf(math.chain('1 + 1').evaluate()).toMatchTypeOf<MathJsChain<any>>()
348
- expectTypeOf(math.chain(['1 + 1', '2 + 2']).evaluate()).toMatchTypeOf<
349
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
350
- MathJsChain<any[]>
351
- >()
352
-
353
- // parse
354
- expectTypeOf(math.chain('1 + 1').parse()).toMatchTypeOf<
355
- MathJsChain<MathNode>
356
- >()
357
- expectTypeOf(math.chain(['1 + 1', '2 + 2']).parse()).toMatchTypeOf<
358
- MathJsChain<MathNode[]>
359
- >()
360
-
361
- // resolve
362
- expectTypeOf(math.chain(math.parse('1 + 1')).resolve({})).toMatchTypeOf<
363
- MathJsChain<MathNode>
364
- >()
365
- expectTypeOf(
366
- math.chain([math.parse('1 + 1'), math.parse('1 + 1')]).resolve({})
367
- ).toMatchTypeOf<MathJsChain<MathNode[]>>()
368
-
369
- // derivative
370
- expectTypeOf(math.chain(math.parse('x^2')).derivative('x')).toMatchTypeOf<
371
- MathJsChain<MathNode>
372
- >()
373
-
374
- // lsolve
375
- expectTypeOf(
376
- math
377
- .chain([
378
- [1, 2],
379
- [3, 4],
380
- ])
381
- .lsolve([1, 2])
382
- ).toMatchTypeOf<MathJsChain<MathArray>>()
383
- expectTypeOf(
384
- math
385
- .chain(
386
- math.matrix([
387
- [1, 2],
388
- [3, 4],
389
- ])
390
- )
391
- .lsolve([1, 2])
392
- ).toMatchTypeOf<MathJsChain<Matrix>>()
393
-
394
- // lup
395
- expectTypeOf(
396
- math
397
- .chain([
398
- [1, 2],
399
- [3, 4],
400
- ])
401
- .lup()
402
- ).toMatchTypeOf<MathJsChain<LUDecomposition>>()
403
- expectTypeOf(
404
- math
405
- .chain(
406
- math.matrix([
407
- [1, 2],
408
- [3, 4],
409
- ])
410
- )
411
- .lup()
412
- ).toMatchTypeOf<MathJsChain<LUDecomposition>>()
413
-
414
- // lusolve
415
- expectTypeOf(
416
- math
417
- .chain(
418
- math.matrix([
419
- [1, 2],
420
- [3, 4],
421
- ])
422
- )
423
- .lusolve(math.matrix([1, 2]))
424
- ).toMatchTypeOf<MathJsChain<Matrix>>()
425
-
426
- expectTypeOf(
427
- math
428
- .chain(
429
- math.matrix([
430
- [1, 2],
431
- [3, 4],
432
- ])
433
- )
434
- .lusolve([1, 2])
435
- ).toMatchTypeOf<MathJsChain<Matrix>>()
436
-
437
- expectTypeOf(
438
- math
439
- .chain([
440
- [1, 2],
441
- [3, 4],
442
- ])
443
- .lusolve(math.matrix([1, 2]))
444
- ).toMatchTypeOf<MathJsChain<MathArray>>()
445
-
446
- expectTypeOf(
447
- math
448
- .chain([
449
- [1, 2],
450
- [3, 4],
451
- ])
452
- .lusolve([1, 2])
453
- ).toMatchTypeOf<MathJsChain<MathArray>>()
454
-
455
- // qr
456
- expectTypeOf(
457
- math
458
- .chain([
459
- [1, 2],
460
- [3, 4],
461
- ])
462
- .qr()
463
- ).toMatchTypeOf<MathJsChain<QRDecomposition>>()
464
- expectTypeOf(
465
- math
466
- .chain(
467
- math.matrix([
468
- [1, 2],
469
- [3, 4],
470
- ])
471
- )
472
- .qr()
473
- ).toMatchTypeOf<MathJsChain<QRDecomposition>>()
474
-
475
- // rationalize
476
- expectTypeOf(math.chain('1.23').rationalize()).toMatchTypeOf<
477
- MathJsChain<MathNode>
478
- >()
479
- expectTypeOf(math.chain(math.parse('1.23')).rationalize()).toMatchTypeOf<
480
- MathJsChain<MathNode>
481
- >()
482
-
483
- // simplify
484
- expectTypeOf(math.chain('a + a + b').simplify()).toMatchTypeOf<
485
- MathJsChain<MathNode>
486
- >()
487
- expectTypeOf(math.chain(math.parse('a + a + b')).simplify()).toMatchTypeOf<
488
- MathJsChain<MathNode>
489
- >()
490
-
491
- // slu
492
- expectTypeOf(
493
- math
494
- .chain(
495
- math.sparse([
496
- [1, 2],
497
- [3, 4],
498
- ])
499
- )
500
- .slu(2, 0.5)
501
- ).toMatchTypeOf<MathJsChain<SLUDecomposition>>()
502
-
503
- // usolve
504
- expectTypeOf(
505
- math
506
- .chain([
507
- [1, 2],
508
- [3, 4],
509
- ])
510
- .usolve([1, 2])
511
- ).toMatchTypeOf<MathJsChain<MathArray>>()
512
- expectTypeOf(
513
- math
514
- .chain(
515
- math.matrix([
516
- [1, 2],
517
- [3, 4],
518
- ])
519
- )
520
- .usolve([1, 2])
521
- ).toMatchTypeOf<MathJsChain<Matrix>>()
522
-
523
- // abs
524
- expectTypeOf(math.chain(1).abs()).toMatchTypeOf<MathJsChain<number>>()
525
- expectTypeOf(math.chain(math.bignumber(1)).abs()).toMatchTypeOf<
526
- MathJsChain<BigNumber>
527
- >()
528
- expectTypeOf(math.chain(math.fraction(1, 2)).abs()).toMatchTypeOf<
529
- MathJsChain<Fraction>
530
- >()
531
- expectTypeOf(math.chain(math.complex(1, 2)).abs()).toMatchTypeOf<
532
- MathJsChain<Complex>
533
- >()
534
- expectTypeOf(math.chain([1, 2]).abs()).toMatchTypeOf<MathJsChain<MathArray>>()
535
- expectTypeOf(
536
- math
537
- .chain(
538
- math.matrix([
539
- [1, 2],
540
- [3, 4],
541
- ])
542
- )
543
- .abs()
544
- ).toMatchTypeOf<MathJsChain<Matrix>>()
545
- expectTypeOf(math.chain(math.unit('furlong')).abs()).toMatchTypeOf<
546
- MathJsChain<Unit>
547
- >()
548
-
549
- // add
550
- expectTypeOf(math.chain(1).add(2)).toMatchTypeOf<MathJsChain<MathType>>()
551
- expectTypeOf(math.chain([1]).add(2)).toMatchTypeOf<MathJsChain<MathType>>()
552
- expectTypeOf(
553
- math.chain(
554
- math.matrix([
555
- [1, 2],
556
- [3, 4],
557
- ])
558
- )
559
- ).toMatchTypeOf<MathJsChain<Matrix>>()
560
-
561
- // apply
562
- expectTypeOf(math.chain([1, 2, 3]).apply(0, () => 1)).toMatchTypeOf<
563
- MathJsChain<number[]>
564
- >()
565
-
566
- // cbrt
567
- expectTypeOf(math.chain(1).cbrt()).toMatchTypeOf<MathJsChain<number>>()
568
- expectTypeOf(math.chain(math.bignumber(1)).cbrt()).toMatchTypeOf<
569
- MathJsChain<BigNumber>
570
- >()
571
- expectTypeOf(math.chain(math.complex(1, 2)).cbrt()).toMatchTypeOf<
572
- MathJsChain<Complex>
573
- >()
574
- // @ts-expect-error ... verify cbrt does not run on arrays.
575
- assert.throws(() => math.chain([1, 2]).cbrt(), TypeError)
576
- assert.throws(
577
- () =>
578
- // @ts-expect-error ... verify cbrt does not run on matrices.
579
- math
580
- .chain(
581
- math.matrix([
582
- [1, 2],
583
- [3, 4],
584
- ])
585
- )
586
- .cbrt(),
587
- TypeError
588
- )
589
-
590
- // ceil
591
- expectTypeOf(math.chain(1).ceil()).toMatchTypeOf<
592
- MathJsChain<MathNumericType>
593
- >()
594
- expectTypeOf(math.chain([1]).ceil()).toMatchTypeOf<
595
- MathJsChain<MathCollection>
596
- >()
597
-
598
- // fix
599
- expectTypeOf(math.chain(1).fix()).toMatchTypeOf<
600
- MathJsChain<MathNumericType>
601
- >()
602
- expectTypeOf(math.chain([1]).fix()).toMatchTypeOf<
603
- MathJsChain<MathCollection>
604
- >()
605
-
606
- // floor
607
- expectTypeOf(math.chain(1).floor()).toMatchTypeOf<
608
- MathJsChain<MathNumericType>
609
- >()
610
- expectTypeOf(math.chain([1]).floor()).toMatchTypeOf<
611
- MathJsChain<MathCollection>
612
- >()
613
-
614
- // round
615
- expectTypeOf(math.chain(1).round()).toMatchTypeOf<
616
- MathJsChain<MathNumericType>
617
- >()
618
- expectTypeOf(math.chain([1]).round()).toMatchTypeOf<
619
- MathJsChain<MathCollection>
620
- >()
621
-
622
- // cube
623
- expectTypeOf(math.chain(1).cube()).toMatchTypeOf<MathJsChain<number>>()
624
- expectTypeOf(math.chain(math.bignumber(1)).cube()).toMatchTypeOf<
625
- MathJsChain<BigNumber>
626
- >()
627
- expectTypeOf(math.chain(math.fraction(1, 2)).cube()).toMatchTypeOf<
628
- MathJsChain<Fraction>
629
- >()
630
- expectTypeOf(math.chain(math.complex(1, 2)).cube()).toMatchTypeOf<
631
- MathJsChain<Complex>
632
- >()
633
-
634
- // @ts-expect-error ... verify cube does not run on arrays.
635
- assert.throws(() => math.chain([1, 2]).cube(), TypeError)
636
- assert.throws(
637
- () =>
638
- // @ts-expect-error ... verify cube does not run on matrices.
639
- math
640
- .chain(
641
- math.matrix([
642
- [1, 2],
643
- [3, 4],
644
- ])
645
- )
646
- .cube(),
647
- TypeError
648
- )
649
-
650
- expectTypeOf(math.chain(math.unit('furlong')).cube()).toMatchTypeOf<
651
- MathJsChain<Unit>
652
- >()
653
-
654
- // divide
655
- expectTypeOf(
656
- math.chain(math.unit('furlong')).divide(math.unit('femtosecond'))
657
- ).toMatchTypeOf<MathJsChain<number | Unit>>()
658
- expectTypeOf(math.chain(math.unit('furlong')).divide(6)).toMatchTypeOf<
659
- MathJsChain<Unit>
660
- >()
661
- expectTypeOf(math.chain(2).divide(6)).toMatchTypeOf<MathJsChain<number>>()
662
- expectTypeOf(math.chain([1, 2, 3]).divide(6)).toMatchTypeOf<
663
- MathJsChain<MathType>
664
- >()
665
-
666
- // dotDivide
667
- expectTypeOf(math.chain(1).dotDivide(2)).toMatchTypeOf<
668
- MathJsChain<MathType>
669
- >()
670
- expectTypeOf(
671
- math
672
- .chain(
673
- math.matrix([
674
- [1, 2],
675
- [3, 4],
676
- ])
677
- )
678
- .dotDivide(2)
679
- ).toMatchTypeOf<MathJsChain<MathType>>()
680
-
681
- // dotMultiply
682
- expectTypeOf(math.chain(1).dotMultiply(2)).toMatchTypeOf<
683
- MathJsChain<MathType>
684
- >()
685
- expectTypeOf(
686
- math
687
- .chain(
688
- math.matrix([
689
- [1, 2],
690
- [3, 4],
691
- ])
692
- )
693
- .dotMultiply(2)
694
- ).toMatchTypeOf<MathJsChain<MathType>>()
695
-
696
- // dotPow
697
- expectTypeOf(math.chain(1).dotPow(2)).toMatchTypeOf<MathJsChain<MathType>>()
698
- expectTypeOf(
699
- math
700
- .chain(
701
- math.matrix([
702
- [1, 2],
703
- [3, 4],
704
- ])
705
- )
706
- .dotPow(2)
707
- ).toMatchTypeOf<MathJsChain<MathType>>()
708
-
709
- // exp
710
- expectTypeOf(math.chain(1).exp()).toMatchTypeOf<MathJsChain<MathType>>()
711
- // @ts-expect-error ... verify exp does not run on arrays.
712
- assert.throws(() => math.chain([1, 2]).exp(), TypeError)
713
- assert.throws(
714
- () =>
715
- // @ts-expect-error ... verify exp does not run on matrices.
716
- math
717
- .chain(
718
- math.matrix([
719
- [1, 2],
720
- [3, 4],
721
- ])
722
- )
723
- .exp(),
724
- TypeError
725
- )
726
-
727
- // expm1
728
- expectTypeOf(math.chain(1).expm1()).toMatchTypeOf<MathJsChain<MathType>>()
729
-
730
- // @ts-expect-error ... verify expm1 does not run on arrays
731
- assert.throws(() => math.chain([1, 2]).expm1(), TypeError)
732
- assert.throws(
733
- () =>
734
- // @ts-expect-error ... verify expm1 does not run on arrays
735
- math
736
- .chain(
737
- math.matrix([
738
- [1, 2],
739
- [3, 4],
740
- ])
741
- )
742
- .expm1(),
743
- TypeError
744
- )
745
-
746
- // gcd
747
- expectTypeOf(math.chain([1, 2]).gcd(3)).toMatchTypeOf<MathJsChain<number>>()
748
- expectTypeOf(math.chain([1, 2]).gcd(3, 4)).toMatchTypeOf<
749
- MathJsChain<number>
750
- >()
751
- // TODO make gcd() work in the following cases
752
- // expectTypeOf(math.chain([1, 2]).gcd()).toMatchTypeOf<MathJsChain<number>>()
753
- // expectTypeOf(math.chain([[1], [2]]).gcd()).toMatchTypeOf<
754
- // MathJsChain<MathArray>
755
- // >()
756
- // expectTypeOf(
757
- // math.chain([math.bignumber(1), math.bignumber(1)]).gcd()
758
- // ).toMatchTypeOf<MathJsChain<BigNumber>>()
759
- // expectTypeOf(
760
- // math.chain([math.complex(1, 2), math.complex(1, 2)]).gcd()
761
- // ).toMatchTypeOf<MathJsChain<Complex>>()
762
- // expectTypeOf(
763
- // math
764
- // .chain(
765
- // math.matrix([
766
- // [1, 2],
767
- // [3, 4],
768
- // ])
769
- // )
770
- // .expm1()
771
- // ).toMatchTypeOf<MathJsChain<Matrix>>()
772
-
773
- // hypot
774
- expectTypeOf(math.chain([1, 2]).hypot()).toMatchTypeOf<MathJsChain<number>>()
775
- expectTypeOf(
776
- math.chain([math.bignumber(1), math.bignumber(1)]).hypot()
777
- ).toMatchTypeOf<MathJsChain<BigNumber>>()
778
-
779
- // lcm
780
- expectTypeOf(math.chain(1).lcm(2)).toMatchTypeOf<MathJsChain<number>>()
781
- expectTypeOf(
782
- math.chain(math.bignumber(1)).lcm(math.bignumber(2))
783
- ).toMatchTypeOf<MathJsChain<BigNumber>>()
784
- expectTypeOf(math.chain([1, 2]).lcm([3, 4])).toMatchTypeOf<
785
- MathJsChain<MathArray>
786
- >()
787
- expectTypeOf(
788
- math
789
- .chain(
790
- math.matrix([
791
- [1, 2],
792
- [3, 4],
793
- ])
794
- )
795
- .lcm(
796
- math.matrix([
797
- [1, 2],
798
- [3, 4],
799
- ])
800
- )
801
- ).toMatchTypeOf<MathJsChain<Matrix>>()
802
-
803
- // log
804
- expectTypeOf(math.chain(1).log(2)).toMatchTypeOf<MathJsChain<number>>()
805
- expectTypeOf(
806
- math.chain(math.bignumber(1)).log(math.bignumber(2))
807
- ).toMatchTypeOf<MathJsChain<BigNumber>>()
808
-
809
- // log10
810
- expectTypeOf(math.chain(1).log10()).toMatchTypeOf<MathJsChain<number>>()
811
- expectTypeOf(math.chain(math.bignumber(1)).log10()).toMatchTypeOf<
812
- MathJsChain<BigNumber>
813
- >()
814
- expectTypeOf(math.chain([1, 2]).log10()).toMatchTypeOf<
815
- MathJsChain<MathArray>
816
- >()
817
- expectTypeOf(
818
- math
819
- .chain(
820
- math.matrix([
821
- [1, 2],
822
- [3, 4],
823
- ])
824
- )
825
- .log10()
826
- ).toMatchTypeOf<MathJsChain<Matrix>>()
827
-
828
- expectTypeOf(math.chain([1, 2]).count()).toMatchTypeOf<MathJsChain<number>>()
829
- expectTypeOf(math.chain('mathjs').count()).toMatchTypeOf<
830
- MathJsChain<number>
831
- >()
832
- expectTypeOf(math.chain([1, 2]).sum()).toMatchTypeOf<MathJsChain<number>>()
833
- // TODO complete the rest of these...
834
- }
835
-
836
- /*
837
- Simplify examples
838
- */
839
- {
840
- const math = create(all)
841
-
842
- math.simplify('2 * 1 * x ^ (2 - 1)')
843
- math.simplifyConstant('2 * 1 * x ^ (2 - 1)')
844
- math.simplifyCore('2 * 1 * x ^ (2 - 1)')
845
- math.simplify('2 * 3 * x', { x: 4 })
846
-
847
- expectTypeOf(math.simplify.rules).toMatchTypeOf<Array<SimplifyRule>>()
848
-
849
- const f = math.parse('2 * 1 * x ^ (2 - 1)')
850
- math.simplify(f)
851
-
852
- math.simplify('0.4 * x', {}, { exactFractions: true })
853
- math.simplifyConstant('0.4 * x', { exactFractions: true })
854
- math.simplify('0.4 * x', {}, { exactFractions: false })
855
- math.simplify('0.4 * x', {}, { fractionsLimit: 2 })
856
- math.simplify('0.4 * x', {}, { consoleDebug: false })
857
-
858
- math.simplify(
859
- '0.4 * x',
860
- {},
861
- {
862
- context: {
863
- xor: {
864
- trivial: true,
865
- total: true,
866
- commutative: true,
867
- associative: true,
868
- },
869
- },
870
- }
871
- )
872
-
873
- math.simplify('0.4 * x', [])
874
- math.simplify('0.4 * x', [
875
- 'n * n -> 2n',
876
- {
877
- s: 'n * n -> 2n',
878
- repeat: true,
879
- assuming: {
880
- multiply: {
881
- trivial: true,
882
- total: true,
883
- commutative: true,
884
- associative: true,
885
- },
886
- },
887
- imposeContext: {
888
- multiply: {
889
- trivial: true,
890
- total: true,
891
- commutative: true,
892
- associative: true,
893
- },
894
- },
895
- },
896
- {
897
- l: 'n * n',
898
- r: '2n',
899
- repeat: true,
900
- assuming: {
901
- multiply: {
902
- trivial: true,
903
- total: true,
904
- commutative: true,
905
- associative: true,
906
- },
907
- },
908
- imposeContext: {
909
- multiply: {
910
- trivial: true,
911
- total: true,
912
- commutative: true,
913
- associative: true,
914
- },
915
- },
916
- },
917
- (node: MathNode) => node,
918
- ])
919
- math.simplifyCore('0.4 * x + 0', { exactFractions: false })
920
-
921
- math
922
- .chain('0.4 * x + 0')
923
- .parse()
924
- .simplifyCore({ exactFractions: false })
925
- .simplifyConstant()
926
- }
927
-
928
- /*
929
- Complex numbers examples
930
- */
931
- {
932
- const math = create(all, {})
933
- const a = math.complex(2, 3)
934
- // create a complex number by providing a string with real and complex parts
935
- const b = math.complex('3 - 7i')
936
-
937
- // read the real and complex parts of the complex number
938
- {
939
- const _x: number = a.re
940
- const _y: number = a.im
941
-
942
- // adjust the complex value
943
- a.re = 5
944
- }
945
-
946
- // clone a complex value
947
- {
948
- const _clone = a.clone()
949
- }
950
-
951
- // perform operations with complex numbers
952
- {
953
- math.add(a, b)
954
- math.multiply(a, b)
955
- math.sin(a)
956
- }
957
-
958
- // create a complex number from polar coordinates
959
- {
960
- const p: PolarCoordinates = {
961
- r: math.sqrt(2) as number, // must be real but a sqrt could be Complex
962
- phi: math.pi / 4,
963
- }
964
- const c: Complex = math.complex(p)
965
- assert.strictEqual(c.im, 1)
966
- assert.ok(Math.abs(c.re - 1) < 1e-12)
967
- }
968
-
969
- // get polar coordinates of a complex number
970
- {
971
- const _p: PolarCoordinates = math.complex(3, 4).toPolar()
972
- }
973
- }
974
-
975
- /*
976
- Parenthesis examples
977
- */
978
- {
979
- const math = create(all, {})
980
-
981
- expectTypeOf(
982
- new math.ParenthesisNode(new math.ConstantNode(3))
983
- ).toMatchTypeOf<ParenthesisNode<ConstantNode>>()
984
- }
985
-
986
- /*
987
- Expressions examples
988
- */
989
- {
990
- const math = create(all, {})
991
- // evaluate expressions
992
- {
993
- math.evaluate('sqrt(3^2 + 4^2)')
994
- }
995
-
996
- // evaluate multiple expressions at once
997
- {
998
- math.evaluate(['f = 3', 'g = 4', 'f * g'])
999
- }
1000
-
1001
- // get content of a parenthesis node
1002
- {
1003
- const node = math.parse('(1)')
1004
- if (node.type !== 'ParenthesisNode') {
1005
- throw Error(`expected ParenthesisNode, got ${node.type}`)
1006
- }
1007
- const _innerNode = node.content
1008
- }
1009
-
1010
- // scope can contain both variables and functions
1011
- {
1012
- const scope = { hello: (name: string) => `hello, ${name}!` }
1013
- assert.strictEqual(math.evaluate('hello("hero")', scope), 'hello, hero!')
1014
- }
1015
-
1016
- // define a function as an expression
1017
- {
1018
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1019
- const scope: any = {
1020
- a: 3,
1021
- b: 4,
1022
- }
1023
- const f = math.evaluate('f(x) = x ^ a', scope)
1024
- f(2)
1025
- scope.f(2)
1026
- }
1027
-
1028
- {
1029
- const node2 = math.parse('x^a')
1030
- const _code2: EvalFunction = node2.compile()
1031
- node2.toString()
1032
- }
1033
-
1034
- // 3. using function math.compile
1035
- // parse an expression
1036
- {
1037
- // provide a scope for the variable assignment
1038
- const code2 = math.compile('a = a + 3')
1039
- const scope = { a: 7 }
1040
- code2.evaluate(scope)
1041
- }
1042
- // 4. using a parser
1043
- const parser = math.parser()
1044
-
1045
- // get and set variables and functions
1046
- {
1047
- assert.strictEqual(parser.evaluate('x = 7 / 2'), 3.5)
1048
- assert.strictEqual(parser.evaluate('x + 3'), 6.5)
1049
- parser.evaluate('f(x, y) = x^y') // f(x, y)
1050
- assert.strictEqual(parser.evaluate('f(2, 3)'), 8)
1051
-
1052
- const _x = parser.get('x')
1053
- const f = parser.get('f')
1054
- const _y = parser.getAll()
1055
- const _g = f(3, 3)
1056
-
1057
- parser.set('h', 500)
1058
- parser.set('hello', (name: string) => `hello, ${name}!`)
1059
- }
1060
-
1061
- // clear defined functions and variables
1062
- parser.clear()
1063
- }
1064
-
1065
- /*
1066
- Fractions examples
1067
- */
1068
- {
1069
- // configure the default type of numbers as Fractions
1070
- const math = create(all, {
1071
- number: 'Fraction',
1072
- })
1073
-
1074
- const x = math.fraction(0.125)
1075
- const y = math.fraction('1/3')
1076
- math.fraction(2, 3)
1077
-
1078
- math.add(x, y)
1079
- math.divide(x, y)
1080
-
1081
- // output formatting
1082
- const _a = math.fraction('2/3')
1083
- }
1084
-
1085
- /*
1086
- Transform examples
1087
- */
1088
- {
1089
- const math = create(all, {})
1090
- {
1091
- const myTransform1 = (node: MathNode): OperatorNode<'+', 'add'> =>
1092
- new OperatorNode('+', 'add', [node, new ConstantNode(1)])
1093
- const myTransform2 = (
1094
- node: OperatorNode<'+', 'add'>
1095
- ): OperatorNode<'-', 'subtract'> =>
1096
- new OperatorNode('-', 'subtract', [node, new ConstantNode(5)])
1097
-
1098
- expectTypeOf(
1099
- math.parse('sqrt(3^2 + 4^2)').transform(myTransform1)
1100
- ).toMatchTypeOf<OperatorNode<'+', 'add', MathNode[]>>()
1101
-
1102
- assert.deepStrictEqual(
1103
- math.parse('sqrt(3^2 + 4^2)').transform(myTransform1).toString(),
1104
- 'sqrt(3 ^ 2 + 4 ^ 2) + 1'
1105
- )
1106
-
1107
- expectTypeOf(
1108
- math
1109
- .parse('sqrt(3^2 + 4^2)')
1110
- .transform(myTransform1)
1111
- .transform(myTransform2)
1112
- ).toMatchTypeOf<OperatorNode<'-', 'subtract', MathNode[]>>()
1113
-
1114
- assert.deepStrictEqual(
1115
- math
1116
- .parse('sqrt(3^2 + 4^2)')
1117
- .transform(myTransform1)
1118
- .transform(myTransform2)
1119
- .toString(),
1120
- 'sqrt(3 ^ 2 + 4 ^ 2) + 1 - 5'
1121
- )
1122
- }
1123
- }
1124
-
1125
- /*
1126
- Matrices examples
1127
- */
1128
- {
1129
- const math = create(all, {})
1130
-
1131
- // create matrices and arrays. a matrix is just a wrapper around an Array,
1132
- // providing some handy utilities.
1133
- const a: Matrix = math.matrix([1, 4, 9, 16, 25])
1134
- const b: Matrix = math.matrix(math.ones([2, 3]))
1135
- b.size()
1136
-
1137
- // @ts-expect-error ... ones() in a chain cannot take more dimensions
1138
- assert.throws(() => math.chain(3).ones(2, 'dense').done(), /Error:.*ones/)
1139
- // @ts-expect-error ... and neither can zeros()
1140
- assert.throws(() => math.chain(3).zeros(2, 'sparse').done(), /Error:.*zeros/)
1141
-
1142
- // the Array data of a Matrix can be retrieved using valueOf()
1143
- const _array = a.valueOf()
1144
-
1145
- // Matrices can be cloned
1146
- const _clone: Matrix = a.clone()
1147
-
1148
- // perform operations with matrices
1149
- math.map(a, math.sqrt)
1150
- math.factorial(a)
1151
-
1152
- // create and manipulate matrices. Arrays and Matrices can be used mixed.
1153
- {
1154
- const a = [
1155
- [1, 2],
1156
- [3, 4],
1157
- ]
1158
- const b: Matrix = math.matrix([
1159
- [5, 6],
1160
- [1, 1],
1161
- ])
1162
-
1163
- b.subset(math.index(1, [0, 1]), [[7, 8]])
1164
- const _c = math.multiply(a, b)
1165
- const f: Matrix = math.matrix([1, 0])
1166
- const _d: Matrix = f.subset(math.index(1))
1167
- }
1168
-
1169
- // get a sub matrix
1170
- {
1171
- const a: Matrix = math.diag(math.range(1, 4))
1172
- a.subset(math.index([1, 2], [1, 2]))
1173
- const b: Matrix = math.range(1, 6)
1174
- b.subset(math.index(math.range(1, 4)))
1175
- }
1176
-
1177
- // resize a multi dimensional matrix
1178
- {
1179
- const a = math.matrix()
1180
- a.resize([2, 2, 2], 0)
1181
- a.size()
1182
- a.resize([2, 2])
1183
- a.size()
1184
- }
1185
-
1186
- // can set a subset of a matrix to uninitialized
1187
- {
1188
- const m = math.matrix()
1189
- m.subset(math.index(2), 6, math.uninitialized)
1190
- }
1191
-
1192
- // create ranges
1193
- {
1194
- math.range(1, 6)
1195
- math.range(0, 18, 3)
1196
- math.range('2:-1:-3')
1197
- math.factorial(math.range('1:6'))
1198
- }
1199
-
1200
- // map matrix
1201
- {
1202
- assert.deepStrictEqual(
1203
- math.map([1, 2, 3], function (value) {
1204
- return value * value
1205
- }),
1206
- [1, 4, 9]
1207
- )
1208
- }
1209
-
1210
- // filter matrix
1211
- {
1212
- assert.deepStrictEqual(
1213
- math.filter([6, -2, -1, 4, 3], function (x) {
1214
- return x > 0
1215
- }),
1216
- [6, 4, 3]
1217
- )
1218
- assert.deepStrictEqual(
1219
- math.filter(['23', 'foo', '100', '55', 'bar'], /\d+/),
1220
- ['23', '100', '55']
1221
- )
1222
- }
1223
-
1224
- // concat matrix
1225
- {
1226
- assert.deepStrictEqual(math.concat([[0, 1, 2]], [[1, 2, 3]]), [
1227
- [0, 1, 2, 1, 2, 3],
1228
- ])
1229
- assert.deepStrictEqual(math.concat([[0, 1, 2]], [[1, 2, 3]], 0), [
1230
- [0, 1, 2],
1231
- [1, 2, 3],
1232
- ])
1233
- }
1234
-
1235
- // Matrix is available as a constructor for instanceof checks
1236
- {
1237
- assert.strictEqual(math.matrix([1, 2, 3]) instanceof math.Matrix, true)
1238
- }
1239
-
1240
- // Fourier transform and inverse
1241
- {
1242
- assert.ok(
1243
- math.deepEqual(
1244
- math.fft([
1245
- [1, 0],
1246
- [1, 0],
1247
- ]),
1248
- [
1249
- [math.complex(2, 0), math.complex(2, 0)],
1250
- [math.complex(0, 0), math.complex(0, 0)],
1251
- ]
1252
- )
1253
- )
1254
- assert.ok(
1255
- math.deepEqual(
1256
- math.fft(
1257
- math.matrix([
1258
- [1, 0],
1259
- [1, 0],
1260
- ])
1261
- ),
1262
- math.matrix([
1263
- [math.complex(2, 0), math.complex(2, 0)],
1264
- [math.complex(0, 0), math.complex(0, 0)],
1265
- ])
1266
- )
1267
- )
1268
- assert.ok(
1269
- math.deepEqual(
1270
- math.ifft([
1271
- [2, 2],
1272
- [0, 0],
1273
- ]),
1274
- [
1275
- [math.complex(1, 0), math.complex(0, 0)],
1276
- [math.complex(1, 0), math.complex(0, 0)],
1277
- ]
1278
- )
1279
- )
1280
- assert.ok(
1281
- math.deepEqual(
1282
- math.ifft(
1283
- math.matrix([
1284
- [2, 2],
1285
- [0, 0],
1286
- ])
1287
- ),
1288
- math.matrix([
1289
- [math.complex(1, 0), math.complex(0, 0)],
1290
- [math.complex(1, 0), math.complex(0, 0)],
1291
- ])
1292
- )
1293
- )
1294
- }
1295
- }
1296
-
1297
- /*
1298
- Math types examples: Type results after multiplying 'MathTypes' with matrices
1299
- */
1300
- {
1301
- const math = create(all, {})
1302
-
1303
- const abc: MathArray = [1, 2, 3, 4]
1304
- const bcd: MathArray = [
1305
- [1, 2, 3, 4],
1306
- [2, 3, 4, 5],
1307
- [4, 5, 6, 7],
1308
- [5, 6, 7, 8],
1309
- ]
1310
-
1311
- const Mbcd = math.matrix(bcd)
1312
- const Mabc = math.matrix(abc)
1313
-
1314
- // Number
1315
- const _r1 = math.multiply(1, 2)
1316
-
1317
- // Unit
1318
- const a = math.unit(45, 'cm') // 450 mm
1319
- const b = math.unit(45, 'cm') // 450 mm
1320
- const _r2 = math.multiply(a, b)
1321
-
1322
- // 1D JS Array
1323
- const r3 = math.multiply(abc, bcd)
1324
- const _r31 = r3[1] // By default least promised valid syntax
1325
-
1326
- // 2D JS Array
1327
- const r12 = math.multiply(bcd, bcd)
1328
- // Example to sort ambiguity between multidimensional & singledimensional arrays
1329
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1330
- const multiDimensional = (x: any): x is any[][] => x.length && x[0].length
1331
- if (multiDimensional(r12)) {
1332
- const _r1211 = r12[1][1]
1333
- }
1334
- const _r121 = r12[1] // Valid syntax
1335
-
1336
- // Matrix: matrix * vector
1337
- const r7 = math.multiply(Mabc, bcd)
1338
- r7.toArray() // Matrix-es have toArray function
1339
-
1340
- // Matrix
1341
- const _r8 = math.multiply(Mabc, 4)
1342
-
1343
- // Matrix
1344
- const _r11 = math.multiply(4, Mabc)
1345
-
1346
- // Matrix of units
1347
- const _r9 = math.multiply(Mabc, a)
1348
- const _r10 = math.multiply(a, Mabc)
1349
-
1350
- // Matrix
1351
- const _r6 = math.multiply(abc, Mbcd)
1352
-
1353
- // 2D JS Array
1354
- const _r5 = math.multiply(bcd, abc)
1355
-
1356
- // Number
1357
- const _r4 = math.multiply(abc, math.transpose(abc))
1358
- }
1359
-
1360
- /*
1361
- Sparse matrices examples
1362
- */
1363
- {
1364
- const math = create(all, {})
1365
-
1366
- // create a sparse matrix
1367
- const a = math.identity(1000, 1000, 'sparse')
1368
-
1369
- // do operations with a sparse matrix
1370
- const b = math.multiply(a, a)
1371
- const _c = math.multiply(b, math.complex(2, 2))
1372
- const d = math.matrix([0, 1])
1373
- const e = math.transpose(d)
1374
- const _f = math.multiply(e, d)
1375
- }
1376
-
1377
- /*
1378
- Units examples
1379
- */
1380
- {
1381
- const math = create(all, {})
1382
-
1383
- // units can be created by providing a value and unit name, or by providing
1384
- // a string with a valued unit.
1385
- const a = math.unit(45, 'cm') // 450 mm
1386
- const b = math.unit('0.1m') // 100 mm
1387
- const _c = math.unit(b)
1388
-
1389
- // creating units
1390
- math.createUnit('foo')
1391
- math.createUnit('furlong', '220 yards')
1392
- math.createUnit('furlong', '220 yards', { override: true })
1393
- math.createUnit('testunit', { definition: '0.555556 kelvin', offset: 459.67 })
1394
- math.createUnit(
1395
- 'testunit',
1396
- { definition: '0.555556 kelvin', offset: 459.67 },
1397
- { override: true }
1398
- )
1399
- math.createUnit('knot', {
1400
- definition: '0.514444 m/s',
1401
- aliases: ['knots', 'kt', 'kts'],
1402
- })
1403
- math.createUnit(
1404
- 'knot',
1405
- { definition: '0.514444 m/s', aliases: ['knots', 'kt', 'kts'] },
1406
- { override: true }
1407
- )
1408
- math.createUnit(
1409
- 'knot',
1410
- {
1411
- definition: '0.514444 m/s',
1412
- aliases: ['knots', 'kt', 'kts'],
1413
- prefixes: 'long',
1414
- },
1415
- { override: true }
1416
- )
1417
- math.createUnit(
1418
- {
1419
- foo2: {
1420
- prefixes: 'long',
1421
- },
1422
- bar: '40 foo',
1423
- baz: {
1424
- definition: '1 bar/hour',
1425
- prefixes: 'long',
1426
- },
1427
- },
1428
- {
1429
- override: true,
1430
- }
1431
- )
1432
- // use Unit as definition
1433
- math.createUnit('c', { definition: b })
1434
- math.createUnit('c', { definition: b }, { override: true })
1435
- math.createUnit('customUnit', math.unit(0.5, 'm'))
1436
-
1437
- // units can be added, subtracted, and multiplied or divided by numbers and by other units
1438
- math.add(a, b)
1439
- math.multiply(b, 2)
1440
- math.divide(math.unit('1 m'), math.unit('1 s'))
1441
- math.pow(math.unit('12 in'), 3)
1442
-
1443
- // units can be converted to a specific type, or to a number
1444
- b.to('cm')
1445
- math.to(b, 'inch')
1446
- b.toNumber('cm')
1447
- math.number(b, 'cm')
1448
-
1449
- // the expression parser supports units too
1450
- math.evaluate('2 inch to cm')
1451
-
1452
- // units can be converted to SI
1453
- math.unit('1 inch').toSI()
1454
-
1455
- // units can be split into other units
1456
- math.unit('1 m').splitUnit(['ft', 'in'])
1457
- }
1458
-
1459
- /*
1460
- Expression tree examples
1461
- */
1462
- {
1463
- const math = create(all, {})
1464
-
1465
- // Filter an expression tree
1466
- const node: MathNode = math.parse('x^2 + x/4 + 3*y')
1467
- const filtered: MathNode[] = node.filter(
1468
- (node: MathNode) => node.type === 'SymbolNode' && node.name === 'x'
1469
- )
1470
-
1471
- const _arr: string[] = filtered.map((node: MathNode) => node.toString())
1472
-
1473
- // Traverse an expression tree
1474
- const node1: MathNode = math.parse('3 * x + 2')
1475
- node1.traverse((node: MathNode, _path: string, _parent: MathNode) => {
1476
- switch (node.type) {
1477
- case 'OperatorNode':
1478
- return node.type === 'OperatorNode'
1479
- case 'ConstantNode':
1480
- return node.type === 'ConstantNode'
1481
- case 'SymbolNode':
1482
- return node.type === 'SymbolNode'
1483
- default:
1484
- return
1485
- }
1486
- })
1487
- }
1488
-
1489
- /*
1490
- Function ceil examples
1491
- */
1492
- {
1493
- const math = create(all, {})
1494
-
1495
- // number input
1496
- assert.strictEqual(math.ceil(3.2), 4)
1497
- assert.strictEqual(math.ceil(-4.2), -4)
1498
-
1499
- // number input
1500
- // roundoff result to 2 decimals
1501
- assert.strictEqual(math.ceil(3.212, 2), 3.22)
1502
- assert.deepStrictEqual(
1503
- math.ceil(3.212, math.bignumber(2)),
1504
- math.bignumber(3.22)
1505
- )
1506
- assert.strictEqual(math.ceil(-4.212, 2), -4.21)
1507
-
1508
- // bignumber input
1509
- assert.deepStrictEqual(math.ceil(math.bignumber(3.212)), math.bignumber(4))
1510
- assert.deepStrictEqual(
1511
- math.ceil(math.bignumber(3.212), 2),
1512
- math.bignumber(3.22)
1513
- )
1514
- assert.deepStrictEqual(
1515
- math.ceil(math.bignumber(3.212), math.bignumber(2)),
1516
- math.bignumber(3.22)
1517
- )
1518
-
1519
- // fraction input
1520
- assert.deepStrictEqual(math.ceil(math.fraction(44, 7)), math.fraction(7))
1521
- assert.deepStrictEqual(math.ceil(math.fraction(-44, 7)), math.fraction(-6))
1522
- assert.deepStrictEqual(
1523
- math.ceil(math.fraction(44, 7), 2),
1524
- math.fraction(629, 100)
1525
- )
1526
- assert.deepStrictEqual(
1527
- math.ceil(math.fraction(44, 7), math.bignumber(2)),
1528
- math.fraction(629, 100)
1529
- )
1530
-
1531
- // Complex input
1532
- const c = math.complex(3.24, -2.71)
1533
- assert.deepStrictEqual(math.ceil(c), math.complex(4, -2))
1534
- assert.deepStrictEqual(math.ceil(c, 1), math.complex(3.3, -2.7))
1535
- assert.deepStrictEqual(
1536
- math.ceil(c, math.bignumber(1)),
1537
- math.complex(3.3, -2.7)
1538
- )
1539
-
1540
- // array input
1541
- assert.deepStrictEqual(math.ceil([3.2, 3.8, -4.7]), [4, 4, -4])
1542
- assert.deepStrictEqual(math.ceil([3.21, 3.82, -4.71], 1), [3.3, 3.9, -4.7])
1543
- assert.deepStrictEqual(
1544
- math.ceil([3.21, 3.82, -4.71], math.bignumber(1)),
1545
- math.bignumber([3.3, 3.9, -4.7])
1546
- )
1547
-
1548
- // numeric input, array or matrix of decimals
1549
- const numCeiled: MathArray = math.ceil(math.tau, [2, 3])
1550
- assert.deepStrictEqual(numCeiled, [6.29, 6.284])
1551
- const bigCeiled: Matrix = math.ceil(
1552
- math.bignumber(6.28318),
1553
- math.matrix([2, 3])
1554
- )
1555
- assert.deepStrictEqual(bigCeiled, math.matrix(math.bignumber([6.29, 6.284])))
1556
- assert.deepStrictEqual(math.ceil(math.fraction(44, 7), [2, 3]), [
1557
- math.fraction(629, 100),
1558
- math.fraction(6286, 1000),
1559
- ])
1560
-
1561
- // @ts-expect-error ... verify ceil(array, array) throws an error (for now)
1562
- assert.throws(() => math.ceil([3.21, 3.82], [1, 2]), TypeError)
1563
- }
1564
-
1565
- /*
1566
- Function fix examples
1567
- */
1568
- {
1569
- const math = create(all, {})
1570
-
1571
- // number input
1572
- assert.strictEqual(math.fix(3.2), 3)
1573
- assert.strictEqual(math.fix(-4.2), -4)
1574
-
1575
- // number input
1576
- // roundoff result to 2 decimals
1577
- assert.strictEqual(math.fix(3.212, 2), 3.21)
1578
- assert.deepStrictEqual(
1579
- math.fix(3.212, math.bignumber(2)),
1580
- math.bignumber(3.21)
1581
- )
1582
- assert.strictEqual(math.fix(-4.212, 2), -4.21)
1583
-
1584
- // bignumber input
1585
- assert.deepStrictEqual(math.fix(math.bignumber(3.212)), math.bignumber(3))
1586
- assert.deepStrictEqual(
1587
- math.fix(math.bignumber(3.212), 2),
1588
- math.bignumber(3.21)
1589
- )
1590
- assert.deepStrictEqual(
1591
- math.fix(math.bignumber(3.212), math.bignumber(2)),
1592
- math.bignumber(3.21)
1593
- )
1594
-
1595
- // fraction input
1596
- assert.deepStrictEqual(math.fix(math.fraction(44, 7)), math.fraction(6))
1597
- assert.deepStrictEqual(math.fix(math.fraction(-44, 7)), math.fraction(-6))
1598
- assert.deepStrictEqual(
1599
- math.fix(math.fraction(44, 7), 2),
1600
- math.fraction(628, 100)
1601
- )
1602
- assert.deepStrictEqual(
1603
- math.fix(math.fraction(44, 7), math.bignumber(2)),
1604
- math.fraction(628, 100)
1605
- )
1606
-
1607
- // Complex input
1608
- const c = math.complex(3.24, -2.71)
1609
- assert.deepStrictEqual(math.fix(c), math.complex(3, -2))
1610
- assert.deepStrictEqual(math.fix(c, 1), math.complex(3.2, -2.7))
1611
- assert.deepStrictEqual(
1612
- math.fix(c, math.bignumber(1)),
1613
- math.complex(3.2, -2.7)
1614
- )
1615
-
1616
- // array input
1617
- assert.deepStrictEqual(math.fix([3.2, 3.8, -4.7]), [3, 3, -4])
1618
- assert.deepStrictEqual(math.fix([3.21, 3.82, -4.71], 1), [3.2, 3.8, -4.7])
1619
- assert.deepStrictEqual(
1620
- math.fix([3.21, 3.82, -4.71], math.bignumber(1)),
1621
- math.bignumber([3.2, 3.8, -4.7])
1622
- )
1623
-
1624
- // numeric input, array or matrix of decimals
1625
- const numFixed: MathArray = math.fix(math.tau, [2, 3])
1626
- assert.deepStrictEqual(numFixed, [6.28, 6.283])
1627
- const bigFixed: Matrix = math.fix(
1628
- math.bignumber(6.28318),
1629
- math.matrix([2, 3])
1630
- )
1631
- assert.deepStrictEqual(bigFixed, math.matrix(math.bignumber([6.28, 6.283])))
1632
- assert.deepStrictEqual(math.fix(math.fraction(44, 7), [2, 3]), [
1633
- math.fraction(628, 100),
1634
- math.fraction(6285, 1000),
1635
- ])
1636
-
1637
- // @ts-expect-error ... verify fix(array, array) throws an error (for now)
1638
- assert.throws(() => math.fix([3.21, 3.82], [1, 2]), TypeError)
1639
- }
1640
-
1641
- /*
1642
- Function floor examples
1643
- */
1644
- {
1645
- const math = create(all, {})
1646
-
1647
- // number input
1648
- assert.strictEqual(math.floor(3.2), 3)
1649
- assert.strictEqual(math.floor(-4.2), -5)
1650
-
1651
- // number input
1652
- // roundoff result to 2 decimals
1653
- assert.strictEqual(math.floor(3.212, 2), 3.21)
1654
- assert.deepStrictEqual(
1655
- math.floor(3.212, math.bignumber(2)),
1656
- math.bignumber(3.21)
1657
- )
1658
- assert.strictEqual(math.floor(-4.212, 2), -4.22)
1659
-
1660
- // bignumber input
1661
- assert.deepStrictEqual(math.floor(math.bignumber(3.212)), math.bignumber(3))
1662
- assert.deepStrictEqual(
1663
- math.floor(math.bignumber(3.212), 2),
1664
- math.bignumber(3.21)
1665
- )
1666
- assert.deepStrictEqual(
1667
- math.floor(math.bignumber(3.212), math.bignumber(2)),
1668
- math.bignumber(3.21)
1669
- )
1670
-
1671
- // fraction input
1672
- assert.deepStrictEqual(math.floor(math.fraction(44, 7)), math.fraction(6))
1673
- assert.deepStrictEqual(math.floor(math.fraction(-44, 7)), math.fraction(-7))
1674
- assert.deepStrictEqual(
1675
- math.floor(math.fraction(44, 7), 2),
1676
- math.fraction(628, 100)
1677
- )
1678
- assert.deepStrictEqual(
1679
- math.floor(math.fraction(44, 7), math.bignumber(2)),
1680
- math.fraction(628, 100)
1681
- )
1682
-
1683
- // Complex input
1684
- const c = math.complex(3.24, -2.71)
1685
- assert.deepStrictEqual(math.floor(c), math.complex(3, -3))
1686
- assert.deepStrictEqual(math.floor(c, 1), math.complex(3.2, -2.8))
1687
- assert.deepStrictEqual(
1688
- math.floor(c, math.bignumber(1)),
1689
- math.complex(3.2, -2.8)
1690
- )
1691
-
1692
- // array input
1693
- assert.deepStrictEqual(math.floor([3.2, 3.8, -4.7]), [3, 3, -5])
1694
- assert.deepStrictEqual(math.floor([3.21, 3.82, -4.71], 1), [3.2, 3.8, -4.8])
1695
- assert.deepStrictEqual(
1696
- math.floor([3.21, 3.82, -4.71], math.bignumber(1)),
1697
- math.bignumber([3.2, 3.8, -4.8])
1698
- )
1699
-
1700
- // numeric input, array or matrix of decimals
1701
- const numFloored: MathArray = math.floor(math.tau, [2, 3])
1702
- assert.deepStrictEqual(numFloored, [6.28, 6.283])
1703
- const bigFloored: Matrix = math.floor(
1704
- math.bignumber(6.28318),
1705
- math.matrix([2, 3])
1706
- )
1707
- assert.deepStrictEqual(bigFloored, math.matrix(math.bignumber([6.28, 6.283])))
1708
- assert.deepStrictEqual(math.floor(math.fraction(44, 7), [2, 3]), [
1709
- math.fraction(628, 100),
1710
- math.fraction(6285, 1000),
1711
- ])
1712
-
1713
- // @ts-expect-error ... verify floor(array, array) throws an error (for now)
1714
- assert.throws(() => math.floor([3.21, 3.82], [1, 2]), TypeError)
1715
- }
1716
-
1717
- /*
1718
- Function round examples
1719
- */
1720
- {
1721
- const math = create(all, {})
1722
-
1723
- // number input
1724
- assert.strictEqual(math.round(3.2), 3)
1725
- assert.strictEqual(math.round(-4.2), -4)
1726
-
1727
- // number input
1728
- // roundoff result to 2 decimals
1729
- assert.strictEqual(math.round(3.212, 2), 3.21)
1730
- assert.deepStrictEqual(
1731
- math.round(3.212, math.bignumber(2)),
1732
- math.bignumber(3.21)
1733
- )
1734
- assert.strictEqual(math.round(-4.212, 2), -4.21)
1735
-
1736
- // bignumber input
1737
- assert.deepStrictEqual(math.round(math.bignumber(3.212)), math.bignumber(3))
1738
- assert.deepStrictEqual(
1739
- math.round(math.bignumber(3.212), 2),
1740
- math.bignumber(3.21)
1741
- )
1742
- assert.deepStrictEqual(
1743
- math.round(math.bignumber(3.212), math.bignumber(2)),
1744
- math.bignumber(3.21)
1745
- )
1746
-
1747
- // fraction input
1748
- assert.deepStrictEqual(math.round(math.fraction(44, 7)), math.fraction(6))
1749
- assert.deepStrictEqual(math.round(math.fraction(-44, 7)), math.fraction(-6))
1750
- assert.deepStrictEqual(
1751
- math.round(math.fraction(44, 7), 2),
1752
- math.fraction(629, 100)
1753
- )
1754
- assert.deepStrictEqual(
1755
- math.round(math.fraction(44, 7), math.bignumber(2)),
1756
- math.fraction(629, 100)
1757
- )
1758
-
1759
- // Complex input
1760
- const c = math.complex(3.24, -2.71)
1761
- assert.deepStrictEqual(math.round(c), math.complex(3, -3))
1762
- assert.deepStrictEqual(math.round(c, 1), math.complex(3.2, -2.7))
1763
- assert.deepStrictEqual(
1764
- math.round(c, math.bignumber(1)),
1765
- math.complex(3.2, -2.7)
1766
- )
1767
-
1768
- // array input
1769
- assert.deepStrictEqual(math.round([3.2, 3.8, -4.7]), [3, 4, -5])
1770
- assert.deepStrictEqual(math.round([3.21, 3.82, -4.71], 1), [3.2, 3.8, -4.7])
1771
- assert.deepStrictEqual(
1772
- math.round([3.21, 3.82, -4.71], math.bignumber(1)),
1773
- math.bignumber([3.2, 3.8, -4.7])
1774
- )
1775
-
1776
- // numeric input, array or matrix of decimals
1777
- const numRounded: MathArray = math.round(math.tau, [2, 3])
1778
- assert.deepStrictEqual(numRounded, [6.28, 6.283])
1779
- const bigRounded: Matrix = math.round(
1780
- math.bignumber(6.28318),
1781
- math.matrix([2, 3])
1782
- )
1783
- assert.deepStrictEqual(bigRounded, math.matrix(math.bignumber([6.28, 6.283])))
1784
- assert.deepStrictEqual(math.round(math.fraction(44, 7), [2, 3]), [
1785
- math.fraction(629, 100),
1786
- math.fraction(6286, 1000),
1787
- ])
1788
-
1789
- // @ts-expect-error ... verify round(array, array) throws an error (for now)
1790
- assert.throws(() => math.round([3.21, 3.82], [1, 2]), TypeError)
1791
- }
1792
-
1793
- /*
1794
- Clone examples
1795
- */
1796
- {
1797
- const math = create(all, {})
1798
- expectTypeOf(
1799
- new math.OperatorNode('/', 'divide', [
1800
- new math.ConstantNode(3),
1801
- new math.SymbolNode('x'),
1802
- ])
1803
- ).toMatchTypeOf<OperatorNode<'/', 'divide', (ConstantNode | SymbolNode)[]>>()
1804
-
1805
- expectTypeOf(new math.ConstantNode(1).clone()).toMatchTypeOf<ConstantNode>()
1806
- expectTypeOf(
1807
- new math.OperatorNode('*', 'multiply', [
1808
- new math.ConstantNode(3),
1809
- new math.SymbolNode('x'),
1810
- ]).clone()
1811
- ).toMatchTypeOf<
1812
- OperatorNode<'*', 'multiply', (ConstantNode | SymbolNode)[]>
1813
- >()
1814
-
1815
- expectTypeOf(
1816
- new math.ConstantNode(1).cloneDeep()
1817
- ).toMatchTypeOf<ConstantNode>()
1818
- expectTypeOf(
1819
- new math.OperatorNode('+', 'unaryPlus', [
1820
- new math.ConstantNode(3),
1821
- new math.SymbolNode('x'),
1822
- ]).cloneDeep()
1823
- ).toMatchTypeOf<
1824
- OperatorNode<'+', 'unaryPlus', (ConstantNode | SymbolNode)[]>
1825
- >()
1826
-
1827
- expectTypeOf(
1828
- math.clone(new math.ConstantNode(1))
1829
- ).toMatchTypeOf<ConstantNode>()
1830
- }
1831
-
1832
- /*
1833
- JSON serialization/deserialization
1834
- */
1835
- {
1836
- const math = create(all, {})
1837
-
1838
- const data = {
1839
- bigNumber: math.bignumber('1.5'),
1840
- }
1841
- const stringified = JSON.stringify(data)
1842
- const parsed = JSON.parse(stringified, math.reviver)
1843
- assert.deepStrictEqual(parsed.bigNumber, math.bignumber('1.5'))
1844
- }
1845
-
1846
- /*
1847
- Extend functionality with import
1848
- */
1849
-
1850
- declare module 'mathjs' {
1851
- interface MathJsStatic {
1852
- testFun(): number
1853
- value: number
1854
- }
1855
- }
1856
-
1857
- {
1858
- const math = create(all, {})
1859
- const testFun = () => 5
1860
-
1861
- math.import(
1862
- {
1863
- testFun,
1864
- value: 10,
1865
- },
1866
- {}
1867
- )
1868
-
1869
- math.testFun()
1870
-
1871
- expectTypeOf(math.testFun()).toMatchTypeOf<number>()
1872
-
1873
- expectTypeOf(
1874
- math.import({
1875
- myvalue: 42,
1876
- myFunc: (name: string) => `myFunc ${name}`,
1877
- })
1878
- ).toMatchTypeOf<void>()
1879
-
1880
- expectTypeOf(
1881
- math.import(
1882
- {
1883
- myvalue: 42,
1884
- myFunc: (name: string) => `myFunc ${name}`,
1885
- },
1886
- {
1887
- override: true,
1888
- }
1889
- )
1890
- ).toMatchTypeOf<void>()
1891
-
1892
- expectTypeOf(
1893
- math.import(
1894
- {
1895
- myvalue2: 42,
1896
- },
1897
- {
1898
- silent: true,
1899
- }
1900
- )
1901
- ).toMatchTypeOf<void>()
1902
-
1903
- expectTypeOf(
1904
- math.import(
1905
- {
1906
- myvalue3: 42,
1907
- },
1908
- {
1909
- wrap: true,
1910
- }
1911
- )
1912
- ).toMatchTypeOf<void>()
1913
-
1914
- expectTypeOf(
1915
- math.import({
1916
- myvalue4: 42,
1917
- })
1918
- ).toMatchTypeOf<void>()
1919
-
1920
- expectTypeOf(
1921
- math.import([
1922
- {
1923
- myvalue5: 42,
1924
- },
1925
- {
1926
- myFunc2: (name: string) => `myFunc2 ${name}`,
1927
- },
1928
- ])
1929
- ).toMatchTypeOf<void>()
1930
- }
1931
-
1932
- /*
1933
- Renamed functions from v5 => v6
1934
- */
1935
- {
1936
- const math = create(all, {})
1937
- math.typeOf(1)
1938
- math.variance([1, 2, 3, 4])
1939
- math.evaluate('1 + 2')
1940
-
1941
- // chained operations
1942
- math.chain(3).typeOf().done()
1943
- math.chain([1, 2, 3]).variance().done()
1944
- math.chain('1 + 2').evaluate().done()
1945
- }
1946
-
1947
- /*
1948
- Factory Test
1949
- */
1950
- {
1951
- // create a factory function
1952
- const name = 'negativeSquare'
1953
- const dependencies: MathJsFunctionName[] = ['multiply', 'unaryMinus']
1954
- const createNegativeSquare = factory(name, dependencies, (injected) => {
1955
- const { multiply, unaryMinus } = injected
1956
- return function negativeSquare(x: number): number {
1957
- return unaryMinus(multiply(x, x))
1958
- }
1959
- })
1960
-
1961
- // create an instance of the function yourself:
1962
- const multiply = (a: number, b: number) => a * b
1963
- const unaryMinus = (a: number) => -a
1964
- const negativeSquare = createNegativeSquare({ multiply, unaryMinus })
1965
- negativeSquare(3)
1966
- }
1967
-
1968
- /**
1969
- * Dependency map typing test from mathjs official document:
1970
- * https://mathjs.org/docs/custom_bundling.html#using-just-a-few-functions
1971
- */
1972
- {
1973
- const config = {
1974
- // optionally, you can specify configuration
1975
- }
1976
-
1977
- // Create just the functions we need
1978
- const { fraction, add, divide, format } = create(
1979
- {
1980
- fractionDependencies,
1981
- addDependencies,
1982
- divideDependencies,
1983
- formatDependencies,
1984
- },
1985
- config
1986
- )
1987
-
1988
- // Use the created functions
1989
- const a = fraction(1, 3)
1990
- const b = fraction(3, 7)
1991
- const c = add(a, b)
1992
- const d = divide(a, b)
1993
- assert.strictEqual(format(c), '16/21')
1994
- assert.strictEqual(format(d), '7/9')
1995
- }
1996
-
1997
- /**
1998
- * Custom parsing functions
1999
- * https://mathjs.org/docs/expressions/customization.html#customize-supported-characters
2000
- */
2001
- {
2002
- const math = create(all, {})
2003
- const isAlphaOriginal = math.parse.isAlpha
2004
- math.parse.isAlpha = (c, cPrev, cNext) => {
2005
- return isAlphaOriginal(c, cPrev, cNext) || c === '\u260E'
2006
- }
2007
-
2008
- // now we can use the \u260E (phone) character in expressions
2009
- const result = math.evaluate('\u260Efoo', { '\u260Efoo': 42 })
2010
- assert.strictEqual(result, 42)
2011
- }
2012
-
2013
- /**
2014
- * Util functions
2015
- * https://mathjs.org/docs/reference/functions.html#utils-functions
2016
- */
2017
- {
2018
- const math = create(all, {})
2019
-
2020
- // hasNumericValue function
2021
- assert.strictEqual(math.hasNumericValue(2), true)
2022
- assert.strictEqual(math.hasNumericValue('2'), true)
2023
- assert.strictEqual(math.isNumeric('2'), false)
2024
- assert.strictEqual(math.hasNumericValue(0), true)
2025
- assert.strictEqual(math.hasNumericValue(math.bignumber(500)), true)
2026
- assert.deepStrictEqual(math.hasNumericValue([2.3, 'foo', false]), [
2027
- true,
2028
- false,
2029
- true,
2030
- ])
2031
- assert.strictEqual(math.hasNumericValue(math.fraction(4)), true)
2032
- assert.strictEqual(math.hasNumericValue(math.complex('2-4i')), false)
2033
- }
2034
-
2035
- /**
2036
- * src/util/is functions
2037
- */
2038
- {
2039
- const math = create(all, {})
2040
-
2041
- type IsFunc = (x: unknown) => boolean
2042
- const isFuncs: IsFunc[] = [
2043
- math.isNumber,
2044
- math.isBigNumber,
2045
- math.isComplex,
2046
- math.isFraction,
2047
- math.isUnit,
2048
- math.isString,
2049
- math.isArray,
2050
- math.isMatrix,
2051
- math.isCollection,
2052
- math.isDenseMatrix,
2053
- math.isSparseMatrix,
2054
- math.isRange,
2055
- math.isIndex,
2056
- math.isBoolean,
2057
- math.isResultSet,
2058
- math.isHelp,
2059
- math.isFunction,
2060
- math.isDate,
2061
- math.isRegExp,
2062
- math.isObject,
2063
- math.isNull,
2064
- math.isUndefined,
2065
- math.isAccessorNode,
2066
- math.isArrayNode,
2067
- math.isAssignmentNode,
2068
- math.isBlockNode,
2069
- math.isConditionalNode,
2070
- math.isConstantNode,
2071
- math.isFunctionAssignmentNode,
2072
- math.isFunctionNode,
2073
- math.isIndexNode,
2074
- math.isNode,
2075
- math.isObjectNode,
2076
- math.isOperatorNode,
2077
- math.isParenthesisNode,
2078
- math.isRangeNode,
2079
- math.isRelationalNode,
2080
- math.isSymbolNode,
2081
- math.isChain,
2082
- ]
2083
-
2084
- isFuncs.forEach((f) => {
2085
- const result = f(1)
2086
- const isResultBoolean = result === true || result === false
2087
- assert.ok(isResultBoolean)
2088
- })
2089
-
2090
- // Check guards do type refinement
2091
-
2092
- const x: unknown = undefined
2093
-
2094
- if (math.isNumber(x)) {
2095
- expectTypeOf(x).toMatchTypeOf<number>()
2096
- }
2097
- if (math.isBigNumber(x)) {
2098
- expectTypeOf(x).toMatchTypeOf<BigNumber>()
2099
- }
2100
- if (math.isComplex(x)) {
2101
- expectTypeOf(x).toMatchTypeOf<Complex>()
2102
- }
2103
- if (math.isFraction(x)) {
2104
- expectTypeOf(x).toMatchTypeOf<Fraction>()
2105
- }
2106
- if (math.isUnit(x)) {
2107
- expectTypeOf(x).toMatchTypeOf<Unit>()
2108
- }
2109
- if (math.isString(x)) {
2110
- expectTypeOf(x).toMatchTypeOf<string>()
2111
- }
2112
- if (math.isArray(x)) {
2113
- expectTypeOf(x).toMatchTypeOf<unknown[]>()
2114
- }
2115
- if (math.isMatrix(x)) {
2116
- expectTypeOf(x).toMatchTypeOf<Matrix>()
2117
- }
2118
- if (math.isDenseMatrix(x)) {
2119
- expectTypeOf(x).toMatchTypeOf<Matrix>()
2120
- }
2121
- if (math.isSparseMatrix(x)) {
2122
- expectTypeOf(x).toMatchTypeOf<Matrix>()
2123
- }
2124
- if (math.isIndex(x)) {
2125
- expectTypeOf(x).toMatchTypeOf<Index>()
2126
- }
2127
- if (math.isBoolean(x)) {
2128
- expectTypeOf(x).toMatchTypeOf<boolean>()
2129
- }
2130
- if (math.isHelp(x)) {
2131
- expectTypeOf(x).toMatchTypeOf<Help>()
2132
- }
2133
- if (math.isDate(x)) {
2134
- expectTypeOf(x).toMatchTypeOf<Date>()
2135
- }
2136
- if (math.isRegExp(x)) {
2137
- expectTypeOf(x).toMatchTypeOf<RegExp>()
2138
- }
2139
- if (math.isNull(x)) {
2140
- expectTypeOf(x).toMatchTypeOf<null>()
2141
- }
2142
- if (math.isUndefined(x)) {
2143
- expectTypeOf(x).toMatchTypeOf<undefined>()
2144
- }
2145
-
2146
- if (math.isAccessorNode(x)) {
2147
- expectTypeOf(x).toMatchTypeOf<AccessorNode>()
2148
- }
2149
- if (math.isArrayNode(x)) {
2150
- expectTypeOf(x).toMatchTypeOf<ArrayNode>()
2151
- }
2152
- if (math.isAssignmentNode(x)) {
2153
- expectTypeOf(x).toMatchTypeOf<AssignmentNode>()
2154
- }
2155
- if (math.isBlockNode(x)) {
2156
- expectTypeOf(x).toMatchTypeOf<BlockNode>()
2157
- }
2158
- if (math.isConditionalNode(x)) {
2159
- expectTypeOf(x).toMatchTypeOf<ConditionalNode>()
2160
- }
2161
- if (math.isConstantNode(x)) {
2162
- expectTypeOf(x).toMatchTypeOf<ConstantNode>()
2163
- }
2164
- if (math.isFunctionAssignmentNode(x)) {
2165
- expectTypeOf(x).toMatchTypeOf<FunctionAssignmentNode>()
2166
- }
2167
- if (math.isFunctionNode(x)) {
2168
- expectTypeOf(x).toMatchTypeOf<FunctionNode>()
2169
- }
2170
- if (math.isIndexNode(x)) {
2171
- expectTypeOf(x).toMatchTypeOf<IndexNode>()
2172
- }
2173
- if (math.isNode(x)) {
2174
- expectTypeOf(x).toMatchTypeOf<MathNodeCommon>()
2175
- }
2176
- if (math.isNode(x)) {
2177
- expectTypeOf(x).toMatchTypeOf<MathNodeCommon>()
2178
- }
2179
- if (math.isObjectNode(x)) {
2180
- expectTypeOf(x).toMatchTypeOf<ObjectNode>()
2181
- }
2182
- if (math.isOperatorNode(x)) {
2183
- expectTypeOf(x).toMatchTypeOf<
2184
- OperatorNode<OperatorNodeOp, OperatorNodeFn, MathNode[]>
2185
- >()
2186
- }
2187
- if (math.isParenthesisNode(x)) {
2188
- expectTypeOf(x).toMatchTypeOf<ParenthesisNode>()
2189
- }
2190
- if (math.isRangeNode(x)) {
2191
- expectTypeOf(x).toMatchTypeOf<RangeNode>()
2192
- }
2193
- if (math.isRelationalNode(x)) {
2194
- expectTypeOf(x).toMatchTypeOf<math.RelationalNode>()
2195
- }
2196
- if (math.isSymbolNode(x)) {
2197
- expectTypeOf(x).toMatchTypeOf<SymbolNode>()
2198
- }
2199
- if (math.isChain(x)) {
2200
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2201
- expectTypeOf(x).toMatchTypeOf<MathJsChain<any>>()
2202
- }
2203
- }
2204
-
2205
- /*
2206
- Probability function examples
2207
- */
2208
- {
2209
- const math = create(all, {})
2210
-
2211
- expectTypeOf(math.lgamma(1.5)).toMatchTypeOf<number>()
2212
- expectTypeOf(math.lgamma(math.complex(1.5, -1.5))).toMatchTypeOf<Complex>()
2213
- }
2214
-
2215
- /*
2216
- toTex examples
2217
- */
2218
-
2219
- {
2220
- const math = create(all, {})
2221
-
2222
- expectTypeOf(math.parse('a/b').toTex()).toMatchTypeOf<string>()
2223
-
2224
- // TODO add proper types for toTex options
2225
- expectTypeOf(
2226
- math.parse('a/b').toTex({
2227
- a: '123',
2228
- })
2229
- ).toMatchTypeOf<string>()
2230
- }
2231
-
2232
- /*
2233
- Resolve examples
2234
- */
2235
- {
2236
- const math = create(all, {})
2237
-
2238
- expectTypeOf(math.resolve('x + y')).toMatchTypeOf<MathNode>()
2239
- expectTypeOf(math.resolve(math.parse('x + y'))).toMatchTypeOf<MathNode>()
2240
- expectTypeOf(
2241
- math.resolve(math.parse('x + y'), { x: 0 })
2242
- ).toMatchTypeOf<MathNode>()
2243
- expectTypeOf(math.resolve('x + y', { x: 0 })).toMatchTypeOf<MathNode>()
2244
- expectTypeOf(
2245
- math.resolve([math.parse('x + y'), 'x*x'], { x: 0 })
2246
- ).toMatchTypeOf<MathNode[]>()
2247
- expectTypeOf(math.resolve(math.matrix(['x', 'y']))).toMatchTypeOf<Matrix>()
2248
- }
2249
-
2250
- /*
2251
- Random examples
2252
- */
2253
- {
2254
- const math = create(all, {})
2255
- expectTypeOf(math.pickRandom([1, 2, 3])).toMatchTypeOf<number>()
2256
- expectTypeOf(math.pickRandom(['a', { b: 10 }, 42])).toMatchTypeOf<
2257
- string | number | { b: number }
2258
- >()
2259
- expectTypeOf(math.pickRandom([1, 2, 3])).toMatchTypeOf<number>()
2260
- expectTypeOf(math.pickRandom([1, 2, 3], 2)).toMatchTypeOf<number[]>()
2261
-
2262
- expectTypeOf(math.chain([1, 2, 3]).pickRandom(2)).toMatchTypeOf<
2263
- MathJsChain<number[]>
2264
- >()
2265
- }