mathjs 8.1.0 → 12.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2099) hide show
  1. package/CONTRIBUTING.md +11 -10
  2. package/HISTORY.md +772 -1
  3. package/NOTICE +1 -1
  4. package/README.md +33 -16
  5. package/bin/cli.js +12 -12
  6. package/lib/browser/math.js +2 -40
  7. package/lib/browser/math.js.LICENSE.txt +43 -0
  8. package/lib/browser/math.js.map +1 -1
  9. package/lib/cjs/constants.js +40 -61
  10. package/lib/cjs/core/config.js +2 -3
  11. package/lib/cjs/core/create.js +31 -46
  12. package/lib/cjs/core/function/config.js +15 -20
  13. package/lib/cjs/core/function/import.js +28 -82
  14. package/lib/cjs/core/function/typed.js +71 -49
  15. package/lib/cjs/defaultInstance.js +4 -12
  16. package/lib/cjs/entry/allFactoriesAny.js +5 -10
  17. package/lib/cjs/entry/allFactoriesNumber.js +5 -10
  18. package/lib/cjs/entry/configReadonly.js +4 -11
  19. package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +3 -6
  20. package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +3 -7
  21. package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +3 -7
  22. package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +3 -7
  23. package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +3 -7
  24. package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +3 -8
  25. package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +3 -8
  26. package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +3 -7
  27. package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +5 -11
  28. package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +3 -6
  29. package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +5 -10
  30. package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
  31. package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +3 -7
  32. package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +3 -7
  33. package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +3 -6
  34. package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +3 -6
  35. package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +3 -8
  36. package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +3 -8
  37. package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +3 -7
  38. package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +3 -6
  39. package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +3 -8
  40. package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +3 -6
  41. package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +5 -10
  42. package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +3 -7
  43. package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +3 -7
  44. package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +3 -7
  45. package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +3 -10
  46. package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +3 -5
  47. package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +3 -7
  48. package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +5 -6
  49. package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +5 -8
  50. package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
  51. package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +3 -6
  52. package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +5 -9
  53. package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
  54. package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +5 -8
  55. package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +3 -7
  56. package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +3 -7
  57. package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +3 -7
  58. package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +3 -7
  59. package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +3 -6
  60. package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +3 -12
  61. package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +3 -12
  62. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +7 -9
  63. package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +3 -7
  64. package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +5 -5
  65. package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +3 -7
  66. package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +3 -6
  67. package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +3 -9
  68. package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +3 -9
  69. package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +3 -6
  70. package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +3 -6
  71. package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +5 -11
  72. package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +3 -7
  73. package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +5 -7
  74. package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +3 -7
  75. package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +3 -7
  76. package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +3 -5
  77. package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +3 -12
  78. package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +3 -8
  79. package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +3 -8
  80. package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +3 -6
  81. package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +3 -7
  82. package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +3 -6
  83. package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +3 -6
  84. package/lib/cjs/entry/dependenciesAny/dependenciesCorr.generated.js +35 -0
  85. package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +3 -6
  86. package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +3 -6
  87. package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +3 -7
  88. package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +3 -7
  89. package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +3 -7
  90. package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +21 -0
  91. package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +3 -7
  92. package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +3 -9
  93. package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +3 -7
  94. package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +3 -7
  95. package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +3 -8
  96. package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +3 -6
  97. package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +21 -0
  98. package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +21 -0
  99. package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +3 -7
  100. package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +3 -6
  101. package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +3 -16
  102. package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +9 -15
  103. package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +3 -7
  104. package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +3 -9
  105. package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +3 -9
  106. package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +3 -10
  107. package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +7 -17
  108. package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +3 -11
  109. package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +3 -7
  110. package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +3 -10
  111. package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +5 -10
  112. package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +5 -9
  113. package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +5 -10
  114. package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +3 -6
  115. package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +3 -6
  116. package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +39 -19
  117. package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +3 -7
  118. package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +3 -7
  119. package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +3 -7
  120. package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +5 -9
  121. package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +3 -6
  122. package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +3 -8
  123. package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +3 -6
  124. package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +3 -7
  125. package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +3 -6
  126. package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +3 -11
  127. package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +3 -7
  128. package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +3 -7
  129. package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +3 -5
  130. package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +3 -7
  131. package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +3 -7
  132. package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
  133. package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +3 -7
  134. package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +3 -6
  135. package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +3 -6
  136. package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +3 -6
  137. package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +3 -7
  138. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -10
  139. package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +3 -7
  140. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +7 -9
  141. package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +3 -6
  142. package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +3 -6
  143. package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +3 -6
  144. package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +3 -7
  145. package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +3 -5
  146. package/lib/cjs/entry/dependenciesAny/dependenciesFreqz.generated.js +27 -0
  147. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +3 -7
  148. package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +3 -7
  149. package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +3 -10
  150. package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +3 -7
  151. package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +9 -10
  152. package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +3 -6
  153. package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +3 -7
  154. package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +3 -7
  155. package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +3 -7
  156. package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +3 -7
  157. package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +3 -7
  158. package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +3 -6
  159. package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +5 -6
  160. package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +3 -13
  161. package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +3 -6
  162. package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +3 -10
  163. package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +23 -0
  164. package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +3 -6
  165. package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +3 -7
  166. package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +3 -7
  167. package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +5 -6
  168. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +3 -10
  169. package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +5 -6
  170. package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +3 -6
  171. package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +9 -16
  172. package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +3 -14
  173. package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +3 -7
  174. package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +31 -0
  175. package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +3 -6
  176. package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +3 -6
  177. package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +3 -6
  178. package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +3 -6
  179. package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +3 -6
  180. package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +3 -6
  181. package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +3 -6
  182. package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +5 -13
  183. package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +3 -7
  184. package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +3 -8
  185. package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +3 -6
  186. package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +3 -6
  187. package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +3 -6
  188. package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +3 -6
  189. package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +5 -8
  190. package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +5 -8
  191. package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +5 -8
  192. package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +19 -0
  193. package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +5 -10
  194. package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +19 -0
  195. package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +3 -8
  196. package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +3 -7
  197. package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +3 -9
  198. package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +3 -7
  199. package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +3 -7
  200. package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +5 -14
  201. package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +5 -14
  202. package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +5 -20
  203. package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +3 -12
  204. package/lib/cjs/entry/dependenciesAny/dependenciesLyap.generated.js +25 -0
  205. package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +3 -10
  206. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +3 -7
  207. package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +3 -7
  208. package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +3 -6
  209. package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +3 -6
  210. package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +3 -9
  211. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +3 -5
  212. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +23 -0
  213. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +21 -0
  214. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +23 -0
  215. package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +3 -8
  216. package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +3 -8
  217. package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +3 -8
  218. package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +3 -8
  219. package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +3 -10
  220. package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +3 -8
  221. package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +3 -8
  222. package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +9 -9
  223. package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +3 -8
  224. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +3 -7
  225. package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +3 -7
  226. package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +3 -7
  227. package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +3 -7
  228. package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +3 -12
  229. package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +3 -11
  230. package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +3 -6
  231. package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +3 -6
  232. package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +3 -7
  233. package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +3 -5
  234. package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +3 -18
  235. package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +3 -6
  236. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +5 -9
  237. package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +3 -8
  238. package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +3 -7
  239. package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +3 -5
  240. package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +3 -6
  241. package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +3 -8
  242. package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +3 -6
  243. package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +5 -6
  244. package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +3 -8
  245. package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +3 -6
  246. package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +5 -9
  247. package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
  248. package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +3 -6
  249. package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +3 -22
  250. package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +3 -7
  251. package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +5 -8
  252. package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +3 -9
  253. package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +3 -7
  254. package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +3 -6
  255. package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +3 -6
  256. package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +3 -6
  257. package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +39 -0
  258. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +3 -7
  259. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +3 -7
  260. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +3 -7
  261. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +3 -7
  262. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +3 -7
  263. package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +3 -7
  264. package/lib/cjs/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +41 -0
  265. package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +5 -12
  266. package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +3 -6
  267. package/lib/cjs/entry/dependenciesAny/dependenciesPrintTransform.generated.js +23 -0
  268. package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +3 -8
  269. package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +3 -7
  270. package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +5 -22
  271. package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +17 -10
  272. package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +39 -0
  273. package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +3 -7
  274. package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +3 -6
  275. package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +3 -6
  276. package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +7 -12
  277. package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +3 -5
  278. package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +3 -6
  279. package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +7 -12
  280. package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +17 -22
  281. package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +3 -6
  282. package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +3 -7
  283. package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +3 -6
  284. package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +3 -5
  285. package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +3 -8
  286. package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +3 -6
  287. package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +27 -0
  288. package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +3 -5
  289. package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +3 -5
  290. package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +5 -10
  291. package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +5 -10
  292. package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +3 -8
  293. package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +3 -16
  294. package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +3 -11
  295. package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +3 -9
  296. package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +3 -9
  297. package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +3 -7
  298. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +4 -6
  299. package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +3 -6
  300. package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +3 -6
  301. package/lib/cjs/entry/dependenciesAny/dependenciesSchur.generated.js +29 -0
  302. package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +3 -7
  303. package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +3 -7
  304. package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +3 -7
  305. package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +3 -11
  306. package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +3 -11
  307. package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +3 -11
  308. package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +3 -11
  309. package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +3 -10
  310. package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +3 -10
  311. package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +3 -10
  312. package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +3 -7
  313. package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +3 -11
  314. package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +3 -12
  315. package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +3 -9
  316. package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +19 -21
  317. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +39 -0
  318. package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +51 -0
  319. package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +3 -6
  320. package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +3 -6
  321. package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +3 -7
  322. package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +3 -15
  323. package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +5 -8
  324. package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +5 -8
  325. package/lib/cjs/entry/dependenciesAny/dependenciesSolveODE.generated.js +45 -0
  326. package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +3 -9
  327. package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +3 -8
  328. package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +3 -7
  329. package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +3 -8
  330. package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +3 -7
  331. package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +3 -6
  332. package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +3 -7
  333. package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +5 -15
  334. package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +3 -6
  335. package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +3 -7
  336. package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +5 -8
  337. package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +5 -8
  338. package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +3 -7
  339. package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +9 -18
  340. package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +3 -6
  341. package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +7 -7
  342. package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +7 -7
  343. package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +7 -13
  344. package/lib/cjs/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +17 -0
  345. package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +3 -8
  346. package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +3 -8
  347. package/lib/cjs/entry/dependenciesAny/dependenciesSylvester.generated.js +45 -0
  348. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +3 -7
  349. package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +23 -0
  350. package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +3 -6
  351. package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +3 -6
  352. package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +3 -6
  353. package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +3 -7
  354. package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +5 -7
  355. package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +3 -8
  356. package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +3 -7
  357. package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +3 -5
  358. package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +3 -6
  359. package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +3 -9
  360. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +3 -6
  361. package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +3 -7
  362. package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +5 -9
  363. package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +5 -22
  364. package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +3 -7
  365. package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +3 -6
  366. package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +3 -6
  367. package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +5 -14
  368. package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +5 -14
  369. package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +3 -7
  370. package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +3 -12
  371. package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +3 -12
  372. package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +3 -5
  373. package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +3 -6
  374. package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +3 -7
  375. package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +3 -8
  376. package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +5 -8
  377. package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +3 -8
  378. package/lib/cjs/entry/dependenciesAny/dependenciesZeta.generated.js +45 -0
  379. package/lib/cjs/entry/dependenciesAny/dependenciesZpk2tf.generated.js +25 -0
  380. package/lib/cjs/entry/dependenciesAny.generated.js +1150 -1256
  381. package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +3 -6
  382. package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +3 -7
  383. package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +3 -6
  384. package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +3 -6
  385. package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +3 -6
  386. package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +3 -6
  387. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +3 -6
  388. package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +3 -6
  389. package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +3 -6
  390. package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +3 -6
  391. package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +3 -6
  392. package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +3 -7
  393. package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +3 -7
  394. package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +3 -6
  395. package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +3 -6
  396. package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +3 -6
  397. package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +3 -6
  398. package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +3 -6
  399. package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +3 -8
  400. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +3 -6
  401. package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +3 -6
  402. package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +3 -6
  403. package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +3 -10
  404. package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +3 -6
  405. package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +3 -6
  406. package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +3 -6
  407. package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +3 -6
  408. package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +3 -7
  409. package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +3 -6
  410. package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +3 -12
  411. package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +3 -6
  412. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +5 -6
  413. package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +3 -7
  414. package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +5 -5
  415. package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +3 -6
  416. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +3 -6
  417. package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +3 -6
  418. package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +3 -6
  419. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +3 -7
  420. package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +3 -6
  421. package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +3 -7
  422. package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +3 -12
  423. package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +3 -6
  424. package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +3 -6
  425. package/lib/cjs/entry/dependenciesNumber/dependenciesCorr.generated.js +35 -0
  426. package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +3 -6
  427. package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +3 -6
  428. package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +3 -6
  429. package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +3 -6
  430. package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +3 -6
  431. package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +3 -6
  432. package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +3 -6
  433. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +21 -0
  434. package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +21 -0
  435. package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +3 -7
  436. package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +3 -16
  437. package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +3 -6
  438. package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +3 -6
  439. package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +3 -5
  440. package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +3 -7
  441. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +3 -6
  442. package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +3 -8
  443. package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +3 -6
  444. package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +3 -7
  445. package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +3 -6
  446. package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +3 -6
  447. package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +3 -7
  448. package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +3 -5
  449. package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +3 -6
  450. package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +3 -6
  451. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +7 -6
  452. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +5 -6
  453. package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +3 -6
  454. package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +3 -6
  455. package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +3 -6
  456. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +3 -7
  457. package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +3 -7
  458. package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +3 -6
  459. package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +3 -6
  460. package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +3 -7
  461. package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +3 -7
  462. package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +3 -6
  463. package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +3 -13
  464. package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +3 -5
  465. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +3 -10
  466. package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +3 -5
  467. package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +3 -6
  468. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +3 -6
  469. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +3 -6
  470. package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +3 -6
  471. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +3 -6
  472. package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +3 -6
  473. package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +3 -6
  474. package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +3 -5
  475. package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +3 -5
  476. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +3 -5
  477. package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +3 -5
  478. package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +3 -6
  479. package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +3 -6
  480. package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +3 -6
  481. package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +3 -6
  482. package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +17 -0
  483. package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +3 -6
  484. package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +3 -6
  485. package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +3 -6
  486. package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +3 -6
  487. package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +3 -10
  488. package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +3 -6
  489. package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +3 -6
  490. package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +3 -5
  491. package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +3 -8
  492. package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +3 -8
  493. package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +3 -8
  494. package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +3 -8
  495. package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +3 -10
  496. package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +3 -8
  497. package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +3 -8
  498. package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +3 -6
  499. package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +3 -8
  500. package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +3 -12
  501. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +3 -6
  502. package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +3 -6
  503. package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +3 -5
  504. package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +3 -5
  505. package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +3 -6
  506. package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +3 -6
  507. package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +3 -6
  508. package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +3 -5
  509. package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +3 -6
  510. package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +3 -6
  511. package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +3 -6
  512. package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +3 -6
  513. package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +3 -6
  514. package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +3 -6
  515. package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +3 -22
  516. package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +3 -7
  517. package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +5 -8
  518. package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +3 -9
  519. package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +3 -7
  520. package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +3 -5
  521. package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +3 -5
  522. package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +3 -6
  523. package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +3 -6
  524. package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +3 -6
  525. package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +3 -8
  526. package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +15 -10
  527. package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +3 -6
  528. package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +3 -6
  529. package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +7 -11
  530. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +3 -5
  531. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +3 -6
  532. package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +7 -11
  533. package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +17 -20
  534. package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +3 -6
  535. package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +3 -5
  536. package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +27 -0
  537. package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +3 -5
  538. package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +3 -5
  539. package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +3 -6
  540. package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +3 -6
  541. package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +3 -6
  542. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +3 -5
  543. package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +3 -5
  544. package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +3 -6
  545. package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +3 -6
  546. package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +3 -6
  547. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +19 -19
  548. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +35 -0
  549. package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +51 -0
  550. package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +3 -6
  551. package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +3 -6
  552. package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +3 -7
  553. package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +3 -6
  554. package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +3 -6
  555. package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +3 -6
  556. package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +3 -6
  557. package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +5 -8
  558. package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +5 -8
  559. package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +7 -18
  560. package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +3 -6
  561. package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +3 -5
  562. package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +3 -5
  563. package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +3 -6
  564. package/lib/cjs/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +17 -0
  565. package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +3 -8
  566. package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +3 -8
  567. package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +3 -6
  568. package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +3 -6
  569. package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +3 -6
  570. package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +3 -5
  571. package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +3 -5
  572. package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +3 -6
  573. package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +3 -5
  574. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +3 -6
  575. package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +3 -6
  576. package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +3 -7
  577. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +3 -6
  578. package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +3 -6
  579. package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +3 -12
  580. package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +3 -12
  581. package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +3 -5
  582. package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +3 -6
  583. package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +3 -6
  584. package/lib/cjs/entry/dependenciesNumber/dependenciesZeta.generated.js +41 -0
  585. package/lib/cjs/entry/dependenciesNumber.generated.js +627 -760
  586. package/lib/cjs/entry/impureFunctionsAny.generated.js +446 -323
  587. package/lib/cjs/entry/impureFunctionsNumber.generated.js +299 -260
  588. package/lib/cjs/entry/mainAny.js +8 -24
  589. package/lib/cjs/entry/mainNumber.js +8 -24
  590. package/lib/cjs/entry/pureFunctionsAny.generated.js +1038 -1058
  591. package/lib/cjs/entry/pureFunctionsNumber.generated.js +296 -407
  592. package/lib/cjs/entry/typeChecks.js +18 -13
  593. package/lib/cjs/error/ArgumentsError.js +0 -3
  594. package/lib/cjs/error/DimensionError.js +0 -3
  595. package/lib/cjs/error/IndexError.js +0 -6
  596. package/lib/cjs/expression/Help.js +10 -30
  597. package/lib/cjs/expression/Parser.js +37 -43
  598. package/lib/cjs/expression/embeddedDocs/constants/Infinity.js +2 -3
  599. package/lib/cjs/expression/embeddedDocs/constants/LN10.js +2 -3
  600. package/lib/cjs/expression/embeddedDocs/constants/LN2.js +2 -3
  601. package/lib/cjs/expression/embeddedDocs/constants/LOG10E.js +2 -3
  602. package/lib/cjs/expression/embeddedDocs/constants/LOG2E.js +2 -3
  603. package/lib/cjs/expression/embeddedDocs/constants/NaN.js +2 -3
  604. package/lib/cjs/expression/embeddedDocs/constants/SQRT1_2.js +2 -3
  605. package/lib/cjs/expression/embeddedDocs/constants/SQRT2.js +2 -3
  606. package/lib/cjs/expression/embeddedDocs/constants/e.js +2 -3
  607. package/lib/cjs/expression/embeddedDocs/constants/false.js +2 -3
  608. package/lib/cjs/expression/embeddedDocs/constants/i.js +2 -3
  609. package/lib/cjs/expression/embeddedDocs/constants/null.js +2 -3
  610. package/lib/cjs/expression/embeddedDocs/constants/phi.js +2 -3
  611. package/lib/cjs/expression/embeddedDocs/constants/pi.js +2 -3
  612. package/lib/cjs/expression/embeddedDocs/constants/tau.js +2 -3
  613. package/lib/cjs/expression/embeddedDocs/constants/true.js +2 -3
  614. package/lib/cjs/expression/embeddedDocs/constants/version.js +2 -3
  615. package/lib/cjs/expression/embeddedDocs/construction/bignumber.js +2 -3
  616. package/lib/cjs/expression/embeddedDocs/construction/boolean.js +2 -3
  617. package/lib/cjs/expression/embeddedDocs/construction/complex.js +2 -3
  618. package/lib/cjs/expression/embeddedDocs/construction/createUnit.js +2 -3
  619. package/lib/cjs/expression/embeddedDocs/construction/fraction.js +5 -6
  620. package/lib/cjs/expression/embeddedDocs/construction/index.js +3 -4
  621. package/lib/cjs/expression/embeddedDocs/construction/matrix.js +2 -3
  622. package/lib/cjs/expression/embeddedDocs/construction/number.js +2 -3
  623. package/lib/cjs/expression/embeddedDocs/construction/sparse.js +2 -3
  624. package/lib/cjs/expression/embeddedDocs/construction/splitUnit.js +2 -3
  625. package/lib/cjs/expression/embeddedDocs/construction/string.js +2 -3
  626. package/lib/cjs/expression/embeddedDocs/construction/unit.js +2 -3
  627. package/lib/cjs/expression/embeddedDocs/core/config.js +2 -3
  628. package/lib/cjs/expression/embeddedDocs/core/import.js +2 -3
  629. package/lib/cjs/expression/embeddedDocs/core/typed.js +3 -4
  630. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +272 -440
  631. package/lib/cjs/expression/embeddedDocs/function/algebra/derivative.js +2 -3
  632. package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +14 -0
  633. package/lib/cjs/expression/embeddedDocs/function/algebra/lsolve.js +2 -3
  634. package/lib/cjs/expression/embeddedDocs/function/algebra/lsolveAll.js +2 -3
  635. package/lib/cjs/expression/embeddedDocs/function/algebra/lup.js +2 -3
  636. package/lib/cjs/expression/embeddedDocs/function/algebra/lusolve.js +2 -3
  637. package/lib/cjs/expression/embeddedDocs/function/algebra/lyap.js +14 -0
  638. package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +14 -0
  639. package/lib/cjs/expression/embeddedDocs/function/algebra/qr.js +2 -3
  640. package/lib/cjs/expression/embeddedDocs/function/algebra/rationalize.js +2 -3
  641. package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +15 -0
  642. package/lib/cjs/expression/embeddedDocs/function/algebra/schur.js +14 -0
  643. package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +3 -4
  644. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +14 -0
  645. package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +14 -0
  646. package/lib/cjs/expression/embeddedDocs/function/algebra/slu.js +2 -3
  647. package/lib/cjs/expression/embeddedDocs/function/algebra/sylvester.js +14 -0
  648. package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +14 -0
  649. package/lib/cjs/expression/embeddedDocs/function/algebra/usolve.js +2 -3
  650. package/lib/cjs/expression/embeddedDocs/function/algebra/usolveAll.js +2 -3
  651. package/lib/cjs/expression/embeddedDocs/function/arithmetic/abs.js +2 -3
  652. package/lib/cjs/expression/embeddedDocs/function/arithmetic/add.js +2 -3
  653. package/lib/cjs/expression/embeddedDocs/function/arithmetic/cbrt.js +2 -3
  654. package/lib/cjs/expression/embeddedDocs/function/arithmetic/ceil.js +2 -3
  655. package/lib/cjs/expression/embeddedDocs/function/arithmetic/cube.js +2 -3
  656. package/lib/cjs/expression/embeddedDocs/function/arithmetic/divide.js +2 -3
  657. package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotDivide.js +2 -3
  658. package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotMultiply.js +2 -3
  659. package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotPow.js +2 -3
  660. package/lib/cjs/expression/embeddedDocs/function/arithmetic/exp.js +2 -3
  661. package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm.js +2 -3
  662. package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm1.js +2 -3
  663. package/lib/cjs/expression/embeddedDocs/function/arithmetic/fix.js +2 -3
  664. package/lib/cjs/expression/embeddedDocs/function/arithmetic/floor.js +2 -3
  665. package/lib/cjs/expression/embeddedDocs/function/arithmetic/gcd.js +2 -3
  666. package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +2 -3
  667. package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +14 -0
  668. package/lib/cjs/expression/embeddedDocs/function/arithmetic/lcm.js +2 -3
  669. package/lib/cjs/expression/embeddedDocs/function/arithmetic/log.js +2 -3
  670. package/lib/cjs/expression/embeddedDocs/function/arithmetic/log10.js +2 -3
  671. package/lib/cjs/expression/embeddedDocs/function/arithmetic/log1p.js +2 -3
  672. package/lib/cjs/expression/embeddedDocs/function/arithmetic/log2.js +2 -3
  673. package/lib/cjs/expression/embeddedDocs/function/arithmetic/mod.js +2 -3
  674. package/lib/cjs/expression/embeddedDocs/function/arithmetic/multiply.js +2 -3
  675. package/lib/cjs/expression/embeddedDocs/function/arithmetic/norm.js +2 -3
  676. package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoot.js +2 -3
  677. package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoots.js +2 -3
  678. package/lib/cjs/expression/embeddedDocs/function/arithmetic/pow.js +3 -4
  679. package/lib/cjs/expression/embeddedDocs/function/arithmetic/round.js +4 -5
  680. package/lib/cjs/expression/embeddedDocs/function/arithmetic/sign.js +2 -3
  681. package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrt.js +2 -3
  682. package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrtm.js +3 -4
  683. package/lib/cjs/expression/embeddedDocs/function/arithmetic/square.js +2 -3
  684. package/lib/cjs/expression/embeddedDocs/function/arithmetic/subtract.js +2 -3
  685. package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryMinus.js +2 -3
  686. package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryPlus.js +2 -3
  687. package/lib/cjs/expression/embeddedDocs/function/arithmetic/xgcd.js +2 -3
  688. package/lib/cjs/expression/embeddedDocs/function/bitwise/bitAnd.js +2 -3
  689. package/lib/cjs/expression/embeddedDocs/function/bitwise/bitNot.js +2 -3
  690. package/lib/cjs/expression/embeddedDocs/function/bitwise/bitOr.js +2 -3
  691. package/lib/cjs/expression/embeddedDocs/function/bitwise/bitXor.js +2 -3
  692. package/lib/cjs/expression/embeddedDocs/function/bitwise/leftShift.js +2 -3
  693. package/lib/cjs/expression/embeddedDocs/function/bitwise/rightArithShift.js +2 -3
  694. package/lib/cjs/expression/embeddedDocs/function/bitwise/rightLogShift.js +2 -3
  695. package/lib/cjs/expression/embeddedDocs/function/combinatorics/bellNumbers.js +2 -3
  696. package/lib/cjs/expression/embeddedDocs/function/combinatorics/catalan.js +2 -3
  697. package/lib/cjs/expression/embeddedDocs/function/combinatorics/composition.js +2 -3
  698. package/lib/cjs/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -3
  699. package/lib/cjs/expression/embeddedDocs/function/complex/arg.js +2 -3
  700. package/lib/cjs/expression/embeddedDocs/function/complex/conj.js +2 -3
  701. package/lib/cjs/expression/embeddedDocs/function/complex/im.js +2 -3
  702. package/lib/cjs/expression/embeddedDocs/function/complex/re.js +2 -3
  703. package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +4 -5
  704. package/lib/cjs/expression/embeddedDocs/function/expression/help.js +2 -3
  705. package/lib/cjs/expression/embeddedDocs/function/geometry/distance.js +2 -3
  706. package/lib/cjs/expression/embeddedDocs/function/geometry/intersect.js +2 -3
  707. package/lib/cjs/expression/embeddedDocs/function/logical/and.js +2 -3
  708. package/lib/cjs/expression/embeddedDocs/function/logical/not.js +2 -3
  709. package/lib/cjs/expression/embeddedDocs/function/logical/or.js +2 -3
  710. package/lib/cjs/expression/embeddedDocs/function/logical/xor.js +2 -3
  711. package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +3 -4
  712. package/lib/cjs/expression/embeddedDocs/function/matrix/concat.js +2 -3
  713. package/lib/cjs/expression/embeddedDocs/function/matrix/count.js +14 -0
  714. package/lib/cjs/expression/embeddedDocs/function/matrix/cross.js +2 -3
  715. package/lib/cjs/expression/embeddedDocs/function/matrix/ctranspose.js +2 -3
  716. package/lib/cjs/expression/embeddedDocs/function/matrix/det.js +2 -3
  717. package/lib/cjs/expression/embeddedDocs/function/matrix/diag.js +2 -3
  718. package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +3 -4
  719. package/lib/cjs/expression/embeddedDocs/function/matrix/dot.js +2 -3
  720. package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +4 -5
  721. package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +14 -0
  722. package/lib/cjs/expression/embeddedDocs/function/matrix/filter.js +2 -3
  723. package/lib/cjs/expression/embeddedDocs/function/matrix/flatten.js +2 -3
  724. package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +3 -4
  725. package/lib/cjs/expression/embeddedDocs/function/matrix/getMatrixDataType.js +2 -3
  726. package/lib/cjs/expression/embeddedDocs/function/matrix/identity.js +2 -3
  727. package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +14 -0
  728. package/lib/cjs/expression/embeddedDocs/function/matrix/inv.js +2 -3
  729. package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +2 -3
  730. package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +2 -3
  731. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +14 -0
  732. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +14 -0
  733. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +14 -0
  734. package/lib/cjs/expression/embeddedDocs/function/matrix/ones.js +2 -3
  735. package/lib/cjs/expression/embeddedDocs/function/matrix/partitionSelect.js +3 -4
  736. package/lib/cjs/expression/embeddedDocs/function/matrix/pinv.js +14 -0
  737. package/lib/cjs/expression/embeddedDocs/function/matrix/range.js +3 -4
  738. package/lib/cjs/expression/embeddedDocs/function/matrix/reshape.js +3 -4
  739. package/lib/cjs/expression/embeddedDocs/function/matrix/resize.js +2 -3
  740. package/lib/cjs/expression/embeddedDocs/function/matrix/rotate.js +3 -4
  741. package/lib/cjs/expression/embeddedDocs/function/matrix/rotationMatrix.js +2 -3
  742. package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +3 -4
  743. package/lib/cjs/expression/embeddedDocs/function/matrix/size.js +3 -4
  744. package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +3 -4
  745. package/lib/cjs/expression/embeddedDocs/function/matrix/squeeze.js +2 -3
  746. package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +4 -5
  747. package/lib/cjs/expression/embeddedDocs/function/matrix/trace.js +2 -3
  748. package/lib/cjs/expression/embeddedDocs/function/matrix/transpose.js +2 -3
  749. package/lib/cjs/expression/embeddedDocs/function/matrix/zeros.js +2 -3
  750. package/lib/cjs/expression/embeddedDocs/function/numeric/solveODE.js +14 -0
  751. package/lib/cjs/expression/embeddedDocs/function/probability/combinations.js +2 -3
  752. package/lib/cjs/expression/embeddedDocs/function/probability/combinationsWithRep.js +2 -3
  753. package/lib/cjs/expression/embeddedDocs/function/probability/distribution.js +2 -3
  754. package/lib/cjs/expression/embeddedDocs/function/probability/factorial.js +2 -3
  755. package/lib/cjs/expression/embeddedDocs/function/probability/gamma.js +2 -3
  756. package/lib/cjs/expression/embeddedDocs/function/probability/kldivergence.js +2 -3
  757. package/lib/cjs/expression/embeddedDocs/function/probability/lgamma.js +14 -0
  758. package/lib/cjs/expression/embeddedDocs/function/probability/multinomial.js +2 -3
  759. package/lib/cjs/expression/embeddedDocs/function/probability/permutations.js +2 -3
  760. package/lib/cjs/expression/embeddedDocs/function/probability/pickRandom.js +2 -3
  761. package/lib/cjs/expression/embeddedDocs/function/probability/random.js +2 -3
  762. package/lib/cjs/expression/embeddedDocs/function/probability/randomInt.js +2 -3
  763. package/lib/cjs/expression/embeddedDocs/function/relational/compare.js +2 -3
  764. package/lib/cjs/expression/embeddedDocs/function/relational/compareNatural.js +2 -3
  765. package/lib/cjs/expression/embeddedDocs/function/relational/compareText.js +2 -3
  766. package/lib/cjs/expression/embeddedDocs/function/relational/deepEqual.js +2 -3
  767. package/lib/cjs/expression/embeddedDocs/function/relational/equal.js +2 -3
  768. package/lib/cjs/expression/embeddedDocs/function/relational/equalText.js +2 -3
  769. package/lib/cjs/expression/embeddedDocs/function/relational/larger.js +2 -3
  770. package/lib/cjs/expression/embeddedDocs/function/relational/largerEq.js +2 -3
  771. package/lib/cjs/expression/embeddedDocs/function/relational/smaller.js +2 -3
  772. package/lib/cjs/expression/embeddedDocs/function/relational/smallerEq.js +2 -3
  773. package/lib/cjs/expression/embeddedDocs/function/relational/unequal.js +2 -3
  774. package/lib/cjs/expression/embeddedDocs/function/set/setCartesian.js +3 -4
  775. package/lib/cjs/expression/embeddedDocs/function/set/setDifference.js +2 -3
  776. package/lib/cjs/expression/embeddedDocs/function/set/setDistinct.js +2 -3
  777. package/lib/cjs/expression/embeddedDocs/function/set/setIntersect.js +2 -3
  778. package/lib/cjs/expression/embeddedDocs/function/set/setIsSubset.js +2 -3
  779. package/lib/cjs/expression/embeddedDocs/function/set/setMultiplicity.js +2 -3
  780. package/lib/cjs/expression/embeddedDocs/function/set/setPowerset.js +2 -3
  781. package/lib/cjs/expression/embeddedDocs/function/set/setSize.js +2 -3
  782. package/lib/cjs/expression/embeddedDocs/function/set/setSymDifference.js +2 -3
  783. package/lib/cjs/expression/embeddedDocs/function/set/setUnion.js +2 -3
  784. package/lib/cjs/expression/embeddedDocs/function/signal/freqz.js +14 -0
  785. package/lib/cjs/expression/embeddedDocs/function/signal/zpk2tf.js +14 -0
  786. package/lib/cjs/expression/embeddedDocs/function/special/erf.js +2 -3
  787. package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +14 -0
  788. package/lib/cjs/expression/embeddedDocs/function/statistics/corr.js +14 -0
  789. package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +14 -0
  790. package/lib/cjs/expression/embeddedDocs/function/statistics/mad.js +2 -3
  791. package/lib/cjs/expression/embeddedDocs/function/statistics/max.js +3 -4
  792. package/lib/cjs/expression/embeddedDocs/function/statistics/mean.js +3 -4
  793. package/lib/cjs/expression/embeddedDocs/function/statistics/median.js +2 -3
  794. package/lib/cjs/expression/embeddedDocs/function/statistics/min.js +3 -4
  795. package/lib/cjs/expression/embeddedDocs/function/statistics/mode.js +2 -3
  796. package/lib/cjs/expression/embeddedDocs/function/statistics/prod.js +2 -3
  797. package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +2 -3
  798. package/lib/cjs/expression/embeddedDocs/function/statistics/std.js +3 -4
  799. package/lib/cjs/expression/embeddedDocs/function/statistics/sum.js +3 -4
  800. package/lib/cjs/expression/embeddedDocs/function/statistics/variance.js +3 -4
  801. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acos.js +2 -3
  802. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acosh.js +2 -3
  803. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acot.js +2 -3
  804. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +2 -3
  805. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsc.js +2 -3
  806. package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +2 -3
  807. package/lib/cjs/expression/embeddedDocs/function/trigonometry/asec.js +2 -3
  808. package/lib/cjs/expression/embeddedDocs/function/trigonometry/asech.js +2 -3
  809. package/lib/cjs/expression/embeddedDocs/function/trigonometry/asin.js +2 -3
  810. package/lib/cjs/expression/embeddedDocs/function/trigonometry/asinh.js +2 -3
  811. package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan.js +2 -3
  812. package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan2.js +2 -3
  813. package/lib/cjs/expression/embeddedDocs/function/trigonometry/atanh.js +2 -3
  814. package/lib/cjs/expression/embeddedDocs/function/trigonometry/cos.js +2 -3
  815. package/lib/cjs/expression/embeddedDocs/function/trigonometry/cosh.js +2 -3
  816. package/lib/cjs/expression/embeddedDocs/function/trigonometry/cot.js +2 -3
  817. package/lib/cjs/expression/embeddedDocs/function/trigonometry/coth.js +2 -3
  818. package/lib/cjs/expression/embeddedDocs/function/trigonometry/csc.js +2 -3
  819. package/lib/cjs/expression/embeddedDocs/function/trigonometry/csch.js +2 -3
  820. package/lib/cjs/expression/embeddedDocs/function/trigonometry/sec.js +2 -3
  821. package/lib/cjs/expression/embeddedDocs/function/trigonometry/sech.js +2 -3
  822. package/lib/cjs/expression/embeddedDocs/function/trigonometry/sin.js +2 -3
  823. package/lib/cjs/expression/embeddedDocs/function/trigonometry/sinh.js +2 -3
  824. package/lib/cjs/expression/embeddedDocs/function/trigonometry/tan.js +2 -3
  825. package/lib/cjs/expression/embeddedDocs/function/trigonometry/tanh.js +2 -3
  826. package/lib/cjs/expression/embeddedDocs/function/units/to.js +2 -3
  827. package/lib/cjs/expression/embeddedDocs/function/utils/bin.js +2 -3
  828. package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +2 -3
  829. package/lib/cjs/expression/embeddedDocs/function/utils/format.js +2 -3
  830. package/lib/cjs/expression/embeddedDocs/function/utils/hasNumericValue.js +2 -3
  831. package/lib/cjs/expression/embeddedDocs/function/utils/hex.js +2 -3
  832. package/lib/cjs/expression/embeddedDocs/function/utils/isInteger.js +2 -3
  833. package/lib/cjs/expression/embeddedDocs/function/utils/isNaN.js +2 -3
  834. package/lib/cjs/expression/embeddedDocs/function/utils/isNegative.js +2 -3
  835. package/lib/cjs/expression/embeddedDocs/function/utils/isNumeric.js +2 -3
  836. package/lib/cjs/expression/embeddedDocs/function/utils/isPositive.js +2 -3
  837. package/lib/cjs/expression/embeddedDocs/function/utils/isPrime.js +2 -3
  838. package/lib/cjs/expression/embeddedDocs/function/utils/isZero.js +2 -3
  839. package/lib/cjs/expression/embeddedDocs/function/utils/numeric.js +3 -4
  840. package/lib/cjs/expression/embeddedDocs/function/utils/oct.js +2 -3
  841. package/lib/cjs/expression/embeddedDocs/function/utils/print.js +3 -4
  842. package/lib/cjs/expression/embeddedDocs/function/utils/typeOf.js +2 -3
  843. package/lib/cjs/expression/function/compile.js +3 -8
  844. package/lib/cjs/expression/function/evaluate.js +8 -12
  845. package/lib/cjs/expression/function/help.js +5 -16
  846. package/lib/cjs/expression/function/parser.js +8 -12
  847. package/lib/cjs/expression/keywords.js +1 -4
  848. package/lib/cjs/expression/node/AccessorNode.js +193 -180
  849. package/lib/cjs/expression/node/ArrayNode.js +199 -177
  850. package/lib/cjs/expression/node/AssignmentNode.js +301 -288
  851. package/lib/cjs/expression/node/BlockNode.js +207 -183
  852. package/lib/cjs/expression/node/ConditionalNode.js +224 -207
  853. package/lib/cjs/expression/node/ConstantNode.js +194 -181
  854. package/lib/cjs/expression/node/FunctionAssignmentNode.js +257 -218
  855. package/lib/cjs/expression/node/FunctionNode.js +424 -367
  856. package/lib/cjs/expression/node/IndexNode.js +241 -268
  857. package/lib/cjs/expression/node/Node.js +385 -393
  858. package/lib/cjs/expression/node/ObjectNode.js +200 -194
  859. package/lib/cjs/expression/node/OperatorNode.js +447 -470
  860. package/lib/cjs/expression/node/ParenthesisNode.js +179 -156
  861. package/lib/cjs/expression/node/RangeNode.js +249 -253
  862. package/lib/cjs/expression/node/RelationalNode.js +218 -204
  863. package/lib/cjs/expression/node/SymbolNode.js +210 -191
  864. package/lib/cjs/expression/node/utils/access.js +3 -8
  865. package/lib/cjs/expression/node/utils/assign.js +11 -11
  866. package/lib/cjs/expression/operators.js +116 -42
  867. package/lib/cjs/expression/parse.js +292 -412
  868. package/lib/cjs/expression/transform/and.transform.js +39 -0
  869. package/lib/cjs/expression/transform/apply.transform.js +6 -13
  870. package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
  871. package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
  872. package/lib/cjs/expression/transform/column.transform.js +8 -15
  873. package/lib/cjs/expression/transform/concat.transform.js +5 -13
  874. package/lib/cjs/expression/transform/cumsum.transform.js +49 -0
  875. package/lib/cjs/expression/transform/diff.transform.js +9 -25
  876. package/lib/cjs/expression/transform/filter.transform.js +8 -29
  877. package/lib/cjs/expression/transform/forEach.transform.js +7 -30
  878. package/lib/cjs/expression/transform/index.transform.js +14 -17
  879. package/lib/cjs/expression/transform/map.transform.js +8 -31
  880. package/lib/cjs/expression/transform/max.transform.js +8 -24
  881. package/lib/cjs/expression/transform/mean.transform.js +7 -23
  882. package/lib/cjs/expression/transform/min.transform.js +8 -24
  883. package/lib/cjs/expression/transform/or.transform.js +37 -0
  884. package/lib/cjs/expression/transform/print.transform.js +46 -0
  885. package/lib/cjs/expression/transform/quantileSeq.transform.js +71 -0
  886. package/lib/cjs/expression/transform/range.transform.js +16 -18
  887. package/lib/cjs/expression/transform/row.transform.js +8 -15
  888. package/lib/cjs/expression/transform/std.transform.js +10 -24
  889. package/lib/cjs/expression/transform/subset.transform.js +10 -11
  890. package/lib/cjs/expression/transform/sum.transform.js +8 -24
  891. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +6 -9
  892. package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
  893. package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +22 -0
  894. package/lib/cjs/expression/transform/variance.transform.js +11 -27
  895. package/lib/cjs/factoriesAny.js +877 -915
  896. package/lib/cjs/factoriesNumber.js +443 -495
  897. package/lib/cjs/function/algebra/decomposition/lup.js +140 -178
  898. package/lib/cjs/function/algebra/decomposition/qr.js +44 -61
  899. package/lib/cjs/function/algebra/decomposition/schur.js +74 -0
  900. package/lib/cjs/function/algebra/decomposition/slu.js +20 -25
  901. package/lib/cjs/function/algebra/derivative.js +75 -180
  902. package/lib/cjs/function/algebra/leafCount.js +58 -0
  903. package/lib/cjs/function/algebra/lyap.js +56 -0
  904. package/lib/cjs/function/algebra/polynomialRoot.js +138 -0
  905. package/lib/cjs/function/algebra/rationalize.js +238 -294
  906. package/lib/cjs/function/algebra/resolve.js +131 -0
  907. package/lib/cjs/function/algebra/simplify/util.js +151 -74
  908. package/lib/cjs/function/algebra/simplify/wildcards.js +38 -0
  909. package/lib/cjs/function/algebra/simplify.js +855 -419
  910. package/lib/cjs/function/algebra/simplifyConstant.js +488 -0
  911. package/lib/cjs/function/algebra/simplifyCore.js +299 -0
  912. package/lib/cjs/function/algebra/solver/lsolve.js +33 -41
  913. package/lib/cjs/function/algebra/solver/lsolveAll.js +42 -59
  914. package/lib/cjs/function/algebra/solver/lusolve.js +17 -28
  915. package/lib/cjs/function/algebra/solver/usolve.js +37 -46
  916. package/lib/cjs/function/algebra/solver/usolveAll.js +46 -59
  917. package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
  918. package/lib/cjs/function/algebra/sparse/csAmd.js +252 -307
  919. package/lib/cjs/function/algebra/sparse/csChol.js +74 -91
  920. package/lib/cjs/function/algebra/sparse/csCounts.js +39 -58
  921. package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
  922. package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
  923. package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
  924. package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
  925. package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
  926. package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
  927. package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
  928. package/lib/cjs/function/algebra/sparse/csLeaf.js +13 -16
  929. package/lib/cjs/function/algebra/sparse/csLu.js +73 -95
  930. package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
  931. package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
  932. package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
  933. package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
  934. package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
  935. package/lib/cjs/function/algebra/sparse/csSpsolve.js +34 -43
  936. package/lib/cjs/function/algebra/sparse/csSqr.js +64 -89
  937. package/lib/cjs/function/algebra/sparse/csSymperm.js +35 -47
  938. package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
  939. package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
  940. package/lib/cjs/function/algebra/sylvester.js +126 -0
  941. package/lib/cjs/function/algebra/symbolicEqual.js +64 -0
  942. package/lib/cjs/function/arithmetic/abs.js +9 -22
  943. package/lib/cjs/function/arithmetic/add.js +69 -121
  944. package/lib/cjs/function/arithmetic/addScalar.js +17 -16
  945. package/lib/cjs/function/arithmetic/cbrt.js +24 -40
  946. package/lib/cjs/function/arithmetic/ceil.js +102 -86
  947. package/lib/cjs/function/arithmetic/cube.js +7 -17
  948. package/lib/cjs/function/arithmetic/divide.js +16 -21
  949. package/lib/cjs/function/arithmetic/divideScalar.js +7 -25
  950. package/lib/cjs/function/arithmetic/dotDivide.js +32 -82
  951. package/lib/cjs/function/arithmetic/dotMultiply.js +25 -75
  952. package/lib/cjs/function/arithmetic/dotPow.js +38 -79
  953. package/lib/cjs/function/arithmetic/exp.js +10 -19
  954. package/lib/cjs/function/arithmetic/expm1.js +13 -18
  955. package/lib/cjs/function/arithmetic/fix.js +75 -41
  956. package/lib/cjs/function/arithmetic/floor.js +107 -85
  957. package/lib/cjs/function/arithmetic/gcd.js +97 -90
  958. package/lib/cjs/function/arithmetic/hypot.js +17 -23
  959. package/lib/cjs/function/arithmetic/invmod.js +64 -0
  960. package/lib/cjs/function/arithmetic/lcm.js +37 -90
  961. package/lib/cjs/function/arithmetic/log.js +15 -22
  962. package/lib/cjs/function/arithmetic/log10.js +9 -13
  963. package/lib/cjs/function/arithmetic/log1p.js +18 -21
  964. package/lib/cjs/function/arithmetic/log2.js +10 -14
  965. package/lib/cjs/function/arithmetic/mod.js +62 -92
  966. package/lib/cjs/function/arithmetic/multiply.js +352 -371
  967. package/lib/cjs/function/arithmetic/multiplyScalar.js +4 -16
  968. package/lib/cjs/function/arithmetic/norm.js +45 -78
  969. package/lib/cjs/function/arithmetic/nthRoot.js +98 -128
  970. package/lib/cjs/function/arithmetic/nthRoots.js +13 -22
  971. package/lib/cjs/function/arithmetic/pow.js +52 -51
  972. package/lib/cjs/function/arithmetic/round.js +122 -100
  973. package/lib/cjs/function/arithmetic/sign.js +20 -19
  974. package/lib/cjs/function/arithmetic/sqrt.js +10 -18
  975. package/lib/cjs/function/arithmetic/square.js +8 -17
  976. package/lib/cjs/function/arithmetic/subtract.js +40 -135
  977. package/lib/cjs/function/arithmetic/subtractScalar.js +52 -0
  978. package/lib/cjs/function/arithmetic/unaryMinus.js +17 -24
  979. package/lib/cjs/function/arithmetic/unaryPlus.js +10 -14
  980. package/lib/cjs/function/arithmetic/xgcd.js +14 -21
  981. package/lib/cjs/function/bitwise/bitAnd.js +24 -75
  982. package/lib/cjs/function/bitwise/bitNot.js +8 -13
  983. package/lib/cjs/function/bitwise/bitOr.js +25 -76
  984. package/lib/cjs/function/bitwise/bitXor.js +24 -75
  985. package/lib/cjs/function/bitwise/leftShift.js +73 -101
  986. package/lib/cjs/function/bitwise/rightArithShift.js +74 -102
  987. package/lib/cjs/function/bitwise/rightLogShift.js +73 -98
  988. package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +33 -0
  989. package/lib/cjs/function/combinatorics/bellNumbers.js +8 -14
  990. package/lib/cjs/function/combinatorics/catalan.js +8 -13
  991. package/lib/cjs/function/combinatorics/composition.js +8 -13
  992. package/lib/cjs/function/combinatorics/stirlingS2.js +49 -31
  993. package/lib/cjs/function/complex/arg.js +8 -10
  994. package/lib/cjs/function/complex/conj.js +8 -14
  995. package/lib/cjs/function/complex/im.js +9 -12
  996. package/lib/cjs/function/complex/re.js +8 -14
  997. package/lib/cjs/function/geometry/distance.js +44 -91
  998. package/lib/cjs/function/geometry/intersect.js +100 -102
  999. package/lib/cjs/function/logical/and.js +83 -100
  1000. package/lib/cjs/function/logical/not.js +15 -14
  1001. package/lib/cjs/function/logical/or.js +29 -77
  1002. package/lib/cjs/function/logical/xor.js +28 -76
  1003. package/lib/cjs/function/matrix/apply.js +4 -25
  1004. package/lib/cjs/function/matrix/column.js +9 -14
  1005. package/lib/cjs/function/matrix/concat.js +11 -56
  1006. package/lib/cjs/function/matrix/count.js +43 -0
  1007. package/lib/cjs/function/matrix/cross.js +6 -14
  1008. package/lib/cjs/function/matrix/ctranspose.js +4 -8
  1009. package/lib/cjs/function/matrix/det.js +48 -57
  1010. package/lib/cjs/function/matrix/diag.js +23 -38
  1011. package/lib/cjs/function/matrix/diff.js +23 -40
  1012. package/lib/cjs/function/matrix/dot.js +24 -49
  1013. package/lib/cjs/function/matrix/eigs/complexEigs.js +744 -0
  1014. package/lib/cjs/function/matrix/eigs/realSymmetric.js +303 -0
  1015. package/lib/cjs/function/matrix/eigs.js +271 -379
  1016. package/lib/cjs/function/matrix/expm.js +28 -45
  1017. package/lib/cjs/function/matrix/fft.js +152 -0
  1018. package/lib/cjs/function/matrix/filter.js +4 -20
  1019. package/lib/cjs/function/matrix/flatten.js +8 -14
  1020. package/lib/cjs/function/matrix/forEach.js +6 -24
  1021. package/lib/cjs/function/matrix/getMatrixDataType.js +3 -9
  1022. package/lib/cjs/function/matrix/identity.js +16 -33
  1023. package/lib/cjs/function/matrix/ifft.js +43 -0
  1024. package/lib/cjs/function/matrix/inv.js +22 -47
  1025. package/lib/cjs/function/matrix/kron.js +5 -13
  1026. package/lib/cjs/function/matrix/map.js +23 -28
  1027. package/lib/cjs/function/matrix/matrixFromColumns.js +106 -0
  1028. package/lib/cjs/function/matrix/matrixFromFunction.js +78 -0
  1029. package/lib/cjs/function/matrix/matrixFromRows.js +94 -0
  1030. package/lib/cjs/function/matrix/ones.js +12 -26
  1031. package/lib/cjs/function/matrix/partitionSelect.js +24 -32
  1032. package/lib/cjs/function/matrix/pinv.js +190 -0
  1033. package/lib/cjs/function/matrix/range.js +45 -148
  1034. package/lib/cjs/function/matrix/reshape.js +9 -15
  1035. package/lib/cjs/function/matrix/resize.js +8 -31
  1036. package/lib/cjs/function/matrix/rotate.js +9 -22
  1037. package/lib/cjs/function/matrix/rotationMatrix.js +16 -36
  1038. package/lib/cjs/function/matrix/row.js +9 -14
  1039. package/lib/cjs/function/matrix/size.js +5 -11
  1040. package/lib/cjs/function/matrix/sort.js +9 -23
  1041. package/lib/cjs/function/matrix/sqrtm.js +18 -31
  1042. package/lib/cjs/function/matrix/squeeze.js +5 -11
  1043. package/lib/cjs/function/matrix/subset.js +114 -66
  1044. package/lib/cjs/function/matrix/trace.js +24 -39
  1045. package/lib/cjs/function/matrix/transpose.js +81 -99
  1046. package/lib/cjs/function/matrix/zeros.js +13 -26
  1047. package/lib/cjs/function/numeric/solveODE.js +314 -0
  1048. package/lib/cjs/function/probability/combinations.js +4 -14
  1049. package/lib/cjs/function/probability/combinationsWithRep.js +2 -19
  1050. package/lib/cjs/function/probability/factorial.js +8 -13
  1051. package/lib/cjs/function/probability/gamma.js +52 -68
  1052. package/lib/cjs/function/probability/kldivergence.js +16 -26
  1053. package/lib/cjs/function/probability/lgamma.js +141 -0
  1054. package/lib/cjs/function/probability/multinomial.js +8 -14
  1055. package/lib/cjs/function/probability/permutations.js +7 -21
  1056. package/lib/cjs/function/probability/pickRandom.js +12 -34
  1057. package/lib/cjs/function/probability/random.js +12 -25
  1058. package/lib/cjs/function/probability/randomInt.js +5 -15
  1059. package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
  1060. package/lib/cjs/function/probability/util/seededRNG.js +7 -10
  1061. package/lib/cjs/function/relational/compare.js +35 -90
  1062. package/lib/cjs/function/relational/compareNatural.js +75 -102
  1063. package/lib/cjs/function/relational/compareText.js +18 -55
  1064. package/lib/cjs/function/relational/compareUnits.js +20 -0
  1065. package/lib/cjs/function/relational/deepEqual.js +4 -11
  1066. package/lib/cjs/function/relational/equal.js +30 -101
  1067. package/lib/cjs/function/relational/equalScalar.js +10 -20
  1068. package/lib/cjs/function/relational/equalText.js +4 -8
  1069. package/lib/cjs/function/relational/larger.js +32 -87
  1070. package/lib/cjs/function/relational/largerEq.js +32 -87
  1071. package/lib/cjs/function/relational/smaller.js +32 -87
  1072. package/lib/cjs/function/relational/smallerEq.js +32 -87
  1073. package/lib/cjs/function/relational/unequal.js +31 -103
  1074. package/lib/cjs/function/set/setCartesian.js +14 -21
  1075. package/lib/cjs/function/set/setDifference.js +11 -22
  1076. package/lib/cjs/function/set/setDistinct.js +11 -20
  1077. package/lib/cjs/function/set/setIntersect.js +11 -20
  1078. package/lib/cjs/function/set/setIsSubset.js +7 -17
  1079. package/lib/cjs/function/set/setMultiplicity.js +6 -14
  1080. package/lib/cjs/function/set/setPowerset.js +12 -23
  1081. package/lib/cjs/function/set/setSize.js +6 -12
  1082. package/lib/cjs/function/set/setSymDifference.js +7 -13
  1083. package/lib/cjs/function/set/setUnion.js +8 -14
  1084. package/lib/cjs/function/signal/freqz.js +116 -0
  1085. package/lib/cjs/function/signal/zpk2tf.js +94 -0
  1086. package/lib/cjs/function/special/erf.js +20 -31
  1087. package/lib/cjs/function/special/zeta.js +170 -0
  1088. package/lib/cjs/function/statistics/corr.js +94 -0
  1089. package/lib/cjs/function/statistics/cumsum.js +127 -0
  1090. package/lib/cjs/function/statistics/mad.js +6 -15
  1091. package/lib/cjs/function/statistics/max.js +12 -22
  1092. package/lib/cjs/function/statistics/mean.js +8 -19
  1093. package/lib/cjs/function/statistics/median.js +15 -24
  1094. package/lib/cjs/function/statistics/min.js +11 -21
  1095. package/lib/cjs/function/statistics/mode.js +6 -19
  1096. package/lib/cjs/function/statistics/prod.js +11 -17
  1097. package/lib/cjs/function/statistics/quantileSeq.js +108 -209
  1098. package/lib/cjs/function/statistics/std.js +13 -12
  1099. package/lib/cjs/function/statistics/sum.js +12 -20
  1100. package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
  1101. package/lib/cjs/function/statistics/variance.js +14 -28
  1102. package/lib/cjs/function/string/bin.js +21 -4
  1103. package/lib/cjs/function/string/format.js +40 -28
  1104. package/lib/cjs/function/string/hex.js +22 -6
  1105. package/lib/cjs/function/string/oct.js +24 -6
  1106. package/lib/cjs/function/string/print.js +7 -13
  1107. package/lib/cjs/function/trigonometry/acos.js +8 -16
  1108. package/lib/cjs/function/trigonometry/acosh.js +6 -18
  1109. package/lib/cjs/function/trigonometry/acot.js +9 -19
  1110. package/lib/cjs/function/trigonometry/acoth.js +9 -19
  1111. package/lib/cjs/function/trigonometry/acsc.js +11 -22
  1112. package/lib/cjs/function/trigonometry/acsch.js +7 -16
  1113. package/lib/cjs/function/trigonometry/asec.js +11 -21
  1114. package/lib/cjs/function/trigonometry/asech.js +9 -21
  1115. package/lib/cjs/function/trigonometry/asin.js +9 -18
  1116. package/lib/cjs/function/trigonometry/asinh.js +6 -16
  1117. package/lib/cjs/function/trigonometry/atan.js +7 -17
  1118. package/lib/cjs/function/trigonometry/atan2.js +36 -80
  1119. package/lib/cjs/function/trigonometry/atanh.js +8 -19
  1120. package/lib/cjs/function/trigonometry/cos.js +12 -25
  1121. package/lib/cjs/function/trigonometry/cosh.js +7 -26
  1122. package/lib/cjs/function/trigonometry/cot.js +10 -21
  1123. package/lib/cjs/function/trigonometry/coth.js +7 -23
  1124. package/lib/cjs/function/trigonometry/csc.js +12 -23
  1125. package/lib/cjs/function/trigonometry/csch.js +7 -23
  1126. package/lib/cjs/function/trigonometry/sec.js +12 -23
  1127. package/lib/cjs/function/trigonometry/sech.js +7 -23
  1128. package/lib/cjs/function/trigonometry/sin.js +12 -26
  1129. package/lib/cjs/function/trigonometry/sinh.js +7 -27
  1130. package/lib/cjs/function/trigonometry/tan.js +12 -26
  1131. package/lib/cjs/function/trigonometry/tanh.js +7 -27
  1132. package/lib/cjs/function/trigonometry/trigUnit.js +20 -0
  1133. package/lib/cjs/function/unit/to.js +17 -53
  1134. package/lib/cjs/function/utils/clone.js +3 -8
  1135. package/lib/cjs/function/utils/hasNumericValue.js +8 -8
  1136. package/lib/cjs/function/utils/isInteger.js +9 -12
  1137. package/lib/cjs/function/utils/isNaN.js +3 -9
  1138. package/lib/cjs/function/utils/isNegative.js +13 -15
  1139. package/lib/cjs/function/utils/isNumeric.js +8 -11
  1140. package/lib/cjs/function/utils/isPositive.js +13 -15
  1141. package/lib/cjs/function/utils/isPrime.js +63 -19
  1142. package/lib/cjs/function/utils/isZero.js +23 -25
  1143. package/lib/cjs/function/utils/numeric.js +16 -18
  1144. package/lib/cjs/function/utils/typeOf.js +40 -51
  1145. package/lib/cjs/header.js +3 -3
  1146. package/lib/cjs/index.js +0 -2
  1147. package/lib/cjs/json/replacer.js +2 -6
  1148. package/lib/cjs/json/reviver.js +2 -8
  1149. package/lib/cjs/number.js +0 -2
  1150. package/lib/cjs/plain/bignumber/arithmetic.js +2 -12
  1151. package/lib/cjs/plain/bignumber/index.js +1 -8
  1152. package/lib/cjs/plain/number/arithmetic.js +47 -131
  1153. package/lib/cjs/plain/number/bitwise.js +0 -23
  1154. package/lib/cjs/plain/number/combinations.js +17 -15
  1155. package/lib/cjs/plain/number/constants.js +5 -10
  1156. package/lib/cjs/plain/number/index.js +0 -18
  1157. package/lib/cjs/plain/number/logical.js +1 -9
  1158. package/lib/cjs/plain/number/probability.js +41 -18
  1159. package/lib/cjs/plain/number/trigonometry.js +1 -53
  1160. package/lib/cjs/plain/number/utils.js +1 -13
  1161. package/lib/cjs/type/bignumber/BigNumber.js +9 -19
  1162. package/lib/cjs/type/bignumber/function/bignumber.js +31 -11
  1163. package/lib/cjs/type/boolean.js +9 -15
  1164. package/lib/cjs/type/chain/Chain.js +36 -42
  1165. package/lib/cjs/type/chain/function/chain.js +3 -7
  1166. package/lib/cjs/type/complex/Complex.js +17 -41
  1167. package/lib/cjs/type/complex/function/complex.js +8 -13
  1168. package/lib/cjs/type/fraction/Fraction.js +9 -12
  1169. package/lib/cjs/type/fraction/function/fraction.js +36 -21
  1170. package/lib/cjs/type/matrix/DenseMatrix.js +288 -227
  1171. package/lib/cjs/type/matrix/FibonacciHeap.js +121 -162
  1172. package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +22 -46
  1173. package/lib/cjs/type/matrix/Matrix.js +28 -39
  1174. package/lib/cjs/type/matrix/MatrixIndex.js +62 -72
  1175. package/lib/cjs/type/matrix/Range.js +16 -53
  1176. package/lib/cjs/type/matrix/Spa.js +36 -57
  1177. package/lib/cjs/type/matrix/SparseMatrix.js +524 -551
  1178. package/lib/cjs/type/matrix/function/index.js +9 -12
  1179. package/lib/cjs/type/matrix/function/matrix.js +8 -13
  1180. package/lib/cjs/type/matrix/function/sparse.js +9 -7
  1181. package/lib/cjs/type/matrix/utils/broadcast.js +77 -0
  1182. package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +40 -41
  1183. package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +48 -49
  1184. package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +45 -46
  1185. package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +78 -79
  1186. package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +78 -80
  1187. package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +66 -67
  1188. package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +52 -55
  1189. package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +73 -74
  1190. package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +62 -62
  1191. package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +38 -39
  1192. package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +44 -44
  1193. package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +38 -39
  1194. package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +31 -34
  1195. package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +23 -25
  1196. package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +222 -0
  1197. package/lib/cjs/type/number.js +83 -25
  1198. package/lib/cjs/type/resultset/ResultSet.js +7 -16
  1199. package/lib/cjs/type/string.js +7 -11
  1200. package/lib/cjs/type/unit/Unit.js +382 -515
  1201. package/lib/cjs/type/unit/function/createUnit.js +5 -8
  1202. package/lib/cjs/type/unit/function/splitUnit.js +3 -7
  1203. package/lib/cjs/type/unit/function/unit.js +20 -15
  1204. package/lib/cjs/type/unit/physicalConstants.js +66 -114
  1205. package/lib/cjs/utils/applyCallback.js +73 -0
  1206. package/lib/cjs/utils/array.js +368 -174
  1207. package/lib/cjs/utils/bignumber/bitwise.js +14 -97
  1208. package/lib/cjs/utils/bignumber/constants.js +20 -19
  1209. package/lib/cjs/utils/bignumber/formatter.js +92 -31
  1210. package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
  1211. package/lib/cjs/utils/collection.js +25 -68
  1212. package/lib/cjs/utils/complex.js +0 -2
  1213. package/lib/cjs/utils/customs.js +39 -48
  1214. package/lib/cjs/utils/emitter.js +3 -5
  1215. package/lib/cjs/utils/factory.js +14 -31
  1216. package/lib/cjs/utils/function.js +31 -27
  1217. package/lib/cjs/utils/is.js +64 -92
  1218. package/lib/cjs/utils/latex.js +17 -24
  1219. package/lib/cjs/utils/log.js +2 -9
  1220. package/lib/cjs/utils/lruQueue.js +57 -0
  1221. package/lib/cjs/utils/map.js +166 -0
  1222. package/lib/cjs/utils/noop.js +1 -6
  1223. package/lib/cjs/utils/number.js +176 -167
  1224. package/lib/cjs/utils/object.js +43 -98
  1225. package/lib/cjs/utils/print.js +7 -0
  1226. package/lib/cjs/utils/product.js +0 -4
  1227. package/lib/cjs/utils/scope.js +29 -0
  1228. package/lib/cjs/utils/snapshot.js +53 -108
  1229. package/lib/cjs/utils/string.js +41 -61
  1230. package/lib/cjs/utils/switch.js +26 -0
  1231. package/lib/cjs/version.js +3 -4
  1232. package/lib/esm/constants.js +24 -20
  1233. package/lib/esm/core/create.js +29 -30
  1234. package/lib/esm/core/function/config.js +12 -10
  1235. package/lib/esm/core/function/import.js +23 -70
  1236. package/lib/esm/core/function/typed.js +63 -39
  1237. package/lib/esm/entry/configReadonly.js +3 -5
  1238. package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
  1239. package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
  1240. package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
  1241. package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
  1242. package/lib/esm/entry/dependenciesAny/dependenciesBin.generated.js +2 -0
  1243. package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
  1244. package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
  1245. package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
  1246. package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
  1247. package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
  1248. package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
  1249. package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
  1250. package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
  1251. package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
  1252. package/lib/esm/entry/dependenciesAny/dependenciesCorr.generated.js +28 -0
  1253. package/lib/esm/entry/dependenciesAny/dependenciesCount.generated.js +14 -0
  1254. package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
  1255. package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
  1256. package/lib/esm/entry/dependenciesAny/dependenciesDet.generated.js +6 -4
  1257. package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +4 -4
  1258. package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
  1259. package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
  1260. package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
  1261. package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +36 -0
  1262. package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
  1263. package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +34 -0
  1264. package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
  1265. package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
  1266. package/lib/esm/entry/dependenciesAny/dependenciesFreqz.generated.js +20 -0
  1267. package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +6 -0
  1268. package/lib/esm/entry/dependenciesAny/dependenciesHex.generated.js +2 -0
  1269. package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
  1270. package/lib/esm/entry/dependenciesAny/dependenciesIndexClass.generated.js +2 -0
  1271. package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
  1272. package/lib/esm/entry/dependenciesAny/dependenciesIndexTransform.generated.js +2 -0
  1273. package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
  1274. package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
  1275. package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
  1276. package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
  1277. package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
  1278. package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
  1279. package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
  1280. package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
  1281. package/lib/esm/entry/dependenciesAny/dependenciesLgamma.generated.js +12 -0
  1282. package/lib/esm/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
  1283. package/lib/esm/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
  1284. package/lib/esm/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
  1285. package/lib/esm/entry/dependenciesAny/dependenciesLyap.generated.js +18 -0
  1286. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
  1287. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
  1288. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
  1289. package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +6 -0
  1290. package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
  1291. package/lib/esm/entry/dependenciesAny/dependenciesOct.generated.js +2 -0
  1292. package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
  1293. package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
  1294. package/lib/esm/entry/dependenciesAny/dependenciesParserClass.generated.js +2 -2
  1295. package/lib/esm/entry/dependenciesAny/dependenciesPinv.generated.js +32 -0
  1296. package/lib/esm/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +34 -0
  1297. package/lib/esm/entry/dependenciesAny/dependenciesPow.generated.js +2 -0
  1298. package/lib/esm/entry/dependenciesAny/dependenciesPrintTransform.generated.js +16 -0
  1299. package/lib/esm/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
  1300. package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +14 -0
  1301. package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +32 -0
  1302. package/lib/esm/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
  1303. package/lib/esm/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
  1304. package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +14 -0
  1305. package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +20 -0
  1306. package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
  1307. package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
  1308. package/lib/esm/entry/dependenciesAny/dependenciesSchur.generated.js +22 -0
  1309. package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +16 -0
  1310. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +32 -0
  1311. package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +44 -0
  1312. package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
  1313. package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
  1314. package/lib/esm/entry/dependenciesAny/dependenciesSolveODE.generated.js +38 -0
  1315. package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
  1316. package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
  1317. package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
  1318. package/lib/esm/entry/dependenciesAny/dependenciesStirlingS2.generated.js +6 -2
  1319. package/lib/esm/entry/dependenciesAny/dependenciesSubset.generated.js +4 -0
  1320. package/lib/esm/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +4 -0
  1321. package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +4 -2
  1322. package/lib/esm/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +10 -0
  1323. package/lib/esm/entry/dependenciesAny/dependenciesSylvester.generated.js +38 -0
  1324. package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
  1325. package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
  1326. package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
  1327. package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
  1328. package/lib/esm/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
  1329. package/lib/esm/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
  1330. package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
  1331. package/lib/esm/entry/dependenciesAny/dependenciesZeta.generated.js +38 -0
  1332. package/lib/esm/entry/dependenciesAny/dependenciesZpk2tf.generated.js +18 -0
  1333. package/lib/esm/entry/dependenciesAny.generated.js +297 -266
  1334. package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
  1335. package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
  1336. package/lib/esm/entry/dependenciesNumber/dependenciesCorr.generated.js +28 -0
  1337. package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
  1338. package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
  1339. package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
  1340. package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
  1341. package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
  1342. package/lib/esm/entry/dependenciesNumber/dependenciesLgamma.generated.js +10 -0
  1343. package/lib/esm/entry/dependenciesNumber/dependenciesParserClass.generated.js +2 -2
  1344. package/lib/esm/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +12 -0
  1345. package/lib/esm/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
  1346. package/lib/esm/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
  1347. package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +14 -0
  1348. package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +20 -0
  1349. package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +16 -0
  1350. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +28 -0
  1351. package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +44 -0
  1352. package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
  1353. package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
  1354. package/lib/esm/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +4 -2
  1355. package/lib/esm/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +10 -0
  1356. package/lib/esm/entry/dependenciesNumber/dependenciesZeta.generated.js +34 -0
  1357. package/lib/esm/entry/dependenciesNumber.generated.js +171 -163
  1358. package/lib/esm/entry/impureFunctionsAny.generated.js +425 -274
  1359. package/lib/esm/entry/impureFunctionsNumber.generated.js +283 -216
  1360. package/lib/esm/entry/mainAny.js +10 -5
  1361. package/lib/esm/entry/mainNumber.js +10 -5
  1362. package/lib/esm/entry/pureFunctionsAny.generated.js +1028 -753
  1363. package/lib/esm/entry/pureFunctionsNumber.generated.js +279 -223
  1364. package/lib/esm/entry/typeChecks.js +1 -1
  1365. package/lib/esm/error/ArgumentsError.js +0 -1
  1366. package/lib/esm/error/DimensionError.js +0 -1
  1367. package/lib/esm/error/IndexError.js +0 -4
  1368. package/lib/esm/expression/Help.js +9 -23
  1369. package/lib/esm/expression/Parser.js +36 -37
  1370. package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
  1371. package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
  1372. package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
  1373. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +261 -209
  1374. package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
  1375. package/lib/esm/expression/embeddedDocs/function/algebra/lyap.js +8 -0
  1376. package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +8 -0
  1377. package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
  1378. package/lib/esm/expression/embeddedDocs/function/algebra/schur.js +8 -0
  1379. package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
  1380. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
  1381. package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
  1382. package/lib/esm/expression/embeddedDocs/function/algebra/sylvester.js +8 -0
  1383. package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
  1384. package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
  1385. package/lib/esm/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
  1386. package/lib/esm/expression/embeddedDocs/function/arithmetic/round.js +2 -2
  1387. package/lib/esm/expression/embeddedDocs/function/arithmetic/sqrtm.js +1 -1
  1388. package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +2 -2
  1389. package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
  1390. package/lib/esm/expression/embeddedDocs/function/matrix/count.js +8 -0
  1391. package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
  1392. package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +2 -2
  1393. package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
  1394. package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  1395. package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
  1396. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
  1397. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
  1398. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
  1399. package/lib/esm/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
  1400. package/lib/esm/expression/embeddedDocs/function/matrix/pinv.js +8 -0
  1401. package/lib/esm/expression/embeddedDocs/function/matrix/range.js +1 -1
  1402. package/lib/esm/expression/embeddedDocs/function/matrix/reshape.js +1 -1
  1403. package/lib/esm/expression/embeddedDocs/function/matrix/rotate.js +1 -1
  1404. package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
  1405. package/lib/esm/expression/embeddedDocs/function/matrix/size.js +1 -1
  1406. package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
  1407. package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
  1408. package/lib/esm/expression/embeddedDocs/function/numeric/solveODE.js +8 -0
  1409. package/lib/esm/expression/embeddedDocs/function/probability/lgamma.js +8 -0
  1410. package/lib/esm/expression/embeddedDocs/function/set/setCartesian.js +1 -1
  1411. package/lib/esm/expression/embeddedDocs/function/signal/freqz.js +8 -0
  1412. package/lib/esm/expression/embeddedDocs/function/signal/zpk2tf.js +8 -0
  1413. package/lib/esm/expression/embeddedDocs/function/special/zeta.js +8 -0
  1414. package/lib/esm/expression/embeddedDocs/function/statistics/corr.js +8 -0
  1415. package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
  1416. package/lib/esm/expression/embeddedDocs/function/statistics/max.js +1 -1
  1417. package/lib/esm/expression/embeddedDocs/function/statistics/mean.js +1 -1
  1418. package/lib/esm/expression/embeddedDocs/function/statistics/min.js +1 -1
  1419. package/lib/esm/expression/embeddedDocs/function/statistics/std.js +1 -1
  1420. package/lib/esm/expression/embeddedDocs/function/statistics/sum.js +1 -1
  1421. package/lib/esm/expression/embeddedDocs/function/statistics/variance.js +1 -1
  1422. package/lib/esm/expression/embeddedDocs/function/utils/numeric.js +1 -1
  1423. package/lib/esm/expression/embeddedDocs/function/utils/print.js +1 -1
  1424. package/lib/esm/expression/function/compile.js +1 -2
  1425. package/lib/esm/expression/function/evaluate.js +6 -6
  1426. package/lib/esm/expression/function/help.js +2 -7
  1427. package/lib/esm/expression/function/parser.js +6 -7
  1428. package/lib/esm/expression/keywords.js +1 -3
  1429. package/lib/esm/expression/node/AccessorNode.js +150 -170
  1430. package/lib/esm/expression/node/ArrayNode.js +149 -159
  1431. package/lib/esm/expression/node/AssignmentNode.js +249 -267
  1432. package/lib/esm/expression/node/BlockNode.js +156 -164
  1433. package/lib/esm/expression/node/ConditionalNode.js +186 -201
  1434. package/lib/esm/expression/node/ConstantNode.js +145 -163
  1435. package/lib/esm/expression/node/FunctionAssignmentNode.js +195 -195
  1436. package/lib/esm/expression/node/FunctionNode.js +367 -357
  1437. package/lib/esm/expression/node/IndexNode.js +178 -230
  1438. package/lib/esm/expression/node/Node.js +316 -375
  1439. package/lib/esm/expression/node/ObjectNode.js +154 -177
  1440. package/lib/esm/expression/node/OperatorNode.js +399 -456
  1441. package/lib/esm/expression/node/ParenthesisNode.js +126 -138
  1442. package/lib/esm/expression/node/RangeNode.js +200 -238
  1443. package/lib/esm/expression/node/RelationalNode.js +169 -183
  1444. package/lib/esm/expression/node/SymbolNode.js +156 -170
  1445. package/lib/esm/expression/node/utils/access.js +0 -2
  1446. package/lib/esm/expression/node/utils/assign.js +7 -4
  1447. package/lib/esm/expression/operators.js +101 -33
  1448. package/lib/esm/expression/parse.js +273 -388
  1449. package/lib/esm/expression/transform/and.transform.js +35 -0
  1450. package/lib/esm/expression/transform/apply.transform.js +4 -5
  1451. package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
  1452. package/lib/esm/expression/transform/bitOr.transform.js +41 -0
  1453. package/lib/esm/expression/transform/column.transform.js +4 -5
  1454. package/lib/esm/expression/transform/concat.transform.js +2 -4
  1455. package/lib/esm/expression/transform/cumsum.transform.js +46 -0
  1456. package/lib/esm/expression/transform/diff.transform.js +4 -14
  1457. package/lib/esm/expression/transform/filter.transform.js +8 -21
  1458. package/lib/esm/expression/transform/forEach.transform.js +6 -22
  1459. package/lib/esm/expression/transform/index.transform.js +13 -12
  1460. package/lib/esm/expression/transform/map.transform.js +8 -23
  1461. package/lib/esm/expression/transform/max.transform.js +4 -14
  1462. package/lib/esm/expression/transform/mean.transform.js +4 -14
  1463. package/lib/esm/expression/transform/min.transform.js +4 -14
  1464. package/lib/esm/expression/transform/or.transform.js +33 -0
  1465. package/lib/esm/expression/transform/print.transform.js +42 -0
  1466. package/lib/esm/expression/transform/quantileSeq.transform.js +59 -0
  1467. package/lib/esm/expression/transform/range.transform.js +9 -7
  1468. package/lib/esm/expression/transform/row.transform.js +4 -5
  1469. package/lib/esm/expression/transform/std.transform.js +7 -15
  1470. package/lib/esm/expression/transform/subset.transform.js +9 -5
  1471. package/lib/esm/expression/transform/sum.transform.js +5 -15
  1472. package/lib/esm/expression/transform/utils/compileInlineExpression.js +7 -8
  1473. package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
  1474. package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +17 -0
  1475. package/lib/esm/expression/transform/variance.transform.js +4 -14
  1476. package/lib/esm/factoriesAny.js +36 -3
  1477. package/lib/esm/factoriesNumber.js +83 -38
  1478. package/lib/esm/function/algebra/decomposition/lup.js +128 -162
  1479. package/lib/esm/function/algebra/decomposition/qr.js +30 -45
  1480. package/lib/esm/function/algebra/decomposition/schur.js +70 -0
  1481. package/lib/esm/function/algebra/decomposition/slu.js +10 -9
  1482. package/lib/esm/function/algebra/derivative.js +63 -164
  1483. package/lib/esm/function/algebra/leafCount.js +54 -0
  1484. package/lib/esm/function/algebra/lyap.js +52 -0
  1485. package/lib/esm/function/algebra/polynomialRoot.js +122 -0
  1486. package/lib/esm/function/algebra/rationalize.js +220 -272
  1487. package/lib/esm/function/algebra/resolve.js +97 -0
  1488. package/lib/esm/function/algebra/simplify/util.js +148 -67
  1489. package/lib/esm/function/algebra/simplify/wildcards.js +20 -0
  1490. package/lib/esm/function/algebra/simplify.js +823 -380
  1491. package/lib/esm/function/algebra/simplifyConstant.js +457 -0
  1492. package/lib/esm/function/algebra/simplifyCore.js +288 -0
  1493. package/lib/esm/function/algebra/solver/lsolve.js +27 -31
  1494. package/lib/esm/function/algebra/solver/lsolveAll.js +34 -35
  1495. package/lib/esm/function/algebra/solver/lusolve.js +10 -15
  1496. package/lib/esm/function/algebra/solver/usolve.js +31 -36
  1497. package/lib/esm/function/algebra/solver/usolveAll.js +38 -35
  1498. package/lib/esm/function/algebra/solver/utils/solveValidation.js +9 -33
  1499. package/lib/esm/function/algebra/sparse/csAmd.js +249 -298
  1500. package/lib/esm/function/algebra/sparse/csChol.js +66 -78
  1501. package/lib/esm/function/algebra/sparse/csCounts.js +38 -53
  1502. package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
  1503. package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
  1504. package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
  1505. package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
  1506. package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
  1507. package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
  1508. package/lib/esm/function/algebra/sparse/csLeaf.js +15 -17
  1509. package/lib/esm/function/algebra/sparse/csLu.js +69 -87
  1510. package/lib/esm/function/algebra/sparse/csMark.js +1 -1
  1511. package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
  1512. package/lib/esm/function/algebra/sparse/csPost.js +15 -23
  1513. package/lib/esm/function/algebra/sparse/csReach.js +15 -17
  1514. package/lib/esm/function/algebra/sparse/csSpsolve.js +31 -36
  1515. package/lib/esm/function/algebra/sparse/csSqr.js +61 -78
  1516. package/lib/esm/function/algebra/sparse/csSymperm.js +33 -41
  1517. package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
  1518. package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
  1519. package/lib/esm/function/algebra/sylvester.js +118 -0
  1520. package/lib/esm/function/algebra/symbolicEqual.js +60 -0
  1521. package/lib/esm/function/arithmetic/abs.js +4 -18
  1522. package/lib/esm/function/arithmetic/add.js +59 -104
  1523. package/lib/esm/function/arithmetic/addScalar.js +10 -7
  1524. package/lib/esm/function/arithmetic/cbrt.js +16 -26
  1525. package/lib/esm/function/arithmetic/ceil.js +76 -42
  1526. package/lib/esm/function/arithmetic/cube.js +6 -11
  1527. package/lib/esm/function/arithmetic/divide.js +10 -9
  1528. package/lib/esm/function/arithmetic/divideScalar.js +3 -21
  1529. package/lib/esm/function/arithmetic/dotDivide.js +28 -68
  1530. package/lib/esm/function/arithmetic/dotMultiply.js +22 -64
  1531. package/lib/esm/function/arithmetic/dotPow.js +34 -66
  1532. package/lib/esm/function/arithmetic/exp.js +9 -13
  1533. package/lib/esm/function/arithmetic/expm1.js +11 -11
  1534. package/lib/esm/function/arithmetic/fix.js +60 -25
  1535. package/lib/esm/function/arithmetic/floor.js +81 -42
  1536. package/lib/esm/function/arithmetic/gcd.js +86 -79
  1537. package/lib/esm/function/arithmetic/hypot.js +8 -12
  1538. package/lib/esm/function/arithmetic/invmod.js +55 -0
  1539. package/lib/esm/function/arithmetic/lcm.js +33 -81
  1540. package/lib/esm/function/arithmetic/log.js +8 -12
  1541. package/lib/esm/function/arithmetic/log10.js +2 -5
  1542. package/lib/esm/function/arithmetic/log1p.js +6 -10
  1543. package/lib/esm/function/arithmetic/log2.js +3 -6
  1544. package/lib/esm/function/arithmetic/mod.js +59 -78
  1545. package/lib/esm/function/arithmetic/multiply.js +330 -351
  1546. package/lib/esm/function/arithmetic/multiplyScalar.js +3 -15
  1547. package/lib/esm/function/arithmetic/norm.js +32 -62
  1548. package/lib/esm/function/arithmetic/nthRoot.js +53 -96
  1549. package/lib/esm/function/arithmetic/nthRoots.js +10 -16
  1550. package/lib/esm/function/arithmetic/pow.js +44 -37
  1551. package/lib/esm/function/arithmetic/round.js +71 -77
  1552. package/lib/esm/function/arithmetic/sign.js +10 -10
  1553. package/lib/esm/function/arithmetic/sqrt.js +7 -11
  1554. package/lib/esm/function/arithmetic/square.js +7 -11
  1555. package/lib/esm/function/arithmetic/subtract.js +37 -121
  1556. package/lib/esm/function/arithmetic/subtractScalar.js +46 -0
  1557. package/lib/esm/function/arithmetic/unaryMinus.js +8 -18
  1558. package/lib/esm/function/arithmetic/unaryPlus.js +3 -6
  1559. package/lib/esm/function/arithmetic/xgcd.js +10 -13
  1560. package/lib/esm/function/bitwise/bitAnd.js +22 -63
  1561. package/lib/esm/function/bitwise/bitNot.js +3 -6
  1562. package/lib/esm/function/bitwise/bitOr.js +22 -63
  1563. package/lib/esm/function/bitwise/bitXor.js +22 -63
  1564. package/lib/esm/function/bitwise/leftShift.js +45 -69
  1565. package/lib/esm/function/bitwise/rightArithShift.js +46 -70
  1566. package/lib/esm/function/bitwise/rightLogShift.js +46 -68
  1567. package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
  1568. package/lib/esm/function/combinatorics/bellNumbers.js +3 -6
  1569. package/lib/esm/function/combinatorics/catalan.js +1 -3
  1570. package/lib/esm/function/combinatorics/composition.js +1 -3
  1571. package/lib/esm/function/combinatorics/stirlingS2.js +39 -18
  1572. package/lib/esm/function/complex/arg.js +3 -5
  1573. package/lib/esm/function/complex/conj.js +4 -14
  1574. package/lib/esm/function/complex/im.js +5 -14
  1575. package/lib/esm/function/complex/re.js +4 -14
  1576. package/lib/esm/function/geometry/distance.js +38 -81
  1577. package/lib/esm/function/geometry/intersect.js +87 -87
  1578. package/lib/esm/function/logical/and.js +41 -65
  1579. package/lib/esm/function/logical/not.js +4 -8
  1580. package/lib/esm/function/logical/or.js +22 -65
  1581. package/lib/esm/function/logical/xor.js +22 -65
  1582. package/lib/esm/function/matrix/apply.js +3 -17
  1583. package/lib/esm/function/matrix/column.js +5 -5
  1584. package/lib/esm/function/matrix/concat.js +10 -46
  1585. package/lib/esm/function/matrix/count.js +39 -0
  1586. package/lib/esm/function/matrix/cross.js +2 -6
  1587. package/lib/esm/function/matrix/ctranspose.js +1 -2
  1588. package/lib/esm/function/matrix/det.js +43 -48
  1589. package/lib/esm/function/matrix/diag.js +19 -28
  1590. package/lib/esm/function/matrix/diff.js +11 -31
  1591. package/lib/esm/function/matrix/dot.js +19 -40
  1592. package/lib/esm/function/matrix/eigs/complexEigs.js +698 -0
  1593. package/lib/esm/function/matrix/eigs/realSymmetric.js +297 -0
  1594. package/lib/esm/function/matrix/eigs.js +258 -360
  1595. package/lib/esm/function/matrix/expm.js +24 -36
  1596. package/lib/esm/function/matrix/fft.js +128 -0
  1597. package/lib/esm/function/matrix/filter.js +4 -14
  1598. package/lib/esm/function/matrix/flatten.js +6 -7
  1599. package/lib/esm/function/matrix/forEach.js +6 -18
  1600. package/lib/esm/function/matrix/getMatrixDataType.js +2 -3
  1601. package/lib/esm/function/matrix/identity.js +10 -21
  1602. package/lib/esm/function/matrix/ifft.js +37 -0
  1603. package/lib/esm/function/matrix/inv.js +13 -32
  1604. package/lib/esm/function/matrix/kron.js +2 -6
  1605. package/lib/esm/function/matrix/map.js +23 -23
  1606. package/lib/esm/function/matrix/matrixFromColumns.js +88 -0
  1607. package/lib/esm/function/matrix/matrixFromFunction.js +74 -0
  1608. package/lib/esm/function/matrix/matrixFromRows.js +76 -0
  1609. package/lib/esm/function/matrix/ones.js +8 -16
  1610. package/lib/esm/function/matrix/partitionSelect.js +20 -23
  1611. package/lib/esm/function/matrix/pinv.js +179 -0
  1612. package/lib/esm/function/matrix/range.js +38 -137
  1613. package/lib/esm/function/matrix/reshape.js +8 -10
  1614. package/lib/esm/function/matrix/resize.js +6 -19
  1615. package/lib/esm/function/matrix/rotate.js +6 -15
  1616. package/lib/esm/function/matrix/rotationMatrix.js +4 -20
  1617. package/lib/esm/function/matrix/row.js +5 -5
  1618. package/lib/esm/function/matrix/size.js +2 -3
  1619. package/lib/esm/function/matrix/sort.js +5 -15
  1620. package/lib/esm/function/matrix/sqrtm.js +8 -15
  1621. package/lib/esm/function/matrix/squeeze.js +3 -4
  1622. package/lib/esm/function/matrix/subset.js +113 -58
  1623. package/lib/esm/function/matrix/trace.js +21 -31
  1624. package/lib/esm/function/matrix/transpose.js +79 -94
  1625. package/lib/esm/function/matrix/zeros.js +11 -17
  1626. package/lib/esm/function/numeric/solveODE.js +284 -0
  1627. package/lib/esm/function/probability/combinations.js +4 -9
  1628. package/lib/esm/function/probability/combinationsWithRep.js +2 -13
  1629. package/lib/esm/function/probability/factorial.js +2 -7
  1630. package/lib/esm/function/probability/gamma.js +48 -59
  1631. package/lib/esm/function/probability/kldivergence.js +6 -15
  1632. package/lib/esm/function/probability/lgamma.js +137 -0
  1633. package/lib/esm/function/probability/multinomial.js +1 -3
  1634. package/lib/esm/function/probability/permutations.js +6 -14
  1635. package/lib/esm/function/probability/pickRandom.js +6 -22
  1636. package/lib/esm/function/probability/random.js +6 -12
  1637. package/lib/esm/function/probability/randomInt.js +2 -6
  1638. package/lib/esm/function/probability/util/randomMatrix.js +0 -2
  1639. package/lib/esm/function/probability/util/seededRNG.js +6 -5
  1640. package/lib/esm/function/relational/compare.js +28 -72
  1641. package/lib/esm/function/relational/compareNatural.js +73 -93
  1642. package/lib/esm/function/relational/compareText.js +17 -47
  1643. package/lib/esm/function/relational/compareUnits.js +14 -0
  1644. package/lib/esm/function/relational/deepEqual.js +2 -6
  1645. package/lib/esm/function/relational/equal.js +26 -88
  1646. package/lib/esm/function/relational/equalScalar.js +7 -10
  1647. package/lib/esm/function/relational/equalText.js +1 -2
  1648. package/lib/esm/function/relational/larger.js +30 -78
  1649. package/lib/esm/function/relational/largerEq.js +30 -78
  1650. package/lib/esm/function/relational/smaller.js +30 -78
  1651. package/lib/esm/function/relational/smallerEq.js +30 -78
  1652. package/lib/esm/function/relational/unequal.js +26 -89
  1653. package/lib/esm/function/set/setCartesian.js +8 -11
  1654. package/lib/esm/function/set/setDifference.js +5 -12
  1655. package/lib/esm/function/set/setDistinct.js +5 -10
  1656. package/lib/esm/function/set/setIntersect.js +5 -10
  1657. package/lib/esm/function/set/setIsSubset.js +2 -8
  1658. package/lib/esm/function/set/setMultiplicity.js +1 -5
  1659. package/lib/esm/function/set/setPowerset.js +7 -14
  1660. package/lib/esm/function/set/setSize.js +4 -6
  1661. package/lib/esm/function/set/setSymDifference.js +1 -3
  1662. package/lib/esm/function/set/setUnion.js +1 -3
  1663. package/lib/esm/function/signal/freqz.js +115 -0
  1664. package/lib/esm/function/signal/zpk2tf.js +82 -0
  1665. package/lib/esm/function/special/erf.js +16 -26
  1666. package/lib/esm/function/special/zeta.js +148 -0
  1667. package/lib/esm/function/statistics/corr.js +84 -0
  1668. package/lib/esm/function/statistics/cumsum.js +123 -0
  1669. package/lib/esm/function/statistics/mad.js +1 -5
  1670. package/lib/esm/function/statistics/max.js +8 -13
  1671. package/lib/esm/function/statistics/mean.js +5 -10
  1672. package/lib/esm/function/statistics/median.js +10 -13
  1673. package/lib/esm/function/statistics/min.js +7 -12
  1674. package/lib/esm/function/statistics/mode.js +3 -12
  1675. package/lib/esm/function/statistics/prod.js +7 -8
  1676. package/lib/esm/function/statistics/quantileSeq.js +91 -200
  1677. package/lib/esm/function/statistics/std.js +10 -6
  1678. package/lib/esm/function/statistics/sum.js +8 -11
  1679. package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
  1680. package/lib/esm/function/statistics/variance.js +7 -15
  1681. package/lib/esm/function/string/bin.js +24 -3
  1682. package/lib/esm/function/string/format.js +39 -23
  1683. package/lib/esm/function/string/hex.js +25 -5
  1684. package/lib/esm/function/string/oct.js +26 -4
  1685. package/lib/esm/function/string/print.js +7 -7
  1686. package/lib/esm/function/trigonometry/acos.js +5 -9
  1687. package/lib/esm/function/trigonometry/acosh.js +3 -10
  1688. package/lib/esm/function/trigonometry/acot.js +7 -12
  1689. package/lib/esm/function/trigonometry/acoth.js +5 -10
  1690. package/lib/esm/function/trigonometry/acsc.js +7 -13
  1691. package/lib/esm/function/trigonometry/acsch.js +5 -9
  1692. package/lib/esm/function/trigonometry/asec.js +7 -12
  1693. package/lib/esm/function/trigonometry/asech.js +5 -12
  1694. package/lib/esm/function/trigonometry/asin.js +6 -11
  1695. package/lib/esm/function/trigonometry/asinh.js +5 -10
  1696. package/lib/esm/function/trigonometry/atan.js +6 -12
  1697. package/lib/esm/function/trigonometry/atan2.js +33 -69
  1698. package/lib/esm/function/trigonometry/atanh.js +5 -11
  1699. package/lib/esm/function/trigonometry/cos.js +11 -22
  1700. package/lib/esm/function/trigonometry/cosh.js +6 -22
  1701. package/lib/esm/function/trigonometry/cot.js +10 -20
  1702. package/lib/esm/function/trigonometry/coth.js +7 -22
  1703. package/lib/esm/function/trigonometry/csc.js +12 -22
  1704. package/lib/esm/function/trigonometry/csch.js +7 -22
  1705. package/lib/esm/function/trigonometry/sec.js +12 -22
  1706. package/lib/esm/function/trigonometry/sech.js +7 -22
  1707. package/lib/esm/function/trigonometry/sin.js +11 -23
  1708. package/lib/esm/function/trigonometry/sinh.js +6 -23
  1709. package/lib/esm/function/trigonometry/tan.js +11 -23
  1710. package/lib/esm/function/trigonometry/tanh.js +6 -23
  1711. package/lib/esm/function/trigonometry/trigUnit.js +14 -0
  1712. package/lib/esm/function/unit/to.js +17 -50
  1713. package/lib/esm/function/utils/clone.js +2 -3
  1714. package/lib/esm/function/utils/hasNumericValue.js +4 -3
  1715. package/lib/esm/function/utils/isInteger.js +4 -6
  1716. package/lib/esm/function/utils/isNaN.js +2 -3
  1717. package/lib/esm/function/utils/isNegative.js +4 -9
  1718. package/lib/esm/function/utils/isNumeric.js +5 -12
  1719. package/lib/esm/function/utils/isPositive.js +4 -9
  1720. package/lib/esm/function/utils/isPrime.js +56 -14
  1721. package/lib/esm/function/utils/isZero.js +14 -19
  1722. package/lib/esm/function/utils/numeric.js +13 -10
  1723. package/lib/esm/function/utils/typeOf.js +39 -46
  1724. package/lib/esm/header.js +1 -1
  1725. package/lib/esm/json/replacer.js +0 -1
  1726. package/lib/esm/json/reviver.js +1 -4
  1727. package/lib/esm/plain/bignumber/index.js +2 -1
  1728. package/lib/esm/plain/number/arithmetic.js +41 -74
  1729. package/lib/esm/plain/number/bitwise.js +0 -7
  1730. package/lib/esm/plain/number/combinations.js +17 -11
  1731. package/lib/esm/plain/number/probability.js +37 -11
  1732. package/lib/esm/type/bignumber/BigNumber.js +6 -10
  1733. package/lib/esm/type/bignumber/function/bignumber.js +23 -5
  1734. package/lib/esm/type/boolean.js +4 -10
  1735. package/lib/esm/type/chain/Chain.js +35 -35
  1736. package/lib/esm/type/chain/function/chain.js +1 -2
  1737. package/lib/esm/type/complex/Complex.js +14 -30
  1738. package/lib/esm/type/complex/function/complex.js +2 -7
  1739. package/lib/esm/type/fraction/Fraction.js +6 -4
  1740. package/lib/esm/type/fraction/function/fraction.js +28 -15
  1741. package/lib/esm/type/matrix/DenseMatrix.js +240 -220
  1742. package/lib/esm/type/matrix/FibonacciHeap.js +121 -159
  1743. package/lib/esm/type/matrix/ImmutableDenseMatrix.js +20 -39
  1744. package/lib/esm/type/matrix/Matrix.js +26 -34
  1745. package/lib/esm/type/matrix/MatrixIndex.js +64 -68
  1746. package/lib/esm/type/matrix/Range.js +14 -46
  1747. package/lib/esm/type/matrix/Spa.js +33 -51
  1748. package/lib/esm/type/matrix/SparseMatrix.js +504 -553
  1749. package/lib/esm/type/matrix/function/index.js +7 -6
  1750. package/lib/esm/type/matrix/function/matrix.js +4 -6
  1751. package/lib/esm/type/matrix/function/sparse.js +7 -2
  1752. package/lib/esm/type/matrix/utils/broadcast.js +69 -0
  1753. package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +38 -35
  1754. package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +45 -42
  1755. package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +43 -40
  1756. package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +75 -72
  1757. package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +75 -73
  1758. package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +63 -59
  1759. package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +49 -48
  1760. package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +70 -67
  1761. package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +59 -55
  1762. package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +35 -33
  1763. package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +41 -38
  1764. package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +35 -33
  1765. package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +29 -28
  1766. package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +21 -19
  1767. package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +156 -0
  1768. package/lib/esm/type/number.js +76 -20
  1769. package/lib/esm/type/resultset/ResultSet.js +5 -11
  1770. package/lib/esm/type/string.js +2 -5
  1771. package/lib/esm/type/unit/Unit.js +361 -493
  1772. package/lib/esm/type/unit/function/createUnit.js +3 -3
  1773. package/lib/esm/type/unit/function/splitUnit.js +2 -3
  1774. package/lib/esm/type/unit/function/unit.js +14 -9
  1775. package/lib/esm/type/unit/physicalConstants.js +24 -17
  1776. package/lib/esm/utils/applyCallback.js +67 -0
  1777. package/lib/esm/utils/array.js +341 -137
  1778. package/lib/esm/utils/bignumber/bitwise.js +13 -89
  1779. package/lib/esm/utils/bignumber/constants.js +17 -9
  1780. package/lib/esm/utils/bignumber/formatter.js +94 -28
  1781. package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
  1782. package/lib/esm/utils/collection.js +25 -60
  1783. package/lib/esm/utils/complex.js +1 -1
  1784. package/lib/esm/utils/customs.js +31 -40
  1785. package/lib/esm/utils/emitter.js +3 -2
  1786. package/lib/esm/utils/factory.js +12 -20
  1787. package/lib/esm/utils/function.js +29 -20
  1788. package/lib/esm/utils/is.js +33 -23
  1789. package/lib/esm/utils/latex.js +10 -8
  1790. package/lib/esm/utils/log.js +0 -2
  1791. package/lib/esm/utils/lruQueue.js +51 -0
  1792. package/lib/esm/utils/map.js +120 -0
  1793. package/lib/esm/utils/number.js +158 -106
  1794. package/lib/esm/utils/object.js +34 -70
  1795. package/lib/esm/utils/print.js +1 -0
  1796. package/lib/esm/utils/product.js +0 -3
  1797. package/lib/esm/utils/scope.js +24 -0
  1798. package/lib/esm/utils/snapshot.js +37 -86
  1799. package/lib/esm/utils/string.js +36 -48
  1800. package/lib/esm/utils/switch.js +20 -0
  1801. package/lib/esm/version.js +2 -1
  1802. package/package.json +71 -45
  1803. package/types/EXPLANATION.md +54 -0
  1804. package/types/index.d.ts +6967 -0
  1805. package/types/tslint.json +6 -0
  1806. package/docs/command_line_interface.md +0 -87
  1807. package/docs/core/chaining.md +0 -41
  1808. package/docs/core/configuration.md +0 -144
  1809. package/docs/core/extension.md +0 -263
  1810. package/docs/core/index.md +0 -21
  1811. package/docs/core/serialization.md +0 -50
  1812. package/docs/custom_bundling.md +0 -116
  1813. package/docs/datatypes/bignumbers.md +0 -102
  1814. package/docs/datatypes/complex_numbers.md +0 -168
  1815. package/docs/datatypes/fractions.md +0 -75
  1816. package/docs/datatypes/index.md +0 -67
  1817. package/docs/datatypes/matrices.md +0 -343
  1818. package/docs/datatypes/numbers.md +0 -106
  1819. package/docs/datatypes/units.md +0 -444
  1820. package/docs/expressions/algebra.md +0 -83
  1821. package/docs/expressions/customization.md +0 -379
  1822. package/docs/expressions/expression_trees.md +0 -699
  1823. package/docs/expressions/html_classes.md +0 -38
  1824. package/docs/expressions/index.md +0 -21
  1825. package/docs/expressions/parsing.md +0 -207
  1826. package/docs/expressions/security.md +0 -89
  1827. package/docs/expressions/syntax.md +0 -648
  1828. package/docs/getting_started.md +0 -124
  1829. package/docs/index.md +0 -39
  1830. package/docs/reference/.gitignore +0 -1
  1831. package/docs/reference/.npmignore +0 -1
  1832. package/docs/reference/classes/densematrix.md +0 -247
  1833. package/docs/reference/classes/fibonacciheap.md +0 -70
  1834. package/docs/reference/classes/matrixindex.md +0 -133
  1835. package/docs/reference/classes/matrixrange.md +0 -158
  1836. package/docs/reference/classes/resultset.md +0 -47
  1837. package/docs/reference/classes/sparsematrix.md +0 -245
  1838. package/docs/reference/classes/unit.md +0 -242
  1839. package/docs/reference/classes.md +0 -86
  1840. package/docs/reference/constants.md +0 -29
  1841. package/docs/reference/functions/.gitignore +0 -1
  1842. package/docs/reference/functions/.npmignore +0 -1
  1843. package/docs/reference/functions/abs.md +0 -40
  1844. package/docs/reference/functions/acos.md +0 -43
  1845. package/docs/reference/functions/acosh.md +0 -41
  1846. package/docs/reference/functions/acot.md +0 -42
  1847. package/docs/reference/functions/acoth.md +0 -40
  1848. package/docs/reference/functions/acsc.md +0 -43
  1849. package/docs/reference/functions/acsch.md +0 -40
  1850. package/docs/reference/functions/add.md +0 -53
  1851. package/docs/reference/functions/and.md +0 -47
  1852. package/docs/reference/functions/apply.md +0 -50
  1853. package/docs/reference/functions/arg.md +0 -47
  1854. package/docs/reference/functions/asec.md +0 -43
  1855. package/docs/reference/functions/asech.md +0 -40
  1856. package/docs/reference/functions/asin.md +0 -43
  1857. package/docs/reference/functions/asinh.md +0 -40
  1858. package/docs/reference/functions/atan.md +0 -43
  1859. package/docs/reference/functions/atan2.md +0 -50
  1860. package/docs/reference/functions/atanh.md +0 -40
  1861. package/docs/reference/functions/bellNumbers.md +0 -39
  1862. package/docs/reference/functions/bignumber.md +0 -47
  1863. package/docs/reference/functions/bin.md +0 -38
  1864. package/docs/reference/functions/bitAnd.md +0 -45
  1865. package/docs/reference/functions/bitNot.md +0 -45
  1866. package/docs/reference/functions/bitOr.md +0 -46
  1867. package/docs/reference/functions/bitXor.md +0 -45
  1868. package/docs/reference/functions/boolean.md +0 -50
  1869. package/docs/reference/functions/catalan.md +0 -39
  1870. package/docs/reference/functions/cbrt.md +0 -54
  1871. package/docs/reference/functions/ceil.md +0 -57
  1872. package/docs/reference/functions/chain.md +0 -54
  1873. package/docs/reference/functions/clone.md +0 -37
  1874. package/docs/reference/functions/column.md +0 -39
  1875. package/docs/reference/functions/combinations.md +0 -43
  1876. package/docs/reference/functions/combinationsWithRep.md +0 -43
  1877. package/docs/reference/functions/compare.md +0 -61
  1878. package/docs/reference/functions/compareNatural.md +0 -86
  1879. package/docs/reference/functions/compareText.md +0 -48
  1880. package/docs/reference/functions/compile.md +0 -50
  1881. package/docs/reference/functions/complex.md +0 -61
  1882. package/docs/reference/functions/composition.md +0 -40
  1883. package/docs/reference/functions/concat.md +0 -50
  1884. package/docs/reference/functions/config.md +0 -44
  1885. package/docs/reference/functions/conj.md +0 -44
  1886. package/docs/reference/functions/cos.md +0 -45
  1887. package/docs/reference/functions/cosh.md +0 -40
  1888. package/docs/reference/functions/cot.md +0 -41
  1889. package/docs/reference/functions/coth.md +0 -43
  1890. package/docs/reference/functions/createUnit.md +0 -52
  1891. package/docs/reference/functions/cross.md +0 -52
  1892. package/docs/reference/functions/csc.md +0 -41
  1893. package/docs/reference/functions/csch.md +0 -43
  1894. package/docs/reference/functions/ctranspose.md +0 -44
  1895. package/docs/reference/functions/cube.md +0 -45
  1896. package/docs/reference/functions/deepEqual.md +0 -47
  1897. package/docs/reference/functions/derivative.md +0 -55
  1898. package/docs/reference/functions/det.md +0 -43
  1899. package/docs/reference/functions/diag.md +0 -55
  1900. package/docs/reference/functions/diff.md +0 -64
  1901. package/docs/reference/functions/distance.md +0 -74
  1902. package/docs/reference/functions/divide.md +0 -49
  1903. package/docs/reference/functions/dot.md +0 -42
  1904. package/docs/reference/functions/dotDivide.md +0 -46
  1905. package/docs/reference/functions/dotMultiply.md +0 -46
  1906. package/docs/reference/functions/dotPow.md +0 -43
  1907. package/docs/reference/functions/eigs.md +0 -48
  1908. package/docs/reference/functions/equal.md +0 -69
  1909. package/docs/reference/functions/equalText.md +0 -47
  1910. package/docs/reference/functions/erf.md +0 -43
  1911. package/docs/reference/functions/evaluate.md +0 -50
  1912. package/docs/reference/functions/exp.md +0 -48
  1913. package/docs/reference/functions/expm.md +0 -43
  1914. package/docs/reference/functions/expm1.md +0 -48
  1915. package/docs/reference/functions/factorial.md +0 -43
  1916. package/docs/reference/functions/filter.md +0 -44
  1917. package/docs/reference/functions/fix.md +0 -55
  1918. package/docs/reference/functions/flatten.md +0 -39
  1919. package/docs/reference/functions/floor.md +0 -56
  1920. package/docs/reference/functions/forEach.md +0 -35
  1921. package/docs/reference/functions/format.md +0 -104
  1922. package/docs/reference/functions/fraction.md +0 -45
  1923. package/docs/reference/functions/gamma.md +0 -43
  1924. package/docs/reference/functions/gcd.md +0 -44
  1925. package/docs/reference/functions/getMatrixDataType.md +0 -53
  1926. package/docs/reference/functions/hasNumericValue.md +0 -49
  1927. package/docs/reference/functions/help.md +0 -36
  1928. package/docs/reference/functions/hex.md +0 -38
  1929. package/docs/reference/functions/hypot.md +0 -45
  1930. package/docs/reference/functions/identity.md +0 -51
  1931. package/docs/reference/functions/im.md +0 -47
  1932. package/docs/reference/functions/import.md +0 -68
  1933. package/docs/reference/functions/index.md +0 -55
  1934. package/docs/reference/functions/intersect.md +0 -44
  1935. package/docs/reference/functions/inv.md +0 -39
  1936. package/docs/reference/functions/isInteger.md +0 -49
  1937. package/docs/reference/functions/isNaN.md +0 -50
  1938. package/docs/reference/functions/isNegative.md +0 -49
  1939. package/docs/reference/functions/isNumeric.md +0 -49
  1940. package/docs/reference/functions/isPositive.md +0 -51
  1941. package/docs/reference/functions/isPrime.md +0 -48
  1942. package/docs/reference/functions/isZero.md +0 -53
  1943. package/docs/reference/functions/kldivergence.md +0 -35
  1944. package/docs/reference/functions/kron.md +0 -47
  1945. package/docs/reference/functions/larger.md +0 -54
  1946. package/docs/reference/functions/largerEq.md +0 -50
  1947. package/docs/reference/functions/lcm.md +0 -48
  1948. package/docs/reference/functions/leftShift.md +0 -46
  1949. package/docs/reference/functions/log.md +0 -51
  1950. package/docs/reference/functions/log10.md +0 -44
  1951. package/docs/reference/functions/log1p.md +0 -48
  1952. package/docs/reference/functions/log2.md +0 -44
  1953. package/docs/reference/functions/lsolve.md +0 -45
  1954. package/docs/reference/functions/lsolveAll.md +0 -45
  1955. package/docs/reference/functions/lup.md +0 -46
  1956. package/docs/reference/functions/lusolve.md +0 -53
  1957. package/docs/reference/functions/mad.md +0 -44
  1958. package/docs/reference/functions/map.md +0 -42
  1959. package/docs/reference/functions/matrix.md +0 -56
  1960. package/docs/reference/functions/max.md +0 -55
  1961. package/docs/reference/functions/mean.md +0 -51
  1962. package/docs/reference/functions/median.md +0 -51
  1963. package/docs/reference/functions/min.md +0 -55
  1964. package/docs/reference/functions/mod.md +0 -53
  1965. package/docs/reference/functions/mode.md +0 -44
  1966. package/docs/reference/functions/multinomial.md +0 -40
  1967. package/docs/reference/functions/multiply.md +0 -54
  1968. package/docs/reference/functions/norm.md +0 -53
  1969. package/docs/reference/functions/not.md +0 -44
  1970. package/docs/reference/functions/nthRoot.md +0 -47
  1971. package/docs/reference/functions/nthRoots.md +0 -52
  1972. package/docs/reference/functions/number.md +0 -49
  1973. package/docs/reference/functions/numeric.md +0 -46
  1974. package/docs/reference/functions/oct.md +0 -38
  1975. package/docs/reference/functions/ones.md +0 -53
  1976. package/docs/reference/functions/or.md +0 -47
  1977. package/docs/reference/functions/parse.md +0 -56
  1978. package/docs/reference/functions/parser.md +0 -64
  1979. package/docs/reference/functions/partitionSelect.md +0 -47
  1980. package/docs/reference/functions/permutations.md +0 -45
  1981. package/docs/reference/functions/pickRandom.md +0 -53
  1982. package/docs/reference/functions/pow.md +0 -53
  1983. package/docs/reference/functions/print.md +0 -58
  1984. package/docs/reference/functions/prod.md +0 -49
  1985. package/docs/reference/functions/qr.md +0 -59
  1986. package/docs/reference/functions/quantileSeq.md +0 -56
  1987. package/docs/reference/functions/random.md +0 -48
  1988. package/docs/reference/functions/randomInt.md +0 -47
  1989. package/docs/reference/functions/range.md +0 -64
  1990. package/docs/reference/functions/rationalize.md +0 -62
  1991. package/docs/reference/functions/re.md +0 -47
  1992. package/docs/reference/functions/reshape.md +0 -50
  1993. package/docs/reference/functions/resize.md +0 -45
  1994. package/docs/reference/functions/rightArithShift.md +0 -46
  1995. package/docs/reference/functions/rightLogShift.md +0 -46
  1996. package/docs/reference/functions/rotate.md +0 -47
  1997. package/docs/reference/functions/rotationMatrix.md +0 -51
  1998. package/docs/reference/functions/round.md +0 -55
  1999. package/docs/reference/functions/row.md +0 -39
  2000. package/docs/reference/functions/sec.md +0 -41
  2001. package/docs/reference/functions/sech.md +0 -43
  2002. package/docs/reference/functions/setCartesian.md +0 -41
  2003. package/docs/reference/functions/setDifference.md +0 -41
  2004. package/docs/reference/functions/setDistinct.md +0 -37
  2005. package/docs/reference/functions/setIntersect.md +0 -40
  2006. package/docs/reference/functions/setIsSubset.md +0 -41
  2007. package/docs/reference/functions/setMultiplicity.md +0 -40
  2008. package/docs/reference/functions/setPowerset.md +0 -37
  2009. package/docs/reference/functions/setSize.md +0 -41
  2010. package/docs/reference/functions/setSymDifference.md +0 -41
  2011. package/docs/reference/functions/setUnion.md +0 -40
  2012. package/docs/reference/functions/sign.md +0 -46
  2013. package/docs/reference/functions/simplify.md +0 -90
  2014. package/docs/reference/functions/sin.md +0 -45
  2015. package/docs/reference/functions/sinh.md +0 -40
  2016. package/docs/reference/functions/size.md +0 -43
  2017. package/docs/reference/functions/slu.md +0 -51
  2018. package/docs/reference/functions/smaller.md +0 -54
  2019. package/docs/reference/functions/smallerEq.md +0 -50
  2020. package/docs/reference/functions/sort.md +0 -50
  2021. package/docs/reference/functions/sparse.md +0 -51
  2022. package/docs/reference/functions/splitUnit.md +0 -37
  2023. package/docs/reference/functions/sqrt.md +0 -44
  2024. package/docs/reference/functions/sqrtm.md +0 -40
  2025. package/docs/reference/functions/square.md +0 -45
  2026. package/docs/reference/functions/squeeze.md +0 -47
  2027. package/docs/reference/functions/std.md +0 -70
  2028. package/docs/reference/functions/stirlingS2.md +0 -42
  2029. package/docs/reference/functions/string.md +0 -49
  2030. package/docs/reference/functions/subset.md +0 -51
  2031. package/docs/reference/functions/subtract.md +0 -48
  2032. package/docs/reference/functions/sum.md +0 -47
  2033. package/docs/reference/functions/tan.md +0 -43
  2034. package/docs/reference/functions/tanh.md +0 -44
  2035. package/docs/reference/functions/to.md +0 -41
  2036. package/docs/reference/functions/trace.md +0 -44
  2037. package/docs/reference/functions/transpose.md +0 -43
  2038. package/docs/reference/functions/typeOf.md +0 -75
  2039. package/docs/reference/functions/typed.md +0 -56
  2040. package/docs/reference/functions/unaryMinus.md +0 -43
  2041. package/docs/reference/functions/unaryPlus.md +0 -42
  2042. package/docs/reference/functions/unequal.md +0 -68
  2043. package/docs/reference/functions/unit.md +0 -48
  2044. package/docs/reference/functions/usolve.md +0 -45
  2045. package/docs/reference/functions/usolveAll.md +0 -45
  2046. package/docs/reference/functions/variance.md +0 -72
  2047. package/docs/reference/functions/xgcd.md +0 -41
  2048. package/docs/reference/functions/xor.md +0 -47
  2049. package/docs/reference/functions/zeros.md +0 -51
  2050. package/docs/reference/functions.md +0 -285
  2051. package/docs/reference/index.md +0 -5
  2052. package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
  2053. package/examples/advanced/custom_argument_parsing.js +0 -98
  2054. package/examples/advanced/custom_datatype.js +0 -53
  2055. package/examples/advanced/custom_evaluate_using_factories.js +0 -19
  2056. package/examples/advanced/custom_evaluate_using_import.js +0 -18
  2057. package/examples/advanced/custom_loading.js +0 -33
  2058. package/examples/advanced/custom_relational_functions.js +0 -62
  2059. package/examples/advanced/expression_trees.js +0 -55
  2060. package/examples/advanced/function_transform.js +0 -50
  2061. package/examples/advanced/more_secure_eval.js +0 -36
  2062. package/examples/advanced/use_bigint.js +0 -43
  2063. package/examples/advanced/web_server/math_worker.js +0 -24
  2064. package/examples/advanced/web_server/server.js +0 -80
  2065. package/examples/algebra.js +0 -34
  2066. package/examples/basic_usage.js +0 -49
  2067. package/examples/bignumbers.js +0 -52
  2068. package/examples/browser/angle_configuration.html +0 -134
  2069. package/examples/browser/basic_usage.html +0 -39
  2070. package/examples/browser/currency_conversion.html +0 -125
  2071. package/examples/browser/custom_separators.html +0 -81
  2072. package/examples/browser/plot.html +0 -78
  2073. package/examples/browser/pretty_printing_with_mathjax.html +0 -122
  2074. package/examples/browser/printing_html.html +0 -170
  2075. package/examples/browser/requirejs_loading.html +0 -20
  2076. package/examples/browser/rocket_trajectory_optimization.html +0 -152
  2077. package/examples/browser/webworkers/webworkers.html +0 -80
  2078. package/examples/browser/webworkers/worker.js +0 -28
  2079. package/examples/chaining.js +0 -56
  2080. package/examples/complex_numbers.js +0 -67
  2081. package/examples/expressions.js +0 -188
  2082. package/examples/fractions.js +0 -74
  2083. package/examples/import.js +0 -95
  2084. package/examples/matrices.js +0 -101
  2085. package/examples/objects.js +0 -35
  2086. package/examples/package.json +0 -3
  2087. package/examples/serialization.js +0 -16
  2088. package/examples/sparse_matrices.js +0 -19
  2089. package/examples/units.js +0 -108
  2090. package/lib/cjs/function/algebra/simplify/resolve.js +0 -70
  2091. package/lib/cjs/function/algebra/simplify/simplifyConstant.js +0 -332
  2092. package/lib/cjs/function/algebra/simplify/simplifyCore.js +0 -199
  2093. package/lib/cjs/function/string/baseUtils.js +0 -45
  2094. package/lib/cjs/utils/polyfills.js +0 -14
  2095. package/lib/esm/function/algebra/simplify/resolve.js +0 -62
  2096. package/lib/esm/function/algebra/simplify/simplifyConstant.js +0 -316
  2097. package/lib/esm/function/algebra/simplify/simplifyCore.js +0 -191
  2098. package/lib/esm/function/string/baseUtils.js +0 -38
  2099. package/lib/esm/utils/polyfills.js +0 -12
