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,12 +1,11 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ import _extends from "@babel/runtime/helpers/extends";
3
2
  import { factory } from '../utils/factory.js';
4
- import { isAccessorNode, isConstantNode, isFunctionNode, isOperatorNode, isSymbolNode } from '../utils/is.js';
3
+ import { isAccessorNode, isConstantNode, isFunctionNode, isOperatorNode, isSymbolNode, rule2Node } from '../utils/is.js';
5
4
  import { deepMap } from '../utils/collection.js';
6
5
  import { hasOwnProperty } from '../utils/object.js';
7
6
  var name = 'parse';
8
7
  var dependencies = ['typed', 'numeric', 'config', 'AccessorNode', 'ArrayNode', 'AssignmentNode', 'BlockNode', 'ConditionalNode', 'ConstantNode', 'FunctionAssignmentNode', 'FunctionNode', 'IndexNode', 'ObjectNode', 'OperatorNode', 'ParenthesisNode', 'RangeNode', 'RelationalNode', 'SymbolNode'];
9
- export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
8
+ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
10
9
  var {
11
10
  typed,
12
11
  numeric,
@@ -27,7 +26,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
27
26
  RelationalNode,
28
27
  SymbolNode
29
28
  } = _ref;
30
-
31
29
  /**
32
30
  * Parse an expression. Returns a node tree, which can be evaluated by
33
31
  * invoking node.evaluate().
@@ -80,26 +78,27 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
80
78
  },
81
79
  'Array | Matrix, Object': parseMultiple
82
80
  });
83
-
84
81
  function parseMultiple(expressions) {
85
82
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
86
- var extraNodes = options.nodes !== undefined ? options.nodes : {}; // parse an array or matrix with expressions
83
+ var extraNodes = options.nodes !== undefined ? options.nodes : {};
87
84
 
85
+ // parse an array or matrix with expressions
88
86
  return deepMap(expressions, function (elem) {
89
87
  if (typeof elem !== 'string') throw new TypeError('String expected');
90
88
  return parseStart(elem, extraNodes);
91
89
  });
92
- } // token types enumeration
93
-
90
+ }
94
91
 
92
+ // token types enumeration
95
93
  var TOKENTYPE = {
96
94
  NULL: 0,
97
95
  DELIMITER: 1,
98
96
  NUMBER: 2,
99
97
  SYMBOL: 3,
100
98
  UNKNOWN: 4
101
- }; // map with all delimiters
99
+ };
102
100
 
101
+ // map with all delimiters
103
102
  var DELIMITERS = {
104
103
  ',': true,
105
104
  '(': true,
@@ -137,8 +136,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
137
136
  '<<': true,
138
137
  '>>': true,
139
138
  '>>>': true
140
- }; // map with all named delimiters
139
+ };
141
140
 
141
+ // map with all named delimiters
142
142
  var NAMED_DELIMITERS = {
143
143
  mod: true,
144
144
  to: true,
@@ -152,10 +152,21 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
152
152
  true: true,
153
153
  false: false,
154
154
  null: null,
155
- undefined: undefined
155
+ undefined
156
156
  };
157
157
  var NUMERIC_CONSTANTS = ['NaN', 'Infinity'];
158
-
158
+ var ESCAPE_CHARACTERS = {
159
+ '"': '"',
160
+ "'": "'",
161
+ '\\': '\\',
162
+ '/': '/',
163
+ b: '\b',
164
+ f: '\f',
165
+ n: '\n',
166
+ r: '\r',
167
+ t: '\t'
168
+ // note that \u is handled separately in parseStringToken()
169
+ };
159
170
  function initialState() {
160
171
  return {
161
172
  extraNodes: {},
@@ -173,9 +184,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
173
184
  nestingLevel: 0,
174
185
  // level of nesting inside parameters, used to ignore newline characters
175
186
  conditionalLevel: null // when a conditional is being parsed, the level of the conditional is stored here
176
-
177
187
  };
178
188
  }
189
+
179
190
  /**
180
191
  * View upto `length` characters of the expression starting at the current character.
181
192
  *
@@ -184,11 +195,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
184
195
  * @returns {string}
185
196
  * @private
186
197
  */
187
-
188
-
189
198
  function currentString(state, length) {
190
199
  return state.expression.substr(state.index, length);
191
200
  }
201
+
192
202
  /**
193
203
  * View the current character. Returns '' if end of expression is reached.
194
204
  *
@@ -196,86 +206,82 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
196
206
  * @returns {string}
197
207
  * @private
198
208
  */
199
-
200
-
201
209
  function currentCharacter(state) {
202
210
  return currentString(state, 1);
203
211
  }
212
+
204
213
  /**
205
214
  * Get the next character from the expression.
206
215
  * The character is stored into the char c. If the end of the expression is
207
216
  * reached, the function puts an empty string in c.
208
217
  * @private
209
218
  */
210
-
211
-
212
219
  function next(state) {
213
220
  state.index++;
214
221
  }
222
+
215
223
  /**
216
224
  * Preview the previous character from the expression.
217
225
  * @return {string} cNext
218
226
  * @private
219
227
  */
220
-
221
-
222
228
  function prevCharacter(state) {
223
229
  return state.expression.charAt(state.index - 1);
224
230
  }
231
+
225
232
  /**
226
233
  * Preview the next character from the expression.
227
234
  * @return {string} cNext
228
235
  * @private
229
236
  */
230
-
231
-
232
237
  function nextCharacter(state) {
233
238
  return state.expression.charAt(state.index + 1);
234
239
  }
240
+
235
241
  /**
236
242
  * Get next token in the current string expr.
237
243
  * The token and token type are available as token and tokenType
238
244
  * @private
239
245
  */
240
-
241
-
242
246
  function getToken(state) {
243
247
  state.tokenType = TOKENTYPE.NULL;
244
248
  state.token = '';
245
- state.comment = ''; // skip over whitespaces
246
- // space, tab, and newline when inside parameters
247
-
248
- while (parse.isWhitespace(currentCharacter(state), state.nestingLevel)) {
249
- next(state);
250
- } // skip comment
251
-
249
+ state.comment = '';
252
250
 
253
- if (currentCharacter(state) === '#') {
254
- while (currentCharacter(state) !== '\n' && currentCharacter(state) !== '') {
255
- state.comment += currentCharacter(state);
251
+ // skip over ignored characters:
252
+ while (true) {
253
+ // comments:
254
+ if (currentCharacter(state) === '#') {
255
+ while (currentCharacter(state) !== '\n' && currentCharacter(state) !== '') {
256
+ state.comment += currentCharacter(state);
257
+ next(state);
258
+ }
259
+ }
260
+ // whitespace: space, tab, and newline when inside parameters
261
+ if (parse.isWhitespace(currentCharacter(state), state.nestingLevel)) {
256
262
  next(state);
263
+ } else {
264
+ break;
257
265
  }
258
- } // check for end of expression
259
-
266
+ }
260
267
 
268
+ // check for end of expression
261
269
  if (currentCharacter(state) === '') {
262
270
  // token is still empty
263
271
  state.tokenType = TOKENTYPE.DELIMITER;
264
272
  return;
265
- } // check for new line character
266
-
273
+ }
267
274
 
275
+ // check for new line character
268
276
  if (currentCharacter(state) === '\n' && !state.nestingLevel) {
269
277
  state.tokenType = TOKENTYPE.DELIMITER;
270
278
  state.token = currentCharacter(state);
271
279
  next(state);
272
280
  return;
273
281
  }
274
-
275
282
  var c1 = currentCharacter(state);
276
283
  var c2 = currentString(state, 2);
277
284
  var c3 = currentString(state, 3);
278
-
279
285
  if (c3.length === 3 && DELIMITERS[c3]) {
280
286
  state.tokenType = TOKENTYPE.DELIMITER;
281
287
  state.token = c3;
@@ -283,92 +289,102 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
283
289
  next(state);
284
290
  next(state);
285
291
  return;
286
- } // check for delimiters consisting of 2 characters
287
-
292
+ }
288
293
 
