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