@@ -1,171 +1,48 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.createOperatorNode = void 0;
7
-
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
14
  var _is = require("../../utils/is.js");
9
-
10
15
  var _array = require("../../utils/array.js");
11
-
12
16
  var _string = require("../../utils/string.js");
13
-
14
17
  var _customs = require("../../utils/customs.js");
15
-
16
18
  var _operators = require("../operators.js");
17
-
18
19
  var _latex = require("../../utils/latex.js");
19
-
20
20
  var _factory = require("../../utils/factory.js");
21
-
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
23
  var name = 'OperatorNode';
23
24
  var dependencies = ['Node'];
24
- var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
25
+ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
25
26
  var Node = _ref.Node;
26
-
27
27
  /**
28
- * @constructor OperatorNode
29
- * @extends {Node}
30
- * An operator with two arguments, like 2+3
31
- *
32
- * @param {string} op Operator name, for example '+'
33
- * @param {string} fn Function name, for example 'add'
34
- * @param {Node[]} args Operator arguments
35
- * @param {boolean} [implicit] Is this an implicit multiplication?
28
+ * Returns true if the expression starts with a constant, under
29
+ * the current parenthesization:
30
+ * @param {Node} expression
31
+ * @param {string} parenthesis
32
+ * @return {boolean}
36
33
  */