294
+ // check for delimiters consisting of 2 characters
289
295
  if (c2.length === 2 && DELIMITERS[c2]) {
290
296
  state.tokenType = TOKENTYPE.DELIMITER;
291
297
  state.token = c2;
292
298
  next(state);
293
299
  next(state);
294
300
  return;
295
- } // check for delimiters consisting of 1 character
296
-
301
+ }
297
302
 
303
+ // check for delimiters consisting of 1 character
298
304
  if (DELIMITERS[c1]) {
299
305
  state.tokenType = TOKENTYPE.DELIMITER;
300
306
  state.token = c1;
301
307
  next(state);
302
308
  return;
303
- } // check for a number
304
-
309
+ }
305
310
 
311
+ // check for a number
306
312
  if (parse.isDigitDot(c1)) {
307
- state.tokenType = TOKENTYPE.NUMBER; // check for binary, octal, or hex
313
+ state.tokenType = TOKENTYPE.NUMBER;
308
314
 
315
+ // check for binary, octal, or hex
309
316
  var _c = currentString(state, 2);
310
-
311
317
  if (_c === '0b' || _c === '0o' || _c === '0x') {
312
318
  state.token += currentCharacter(state);
313
319
  next(state);
314
320
  state.token += currentCharacter(state);
315
321
  next(state);
316
-
317
322
  while (parse.isHexDigit(currentCharacter(state))) {
318
323
  state.token += currentCharacter(state);
319
324
  next(state);
320
325
  }
321
-
326
+ if (currentCharacter(state) === '.') {
327
+ // this number has a radix point
328
+ state.token += '.';
329
+ next(state);
330
+ // get the digits after the radix
331
+ while (parse.isHexDigit(currentCharacter(state))) {
332
+ state.token += currentCharacter(state);
333
+ next(state);
334
+ }
335
+ } else if (currentCharacter(state) === 'i') {
336
+ // this number has a word size suffix
337
+ state.token += 'i';
338
+ next(state);
339
+ // get the word size
340
+ while (parse.isDigit(currentCharacter(state))) {
341
+ state.token += currentCharacter(state);
342
+ next(state);
343
+ }
344
+ }
322
345
  return;
323
- } // get number, can have a single dot
324
-
346
+ }
325
347
 
348
+ // get number, can have a single dot
326
349
  if (currentCharacter(state) === '.') {
327
350
  state.token += currentCharacter(state);
328
351
  next(state);
329
-
330
352
  if (!parse.isDigit(currentCharacter(state))) {
331
353
  // this is no number, it is just a dot (can be dot notation)
332
354
  state.tokenType = TOKENTYPE.DELIMITER;
355
+ return;
333
356
  }
334
357
  } else {
335
358
  while (parse.isDigit(currentCharacter(state))) {
336
359
  state.token += currentCharacter(state);
337
360
  next(state);
338
361
  }
339
-
340
362
  if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
341
363
  state.token += currentCharacter(state);
342
364
  next(state);
343
365
  }
344
366
  }
345
-
346
367
  while (parse.isDigit(currentCharacter(state))) {
347
368
  state.token += currentCharacter(state);
348
369
  next(state);
349
- } // check for exponential notation like "2.3e-4", "1.23e50" or "2e+4"
350
-
351
-
370
+ }
371
+ // check for exponential notation like "2.3e-4", "1.23e50" or "2e+4"
352
372
  if (currentCharacter(state) === 'E' || currentCharacter(state) === 'e') {
353
373
  if (parse.isDigit(nextCharacter(state)) || nextCharacter(state) === '-' || nextCharacter(state) === '+') {
354
374
  state.token += currentCharacter(state);
355
375
  next(state);
356
-
357
376
  if (currentCharacter(state) === '+' || currentCharacter(state) === '-') {
358
377
  state.token += currentCharacter(state);
359
378
  next(state);
360
- } // Scientific notation MUST be followed by an exponent
361
-
362
-
379
+ }
380
+ // Scientific notation MUST be followed by an exponent
363
381
  if (!parse.isDigit(currentCharacter(state))) {
364
382
  throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
365
383
  }
366
-
367
384
  while (parse.isDigit(currentCharacter(state))) {
368
385
  state.token += currentCharacter(state);
369
386
  next(state);
370
387
  }
371
-
372
388
  if (parse.isDecimalMark(currentCharacter(state), nextCharacter(state))) {
373
389
  throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
374
390
  }
@@ -377,65 +393,57 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
377
393
  throw createSyntaxError(state, 'Digit expected, got "' + currentCharacter(state) + '"');
378
394
  }
379
395
  }
380
-
381
396
  return;
382
- } // check for variables, functions, named operators
383
-
397
+ }
384
398
 
399
+ // check for variables, functions, named operators
385
400
  if (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state))) {
386
401
  while (parse.isAlpha(currentCharacter(state), prevCharacter(state), nextCharacter(state)) || parse.isDigit(currentCharacter(state))) {
387
402
  state.token += currentCharacter(state);
388
403
  next(state);
389
404
  }
390
-
391
405
  if (hasOwnProperty(NAMED_DELIMITERS, state.token)) {
392
406
  state.tokenType = TOKENTYPE.DELIMITER;
393
407
  } else {
394
408
  state.tokenType = TOKENTYPE.SYMBOL;
395
409
  }
396
-
397
410
  return;
398
- } // something unknown is found, wrong characters -> a syntax error
399
-
411
+ }
400
412
 
413
+ // something unknown is found, wrong characters -> a syntax error
401
414
  state.tokenType = TOKENTYPE.UNKNOWN;
402
-
403
415
  while (currentCharacter(state) !== '') {
404
416
  state.token += currentCharacter(state);
405
417
  next(state);
406
418
  }
407
-
408
419
  throw createSyntaxError(state, 'Syntax error in part "' + state.token + '"');
409
420
  }
421
+
410
422
  /**
411
423
  * Get next token and skip newline tokens
412
424
  */
413
-
414
-
415
425
  function getTokenSkipNewline(state) {
416
426
  do {
417
427
  getToken(state);
418
428
  } while (state.token === '\n'); // eslint-disable-line no-unmodified-loop-condition
419
-
420
429
  }
430
+
421
431
  /**
422
432
  * Open parameters.
423
433
  * New line characters will be ignored until closeParams(state) is called
424
434
  */
425
-
426
-
427
435
  function openParams(state) {
428
436
  state.nestingLevel++;
429
437
  }
438
+
430
439
  /**
431
440
  * Close parameters.
432
441
  * New line characters will no longer be ignored
433
442
  */
434
-
435
-
436
443
  function closeParams(state) {
437
444
  state.nestingLevel--;
438
445
  }
446
+
439
447
  /**
440
448
  * Checks whether the current character `c` is a valid alpha character:
441
449
  *
@@ -454,21 +462,19 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
454
462
  * @param {string} cNext Next character
455
463
  * @return {boolean}
456
464
  */
457
-
458
-
459
465
  parse.isAlpha = function isAlpha(c, cPrev, cNext) {
460
466
  return parse.isValidLatinOrGreek(c) || parse.isValidMathSymbol(c, cNext) || parse.isValidMathSymbol(cPrev, c);
461
467
  };
468
+
462
469
  /**
463
470
  * Test whether a character is a valid latin, greek, or letter-like character
464
471
  * @param {string} c
465
472
  * @return {boolean}
466
473
  */
467
-
468
-
469
474
  parse.isValidLatinOrGreek = function isValidLatinOrGreek(c) {
470
475
  return /^[a-zA-Z_$\u00C0-\u02AF\u0370-\u03FF\u2100-\u214F]$/.test(c);
471
476
  };
477
+
472
478
  /**
473
479
  * Test whether two given 16 bit characters form a surrogate pair of a
474
480
  * unicode math symbol.
@@ -484,23 +490,21 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
484
490
  * @param {string} low
485
491
  * @return {boolean}
486
492
  */
487
-
488
-
489
493
  parse.isValidMathSymbol = function isValidMathSymbol(high, low) {
490
494
  return /^[\uD835]$/.test(high) && /^[\uDC00-\uDFFF]$/.test(low) && /^[^\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]$/.test(low);
491
495
  };
496
+
492
497
  /**
493
498
  * Check whether given character c is a white space character: space, tab, or enter
494
499
  * @param {string} c
495
500
  * @param {number} nestingLevel
496
501
  * @return {boolean}
497
502
  */
498
-
499
-
500
503
  parse.isWhitespace = function isWhitespace(c, nestingLevel) {
501
504
  // TODO: also take '\r' carriage return as newline? Or does that give problems on mac?
502
505
  return c === ' ' || c === '\t' || c === '\n' && nestingLevel > 0;
503
506
  };
507
+
504
508
  /**
505
509
  * Test whether the character c is a decimal mark (dot).
506
510
  * This is the case when it's not the start of a delimiter '.*', './', or '.^'
@@ -508,72 +512,66 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
508
512
  * @param {string} cNext
509
513
  * @return {boolean}
510
514
  */
511
-
512
-
513
515
  parse.isDecimalMark = function isDecimalMark(c, cNext) {
514
516
  return c === '.' && cNext !== '/' && cNext !== '*' && cNext !== '^';
515
517
  };
518
+
516
519
  /**
517
520
  * checks if the given char c is a digit or dot
518
521
  * @param {string} c a string with one character
519
522
  * @return {boolean}
520
523
  */
521
-
522
-
523
524
  parse.isDigitDot = function isDigitDot(c) {
524
525
  return c >= '0' && c <= '9' || c === '.';
525
526
  };
527
+
526
528
  /**
527
529
  * checks if the given char c is a digit
528
530
  * @param {string} c a string with one character
529
531
  * @return {boolean}
530
532
  */
531
-
532
-
533
533
  parse.isDigit = function isDigit(c) {
534
534
  return c >= '0' && c <= '9';
535
535
  };
536
+
536
537
  /**
537
538
  * checks if the given char c is a hex digit
538
539
  * @param {string} c a string with one character
539
540
  * @return {boolean}
540
541
  */
541
-
542
-
543
542
  parse.isHexDigit = function isHexDigit(c) {
544
543
  return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F';
545
544
  };
545
+
546
546
  /**
547
547
  * Start of the parse levels below, in order of precedence
548
548
  * @return {Node} node
549
549
  * @private
550
550
  */
551
-
552
-
553
551
  function parseStart(expression, extraNodes) {
554
552
  var state = initialState();
555
-
556
553
  _extends(state, {
557
554
  expression,
558
555
  extraNodes
559
556
  });
560
-
561
557
  getToken(state);
562
- var node = parseBlock(state); // check for garbage at the end of the expression
563
- // an expression ends with a empty character '' and tokenType DELIMITER
558
+ var node = parseBlock(state);
564
559
 
560
+ // check for garbage at the end of the expression
561
+ // an expression ends with a empty character '' and tokenType DELIMITER
565
562
  if (state.token !== '') {
566
563
  if (state.tokenType === TOKENTYPE.DELIMITER) {
567
564
  // user entered a not existing operator like "//"
565
+
568
566
  // TODO: give hints for aliases, for example with "<>" give as hint " did you mean !== ?"
569
567
  throw createError(state, 'Unexpected operator ' + state.token);
570
568
  } else {
571
569
  throw createSyntaxError(state, 'Unexpected part "' + state.token + '"');
572
570
  }
573
571
  }
574
-
575
572
  return node;
576
573
  }
574
+
577
575
  /**
578
576
  * Parse a block with expressions. Expressions can be separated by a newline
579
577
  * character '\n', or by a semicolon ';'. In case of a semicolon, no output
@@ -581,53 +579,53 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
581
579
  * @return {Node} node
582
580
  * @private
583
581
  */
584
-
585
-
586
582
  function parseBlock(state) {
587
583
  var node;
588
584
  var blocks = [];
589
585
  var visible;
590
-
591
586
  if (state.token !== '' && state.token !== '\n' && state.token !== ';') {
592
587
  node = parseAssignment(state);
593
- node.comment = state.comment;
594
- } // TODO: simplify this loop
595
-
588
+ if (state.comment) {
589
+ node.comment = state.comment;
590
+ }
591
+ }
596
592
 
593
+ // TODO: simplify this loop
597
594
  while (state.token === '\n' || state.token === ';') {
598
595
  // eslint-disable-line no-unmodified-loop-condition
599
596
  if (blocks.length === 0 && node) {
600
597
  visible = state.token !== ';';
601
598
  blocks.push({
602
- node: node,
603
- visible: visible
599
+ node,
600
+ visible
604
601
  });
605
602
  }
606
-
607
603
  getToken(state);
608
-
609
604
  if (state.token !== '\n' && state.token !== ';' && state.token !== '') {
610
605
  node = parseAssignment(state);
611
- node.comment = state.comment;
606
+ if (state.comment) {
607
+ node.comment = state.comment;
608
+ }
612
609
  visible = state.token !== ';';
613
610
  blocks.push({
614
- node: node,
615
- visible: visible
611
+ node,
612
+ visible
616
613
  });
617
614
  }
618
615
  }
619
-
620
616
  if (blocks.length > 0) {
621
617
  return new BlockNode(blocks);
622
618
  } else {
623
619
  if (!node) {
624
620
  node = new ConstantNode(undefined);
625
- node.comment = state.comment;
621
+ if (state.comment) {
622
+ node.comment = state.comment;
623
+ }
626
624
  }
627
-
628
625
  return node;
629
626
  }
630
627
  }
628
+
631
629
  /**
632
630
  * Assignment of a function or variable,
633
631
  * - can be a variable like 'a=2.3'
@@ -636,12 +634,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
636
634
  * @return {Node} node
637
635
  * @private
638
636
  */
639
-
640
-
641
637
  function parseAssignment(state) {
642
638
  var name, args, value, valid;
643
639
  var node = parseConditional(state);
644
-
645
640
  if (state.token === '=') {
646
641
  if (isSymbolNode(node)) {
647
642
  // parse a variable assignment like 'a = 2/3'
@@ -666,19 +661,17 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
666
661
  valid = false;
667
662
  }
668
663
  });
669
-
670
664
  if (valid) {
671
665
  getTokenSkipNewline(state);
672
666
  value = parseAssignment(state);
673
667
  return new FunctionAssignmentNode(name, args, value);
674
668
  }
675
669
  }
676
-
677
670
  throw createSyntaxError(state, 'Invalid left hand side of assignment operator =');
678
671
  }
679
-
680
672
  return node;
681
673
  }
674
+
682
675
  /**
683
676
  * conditional operation
684
677
  *
@@ -689,11 +682,8 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
689
682
  * @return {Node} node
690
683
  * @private
691
684
  */
692
-
693
-
694
685
  function parseConditional(state) {
695
686
  var node = parseLogicalOr(state);
696
-
697
687
  while (state.token === '?') {
698
688
  // eslint-disable-line no-unmodified-loop-condition
699
689
  // set a conditional level, the range operator will be ignored as long
@@ -708,127 +698,108 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
708
698
  getTokenSkipNewline(state);
709
699
  var falseExpr = parseAssignment(state); // Note: check for conditional operator again, right associativity
710
700
 
711
- node = new ConditionalNode(condition, trueExpr, falseExpr); // restore the previous conditional level
701
+ node = new ConditionalNode(condition, trueExpr, falseExpr);
712
702
 
703
+ // restore the previous conditional level
713
704
  state.conditionalLevel = prev;
714
705
  }
715
-
716
706
  return node;
717
707
  }
708
+
718
709
  /**
719
710
  * logical or, 'x or y'
720
711
  * @return {Node} node
721
712
  * @private
722
713
  */