37
- function OperatorNode(op, fn, args, implicit) {
38
- if (!(this instanceof OperatorNode)) {
39
- throw new SyntaxError('Constructor must be called with the new operator');
40
- } // validate input
41
-
42
-
43
- if (typeof op !== 'string') {
44
- throw new TypeError('string expected for parameter "op"');
34
+ function startsWithConstant(expr, parenthesis) {
35
+ var curNode = expr;
36
+ if (parenthesis === 'auto') {
37
+ while ((0, _is.isParenthesisNode)(curNode)) curNode = curNode.content;
45
38
  }
46
-
47
- if (typeof fn !== 'string') {
48
- throw new TypeError('string expected for parameter "fn"');
49
- }
50
-
51
- if (!Array.isArray(args) || !args.every(_is.isNode)) {
52
- throw new TypeError('Array containing Nodes expected for parameter "args"');
39
+ if ((0, _is.isConstantNode)(curNode)) return true;
40
+ if ((0, _is.isOperatorNode)(curNode)) {
41
+ return startsWithConstant(curNode.args[0], parenthesis);
53
42
  }
54
-
55
- this.implicit = implicit === true;
56
- this.op = op;
57
- this.fn = fn;
58
- this.args = args || [];
43
+ return false;
59
44
  }
60
45
 
61
- OperatorNode.prototype = new Node();
62
- OperatorNode.prototype.type = 'OperatorNode';
63
- OperatorNode.prototype.isOperatorNode = true;
64
- /**
65
- * Compile a node into a JavaScript function.
66
- * This basically pre-calculates as much as possible and only leaves open
67
- * calculations which depend on a dynamic scope with variables.
68
- * @param {Object} math Math.js namespace with functions and constants.
69
- * @param {Object} argNames An object with argument names as key and `true`
70
- * as value. Used in the SymbolNode to optimize
71
- * for arguments from user assigned functions
72
- * (see FunctionAssignmentNode) or special symbols
73
- * like `end` (see IndexNode).
74
- * @return {function} Returns a function which can be called like:
75
- * evalNode(scope: Object, args: Object, context: *)
76
- */
77
-
78
- OperatorNode.prototype._compile = function (math, argNames) {
79
- // validate fn
80
- if (typeof this.fn !== 'string' || !(0, _customs.isSafeMethod)(math, this.fn)) {
81
- if (!math[this.fn]) {
82
- throw new Error('Function ' + this.fn + ' missing in provided namespace "math"');
83
- } else {
84
- throw new Error('No access to function "' + this.fn + '"');
85
- }
86
- }
87
-
88
- var fn = (0, _customs.getSafeProperty)(math, this.fn);
89
- var evalArgs = (0, _array.map)(this.args, function (arg) {
90
- return arg._compile(math, argNames);
91
- });
92
-
93
- if (evalArgs.length === 1) {
94
- var evalArg0 = evalArgs[0];
95
- return function evalOperatorNode(scope, args, context) {
96
- return fn(evalArg0(scope, args, context));
97
- };
98
- } else if (evalArgs.length === 2) {
99
- var _evalArg = evalArgs[0];
100
- var evalArg1 = evalArgs[1];
101
- return function evalOperatorNode(scope, args, context) {
102
- return fn(_evalArg(scope, args, context), evalArg1(scope, args, context));
103
- };
104
- } else {
105
- return function evalOperatorNode(scope, args, context) {
106
- return fn.apply(null, (0, _array.map)(evalArgs, function (evalArg) {
107
- return evalArg(scope, args, context);
108
- }));
109
- };
110
- }
111
- };
112
- /**
113
- * Execute a callback for each of the child nodes of this node
114
- * @param {function(child: Node, path: string, parent: Node)} callback
115
- */
116
-
117
-
118
- OperatorNode.prototype.forEach = function (callback) {
119
- for (var i = 0; i < this.args.length; i++) {
120
- callback(this.args[i], 'args[' + i + ']', this);
121
- }
122
- };
123
- /**
124
- * Create a new OperatorNode having it's childs be the results of calling
125
- * the provided callback function for each of the childs of the original node.
126
- * @param {function(child: Node, path: string, parent: Node): Node} callback
127
- * @returns {OperatorNode} Returns a transformed copy of the node
128
- */
129
-
130
-
131
- OperatorNode.prototype.map = function (callback) {
132
- var args = [];
133
-
134
- for (var i = 0; i < this.args.length; i++) {
135
- args[i] = this._ifNode(callback(this.args[i], 'args[' + i + ']', this));
136
- }
137
-
138
- return new OperatorNode(this.op, this.fn, args, this.implicit);
139
- };
140
- /**
141
- * Create a clone of this node, a shallow copy
142
- * @return {OperatorNode}
143
- */
144
-
145
-
146
- OperatorNode.prototype.clone = function () {
147
- return new OperatorNode(this.op, this.fn, this.args.slice(0), this.implicit);
148
- };
149
- /**
150
- * Check whether this is an unary OperatorNode:
151
- * has exactly one argument, like `-a`.
152
- * @return {boolean} Returns true when an unary operator node, false otherwise.
153
- */
154
-
155
-
156
- OperatorNode.prototype.isUnary = function () {
157
- return this.args.length === 1;
158
- };
159
- /**
160
- * Check whether this is a binary OperatorNode:
161
- * has exactly two arguments, like `a + b`.
162
- * @return {boolean} Returns true when a binary operator node, false otherwise.
163
- */
164
-
165
-
166
- OperatorNode.prototype.isBinary = function () {
167
- return this.args.length === 2;
168
- };
169
46
  /**
170
47
  * Calculate which parentheses are necessary. Gets an OperatorNode
171
48
  * (which is the root of the tree) and an Array of Nodes
@@ -179,13 +56,10 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
179
56
  * @return {boolean[]}
180
57
  * @private
181
58
  */
182
-
183
-
184
59
  function calculateNecessaryParentheses(root, parenthesis, implicit, args, latex) {
185
60
  // precedence of the root OperatorNode
186
- var precedence = (0, _operators.getPrecedence)(root, parenthesis);
61
+ var precedence = (0, _operators.getPrecedence)(root, parenthesis, implicit);
187
62
  var associativity = (0, _operators.getAssociativity)(root, parenthesis);
188
-
189
63
  if (parenthesis === 'all' || args.length > 2 && root.getIdentifier() !== 'OperatorNode:add' && root.getIdentifier() !== 'OperatorNode:multiply') {
190
64
  return args.map(function (arg) {
191
65
  switch (arg.getContent().type) {
@@ -195,30 +69,26 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
195
69
  case 'SymbolNode':
196
70
  case 'ParenthesisNode':
197
71
  return false;
198
-
199
72
  default:
200
73
  return true;
201
74
  }
202
75
  });
203
76
  }
204
-
205
77
  var result;
206
-
207
78
  switch (args.length) {
208
79
  case 0:
209
80
  result = [];
210
81
  break;
211
-
212
82
  case 1:
213
83
  // unary operators
214
84
  {
215
85
  // precedence of the operand
216
- var operandPrecedence = (0, _operators.getPrecedence)(args[0], parenthesis); // handle special cases for LaTeX, where some of the parentheses aren't needed
86
+ var operandPrecedence = (0, _operators.getPrecedence)(args[0], parenthesis, implicit, root);
217
87
 
88
+ // handle special cases for LaTeX, where some of the parentheses aren't needed
218
89
  if (latex && operandPrecedence !== null) {
219
90
  var operandIdentifier;
220
91
  var rootIdentifier;
221
-
222
92
  if (parenthesis === 'keep') {
223
93
  operandIdentifier = args[0].getIdentifier();
224
94
  rootIdentifier = root.getIdentifier();
@@ -227,45 +97,38 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
227
97
  operandIdentifier = args[0].getContent().getIdentifier();
228
98
  rootIdentifier = root.getContent().getIdentifier();
229
99
  }
230
-
231
100
  if (_operators.properties[precedence][rootIdentifier].latexLeftParens === false) {
232
101
  result = [false];
233
102
  break;
234
103
  }
235
-
236
104
  if (_operators.properties[operandPrecedence][operandIdentifier].latexParens === false) {
237
105
  result = [false];
238
106
  break;
239
107
  }
240
108
  }
241
-
242
109
  if (operandPrecedence === null) {
243
110
  // if the operand has no defined precedence, no parens are needed
244
111
  result = [false];
245
112
  break;
246
113
  }
247
-
248
114
  if (operandPrecedence <= precedence) {
249
115
  // if the operands precedence is lower, parens are needed
250
116
  result = [true];
251
117
  break;
252
- } // otherwise, no parens needed
253
-
118
+ }
254
119
 
120
+ // otherwise, no parens needed
255
121
  result = [false];
256
122
  }
257
123
  break;
258
-
259
124
  case 2:
260
125
  // binary operators
261
126
  {
262
127
  var lhsParens; // left hand side needs parenthesis?
263
128
  // precedence of the left hand side
264
-
265
- var lhsPrecedence = (0, _operators.getPrecedence)(args[0], parenthesis); // is the root node associative with the left hand side
266
-
129
+ var lhsPrecedence = (0, _operators.getPrecedence)(args[0], parenthesis, implicit, root);
130
+ // is the root node associative with the left hand side
267
131
  var assocWithLhs = (0, _operators.isAssociativeWith)(root, args[0], parenthesis);
268
-
269
132
  if (lhsPrecedence === null) {
270
133
  // if the left hand side has no defined precedence, no parens are needed
271
134
  // FunctionNode for example
@@ -281,14 +144,11 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
281
144
  } else {
282
145
  lhsParens = false;
283
146
  }
284
-
285
147
  var rhsParens; // right hand side needs parenthesis?
286
148
  // precedence of the right hand side
287
-
288
- var rhsPrecedence = (0, _operators.getPrecedence)(args[1], parenthesis); // is the root node associative with the right hand side?
289
-
149
+ var rhsPrecedence = (0, _operators.getPrecedence)(args[1], parenthesis, implicit, root);
150
+ // is the root node associative with the right hand side?
290
151
  var assocWithRhs = (0, _operators.isAssociativeWith)(root, args[1], parenthesis);
291
-
292
152
  if (rhsPrecedence === null) {
293
153
  // if the right hand side has no defined precedence, no parens are needed
294
154
  // FunctionNode for example
@@ -303,15 +163,13 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
303
163
  rhsParens = true;
304
164
  } else {
305
165
  rhsParens = false;
306
- } // handle special cases for LaTeX, where some of the parentheses aren't needed
307
-
166
+ }
308
167
 
168
+ // handle special cases for LaTeX, where some of the parentheses aren't needed
309
169
  if (latex) {
310
170
  var _rootIdentifier;
311
-
312
171
  var lhsIdentifier;
313
172
  var rhsIdentifier;
314
-
315
173
  if (parenthesis === 'keep') {
316
174
  _rootIdentifier = root.getIdentifier();
317
175
  lhsIdentifier = root.args[0].getIdentifier();
@@ -322,39 +180,32 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
322
180
  lhsIdentifier = root.args[0].getContent().getIdentifier();
323
181
  rhsIdentifier = root.args[1].getContent().getIdentifier();
324
182
  }
325
-
326
183
  if (lhsPrecedence !== null) {
327
184
  if (_operators.properties[precedence][_rootIdentifier].latexLeftParens === false) {
328
185
  lhsParens = false;
329
186
  }
330
-
331
187
  if (_operators.properties[lhsPrecedence][lhsIdentifier].latexParens === false) {
332
188
  lhsParens = false;
333
189
  }
334
190
  }
335
-
336
191
  if (rhsPrecedence !== null) {
337
192
  if (_operators.properties[precedence][_rootIdentifier].latexRightParens === false) {
338
193
  rhsParens = false;
339
194
  }
340
-
341
195
  if (_operators.properties[rhsPrecedence][rhsIdentifier].latexParens === false) {
342
196
  rhsParens = false;
343
197
  }
344
198
  }
345
199
  }
346
-
347
200
  result = [lhsParens, rhsParens];
348
201
  }
349
202
  break;
350
-
351
203
  default:
352
204
  if (root.getIdentifier() === 'OperatorNode:add' || root.getIdentifier() === 'OperatorNode:multiply') {
353
205
  result = args.map(function (arg) {
354
- var argPrecedence = (0, _operators.getPrecedence)(arg, parenthesis);
206
+ var argPrecedence = (0, _operators.getPrecedence)(arg, parenthesis, implicit, root);
355
207
  var assocWithArg = (0, _operators.isAssociativeWith)(root, arg, parenthesis);
356
208
  var argAssociativity = (0, _operators.getAssociativity)(arg, parenthesis);
357
-
358
209
  if (argPrecedence === null) {
359
210
  // if the argument has no defined precedence, no parens are needed
360
211
  return false;
@@ -363,336 +214,462 @@ var createOperatorNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies
363
214
  } else if (argPrecedence < precedence) {
364
215
  return true;
365
216
  }
366
-
367
217
  return false;
368
218
  });
369
219
  }
370
-
371
220
  break;
372
- } // handles an edge case of 'auto' parentheses with implicit multiplication of ConstantNode
373
- // In that case print parentheses for ParenthesisNodes even though they normally wouldn't be
374
- // printed.
375
-
376
-
377
- if (args.length >= 2 && root.getIdentifier() === 'OperatorNode:multiply' && root.implicit && parenthesis === 'auto' && implicit === 'hide') {
378
- result = args.map(function (arg, index) {
379
- var isParenthesisNode = arg.getIdentifier() === 'ParenthesisNode';
221
+ }
380
222
 
381
- if (result[index] || isParenthesisNode) {
382
- // put in parenthesis?
383
- return true;
223
+ // Handles an edge case of parentheses with implicit multiplication
224
+ // of ConstantNode.
225
+ // In that case, parenthesize ConstantNodes that follow an unparenthesized
226
+ // expression, even though they normally wouldn't be printed.
227
+ if (args.length >= 2 && root.getIdentifier() === 'OperatorNode:multiply' && root.implicit && parenthesis !== 'all' && implicit === 'hide') {
228
+ for (var i = 1; i < result.length; ++i) {
229
+ if (startsWithConstant(args[i], parenthesis) && !result[i - 1] && (parenthesis !== 'keep' || !(0, _is.isParenthesisNode)(args[i - 1]))) {
230
+ result[i] = true;
384
231
  }
385
-
386
- return false;
387
- });
232
+ }
388
233
  }
389
-
390
234
  return result;
391
235
  }
392
- /**
393
- * Get string representation.
394
- * @param {Object} options
395
- * @return {string} str
396
- */
397
-
398
-
399
- OperatorNode.prototype._toString = function (options) {
400
- var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
401
- var implicit = options && options.implicit ? options.implicit : 'hide';
402
- var args = this.args;
403
- var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, false);
404
-
405
- if (args.length === 1) {
406
- // unary operators
407
- var assoc = (0, _operators.getAssociativity)(this, parenthesis);
408
- var operand = args[0].toString(options);
409
-
410
- if (parens[0]) {
411
- operand = '(' + operand + ')';
412
- } // for example for "not", we want a space between operand and argument
413
-
414
-
415
- var opIsNamed = /[a-zA-Z]+/.test(this.op);
416
-
417
- if (assoc === 'right') {
418
- // prefix operator
419
- return this.op + (opIsNamed ? ' ' : '') + operand;
420
- } else if (assoc === 'left') {
421
- // postfix
422
- return operand + (opIsNamed ? ' ' : '') + this.op;
423
- } // fall back to postfix
424
-
425
-
426
- return operand + this.op;
427
- } else if (args.length === 2) {
428
- var lhs = args[0].toString(options); // left hand side
429
-
430
- var rhs = args[1].toString(options); // right hand side
431
-
432
- if (parens[0]) {
433
- // left hand side in parenthesis?
434
- lhs = '(' + lhs + ')';
236
+ var OperatorNode = /*#__PURE__*/function (_Node) {
237
+ (0, _inherits2["default"])(OperatorNode, _Node);
238
+ var _super = _createSuper(OperatorNode);
239
+ /**
240
+ * @constructor OperatorNode
241
+ * @extends {Node}
242
+ * An operator with two arguments, like 2+3
243
+ *
244
+ * @param {string} op Operator name, for example '+'
245
+ * @param {string} fn Function name, for example 'add'
246
+ * @param {Node[]} args Operator arguments
247
+ * @param {boolean} [implicit] Is this an implicit multiplication?
248
+ * @param {boolean} [isPercentage] Is this an percentage Operation?
249
+ */
250
+ function OperatorNode(op, fn, args, implicit, isPercentage) {
251
+ var _this;
252
+ (0, _classCallCheck2["default"])(this, OperatorNode);
253
+ _this = _super.call(this);
254
+ // validate input
255
+ if (typeof op !== 'string') {
256
+ throw new TypeError('string expected for parameter "op"');
435
257
  }
436
-
437
- if (parens[1]) {
438
- // right hand side in parenthesis?
439
- rhs = '(' + rhs + ')';
258
+ if (typeof fn !== 'string') {
259
+ throw new TypeError('string expected for parameter "fn"');
440
260
  }
441
-
442
- if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
443
- return lhs + ' ' + rhs;
261
+ if (!Array.isArray(args) || !args.every(_is.isNode)) {
262
+ throw new TypeError('Array containing Nodes expected for parameter "args"');
263
+ }
264
+ _this.implicit = implicit === true;
265
+ _this.isPercentage = isPercentage === true;
266
+ _this.op = op;
267
+ _this.fn = fn;
268
+ _this.args = args || [];
269
+ return _this;
270
+ }
271
+ (0, _createClass2["default"])(OperatorNode, [{
272
+ key: "type",
273
+ get: function get() {
274
+ return name;
275
+ }
276
+ }, {
277
+ key: "isOperatorNode",
278
+ get: function get() {
279
+ return true;
444
280
  }
445
281
 
446
- return lhs + ' ' + this.op + ' ' + rhs;
447
- } else if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
448
- var stringifiedArgs = args.map(function (arg, index) {
449
- arg = arg.toString(options);
450
-
451
- if (parens[index]) {
452
- // put in parenthesis?
453
- arg = '(' + arg + ')';
282
+ /**
283
+ * Compile a node into a JavaScript function.
284
+ * This basically pre-calculates as much as possible and only leaves open
285
+ * calculations which depend on a dynamic scope with variables.
286
+ * @param {Object} math Math.js namespace with functions and constants.
287
+ * @param {Object} argNames An object with argument names as key and `true`
288
+ * as value. Used in the SymbolNode to optimize
289
+ * for arguments from user assigned functions
290
+ * (see FunctionAssignmentNode) or special symbols
291
+ * like `end` (see IndexNode).
292
+ * @return {function} Returns a function which can be called like:
293
+ * evalNode(scope: Object, args: Object, context: *)
294
+ */
295
+ }, {
296
+ key: "_compile",
297
+ value: function _compile(math, argNames) {
298
+ // validate fn
299
+ if (typeof this.fn !== 'string' || !(0, _customs.isSafeMethod)(math, this.fn)) {
300
+ if (!math[this.fn]) {
301
+ throw new Error('Function ' + this.fn + ' missing in provided namespace "math"');
302
+ } else {
303
+ throw new Error('No access to function "' + this.fn + '"');
304
+ }
305
+ }
306
+ var fn = (0, _customs.getSafeProperty)(math, this.fn);
307
+ var evalArgs = (0, _array.map)(this.args, function (arg) {
308
+ return arg._compile(math, argNames);
309
+ });
310
+ if (typeof fn === 'function' && fn.rawArgs === true) {
311
+ // pass unevaluated parameters (nodes) to the function
312
+ // "raw" evaluation
313
+ var rawArgs = this.args;
314
+ return function evalOperatorNode(scope, args, context) {
315
+ return fn(rawArgs, math, scope);
316
+ };
317
+ } else if (evalArgs.length === 1) {
318
+ var evalArg0 = evalArgs[0];
319
+ return function evalOperatorNode(scope, args, context) {
320
+ return fn(evalArg0(scope, args, context));
321
+ };
322
+ } else if (evalArgs.length === 2) {
323
+ var _evalArg = evalArgs[0];
324
+ var evalArg1 = evalArgs[1];
325
+ return function evalOperatorNode(scope, args, context) {
326
+ return fn(_evalArg(scope, args, context), evalArg1(scope, args, context));
327
+ };
328
+ } else {
329
+ return function evalOperatorNode(scope, args, context) {
330
+ return fn.apply(null, (0, _array.map)(evalArgs, function (evalArg) {
331
+ return evalArg(scope, args, context);
332
+ }));
333
+ };
454
334
  }
455
-
456
- return arg;
457
- });
458
-
459
- if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
460
- return stringifiedArgs.join(' ');
461
335
  }
462
336
 
463
- return stringifiedArgs.join(' ' + this.op + ' ');
464
- } else {
465
- // fallback to formatting as a function call
466
- return this.fn + '(' + this.args.join(', ') + ')';
467
- }
468
- };
469
- /**
470
- * Get a JSON representation of the node
471
- * @returns {Object}
472
- */
473
-
474
-
475
- OperatorNode.prototype.toJSON = function () {
476
- return {
477
- mathjs: 'OperatorNode',
478
- op: this.op,
479
- fn: this.fn,
480
- args: this.args,
481
- implicit: this.implicit
482
- };
483
- };
484
- /**
485
- * Instantiate an OperatorNode from its JSON representation
486
- * @param {Object} json An object structured like
487
- * `{"mathjs": "OperatorNode", "op": "+", "fn": "add", "args": [...], "implicit": false}`,
488
- * where mathjs is optional
489
- * @returns {OperatorNode}
490
- */
491
-
492
-
493
- OperatorNode.fromJSON = function (json) {
494
- return new OperatorNode(json.op, json.fn, json.args, json.implicit);
495
- };
496
- /**
497
- * Get HTML representation.
498
- * @param {Object} options
499
- * @return {string} str
500
- */
501
-
502
-
503
- OperatorNode.prototype.toHTML = function (options) {
504
- var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
505
- var implicit = options && options.implicit ? options.implicit : 'hide';
506
- var args = this.args;
507
- var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, false);
508
-
509
- if (args.length === 1) {
510
- // unary operators
511
- var assoc = (0, _operators.getAssociativity)(this, parenthesis);
512
- var operand = args[0].toHTML(options);
513
-
514
- if (parens[0]) {
515
- operand = '<span class="math-parenthesis math-round-parenthesis">(</span>' + operand + '<span class="math-parenthesis math-round-parenthesis">)</span>';
337
+ /**
338
+ * Execute a callback for each of the child nodes of this node
339
+ * @param {function(child: Node, path: string, parent: Node)} callback
340
+ */
341
+ }, {
342
+ key: "forEach",
343
+ value: function forEach(callback) {
344
+ for (var i = 0; i < this.args.length; i++) {
345
+ callback(this.args[i], 'args[' + i + ']', this);
346
+ }
516
347
  }
517
348
 
518
- if (assoc === 'right') {
519
- // prefix operator
520
- return '<span class="math-operator math-unary-operator math-lefthand-unary-operator">' + (0, _string.escape)(this.op) + '</span>' + operand;
521
- } else {
522
- // postfix when assoc === 'left' or undefined
523
- return operand + '<span class="math-operator math-unary-operator math-righthand-unary-operator">' + (0, _string.escape)(this.op) + '</span>';
349
+ /**
350
+ * Create a new OperatorNode whose children are the results of calling
351
+ * the provided callback function for each child of the original node.
352
+ * @param {function(child: Node, path: string, parent: Node): Node} callback
353
+ * @returns {OperatorNode} Returns a transformed copy of the node
354
+ */
355
+ }, {
356
+ key: "map",
357
+ value: function map(callback) {
358
+ var args = [];
359
+ for (var i = 0; i < this.args.length; i++) {
360
+ args[i] = this._ifNode(callback(this.args[i], 'args[' + i + ']', this));
361
+ }
362
+ return new OperatorNode(this.op, this.fn, args, this.implicit, this.isPercentage);
524
363
  }
525
- } else if (args.length === 2) {
526
- // binary operatoes
527
- var lhs = args[0].toHTML(options); // left hand side
528
364
 
529
- var rhs = args[1].toHTML(options); // right hand side
530
-
531
- if (parens[0]) {
532
- // left hand side in parenthesis?
533
- lhs = '<span class="math-parenthesis math-round-parenthesis">(</span>' + lhs + '<span class="math-parenthesis math-round-parenthesis">)</span>';
365
+ /**
366
+ * Create a clone of this node, a shallow copy
367
+ * @return {OperatorNode}
368
+ */
369
+ }, {
370
+ key: "clone",
371
+ value: function clone() {
372
+ return new OperatorNode(this.op, this.fn, this.args.slice(0), this.implicit, this.isPercentage);
534
373
  }
535
374
 
536
- if (parens[1]) {
537
- // right hand side in parenthesis?
538
- rhs = '<span class="math-parenthesis math-round-parenthesis">(</span>' + rhs + '<span class="math-parenthesis math-round-parenthesis">)</span>';
375
+ /**
376
+ * Check whether this is an unary OperatorNode:
377
+ * has exactly one argument, like `-a`.
378
+ * @return {boolean}
379
+ * Returns true when an unary operator node, false otherwise.
380
+ */
381
+ }, {
382
+ key: "isUnary",
383
+ value: function isUnary() {
384
+ return this.args.length === 1;
539
385
  }
540
386
 
541
- if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
542
- return lhs + '<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>' + rhs;
387
+ /**
388
+ * Check whether this is a binary OperatorNode:
389
+ * has exactly two arguments, like `a + b`.
390
+ * @return {boolean}
391
+ * Returns true when a binary operator node, false otherwise.
392
+ */
393
+ }, {
394
+ key: "isBinary",
395
+ value: function isBinary() {
396
+ return this.args.length === 2;
543
397
  }
544
398
 
545
- return lhs + '<span class="math-operator math-binary-operator math-explicit-binary-operator">' + (0, _string.escape)(this.op) + '</span>' + rhs;
546
- } else {
547
- var stringifiedArgs = args.map(function (arg, index) {
548
- arg = arg.toHTML(options);
549
-
550
- if (parens[index]) {
551
- // put in parenthesis?
552
- arg = '<span class="math-parenthesis math-round-parenthesis">(</span>' + arg + '<span class="math-parenthesis math-round-parenthesis">)</span>';
553
- }
399
+ /**
400
+ * Get string representation.
401
+ * @param {Object} options
402
+ * @return {string} str
403
+ */
404
+ }, {
405
+ key: "_toString",
406
+ value: function _toString(options) {
407
+ var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
408
+ var implicit = options && options.implicit ? options.implicit : 'hide';
409
+ var args = this.args;
410
+ var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, false);
411
+ if (args.length === 1) {
412
+ // unary operators
413
+ var assoc = (0, _operators.getAssociativity)(this, parenthesis);
414
+ var operand = args[0].toString(options);
415
+ if (parens[0]) {
416
+ operand = '(' + operand + ')';
417
+ }
554
418
 
555
- return arg;
556
- });
419
+ // for example for "not", we want a space between operand and argument
420
+ var opIsNamed = /[a-zA-Z]+/.test(this.op);
421
+ if (assoc === 'right') {
422
+ // prefix operator
423
+ return this.op + (opIsNamed ? ' ' : '') + operand;
424
+ } else if (assoc === 'left') {
425
+ // postfix
426
+ return operand + (opIsNamed ? ' ' : '') + this.op;
427
+ }
557
428
 
558
- if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
559
- if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
560
- return stringifiedArgs.join('<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>');
429
+ // fall back to postfix
430
+ return operand + this.op;
431
+ } else if (args.length === 2) {
432
+ var lhs = args[0].toString(options); // left hand side
433
+ var rhs = args[1].toString(options); // right hand side
434
+ if (parens[0]) {
435
+ // left hand side in parenthesis?
436
+ lhs = '(' + lhs + ')';
437
+ }
438
+ if (parens[1]) {
439
+ // right hand side in parenthesis?
440
+ rhs = '(' + rhs + ')';
441
+ }
442
+ if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
443
+ return lhs + ' ' + rhs;
444
+ }
445
+ return lhs + ' ' + this.op + ' ' + rhs;
446
+ } else if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
447
+ var stringifiedArgs = args.map(function (arg, index) {
448
+ arg = arg.toString(options);
449
+ if (parens[index]) {
450
+ // put in parenthesis?
451
+ arg = '(' + arg + ')';
452
+ }
453
+ return arg;
454
+ });
455
+ if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
456
+ return stringifiedArgs.join(' ');
457
+ }
458
+ return stringifiedArgs.join(' ' + this.op + ' ');
459
+ } else {
460
+ // fallback to formatting as a function call
461
+ return this.fn + '(' + this.args.join(', ') + ')';
561
462
  }
562
-
563
- return stringifiedArgs.join('<span class="math-operator math-binary-operator math-explicit-binary-operator">' + (0, _string.escape)(this.op) + '</span>');
564
- } else {
565
- // fallback to formatting as a function call
566
- return '<span class="math-function">' + (0, _string.escape)(this.fn) + '</span><span class="math-paranthesis math-round-parenthesis">(</span>' + stringifiedArgs.join('<span class="math-separator">,</span>') + '<span class="math-paranthesis math-round-parenthesis">)</span>';
567
- }
568
- }
569
- };
570
- /**
571
- * Get LaTeX representation
572
- * @param {Object} options
573
- * @return {string} str
574
- */
575
-
576
-
577
- OperatorNode.prototype._toTex = function (options) {
578
- var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
579
- var implicit = options && options.implicit ? options.implicit : 'hide';
580
- var args = this.args;
581
- var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, true);
582
- var op = _latex.latexOperators[this.fn];
583
- op = typeof op === 'undefined' ? this.op : op; // fall back to using this.op
584
-
585
- if (args.length === 1) {
586
- // unary operators
587
- var assoc = (0, _operators.getAssociativity)(this, parenthesis);
588
- var operand = args[0].toTex(options);
589
-
590
- if (parens[0]) {
591
- operand = "\\left(".concat(operand, "\\right)");
592
463
  }
593
464
 
594
- if (assoc === 'right') {
595
- // prefix operator
596
- return op + operand;
597
- } else if (assoc === 'left') {
598
- // postfix operator
599
- return operand + op;
600
- } // fall back to postfix
601
-
602
-
603
- return operand + op;
604
- } else if (args.length === 2) {
605
- // binary operators
606
- var lhs = args[0]; // left hand side
607
-
608
- var lhsTex = lhs.toTex(options);
609
-
610
- if (parens[0]) {
611
- lhsTex = "\\left(".concat(lhsTex, "\\right)");
465
+ /**
466
+ * Get a JSON representation of the node
467
+ * @returns {Object}
468
+ */
469
+ }, {
470
+ key: "toJSON",
471
+ value: function toJSON() {
472
+ return {
473
+ mathjs: name,
474
+ op: this.op,
475
+ fn: this.fn,
476
+ args: this.args,
477
+ implicit: this.implicit,
478
+ isPercentage: this.isPercentage
479
+ };
612
480
  }
613
481
 
614
- var rhs = args[1]; // right hand side
615
-
616
- var rhsTex = rhs.toTex(options);
617
-
618
- if (parens[1]) {
619
- rhsTex = "\\left(".concat(rhsTex, "\\right)");
620
- } // handle some exceptions (due to the way LaTeX works)
621
-
622
-
623
- var lhsIdentifier;
624
-
625
- if (parenthesis === 'keep') {
626
- lhsIdentifier = lhs.getIdentifier();
627
- } else {
628
- // Ignore ParenthesisNodes if in 'keep' mode
629
- lhsIdentifier = lhs.getContent().getIdentifier();
482
+ /**
483
+ * Instantiate an OperatorNode from its JSON representation
484
+ * @param {Object} json
485
+ * An object structured like
486
+ * ```
487
+ * {"mathjs": "OperatorNode",
488
+ * "op": "+", "fn": "add", "args": [...],
489
+ * "implicit": false,
490
+ * "isPercentage":false}
491
+ * ```
492
+ * where mathjs is optional
493
+ * @returns {OperatorNode}
494
+ */
495
+ }, {
496
+ key: "_toHTML",
497
+ value:
498
+ /**
499
+ * Get HTML representation.
500
+ * @param {Object} options
501
+ * @return {string} str
502
+ */
503
+ function _toHTML(options) {
504
+ var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
505
+ var implicit = options && options.implicit ? options.implicit : 'hide';
506
+ var args = this.args;
507
+ var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, false);
508
+ if (args.length === 1) {
509
+ // unary operators
510
+ var assoc = (0, _operators.getAssociativity)(this, parenthesis);
511
+ var operand = args[0].toHTML(options);
512
+ if (parens[0]) {
513
+ operand = '<span class="math-parenthesis math-round-parenthesis">(</span>' + operand + '<span class="math-parenthesis math-round-parenthesis">)</span>';
514
+ }
515
+ if (assoc === 'right') {
516
+ // prefix operator
517
+ return '<span class="math-operator math-unary-operator ' + 'math-lefthand-unary-operator">' + (0, _string.escape)(this.op) + '</span>' + operand;
518
+ } else {
519
+ // postfix when assoc === 'left' or undefined
520
+ return operand + '<span class="math-operator math-unary-operator ' + 'math-righthand-unary-operator">' + (0, _string.escape)(this.op) + '</span>';
521
+ }
522
+ } else if (args.length === 2) {
523
+ // binary operatoes
524
+ var lhs = args[0].toHTML(options); // left hand side
525
+ var rhs = args[1].toHTML(options); // right hand side
526
+ if (parens[0]) {
527
+ // left hand side in parenthesis?
528
+ lhs = '<span class="math-parenthesis math-round-parenthesis">(</span>' + lhs + '<span class="math-parenthesis math-round-parenthesis">)</span>';
529
+ }
530
+ if (parens[1]) {
531
+ // right hand side in parenthesis?
532
+ rhs = '<span class="math-parenthesis math-round-parenthesis">(</span>' + rhs + '<span class="math-parenthesis math-round-parenthesis">)</span>';
533
+ }
534
+ if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
535
+ return lhs + '<span class="math-operator math-binary-operator ' + 'math-implicit-binary-operator"></span>' + rhs;
536
+ }
537
+ return lhs + '<span class="math-operator math-binary-operator ' + 'math-explicit-binary-operator">' + (0, _string.escape)(this.op) + '</span>' + rhs;
538
+ } else {
539
+ var stringifiedArgs = args.map(function (arg, index) {
540
+ arg = arg.toHTML(options);
541
+ if (parens[index]) {
542
+ // put in parenthesis?
543
+ arg = '<span class="math-parenthesis math-round-parenthesis">(</span>' + arg + '<span class="math-parenthesis math-round-parenthesis">)</span>';
544
+ }
545
+ return arg;
546
+ });
547
+ if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
548
+ if (this.implicit && this.getIdentifier() === 'OperatorNode:multiply' && implicit === 'hide') {
549
+ return stringifiedArgs.join('<span class="math-operator math-binary-operator ' + 'math-implicit-binary-operator"></span>');
550
+ }
551
+ return stringifiedArgs.join('<span class="math-operator math-binary-operator ' + 'math-explicit-binary-operator">' + (0, _string.escape)(this.op) + '</span>');
552
+ } else {
553
+ // fallback to formatting as a function call
554
+ return '<span class="math-function">' + (0, _string.escape)(this.fn) + '</span><span class="math-paranthesis math-round-parenthesis">' + '(</span>' + stringifiedArgs.join('<span class="math-separator">,</span>') + '<span class="math-paranthesis math-round-parenthesis">)</span>';
555
+ }
556
+ }
630
557
  }
631
558
 
632
- switch (this.getIdentifier()) {
633
- case 'OperatorNode:divide':
634
- // op contains '\\frac' at this point
635
- return op + '{' + lhsTex + '}' + '{' + rhsTex + '}';
636
-
637
- case 'OperatorNode:pow':
638
- lhsTex = '{' + lhsTex + '}';
639
- rhsTex = '{' + rhsTex + '}';
559
+ /**
560
+ * Get LaTeX representation
561
+ * @param {Object} options
562
+ * @return {string} str
563
+ */
564
+ }, {
565
+ key: "_toTex",
566
+ value: function _toTex(options) {
567
+ var parenthesis = options && options.parenthesis ? options.parenthesis : 'keep';
568
+ var implicit = options && options.implicit ? options.implicit : 'hide';
569
+ var args = this.args;
570
+ var parens = calculateNecessaryParentheses(this, parenthesis, implicit, args, true);
571
+ var op = _latex.latexOperators[this.fn];
572
+ op = typeof op === 'undefined' ? this.op : op; // fall back to using this.op
573
+
574
+ if (args.length === 1) {
575
+ // unary operators
576
+ var assoc = (0, _operators.getAssociativity)(this, parenthesis);
577
+ var operand = args[0].toTex(options);
578
+ if (parens[0]) {
579
+ operand = "\\left(".concat(operand, "\\right)");
580
+ }
581
+ if (assoc === 'right') {
582
+ // prefix operator
583
+ return op + operand;
584
+ } else if (assoc === 'left') {
585
+ // postfix operator
586
+ return operand + op;
587
+ }
640
588
 
641
- switch (lhsIdentifier) {
642
- case 'ConditionalNode': //
589
+ // fall back to postfix
590
+ return operand + op;
591
+ } else if (args.length === 2) {
592
+ // binary operators
593
+ var lhs = args[0]; // left hand side
594
+ var lhsTex = lhs.toTex(options);
595
+ if (parens[0]) {
596
+ lhsTex = "\\left(".concat(lhsTex, "\\right)");
597
+ }
598
+ var rhs = args[1]; // right hand side
599
+ var rhsTex = rhs.toTex(options);
600
+ if (parens[1]) {
601
+ rhsTex = "\\left(".concat(rhsTex, "\\right)");
602
+ }
643
603
 
604
+ // handle some exceptions (due to the way LaTeX works)
605
+ var lhsIdentifier;
606
+ if (parenthesis === 'keep') {
607
+ lhsIdentifier = lhs.getIdentifier();
608
+ } else {
609
+ // Ignore ParenthesisNodes if in 'keep' mode
610
+ lhsIdentifier = lhs.getContent().getIdentifier();
611
+ }
612
+ switch (this.getIdentifier()) {
644
613
  case 'OperatorNode:divide':
645
- lhsTex = "\\left(".concat(lhsTex, "\\right)");
614
+ // op contains '\\frac' at this point
615
+ return op + '{' + lhsTex + '}' + '{' + rhsTex + '}';
616
+ case 'OperatorNode:pow':
617
+ lhsTex = '{' + lhsTex + '}';
618
+ rhsTex = '{' + rhsTex + '}';
619
+ switch (lhsIdentifier) {
620
+ case 'ConditionalNode': //
621
+ case 'OperatorNode:divide':
622
+ lhsTex = "\\left(".concat(lhsTex, "\\right)");
623
+ }
624
+ break;
625
+ case 'OperatorNode:multiply':
626
+ if (this.implicit && implicit === 'hide') {
627
+ return lhsTex + '~' + rhsTex;
628
+ }
646
629
  }
647
-
648
- break;
649
-
650
- case 'OperatorNode:multiply':
651
- if (this.implicit && implicit === 'hide') {
652
- return lhsTex + '~' + rhsTex;
630
+ return lhsTex + op + rhsTex;
631
+ } else if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
632
+ var texifiedArgs = args.map(function (arg, index) {
633
+ arg = arg.toTex(options);
634
+ if (parens[index]) {
635
+ arg = "\\left(".concat(arg, "\\right)");
636
+ }
637
+ return arg;
638
+ });
639
+ if (this.getIdentifier() === 'OperatorNode:multiply' && this.implicit && implicit === 'hide') {
640
+ return texifiedArgs.join('~');
653
641
  }
654
-
655
- }
656
-
657
- return lhsTex + op + rhsTex;
658
- } else if (args.length > 2 && (this.getIdentifier() === 'OperatorNode:add' || this.getIdentifier() === 'OperatorNode:multiply')) {
659
- var texifiedArgs = args.map(function (arg, index) {
660
- arg = arg.toTex(options);
661
-
662
- if (parens[index]) {
663
- arg = "\\left(".concat(arg, "\\right)");
642
+ return texifiedArgs.join(op);
643
+ } else {
644
+ // fall back to formatting as a function call
645
+ // as this is a fallback, it doesn't use
646
+ // fancy function names
647
+ return '\\mathrm{' + this.fn + '}\\left(' + args.map(function (arg) {
648
+ return arg.toTex(options);
649
+ }).join(',') + '\\right)';
664
650
  }
665
-
666
- return arg;
667
- });
668
-
669
- if (this.getIdentifier() === 'OperatorNode:multiply' && this.implicit) {
670
- return texifiedArgs.join('~');
671
651
  }
672
652
 
673
- return texifiedArgs.join(op);
674
- } else {
675
- // fall back to formatting as a function call
676
- // as this is a fallback, it doesn't use
677
- // fancy function names
678
- return '\\mathrm{' + this.fn + '}\\left(' + args.map(function (arg) {
679
- return arg.toTex(options);
680
- }).join(',') + '\\right)';
681
- }
682
- };
683
- /**
684
- * Get identifier.
685
- * @return {string}
686
- */
687
-
688
-
689
- OperatorNode.prototype.getIdentifier = function () {
690
- return this.type + ':' + this.fn;
691
- };
692
-
653
+ /**
654
+ * Get identifier.
655
+ * @return {string}
656
+ */
657
+ }, {
658
+ key: "getIdentifier",
659
+ value: function getIdentifier() {
660
+ return this.type + ':' + this.fn;
661
+ }
662
+ }], [{
663
+ key: "fromJSON",
664
+ value: function fromJSON(json) {
665
+ return new OperatorNode(json.op, json.fn, json.args, json.implicit, json.isPercentage);
666
+ }
667
+ }]);
668
+ return OperatorNode;
669
+ }(Node);
670
+ (0, _defineProperty2["default"])(OperatorNode, "name", name);
693
671
  return OperatorNode;
694
672
  }, {
695
673
  isClass: true,
696
674
  isNode: true
697
- });
698
- exports.createOperatorNode = createOperatorNode;
675
+ });