723
-
724
-
725
714
  function parseLogicalOr(state) {
726
715
  var node = parseLogicalXor(state);
727
-
728
716
  while (state.token === 'or') {
729
717
  // eslint-disable-line no-unmodified-loop-condition
730
718
  getTokenSkipNewline(state);
731
719
  node = new OperatorNode('or', 'or', [node, parseLogicalXor(state)]);
732
720
  }
733
-
734
721
  return node;
735
722
  }
723
+
736
724
  /**
737
725
  * logical exclusive or, 'x xor y'
738
726
  * @return {Node} node
739
727
  * @private
740
728
  */
741
-
742
-
743
729
  function parseLogicalXor(state) {
744
730
  var node = parseLogicalAnd(state);
745
-
746
731
  while (state.token === 'xor') {
747
732
  // eslint-disable-line no-unmodified-loop-condition
748
733
  getTokenSkipNewline(state);
749
734
  node = new OperatorNode('xor', 'xor', [node, parseLogicalAnd(state)]);
750
735
  }
751
-
752
736
  return node;
753
737
  }
738
+
754
739
  /**
755
740
  * logical and, 'x and y'
756
741
  * @return {Node} node
757
742
  * @private
758
743
  */
759
-
760
-
761
744
  function parseLogicalAnd(state) {
762
745
  var node = parseBitwiseOr(state);
763
-
764
746
  while (state.token === 'and') {
765
747
  // eslint-disable-line no-unmodified-loop-condition
766
748
  getTokenSkipNewline(state);
767
749
  node = new OperatorNode('and', 'and', [node, parseBitwiseOr(state)]);
768
750
  }
769
-
770
751
  return node;
771
752
  }
753
+
772
754
  /**
773
755
  * bitwise or, 'x | y'
774
756
  * @return {Node} node
775
757
  * @private
776
758
  */
777
-
778
-
779
759
  function parseBitwiseOr(state) {
780
760
  var node = parseBitwiseXor(state);
781
-
782
761
  while (state.token === '|') {
783
762
  // eslint-disable-line no-unmodified-loop-condition
784
763
  getTokenSkipNewline(state);
785
764
  node = new OperatorNode('|', 'bitOr', [node, parseBitwiseXor(state)]);
786
765
  }
787
-
788
766
  return node;
789
767
  }
768
+
790
769
  /**
791
770
  * bitwise exclusive or (xor), 'x ^| y'
792
771
  * @return {Node} node
793
772
  * @private
794
773
  */
795
-
796
-
797
774
  function parseBitwiseXor(state) {
798
775
  var node = parseBitwiseAnd(state);
799
-
800
776
  while (state.token === '^|') {
801
777
  // eslint-disable-line no-unmodified-loop-condition
802
778
  getTokenSkipNewline(state);
803
779
  node = new OperatorNode('^|', 'bitXor', [node, parseBitwiseAnd(state)]);
804
780
  }
805
-
806
781
  return node;
807
782
  }
783
+
808
784
  /**
809
785
  * bitwise and, 'x & y'
810
786
  * @return {Node} node
811
787
  * @private
812
788
  */
813
-
814
-
815
789
  function parseBitwiseAnd(state) {
816
790
  var node = parseRelational(state);
817
-
818
791
  while (state.token === '&') {
819
792
  // eslint-disable-line no-unmodified-loop-condition
820
793
  getTokenSkipNewline(state);
821
794
  node = new OperatorNode('&', 'bitAnd', [node, parseRelational(state)]);
822
795
  }
823
-
824
796
  return node;
825
797
  }
798
+
826
799
  /**
827
800
  * Parse a chained conditional, like 'a > b >= c'
828
801
  * @return {Node} node
829
802
  */
830
-
831
-
832
803
  function parseRelational(state) {
833
804
  var params = [parseShift(state)];
834
805
  var conditionals = [];
@@ -840,7 +811,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
840
811
  '<=': 'smallerEq',
841
812
  '>=': 'largerEq'
842
813
  };
843
-
844
814
  while (hasOwnProperty(operators, state.token)) {
845
815
  // eslint-disable-line no-unmodified-loop-condition
846
816
  var cond = {
@@ -851,7 +821,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
851
821
  getTokenSkipNewline(state);
852
822
  params.push(parseShift(state));
853
823
  }
854
-
855
824
  if (params.length === 1) {
856
825
  return params[0];
857
826
  } else if (params.length === 2) {
@@ -860,13 +829,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
860
829
  return new RelationalNode(conditionals.map(c => c.fn), params);
861
830
  }
862
831
  }
832
+
863
833
  /**
864
834
  * Bitwise left shift, bitwise right arithmetic shift, bitwise right logical shift
865
835
  * @return {Node} node
866
836
  * @private
867
837
  */
868
-
869
-
870
838
  function parseShift(state) {
871
839
  var node, name, fn, params;
872
840
  node = parseConversion(state);
@@ -875,7 +843,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
875
843
  '>>': 'rightArithShift',
876
844
  '>>>': 'rightLogShift'
877
845
  };
878
-
879
846
  while (hasOwnProperty(operators, state.token)) {
880
847
  name = state.token;
881
848
  fn = operators[name];
@@ -883,30 +850,25 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
883
850
  params = [node, parseConversion(state)];
884
851
  node = new OperatorNode(name, fn, params);
885
852
  }
886
-
887
853
  return node;
888
854
  }
855
+
889
856
  /**
890
857
  * conversion operators 'to' and 'in'
891
858
  * @return {Node} node
892
859
  * @private
893
860
  */
894
-
895
-
896
861
  function parseConversion(state) {
897
862
  var node, name, fn, params;
898
863
  node = parseRange(state);
899
864
  var operators = {
900
865
  to: 'to',
901
866
  in: 'to' // alias of 'to'
902
-
903
867
  };
904
-
905
868
  while (hasOwnProperty(operators, state.token)) {
906
869
  name = state.token;
907
870
  fn = operators[name];
908
871
  getTokenSkipNewline(state);
909
-
910
872
  if (name === 'in' && state.token === '') {
911
873
  // end of expression -> this is the unit 'in' ('inch')
912
874
  node = new OperatorNode('*', 'multiply', [node, new SymbolNode('in')], true);
@@ -916,20 +878,17 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
916
878
  node = new OperatorNode(name, fn, params);
917
879
  }
918
880
  }
919
-
920
881
  return node;
921
882
  }
883
+
922
884
  /**
923
885
  * parse range, "start:end", "start:step:end", ":", "start:", ":end", etc
924
886
  * @return {Node} node
925
887
  * @private
926
888
  */
927
-
928
-
929
889
  function parseRange(state) {
930
890
  var node;
931
891
  var params = [];
932
-
933
892
  if (state.token === ':') {
934
893
  // implicit start=1 (one-based)
935
894
  node = new ConstantNode(1);
@@ -937,15 +896,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
937
896
  // explicit start
938
897
  node = parseAddSubtract(state);
939
898
  }
940
-
941
899
  if (state.token === ':' && state.conditionalLevel !== state.nestingLevel) {
942
900
  // we ignore the range operator when a conditional operator is being processed on the same level
943
- params.push(node); // parse step and end
901
+ params.push(node);
944
902
 
903
+ // parse step and end
945
904
  while (state.token === ':' && params.length < 3) {
946
905
  // eslint-disable-line no-unmodified-loop-condition
947
906
  getTokenSkipNewline(state);
948
-
949
907
  if (state.token === ')' || state.token === ']' || state.token === ',' || state.token === '') {
950
908
  // implicit end
951
909
  params.push(new SymbolNode('end'));
@@ -954,7 +912,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
954
912
  params.push(parseAddSubtract(state));
955
913
  }
956
914
  }
957
-
958
915
  if (params.length === 3) {
959
916
  // params = [start, step, end]
960
917
  node = new RangeNode(params[0], params[2], params[1]); // start, end, step
@@ -964,16 +921,14 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
964
921
  node = new RangeNode(params[0], params[1]); // start, end
965
922
  }
966
923
  }
967
-
968
924
  return node;
969
925
  }
926
+
970
927
  /**
971
928
  * add or subtract
972
929
  * @return {Node} node
973
930
  * @private
974
931
  */
975
-
976
-
977
932
  function parseAddSubtract(state) {
978
933
  var node, name, fn, params;
979
934
  node = parseMultiplyDivide(state);
@@ -981,24 +936,26 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
981
936
  '+': 'add',
982
937
  '-': 'subtract'
983
938
  };
984
-
985
939
  while (hasOwnProperty(operators, state.token)) {
986
940
  name = state.token;
987
941
  fn = operators[name];
988
942
  getTokenSkipNewline(state);
989
- params = [node, parseMultiplyDivide(state)];
943
+ var rightNode = parseMultiplyDivide(state);
944
+ if (rightNode.isPercentage) {
945
+ params = [node, new OperatorNode('*', 'multiply', [node, rightNode])];
946
+ } else {
947
+ params = [node, rightNode];
948
+ }
990
949
  node = new OperatorNode(name, fn, params);
991
950
  }
992
-
993
951
  return node;
994
952
  }
953
+
995
954
  /**
996
955
  * multiply, divide, modulus
997
956
  * @return {Node} node
998
957
  * @private
999
958
  */
1000
-
1001
-
1002
959
  function parseMultiplyDivide(state) {
1003
960
  var node, last, name, fn;
1004
961
  node = parseImplicitMultiplication(state);
@@ -1007,11 +964,8 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1007
964
  '*': 'multiply',
1008
965
  '.*': 'dotMultiply',
1009
966
  '/': 'divide',
1010
- './': 'dotDivide',
1011
- '%': 'mod',
1012
- mod: 'mod'
967
+ './': 'dotDivide'
1013
968
  };
1014
-
1015
969
  while (true) {
1016
970
  if (hasOwnProperty(operators, state.token)) {
1017
971
  // explicit operators
@@ -1024,21 +978,18 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1024
978
  break;
1025
979
  }
1026
980
  }
1027
-
1028
981
  return node;
1029
982
  }
983
+
1030
984
  /**
1031
985
  * implicit multiplication
1032
986
  * @return {Node} node
1033
987
  * @private
1034
988
  */
1035
-
1036
-
1037
989
  function parseImplicitMultiplication(state) {
1038
990
  var node, last;
1039
991
  node = parseRule2(state);
1040
992
  last = node;
1041
-
1042
993
  while (true) {
1043
994
  if (state.tokenType === TOKENTYPE.SYMBOL || state.token === 'in' && isConstantNode(node) || state.tokenType === TOKENTYPE.NUMBER && !isConstantNode(last) && (!isOperatorNode(last) || last.op === '!') || state.token === '(') {
1044
995
  // parse implicit multiplication
@@ -1047,78 +998,98 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1047
998
  // number: implicit multiplication like '(2+3)2'
1048
999
  // parenthesis: implicit multiplication like '2(3+4)', '(3+4)(1+2)'
1049
1000
  last = parseRule2(state);
1050
- node = new OperatorNode('*', 'multiply', [node, last], true
1051
- /* implicit */
1052
- );
1001
+ node = new OperatorNode('*', 'multiply', [node, last], true /* implicit */);
1053
1002
  } else {
1054
1003
  break;
1055
1004
  }
1056
1005
  }
1057
-
1058
1006
  return node;
1059
1007
  }
1008
+
1060
1009
  /**
1061
1010
  * Infamous "rule 2" as described in https://github.com/josdejong/mathjs/issues/792#issuecomment-361065370
1011
+ * And as amended in https://github.com/josdejong/mathjs/issues/2370#issuecomment-1054052164
1062
1012
  * Explicit division gets higher precedence than implicit multiplication
1063
- * when the division matches this pattern: [number] / [number] [symbol]
1013
+ * when the division matches this pattern:
1014
+ * [unaryPrefixOp]?[number] / [number] [symbol]
1064
1015
  * @return {Node} node
1065
1016
  * @private
1066
1017
  */
1067
-
1068
-
1069
1018
  function parseRule2(state) {
1070
- var node = parseUnary(state);
1019
+ var node = parsePercentage(state);
1071
1020
  var last = node;
1072
1021
  var tokenStates = [];
1073
-
1074
1022
  while (true) {
1075
1023
  // Match the "number /" part of the pattern "number / number symbol"
1076
- if (state.token === '/' && isConstantNode(last)) {
1024
+ if (state.token === '/' && rule2Node(last)) {
1077
1025
  // Look ahead to see if the next token is a number
1078
1026
  tokenStates.push(_extends({}, state));
1079
- getTokenSkipNewline(state); // Match the "number / number" part of the pattern
1027
+ getTokenSkipNewline(state);
1080
1028
 
1029
+ // Match the "number / number" part of the pattern
1081
1030
  if (state.tokenType === TOKENTYPE.NUMBER) {
1082
1031
  // Look ahead again
1083
1032
  tokenStates.push(_extends({}, state));
1084
- getTokenSkipNewline(state); // Match the "symbol" part of the pattern, or a left parenthesis
1033
+ getTokenSkipNewline(state);
1085
1034
 
1035
+ // Match the "symbol" part of the pattern, or a left parenthesis
1086
1036
  if (state.tokenType === TOKENTYPE.SYMBOL || state.token === '(') {
1087
1037
  // We've matched the pattern "number / number symbol".
1088
1038
  // Rewind once and build the "number / number" node; the symbol will be consumed later
1089
1039
  _extends(state, tokenStates.pop());
1090
-
1091
1040
  tokenStates.pop();
1092
- last = parseUnary(state);
1041
+ last = parsePercentage(state);
1093
1042
  node = new OperatorNode('/', 'divide', [node, last]);
1094
1043
  } else {
1095
1044
  // Not a match, so rewind
1096
1045
  tokenStates.pop();
1097
-
1098
1046
  _extends(state, tokenStates.pop());
1099
-
1100
1047
  break;
1101
1048
  }
1102
1049
  } else {
1103
1050
  // Not a match, so rewind
1104
1051
  _extends(state, tokenStates.pop());
1105
-
1106
1052
  break;
1107
1053
  }
1108
1054
  } else {
1109
1055
  break;
1110
1056
  }
1111
1057
  }
1058
+ return node;
1059
+ }
1112
1060
 
1061
+ /**
1062
+ * percentage or mod
1063
+ * @return {Node} node
1064
+ * @private
1065
+ */
1066
+ function parsePercentage(state) {
1067
+ var node, name, fn, params;
1068
+ node = parseUnary(state);
1069
+ var operators = {
1070
+ '%': 'mod',
1071
+ mod: 'mod'
1072
+ };
1073
+ while (hasOwnProperty(operators, state.token)) {
1074
+ name = state.token;
1075
+ fn = operators[name];
1076
+ getTokenSkipNewline(state);
1077
+ if (name === '%' && state.tokenType === TOKENTYPE.DELIMITER && state.token !== '(') {
1078
+ // If the expression contains only %, then treat that as /100
1079
+ node = new OperatorNode('/', 'divide', [node, new ConstantNode(100)], false, true);
1080
+ } else {
1081
+ params = [node, parseUnary(state)];
1082
+ node = new OperatorNode(name, fn, params);
1083
+ }
1084
+ }
1113
1085
  return node;
1114
1086
  }
1087
+
1115
1088
  /**
1116
1089
  * Unary plus and minus, and logical and bitwise not
1117
1090
  * @return {Node} node
1118
1091
  * @private
1119
1092
  */
1120
-
1121
-
1122
1093
  function parseUnary(state) {
1123
1094
  var name, params, fn;
1124
1095
  var operators = {
@@ -1127,7 +1098,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1127
1098
  '~': 'bitNot',
1128
1099
  not: 'not'
1129
1100
  };
1130
-
1131
1101
  if (hasOwnProperty(operators, state.token)) {
1132
1102
  fn = operators[state.token];
1133
1103
  name = state.token;
@@ -1135,39 +1105,33 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1135
1105
  params = [parseUnary(state)];
1136
1106
  return new OperatorNode(name, fn, params);
1137
1107
  }
1138
-
1139
1108
  return parsePow(state);
1140
1109
  }
1110
+
1141
1111
  /**
1142
1112
  * power
1143
1113
  * Note: power operator is right associative
1144
1114
  * @return {Node} node
1145
1115
  * @private
1146
1116
  */
1147
-
1148
-
1149
1117
  function parsePow(state) {
1150
1118
  var node, name, fn, params;
1151
1119
  node = parseLeftHandOperators(state);
1152
-
1153
1120
  if (state.token === '^' || state.token === '.^') {
1154
1121
  name = state.token;
1155
1122
  fn = name === '^' ? 'pow' : 'dotPow';
1156
1123
  getTokenSkipNewline(state);
1157
1124
  params = [node, parseUnary(state)]; // Go back to unary, we can have '2^-3'
1158
-
1159
1125
  node = new OperatorNode(name, fn, params);
1160
1126
  }
1161
-
1162
1127
  return node;
1163
1128
  }
1129
+
1164
1130
  /**
1165
1131
  * Left hand operators: factorial x!, ctranspose x'
1166
1132
  * @return {Node} node
1167
1133
  * @private
1168
1134
  */
1169
-
1170
-
1171
1135
  function parseLeftHandOperators(state) {
1172
1136
  var node, name, fn, params;
1173
1137
  node = parseCustomNodes(state);
@@ -1175,7 +1139,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1175
1139
  '!': 'factorial',
1176
1140
  '\'': 'ctranspose'
1177
1141
  };
1178
-
1179
1142
  while (hasOwnProperty(operators, state.token)) {
1180
1143
  name = state.token;
1181
1144
  fn = operators[name];
@@ -1184,9 +1147,9 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1184
1147
  node = new OperatorNode(name, fn, params);
1185
1148
  node = parseAccessors(state, node);
1186
1149
  }
1187
-
1188
1150
  return node;
1189
1151
  }
1152
+
1190
1153
  /**
1191
1154
  * Parse a custom node handler. A node handler can be used to process
1192
1155
  * nodes in a custom way, for example for handling a plot.
@@ -1215,59 +1178,51 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1215
1178
  * @return {Node} node
1216
1179
  * @private
1217
1180
  */
1218
-
1219
-
1220
1181
  function parseCustomNodes(state) {
1221
1182
  var params = [];
1222
-
1223
1183
  if (state.tokenType === TOKENTYPE.SYMBOL && hasOwnProperty(state.extraNodes, state.token)) {
1224
1184
  var CustomNode = state.extraNodes[state.token];
1225
- getToken(state); // parse parameters
1185
+ getToken(state);
1226
1186
 
1187
+ // parse parameters
1227
1188
  if (state.token === '(') {
1228
1189
  params = [];
1229
1190
  openParams(state);
1230
1191
  getToken(state);
1231
-
1232
1192
  if (state.token !== ')') {
1233
- params.push(parseAssignment(state)); // parse a list with parameters
1193
+ params.push(parseAssignment(state));
1234
1194
 
1195
+ // parse a list with parameters
1235
1196
  while (state.token === ',') {
1236
1197
  // eslint-disable-line no-unmodified-loop-condition
1237
1198
  getToken(state);
1238
1199
  params.push(parseAssignment(state));
1239
1200
  }
1240
1201
  }
1241
-
1242
1202
  if (state.token !== ')') {
1243
1203
  throw createSyntaxError(state, 'Parenthesis ) expected');
1244
1204
  }
1245
-
1246
1205
  closeParams(state);
1247
1206
  getToken(state);
1248
- } // create a new custom node
1249
- // noinspection JSValidateTypes
1250
-
1207
+ }
1251
1208
 
1209
+ // create a new custom node
1210
+ // noinspection JSValidateTypes
1252
1211
  return new CustomNode(params);
1253
1212
  }
1254
-
1255
1213
  return parseSymbol(state);
1256
1214
  }
1215
+
1257
1216
  /**
1258
1217
  * parse symbols: functions, variables, constants, units
1259
1218
  * @return {Node} node
1260
1219
  * @private
1261
1220
  */
1262
-
1263
-
1264
1221
  function parseSymbol(state) {
1265
1222
  var node, name;
1266
-
1267
1223
  if (state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS) {
1268
1224
  name = state.token;
1269
1225
  getToken(state);
1270
-
1271
1226
  if (hasOwnProperty(CONSTANTS, name)) {
1272
1227
  // true, false, null, ...
1273
1228
  node = new ConstantNode(CONSTANTS[name]);
@@ -1276,15 +1231,15 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1276
1231
  node = new ConstantNode(numeric(name, 'number'));
1277
1232
  } else {
1278
1233
  node = new SymbolNode(name);
1279
- } // parse function parameters and matrix index
1280
-
1234
+ }
1281
1235
 
1236
+ // parse function parameters and matrix index
1282
1237
  node = parseAccessors(state, node);
1283
1238
  return node;
1284
1239
  }
1285
-
1286
- return parseDoubleQuotesString(state);
1240
+ return parseString(state);
1287
1241
  }
1242
+
1288
1243
  /**
1289
1244
  * parse accessors:
1290
1245
  * - function invocation in round brackets (...), for example sqrt(2)
@@ -1299,35 +1254,29 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1299
1254
  * @return {Node} node
1300
1255
  * @private
1301
1256
  */
1302
-
1303
-
1304
1257
  function parseAccessors(state, node, types) {
1305
1258
  var params;
1306
-
1307
1259
  while ((state.token === '(' || state.token === '[' || state.token === '.') && (!types || types.indexOf(state.token) !== -1)) {
1308
1260
  // eslint-disable-line no-unmodified-loop-condition
1309
1261
  params = [];
1310
-
1311
1262
  if (state.token === '(') {
1312
1263
  if (isSymbolNode(node) || isAccessorNode(node)) {
1313
1264
  // function invocation like fn(2, 3) or obj.fn(2, 3)
1314
1265
  openParams(state);
1315
1266
  getToken(state);
1316
-
1317
1267
  if (state.token !== ')') {
1318
- params.push(parseAssignment(state)); // parse a list with parameters
1268
+ params.push(parseAssignment(state));
1319
1269
 
1270
+ // parse a list with parameters
1320
1271
  while (state.token === ',') {
1321
1272
  // eslint-disable-line no-unmodified-loop-condition
1322
1273
  getToken(state);
1323
1274
  params.push(parseAssignment(state));
1324
1275
  }
1325
1276
  }
1326
-
1327
1277
  if (state.token !== ')') {
1328
1278
  throw createSyntaxError(state, 'Parenthesis ) expected');
1329
1279
  }
1330
-
1331
1280
  closeParams(state);
1332
1281
  getToken(state);
1333
1282
  node = new FunctionNode(node, params);
@@ -1341,196 +1290,147 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1341
1290
  // index notation like variable[2, 3]
1342
1291
  openParams(state);
1343
1292
  getToken(state);
1344
-
1345
1293
  if (state.token !== ']') {
1346
- params.push(parseAssignment(state)); // parse a list with parameters
1294
+ params.push(parseAssignment(state));
1347
1295
 
1296
+ // parse a list with parameters
1348
1297
  while (state.token === ',') {
1349
1298
  // eslint-disable-line no-unmodified-loop-condition
1350
1299
  getToken(state);
1351
1300
  params.push(parseAssignment(state));
1352
1301
  }
1353
1302
  }
1354
-
1355
1303
  if (state.token !== ']') {
1356
1304
  throw createSyntaxError(state, 'Parenthesis ] expected');
1357
1305
  }
1358
-
1359
1306
  closeParams(state);
1360
1307
  getToken(state);
1361
1308
  node = new AccessorNode(node, new IndexNode(params));
1362
1309
  } else {
1363
1310
  // dot notation like variable.prop
1364
1311
  getToken(state);
1365
-
1366
- if (state.tokenType !== TOKENTYPE.SYMBOL) {
1312
+ var isPropertyName = state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS;
1313
+ if (!isPropertyName) {
1367
1314
  throw createSyntaxError(state, 'Property name expected after dot');
1368
1315
  }
1369
-
1370
1316
  params.push(new ConstantNode(state.token));
1371
1317
  getToken(state);
1372
1318
  var dotNotation = true;
1373
1319
  node = new AccessorNode(node, new IndexNode(params, dotNotation));
1374
1320
  }
1375
1321
  }
1376
-
1377
1322
  return node;
1378
1323
  }
1379
- /**
1380
- * Parse a double quotes string.
1381
- * @return {Node} node
1382
- * @private
1383
- */
1384
-
1385
-
1386
- function parseDoubleQuotesString(state) {
1387
- var node, str;
1388
-
1389
- if (state.token === '"') {
1390
- str = parseDoubleQuotesStringToken(state); // create constant
1391
-
1392
- node = new ConstantNode(str); // parse index parameters
1393
-
1394
- node = parseAccessors(state, node);
1395
- return node;
1396
- }
1397
-
1398
- return parseSingleQuotesString(state);
1399
- }
1400
- /**
1401
- * Parse a string surrounded by double quotes "..."
1402
- * @return {string}
1403
- */
1404
-
1405
-
1406
- function parseDoubleQuotesStringToken(state) {
1407
- var str = '';
1408
1324
 
1409
- while (currentCharacter(state) !== '' && currentCharacter(state) !== '"') {
1410
- if (currentCharacter(state) === '\\') {
1411
- // escape character, immediately process the next
1412
- // character to prevent stopping at a next '\"'
1413
- str += currentCharacter(state);
1414
- next(state);
1415
- }
1416
-
1417
- str += currentCharacter(state);
1418
- next(state);
1419
- }
1420
-
1421
- getToken(state);
1422
-
1423
- if (state.token !== '"') {
1424
- throw createSyntaxError(state, 'End of string " expected');
1425
- }
1426
-
1427
- getToken(state);
1428
- return JSON.parse('"' + str + '"'); // unescape escaped characters
1429
- }
1430
1325
  /**
1431
- * Parse a single quotes string.
1326
+ * Parse a single or double quoted string.
1432
1327
  * @return {Node} node
1433
1328
  * @private
1434
1329
  */
1435
-
1436
-
1437
- function parseSingleQuotesString(state) {
1330
+ function parseString(state) {
1438
1331
  var node, str;
1332
+ if (state.token === '"' || state.token === "'") {
1333
+ str = parseStringToken(state, state.token);
1439
1334
 
1440
- if (state.token === '\'') {
1441
- str = parseSingleQuotesStringToken(state); // create constant
1442
-
1443
- node = new ConstantNode(str); // parse index parameters
1335
+ // create constant
1336
+ node = new ConstantNode(str);
1444
1337
 
1338
+ // parse index parameters
1445
1339
  node = parseAccessors(state, node);
1446
1340
  return node;
1447
1341
  }
1448
-
1449
1342
  return parseMatrix(state);
1450
1343
  }
1344
+
1451
1345
  /**
1452
- * Parse a string surrounded by single quotes '...'
1346
+ * Parse a string surrounded by single or double quotes
1347
+ * @param {Object} state
1348
+ * @param {"'" | "\""} quote
1453
1349
  * @return {string}
1454
1350
  */
1455
-
1456
-
1457
- function parseSingleQuotesStringToken(state) {
1351
+ function parseStringToken(state, quote) {
1458
1352
  var str = '';
1459
-
1460
- while (currentCharacter(state) !== '' && currentCharacter(state) !== '\'') {
1353
+ while (currentCharacter(state) !== '' && currentCharacter(state) !== quote) {
1461
1354
  if (currentCharacter(state) === '\\') {
1462
- // escape character, immediately process the next
1463
- // character to prevent stopping at a next '\''
1355
+ next(state);
1356
+ var char = currentCharacter(state);
1357
+ var escapeChar = ESCAPE_CHARACTERS[char];
1358
+ if (escapeChar !== undefined) {
1359
+ // an escaped control character like \" or \n
1360
+ str += escapeChar;
1361
+ state.index += 1;
1362
+ } else if (char === 'u') {
1363
+ // escaped unicode character
1364
+ var unicode = state.expression.slice(state.index + 1, state.index + 5);
1365
+ if (/^[0-9A-Fa-f]{4}$/.test(unicode)) {
1366
+ // test whether the string holds four hexadecimal values
1367
+ str += String.fromCharCode(parseInt(unicode, 16));
1368
+ state.index += 5;
1369
+ } else {
1370
+ throw createSyntaxError(state, "Invalid unicode character \\u".concat(unicode));
1371
+ }
1372
+ } else {
1373
+ throw createSyntaxError(state, "Bad escape character \\".concat(char));
1374
+ }
1375
+ } else {
1376
+ // any regular character
1464
1377
  str += currentCharacter(state);
1465
1378
  next(state);
1466
1379
  }
1467
-
1468
- str += currentCharacter(state);
1469
- next(state);
1470
1380
  }
1471
-
1472
1381
  getToken(state);
1473
-
1474
- if (state.token !== '\'') {
1475
- throw createSyntaxError(state, 'End of string \' expected');
1382
+ if (state.token !== quote) {
1383
+ throw createSyntaxError(state, "End of string ".concat(quote, " expected"));
1476
1384
  }
1477
-
1478
1385
  getToken(state);
1479
- return JSON.parse('"' + str + '"'); // unescape escaped characters
1386
+ return str;
1480
1387
  }
1388
+
1481
1389
  /**
1482
1390
  * parse the matrix
1483
1391
  * @return {Node} node
1484
1392
  * @private
1485
1393
  */
1486
-
1487
-
1488
1394
  function parseMatrix(state) {
1489
1395
  var array, params, rows, cols;
1490
-
1491
1396
  if (state.token === '[') {
1492
1397
  // matrix [...]
1493
1398
  openParams(state);
1494
1399
  getToken(state);
1495
-
1496
1400
  if (state.token !== ']') {
1497
1401
  // this is a non-empty matrix
1498
1402
  var row = parseRow(state);
1499
-
1500
1403
  if (state.token === ';') {
1501
1404
  // 2 dimensional array
1502
1405
  rows = 1;
1503
- params = [row]; // the rows of the matrix are separated by dot-comma's
1406
+ params = [row];
1504
1407
 
1408
+ // the rows of the matrix are separated by dot-comma's
1505
1409
  while (state.token === ';') {
1506
1410
  // eslint-disable-line no-unmodified-loop-condition
1507
1411
  getToken(state);
1508
1412
  params[rows] = parseRow(state);
1509
1413
  rows++;
1510
1414
  }
1511
-
1512
1415
  if (state.token !== ']') {
1513
1416
  throw createSyntaxError(state, 'End of matrix ] expected');
1514
1417
  }
1515
-
1516
1418
  closeParams(state);
1517
- getToken(state); // check if the number of columns matches in all rows
1419
+ getToken(state);
1518
1420
 
1421
+ // check if the number of columns matches in all rows
1519
1422
  cols = params[0].items.length;
1520
-
1521
1423
  for (var r = 1; r < rows; r++) {
1522
1424
  if (params[r].items.length !== cols) {
1523
1425
  throw createError(state, 'Column dimensions mismatch ' + '(' + params[r].items.length + ' !== ' + cols + ')');
1524
1426
  }
1525
1427
  }
1526
-
1527
1428
  array = new ArrayNode(params);
1528
1429
  } else {
1529
1430
  // 1 dimensional vector
1530
1431
  if (state.token !== ']') {
1531
1432
  throw createSyntaxError(state, 'End of matrix ] expected');
1532
1433
  }
1533
-
1534
1434
  closeParams(state);
1535
1435
  getToken(state);
1536
1436
  array = row;
@@ -1541,116 +1441,102 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1541
1441
  getToken(state);
1542
1442
  array = new ArrayNode([]);
1543
1443
  }
1544
-
1545
1444
  return parseAccessors(state, array);
1546
1445
  }
1547
-
1548
1446
  return parseObject(state);
1549
1447
  }
1448
+
1550
1449
  /**
1551
1450
  * Parse a single comma-separated row from a matrix, like 'a, b, c'
1552
1451
  * @return {ArrayNode} node
1553
1452
  */
1554
-
1555
-
1556
1453
  function parseRow(state) {
1557
1454
  var params = [parseAssignment(state)];
1558
1455
  var len = 1;
1559
-
1560
1456
  while (state.token === ',') {
1561
1457
  // eslint-disable-line no-unmodified-loop-condition
1562
- getToken(state); // parse expression
1458
+ getToken(state);
1563
1459
 
1460
+ // parse expression
1564
1461
  params[len] = parseAssignment(state);
1565
1462
  len++;
1566
1463
  }
1567
-
1568
1464
  return new ArrayNode(params);
1569
1465
  }
1466
+
1570
1467
  /**
1571
1468
  * parse an object, enclosed in angle brackets{...}, for example {value: 2}
1572
1469
  * @return {Node} node
1573
1470
  * @private
1574
1471
  */
1575
-
1576
-
1577
1472
  function parseObject(state) {
1578
1473
  if (state.token === '{') {
1579
1474
  openParams(state);
1580
1475
  var key;
1581
1476
  var properties = {};
1582
-
1583
1477
  do {
1584
1478
  getToken(state);
1585
-
1586
1479
  if (state.token !== '}') {
1587
1480
  // parse key
1588
- if (state.token === '"') {
1589
- key = parseDoubleQuotesStringToken(state);
1590
- } else if (state.token === '\'') {
1591
- key = parseSingleQuotesStringToken(state);
1481
+ if (state.token === '"' || state.token === "'") {
1482
+ key = parseStringToken(state, state.token);
1592
1483
  } else if (state.tokenType === TOKENTYPE.SYMBOL || state.tokenType === TOKENTYPE.DELIMITER && state.token in NAMED_DELIMITERS) {
1593
1484
  key = state.token;
1594
1485
  getToken(state);
1595
1486
  } else {
1596
1487
  throw createSyntaxError(state, 'Symbol or string expected as object key');
1597
- } // parse key/value separator
1598
-
1488
+ }
1599
1489
 
1490
+ // parse key/value separator
1600
1491
  if (state.token !== ':') {
1601
1492
  throw createSyntaxError(state, 'Colon : expected after object key');
1602
1493
  }
1494
+ getToken(state);
1603
1495
 
1604
- getToken(state); // parse key
1605
-
1496
+ // parse key
1606
1497
  properties[key] = parseAssignment(state);
1607
1498
  }
1608
1499
  } while (state.token === ','); // eslint-disable-line no-unmodified-loop-condition
1609
1500
 
1610
-
1611
1501
  if (state.token !== '}') {
1612
1502
  throw createSyntaxError(state, 'Comma , or bracket } expected after object value');
1613
1503
  }
1614
-
1615
1504
  closeParams(state);
1616
1505
  getToken(state);
1617
- var node = new ObjectNode(properties); // parse index parameters
1506
+ var node = new ObjectNode(properties);
1618
1507
 
1508
+ // parse index parameters
1619
1509
  node = parseAccessors(state, node);
1620
1510
  return node;
1621
1511
  }
1622
-
1623
1512
  return parseNumber(state);
1624
1513
  }
1514
+
1625
1515
  /**
1626
1516
  * parse a number
1627
1517
  * @return {Node} node
1628
1518
  * @private
1629
1519
  */
1630
-
1631
-
1632
1520
  function parseNumber(state) {
1633
1521
  var numberStr;
1634
-
1635
1522
  if (state.tokenType === TOKENTYPE.NUMBER) {
1636
1523
  // this is a number
1637
1524
  numberStr = state.token;
1638
1525
  getToken(state);
1639
1526
  return new ConstantNode(numeric(numberStr, config.number));
1640
1527
  }
1641
-
1642
1528
  return parseParentheses(state);
1643
1529
  }
1530
+
1644
1531
  /**
1645
1532
  * parentheses
1646
1533
  * @return {Node} node
1647
1534
  * @private
1648
1535
  */
1649
-
1650
-
1651
1536
  function parseParentheses(state) {
1652
- var node; // check if it is a parenthesized expression
1537
+ var node;
1653
1538
 
1539
+ // check if it is a parenthesized expression
1654
1540
  if (state.token === '(') {
1655
1541
  // parentheses (...)
1656
1542
  openParams(state);
@@ -1660,23 +1546,20 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1660
1546
  if (state.token !== ')') {
1661
1547
  throw createSyntaxError(state, 'Parenthesis ) expected');
1662
1548
  }
1663
-
1664
1549
  closeParams(state);
1665
1550
  getToken(state);
1666
1551
  node = new ParenthesisNode(node);
1667
1552
  node = parseAccessors(state, node);
1668
1553
  return node;
1669
1554
  }
1670
-
1671
1555
  return parseEnd(state);
1672
1556
  }
1557
+
1673
1558
  /**
1674
1559
  * Evaluated when the expression is not yet ended but expected to end
1675
1560
  * @return {Node} res
1676
1561
  * @private
1677
1562
  */
1678
-
1679
-
1680
1563
  function parseEnd(state) {
1681
1564
  if (state.token === '') {
1682
1565
  // syntax error or unexpected end of expression
@@ -1685,12 +1568,12 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1685
1568
  throw createSyntaxError(state, 'Value expected');
1686
1569
  }
1687
1570
  }
1571
+
1688
1572
  /**
1689
1573
  * Shortcut for getting the current row value (one based)
1690
1574
  * Returns the line of the currently handled expression
1691
1575
  * @private
1692
1576
  */
1693
-
1694
1577
  /* TODO: implement keeping track on the row number
1695
1578
  function row () {
1696
1579
  return null
@@ -1702,11 +1585,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1702
1585
  * Returns the column (position) where the last state.token starts
1703
1586
  * @private
1704
1587
  */
1705
-
1706
-
1707
1588
  function col(state) {
1708
1589
  return state.index - state.token.length + 1;
1709
1590
  }
1591
+
1710
1592
  /**
1711
1593
  * Create an error
1712
1594
  * @param {Object} state
@@ -1714,14 +1596,13 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1714
1596
  * @return {SyntaxError} instantiated error
1715
1597
  * @private
1716
1598
  */
1717
-
1718
-
1719
1599
  function createSyntaxError(state, message) {
1720
1600
  var c = col(state);
1721
1601
  var error = new SyntaxError(message + ' (char ' + c + ')');
1722
1602
  error.char = c;
1723
1603
  return error;
1724
1604
  }
1605
+
1725
1606
  /**
1726
1607
  * Create an error
1727
1608
  * @param {Object} state
@@ -1729,8 +1610,6 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1729
1610
  * @return {Error} instantiated error
1730
1611
  * @private
1731
1612
  */
1732
-
1733
-
1734
1613
  function createError(state, message) {
1735
1614
  var c = col(state);
1736
1615
  var error = new SyntaxError(message + ' (char ' + c + ')');
@@ -1738,5 +1617,11 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, (_ref) => {
1738
1617
  return error;
1739
1618
  }
1740
1619
 
1620
+ // Now that we can parse, automatically convert strings to Nodes by parsing
1621
+ typed.addConversion({
1622
+ from: 'string',
1623
+ to: 'Node',
1624
+ convert: parse
1625
+ });
1741
1626
  return parse;
1742
1627
  });