@danielsimonjr/mathts-functions 0.64.3 → 0.66.0

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 (402) hide show
  1. package/dist/algebra/decomposition/lup.d.ts +1 -1
  2. package/dist/algebra/decomposition/lup.d.ts.map +1 -1
  3. package/dist/algebra/decomposition/qr.d.ts +1 -1
  4. package/dist/algebra/decomposition/qr.d.ts.map +1 -1
  5. package/dist/algebra/decomposition/schur.d.ts +1 -1
  6. package/dist/algebra/decomposition/schur.d.ts.map +1 -1
  7. package/dist/algebra/decomposition/slu.d.ts +1 -1
  8. package/dist/algebra/decomposition/slu.d.ts.map +1 -1
  9. package/dist/algebra/leafCount.d.ts +1 -1
  10. package/dist/algebra/leafCount.d.ts.map +1 -1
  11. package/dist/algebra/lyap.d.ts +1 -1
  12. package/dist/algebra/lyap.d.ts.map +1 -1
  13. package/dist/algebra/polynomialRoot.d.ts +1 -1
  14. package/dist/algebra/polynomialRoot.d.ts.map +1 -1
  15. package/dist/algebra/rationalize.d.ts +1 -1
  16. package/dist/algebra/rationalize.d.ts.map +1 -1
  17. package/dist/algebra/resolve.d.ts +1 -1
  18. package/dist/algebra/resolve.d.ts.map +1 -1
  19. package/dist/algebra/simplifyCore.d.ts +1 -1
  20. package/dist/algebra/simplifyCore.d.ts.map +1 -1
  21. package/dist/algebra/solver/lsolve.d.ts +1 -1
  22. package/dist/algebra/solver/lsolve.d.ts.map +1 -1
  23. package/dist/algebra/solver/lsolveAll.d.ts +2 -2
  24. package/dist/algebra/solver/lsolveAll.d.ts.map +1 -1
  25. package/dist/algebra/solver/lusolve.d.ts +1 -1
  26. package/dist/algebra/solver/lusolve.d.ts.map +1 -1
  27. package/dist/algebra/solver/usolve.d.ts +1 -1
  28. package/dist/algebra/solver/usolve.d.ts.map +1 -1
  29. package/dist/algebra/solver/usolveAll.d.ts +2 -2
  30. package/dist/algebra/solver/usolveAll.d.ts.map +1 -1
  31. package/dist/algebra/sparse/csAmd.d.ts.map +1 -1
  32. package/dist/algebra/sparse/csCounts.d.ts.map +1 -1
  33. package/dist/algebra/sylvester.d.ts +1 -1
  34. package/dist/algebra/sylvester.d.ts.map +1 -1
  35. package/dist/algebra/symbolicEqual.d.ts +1 -1
  36. package/dist/algebra/symbolicEqual.d.ts.map +1 -1
  37. package/dist/arithmetic/abs.d.ts +1 -1
  38. package/dist/arithmetic/abs.d.ts.map +1 -1
  39. package/dist/arithmetic/addScalar.d.ts +1 -1
  40. package/dist/arithmetic/addScalar.d.ts.map +1 -1
  41. package/dist/arithmetic/cbrt.d.ts +1 -1
  42. package/dist/arithmetic/cbrt.d.ts.map +1 -1
  43. package/dist/arithmetic/ceil.d.ts +2 -2
  44. package/dist/arithmetic/ceil.d.ts.map +1 -1
  45. package/dist/arithmetic/cube.d.ts +1 -1
  46. package/dist/arithmetic/cube.d.ts.map +1 -1
  47. package/dist/arithmetic/divide.d.ts +2 -1
  48. package/dist/arithmetic/divide.d.ts.map +1 -1
  49. package/dist/arithmetic/divideScalar.d.ts +1 -1
  50. package/dist/arithmetic/divideScalar.d.ts.map +1 -1
  51. package/dist/arithmetic/exp.d.ts +1 -1
  52. package/dist/arithmetic/exp.d.ts.map +1 -1
  53. package/dist/arithmetic/expm1.d.ts +1 -1
  54. package/dist/arithmetic/expm1.d.ts.map +1 -1
  55. package/dist/arithmetic/fix.d.ts +2 -2
  56. package/dist/arithmetic/fix.d.ts.map +1 -1
  57. package/dist/arithmetic/floor.d.ts +2 -2
  58. package/dist/arithmetic/floor.d.ts.map +1 -1
  59. package/dist/arithmetic/gcd.d.ts.map +1 -1
  60. package/dist/arithmetic/hypot.d.ts.map +1 -1
  61. package/dist/arithmetic/log.d.ts +1 -1
  62. package/dist/arithmetic/log.d.ts.map +1 -1
  63. package/dist/arithmetic/log10.d.ts +1 -1
  64. package/dist/arithmetic/log10.d.ts.map +1 -1
  65. package/dist/arithmetic/log1p.d.ts +1 -1
  66. package/dist/arithmetic/log1p.d.ts.map +1 -1
  67. package/dist/arithmetic/log2.d.ts +1 -1
  68. package/dist/arithmetic/log2.d.ts.map +1 -1
  69. package/dist/arithmetic/mod.d.ts +1 -1
  70. package/dist/arithmetic/mod.d.ts.map +1 -1
  71. package/dist/arithmetic/multiplyScalar.d.ts +1 -1
  72. package/dist/arithmetic/multiplyScalar.d.ts.map +1 -1
  73. package/dist/arithmetic/norm.d.ts.map +1 -1
  74. package/dist/arithmetic/nthRoot.d.ts.map +1 -1
  75. package/dist/arithmetic/pow.d.ts +1 -1
  76. package/dist/arithmetic/pow.d.ts.map +1 -1
  77. package/dist/arithmetic/round.d.ts +1 -1
  78. package/dist/arithmetic/round.d.ts.map +1 -1
  79. package/dist/arithmetic/sign.d.ts +1 -1
  80. package/dist/arithmetic/sign.d.ts.map +1 -1
  81. package/dist/arithmetic/sqrt.d.ts +1 -1
  82. package/dist/arithmetic/sqrt.d.ts.map +1 -1
  83. package/dist/arithmetic/square.d.ts +1 -1
  84. package/dist/arithmetic/square.d.ts.map +1 -1
  85. package/dist/arithmetic/subtract.d.ts +1 -1
  86. package/dist/arithmetic/subtract.d.ts.map +1 -1
  87. package/dist/arithmetic/subtractScalar.d.ts +1 -1
  88. package/dist/arithmetic/subtractScalar.d.ts.map +1 -1
  89. package/dist/arithmetic/unaryMinus.d.ts +1 -1
  90. package/dist/arithmetic/unaryMinus.d.ts.map +1 -1
  91. package/dist/arithmetic/unaryPlus.d.ts +1 -1
  92. package/dist/arithmetic/unaryPlus.d.ts.map +1 -1
  93. package/dist/bitwise/bitAnd.d.ts +1 -1
  94. package/dist/bitwise/bitAnd.d.ts.map +1 -1
  95. package/dist/bitwise/bitNot.d.ts +1 -1
  96. package/dist/bitwise/bitNot.d.ts.map +1 -1
  97. package/dist/bitwise/bitOr.d.ts +1 -1
  98. package/dist/bitwise/bitOr.d.ts.map +1 -1
  99. package/dist/bitwise/bitXor.d.ts +1 -1
  100. package/dist/bitwise/bitXor.d.ts.map +1 -1
  101. package/dist/bitwise/leftShift.d.ts +1 -1
  102. package/dist/bitwise/leftShift.d.ts.map +1 -1
  103. package/dist/bitwise/rightArithShift.d.ts +1 -1
  104. package/dist/bitwise/rightArithShift.d.ts.map +1 -1
  105. package/dist/bitwise/rightLogShift.d.ts +1 -1
  106. package/dist/bitwise/rightLogShift.d.ts.map +1 -1
  107. package/dist/bitwise/useMatrixForArrayScalar.d.ts.map +1 -1
  108. package/dist/{chunk-UMUT2YEC.js → chunk-5A2EZLXV.js} +77 -181
  109. package/dist/combinatorics/bellNumbers.d.ts +1 -1
  110. package/dist/combinatorics/bellNumbers.d.ts.map +1 -1
  111. package/dist/combinatorics/catalan.d.ts +1 -1
  112. package/dist/combinatorics/catalan.d.ts.map +1 -1
  113. package/dist/combinatorics/composition.d.ts +1 -1
  114. package/dist/combinatorics/composition.d.ts.map +1 -1
  115. package/dist/combinatorics/stirlingS2.d.ts +1 -1
  116. package/dist/combinatorics/stirlingS2.d.ts.map +1 -1
  117. package/dist/complex/arg.d.ts +1 -1
  118. package/dist/complex/arg.d.ts.map +1 -1
  119. package/dist/complex/conj.d.ts +1 -1
  120. package/dist/complex/conj.d.ts.map +1 -1
  121. package/dist/complex/im.d.ts +1 -1
  122. package/dist/complex/im.d.ts.map +1 -1
  123. package/dist/complex/re.d.ts +1 -1
  124. package/dist/complex/re.d.ts.map +1 -1
  125. package/dist/core/function/typed.d.ts +11 -1
  126. package/dist/core/function/typed.d.ts.map +1 -1
  127. package/dist/factories/evaluate.d.ts +48 -6
  128. package/dist/factories/evaluate.d.ts.map +1 -1
  129. package/dist/factories/index.d.ts +184 -184
  130. package/dist/factories/index.d.ts.map +1 -1
  131. package/dist/geometry/distance.d.ts +1 -1
  132. package/dist/geometry/distance.d.ts.map +1 -1
  133. package/dist/geometry/intersect.d.ts +1 -1
  134. package/dist/geometry/intersect.d.ts.map +1 -1
  135. package/dist/index.d.ts +4 -1
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +500 -1993
  138. package/dist/logical/and.d.ts +1 -1
  139. package/dist/logical/and.d.ts.map +1 -1
  140. package/dist/logical/not.d.ts +1 -1
  141. package/dist/logical/not.d.ts.map +1 -1
  142. package/dist/logical/or.d.ts +1 -1
  143. package/dist/logical/or.d.ts.map +1 -1
  144. package/dist/logical/xor.d.ts +1 -1
  145. package/dist/logical/xor.d.ts.map +1 -1
  146. package/dist/matrix/column.d.ts +2 -1
  147. package/dist/matrix/column.d.ts.map +1 -1
  148. package/dist/matrix/concat.d.ts +1 -1
  149. package/dist/matrix/concat.d.ts.map +1 -1
  150. package/dist/matrix/count.d.ts +1 -1
  151. package/dist/matrix/count.d.ts.map +1 -1
  152. package/dist/matrix/cross.d.ts +1 -1
  153. package/dist/matrix/cross.d.ts.map +1 -1
  154. package/dist/matrix/ctranspose.d.ts +1 -1
  155. package/dist/matrix/ctranspose.d.ts.map +1 -1
  156. package/dist/matrix/det.d.ts +2 -1
  157. package/dist/matrix/det.d.ts.map +1 -1
  158. package/dist/matrix/diag.d.ts +1 -1
  159. package/dist/matrix/diag.d.ts.map +1 -1
  160. package/dist/matrix/diff.d.ts.map +1 -1
  161. package/dist/matrix/dot.d.ts +1 -1
  162. package/dist/matrix/dot.d.ts.map +1 -1
  163. package/dist/matrix/eigs/complexEigs.d.ts.map +1 -1
  164. package/dist/matrix/eigs/realSymmetric.d.ts.map +1 -1
  165. package/dist/matrix/eigs.d.ts +2 -1
  166. package/dist/matrix/eigs.d.ts.map +1 -1
  167. package/dist/matrix/fft.d.ts +1 -1
  168. package/dist/matrix/fft.d.ts.map +1 -1
  169. package/dist/matrix/filter.d.ts +1 -1
  170. package/dist/matrix/filter.d.ts.map +1 -1
  171. package/dist/matrix/flatten.d.ts +1 -1
  172. package/dist/matrix/flatten.d.ts.map +1 -1
  173. package/dist/matrix/forEach.d.ts +1 -1
  174. package/dist/matrix/forEach.d.ts.map +1 -1
  175. package/dist/matrix/getMatrixDataType.d.ts +1 -1
  176. package/dist/matrix/getMatrixDataType.d.ts.map +1 -1
  177. package/dist/matrix/identity.d.ts +1 -1
  178. package/dist/matrix/identity.d.ts.map +1 -1
  179. package/dist/matrix/ifft.d.ts +2 -1
  180. package/dist/matrix/ifft.d.ts.map +1 -1
  181. package/dist/matrix/inv.d.ts +2 -1
  182. package/dist/matrix/inv.d.ts.map +1 -1
  183. package/dist/matrix/kron.d.ts +2 -1
  184. package/dist/matrix/kron.d.ts.map +1 -1
  185. package/dist/matrix/map.d.ts +1 -1
  186. package/dist/matrix/map.d.ts.map +1 -1
  187. package/dist/matrix/matrixFromColumns.d.ts +2 -1
  188. package/dist/matrix/matrixFromColumns.d.ts.map +1 -1
  189. package/dist/matrix/matrixFromRows.d.ts +2 -1
  190. package/dist/matrix/matrixFromRows.d.ts.map +1 -1
  191. package/dist/matrix/ones.d.ts +1 -1
  192. package/dist/matrix/ones.d.ts.map +1 -1
  193. package/dist/matrix/partitionSelect.d.ts +2 -1
  194. package/dist/matrix/partitionSelect.d.ts.map +1 -1
  195. package/dist/matrix/range.d.ts +1 -1
  196. package/dist/matrix/range.d.ts.map +1 -1
  197. package/dist/matrix/reshape.d.ts +1 -1
  198. package/dist/matrix/reshape.d.ts.map +1 -1
  199. package/dist/matrix/resize.d.ts +1 -1
  200. package/dist/matrix/resize.d.ts.map +1 -1
  201. package/dist/matrix/row.d.ts +2 -1
  202. package/dist/matrix/row.d.ts.map +1 -1
  203. package/dist/matrix/size.d.ts +1 -1
  204. package/dist/matrix/size.d.ts.map +1 -1
  205. package/dist/matrix/sqrtm.d.ts +2 -1
  206. package/dist/matrix/sqrtm.d.ts.map +1 -1
  207. package/dist/matrix/squeeze.d.ts +1 -1
  208. package/dist/matrix/squeeze.d.ts.map +1 -1
  209. package/dist/matrix/subset.d.ts +1 -1
  210. package/dist/matrix/subset.d.ts.map +1 -1
  211. package/dist/matrix/trace.d.ts +1 -1
  212. package/dist/matrix/trace.d.ts.map +1 -1
  213. package/dist/matrix/transpose.d.ts +1 -1
  214. package/dist/matrix/transpose.d.ts.map +1 -1
  215. package/dist/matrix/utils/zerosAndOnes.d.ts +1 -1
  216. package/dist/matrix/utils/zerosAndOnes.d.ts.map +1 -1
  217. package/dist/matrix/zeros.d.ts +1 -1
  218. package/dist/matrix/zeros.d.ts.map +1 -1
  219. package/dist/numeric/gauss-legendre4.d.ts +75 -0
  220. package/dist/numeric/gauss-legendre4.d.ts.map +1 -0
  221. package/dist/numeric/propagate-uncertainty.d.ts +46 -0
  222. package/dist/numeric/propagate-uncertainty.d.ts.map +1 -0
  223. package/dist/numeric/rational-nullspace.d.ts +45 -0
  224. package/dist/numeric/rational-nullspace.d.ts.map +1 -0
  225. package/dist/numeric/solveODE.d.ts +2 -2
  226. package/dist/numeric/solveODE.d.ts.map +1 -1
  227. package/dist/probability/bernoulli.d.ts +1 -1
  228. package/dist/probability/bernoulli.d.ts.map +1 -1
  229. package/dist/probability/combinations.d.ts +1 -1
  230. package/dist/probability/combinations.d.ts.map +1 -1
  231. package/dist/probability/combinationsWithRep.d.ts +1 -1
  232. package/dist/probability/combinationsWithRep.d.ts.map +1 -1
  233. package/dist/probability/factorial.d.ts +1 -1
  234. package/dist/probability/factorial.d.ts.map +1 -1
  235. package/dist/probability/gamma.d.ts +1 -1
  236. package/dist/probability/gamma.d.ts.map +1 -1
  237. package/dist/probability/kldivergence.d.ts +1 -1
  238. package/dist/probability/kldivergence.d.ts.map +1 -1
  239. package/dist/probability/lgamma.d.ts +1 -1
  240. package/dist/probability/lgamma.d.ts.map +1 -1
  241. package/dist/probability/multinomial.d.ts +1 -1
  242. package/dist/probability/multinomial.d.ts.map +1 -1
  243. package/dist/probability/permutations.d.ts +1 -1
  244. package/dist/probability/permutations.d.ts.map +1 -1
  245. package/dist/probability/pickRandom.d.ts +1 -1
  246. package/dist/probability/pickRandom.d.ts.map +1 -1
  247. package/dist/probability/random.d.ts +2 -2
  248. package/dist/probability/random.d.ts.map +1 -1
  249. package/dist/probability/randomInt.d.ts +1 -1
  250. package/dist/probability/randomInt.d.ts.map +1 -1
  251. package/dist/relational/compare.d.ts +2 -2
  252. package/dist/relational/compare.d.ts.map +1 -1
  253. package/dist/relational/compareNatural.d.ts +1 -1
  254. package/dist/relational/compareNatural.d.ts.map +1 -1
  255. package/dist/relational/deepEqual.d.ts +1 -1
  256. package/dist/relational/deepEqual.d.ts.map +1 -1
  257. package/dist/relational/equal.d.ts +2 -2
  258. package/dist/relational/equal.d.ts.map +1 -1
  259. package/dist/relational/equalScalar.d.ts +1 -1
  260. package/dist/relational/equalScalar.d.ts.map +1 -1
  261. package/dist/relational/equalText.d.ts +1 -1
  262. package/dist/relational/equalText.d.ts.map +1 -1
  263. package/dist/relational/larger.d.ts +2 -2
  264. package/dist/relational/larger.d.ts.map +1 -1
  265. package/dist/relational/largerEq.d.ts +2 -2
  266. package/dist/relational/largerEq.d.ts.map +1 -1
  267. package/dist/relational/smaller.d.ts +2 -2
  268. package/dist/relational/smaller.d.ts.map +1 -1
  269. package/dist/relational/smallerEq.d.ts +2 -2
  270. package/dist/relational/smallerEq.d.ts.map +1 -1
  271. package/dist/relational/unequal.d.ts +2 -2
  272. package/dist/relational/unequal.d.ts.map +1 -1
  273. package/dist/set/setCartesian.d.ts +1 -1
  274. package/dist/set/setCartesian.d.ts.map +1 -1
  275. package/dist/set/setDifference.d.ts +1 -1
  276. package/dist/set/setDifference.d.ts.map +1 -1
  277. package/dist/set/setIntersect.d.ts +1 -1
  278. package/dist/set/setIntersect.d.ts.map +1 -1
  279. package/dist/set/setSymDifference.d.ts +1 -1
  280. package/dist/set/setSymDifference.d.ts.map +1 -1
  281. package/dist/set/setUnion.d.ts +1 -1
  282. package/dist/set/setUnion.d.ts.map +1 -1
  283. package/dist/signal/freqz.d.ts +2 -1
  284. package/dist/signal/freqz.d.ts.map +1 -1
  285. package/dist/signal/zpk2tf.d.ts +2 -1
  286. package/dist/signal/zpk2tf.d.ts.map +1 -1
  287. package/dist/special/erf.d.ts +1 -1
  288. package/dist/special/erf.d.ts.map +1 -1
  289. package/dist/special/zeta.d.ts +1 -1
  290. package/dist/special/zeta.d.ts.map +1 -1
  291. package/dist/statistics/corr.d.ts +1 -1
  292. package/dist/statistics/corr.d.ts.map +1 -1
  293. package/dist/statistics/cumsum.d.ts +1 -1
  294. package/dist/statistics/cumsum.d.ts.map +1 -1
  295. package/dist/statistics/mad.d.ts +1 -1
  296. package/dist/statistics/mad.d.ts.map +1 -1
  297. package/dist/statistics/max.d.ts +1 -1
  298. package/dist/statistics/max.d.ts.map +1 -1
  299. package/dist/statistics/mean.d.ts +1 -1
  300. package/dist/statistics/mean.d.ts.map +1 -1
  301. package/dist/statistics/median.d.ts +1 -1
  302. package/dist/statistics/median.d.ts.map +1 -1
  303. package/dist/statistics/min.d.ts +1 -1
  304. package/dist/statistics/min.d.ts.map +1 -1
  305. package/dist/statistics/mode.d.ts +1 -1
  306. package/dist/statistics/mode.d.ts.map +1 -1
  307. package/dist/statistics/prod.d.ts +1 -1
  308. package/dist/statistics/prod.d.ts.map +1 -1
  309. package/dist/statistics/quantileSeq.d.ts +1 -1
  310. package/dist/statistics/quantileSeq.d.ts.map +1 -1
  311. package/dist/statistics/std.d.ts +1 -1
  312. package/dist/statistics/std.d.ts.map +1 -1
  313. package/dist/statistics/sum.d.ts +1 -1
  314. package/dist/statistics/sum.d.ts.map +1 -1
  315. package/dist/statistics/variance.d.ts +1 -1
  316. package/dist/statistics/variance.d.ts.map +1 -1
  317. package/dist/string/bin.d.ts +1 -1
  318. package/dist/string/bin.d.ts.map +1 -1
  319. package/dist/string/format.d.ts +1 -1
  320. package/dist/string/format.d.ts.map +1 -1
  321. package/dist/string/hex.d.ts +1 -1
  322. package/dist/string/hex.d.ts.map +1 -1
  323. package/dist/string/oct.d.ts +1 -1
  324. package/dist/string/oct.d.ts.map +1 -1
  325. package/dist/string/print.d.ts +1 -1
  326. package/dist/string/print.d.ts.map +1 -1
  327. package/dist/trigonometry/acos.d.ts +1 -1
  328. package/dist/trigonometry/acos.d.ts.map +1 -1
  329. package/dist/trigonometry/asin.d.ts +1 -1
  330. package/dist/trigonometry/asin.d.ts.map +1 -1
  331. package/dist/trigonometry/atan.d.ts +1 -1
  332. package/dist/trigonometry/atan.d.ts.map +1 -1
  333. package/dist/trigonometry/atan2.d.ts +1 -1
  334. package/dist/trigonometry/atan2.d.ts.map +1 -1
  335. package/dist/trigonometry/cos.d.ts +1 -1
  336. package/dist/trigonometry/cos.d.ts.map +1 -1
  337. package/dist/trigonometry/sin.d.ts +1 -1
  338. package/dist/trigonometry/sin.d.ts.map +1 -1
  339. package/dist/trigonometry/tan.d.ts +1 -1
  340. package/dist/trigonometry/tan.d.ts.map +1 -1
  341. package/dist/type/matrix/function/index.d.ts +1 -1
  342. package/dist/type/matrix/function/index.d.ts.map +1 -1
  343. package/dist/type/unit/function/createUnit.d.ts +1 -1
  344. package/dist/type/unit/function/createUnit.d.ts.map +1 -1
  345. package/dist/type/unit/function/splitUnit.d.ts +1 -1
  346. package/dist/type/unit/function/splitUnit.d.ts.map +1 -1
  347. package/dist/type/unit/function/unit.d.ts +1 -1
  348. package/dist/type/unit/function/unit.d.ts.map +1 -1
  349. package/dist/type/unit/physicalConstants.d.ts +4 -7
  350. package/dist/type/unit/physicalConstants.d.ts.map +1 -1
  351. package/dist/typed/algebra.d.ts +14 -5
  352. package/dist/typed/algebra.d.ts.map +1 -1
  353. package/dist/typed/arithmetic.d.ts.map +1 -1
  354. package/dist/typed/geometry.d.ts +2 -6
  355. package/dist/typed/geometry.d.ts.map +1 -1
  356. package/dist/typed/hypothesis.d.ts +13 -0
  357. package/dist/typed/hypothesis.d.ts.map +1 -1
  358. package/dist/typed/numeric.d.ts +3 -1
  359. package/dist/typed/numeric.d.ts.map +1 -1
  360. package/dist/typed/signal.d.ts +1 -1
  361. package/dist/typed/signal.d.ts.map +1 -1
  362. package/dist/unit/to.d.ts +1 -1
  363. package/dist/unit/to.d.ts.map +1 -1
  364. package/dist/unit/toBest.d.ts +1 -1
  365. package/dist/unit/toBest.d.ts.map +1 -1
  366. package/dist/utils/bignumber/bitwise.d.ts +1 -0
  367. package/dist/utils/bignumber/bitwise.d.ts.map +1 -1
  368. package/dist/utils/clone.d.ts +1 -1
  369. package/dist/utils/clone.d.ts.map +1 -1
  370. package/dist/utils/hasNumericValue.d.ts +1 -1
  371. package/dist/utils/hasNumericValue.d.ts.map +1 -1
  372. package/dist/utils/isInteger.d.ts +1 -1
  373. package/dist/utils/isInteger.d.ts.map +1 -1
  374. package/dist/utils/isNaN.d.ts +1 -1
  375. package/dist/utils/isNaN.d.ts.map +1 -1
  376. package/dist/utils/isNegative.d.ts +1 -1
  377. package/dist/utils/isNegative.d.ts.map +1 -1
  378. package/dist/utils/isPositive.d.ts +1 -1
  379. package/dist/utils/isPositive.d.ts.map +1 -1
  380. package/dist/utils/isPrime.d.ts +1 -1
  381. package/dist/utils/isPrime.d.ts.map +1 -1
  382. package/dist/utils/isZero.d.ts +1 -1
  383. package/dist/utils/isZero.d.ts.map +1 -1
  384. package/dist/utils/typeOf.d.ts +1 -1
  385. package/dist/utils/typeOf.d.ts.map +1 -1
  386. package/dist/wasm/WasmLoader.d.ts +28 -210
  387. package/dist/wasm/WasmLoader.d.ts.map +1 -1
  388. package/dist/wasm/bitwise/wasm-bridge.d.ts.map +1 -1
  389. package/dist/wasm/bridges/common.d.ts +2 -0
  390. package/dist/wasm/bridges/common.d.ts.map +1 -1
  391. package/dist/wasm/elementwise/wasm-bridge.d.ts.map +1 -1
  392. package/dist/wasm/interpolation/wasm-bridge.d.ts.map +1 -1
  393. package/dist/wasm/mathts-as.wasm +0 -0
  394. package/dist/wasm/policy.d.ts +37 -0
  395. package/dist/wasm/policy.d.ts.map +1 -0
  396. package/dist/wasm/poly/wasm-bridge.d.ts.map +1 -1
  397. package/dist/wasm/signal/wasm-bridge.d.ts.map +1 -1
  398. package/dist/wasm/sort/wasm-bridge.d.ts.map +1 -1
  399. package/dist/wasm/special/wasm-bridge.d.ts.map +1 -1
  400. package/dist/wasm/wasm-manifest.json +1 -1
  401. package/dist/{wasm-bridge-C44GQ3DS.js → wasm-bridge-74YOKWIS.js} +1 -1
  402. package/package.json +8 -8
@@ -39,11 +39,6 @@ var WasmLoader = class _WasmLoader {
39
39
  loading = null;
40
40
  isNode;
41
41
  lastMetrics = null;
42
- // Memory pool for reusable allocations
43
- float64Pool = [];
44
- int32Pool = [];
45
- poolSizeThreshold = 1024 * 1024;
46
- // 1MB max per pool entry
47
42
  constructor() {
48
43
  this.isNode = typeof process !== "undefined" && process.versions?.node !== void 0;
49
44
  }
@@ -64,7 +59,14 @@ var WasmLoader = class _WasmLoader {
64
59
  return this.loading;
65
60
  }
66
61
  this.loading = this.loadModule(wasmPath);
67
- this.wasmModule = await this.loading;
62
+ try {
63
+ this.wasmModule = await this.loading;
64
+ } catch (error) {
65
+ this.compiledModule = null;
66
+ throw error;
67
+ } finally {
68
+ this.loading = null;
69
+ }
68
70
  return this.wasmModule;
69
71
  }
70
72
  /**
@@ -246,175 +248,6 @@ var WasmLoader = class _WasmLoader {
246
248
  getLoadingMetrics() {
247
249
  return this.lastMetrics;
248
250
  }
249
- /**
250
- * Allocate Float64Array in WASM memory
251
- * Uses memory pooling for frequently reused sizes
252
- */
253
- allocateFloat64Array(data) {
254
- const module = this.wasmModule;
255
- if (!module) throw new Error("WASM module not loaded");
256
- const length = data.length;
257
- const byteLength = length * 8;
258
- let ptr;
259
- if (byteLength <= this.poolSizeThreshold) {
260
- const poolEntry = this.getFromPool(this.float64Pool, byteLength);
261
- if (poolEntry) {
262
- ptr = poolEntry.ptr;
263
- poolEntry.inUse = true;
264
- } else {
265
- ptr = module.__new(byteLength, 2);
266
- }
267
- } else {
268
- ptr = module.__new(byteLength, 2);
269
- }
270
- const array = new Float64Array(module.memory.buffer, ptr, length);
271
- array.set(data);
272
- return { ptr, array };
273
- }
274
- /**
275
- * Allocate Float64Array without copying data (for output buffers)
276
- */
277
- allocateFloat64ArrayEmpty(length) {
278
- const module = this.wasmModule;
279
- if (!module) throw new Error("WASM module not loaded");
280
- const byteLength = length * 8;
281
- let ptr;
282
- if (byteLength <= this.poolSizeThreshold) {
283
- const poolEntry = this.getFromPool(this.float64Pool, byteLength);
284
- if (poolEntry) {
285
- ptr = poolEntry.ptr;
286
- poolEntry.inUse = true;
287
- } else {
288
- ptr = module.__new(byteLength, 2);
289
- }
290
- } else {
291
- ptr = module.__new(byteLength, 2);
292
- }
293
- const array = new Float64Array(module.memory.buffer, ptr, length);
294
- return { ptr, array };
295
- }
296
- /**
297
- * Allocate Int32Array in WASM memory
298
- * Uses memory pooling for frequently reused sizes
299
- */
300
- allocateInt32Array(data) {
301
- const module = this.wasmModule;
302
- if (!module) throw new Error("WASM module not loaded");
303
- const length = data.length;
304
- const byteLength = length * 4;
305
- let ptr;
306
- if (byteLength <= this.poolSizeThreshold) {
307
- const poolEntry = this.getFromPool(this.int32Pool, byteLength);
308
- if (poolEntry) {
309
- ptr = poolEntry.ptr;
310
- poolEntry.inUse = true;
311
- } else {
312
- ptr = module.__new(byteLength, 1);
313
- }
314
- } else {
315
- ptr = module.__new(byteLength, 1);
316
- }
317
- const array = new Int32Array(module.memory.buffer, ptr, length);
318
- array.set(data);
319
- return { ptr, array };
320
- }
321
- /**
322
- * Allocate Int32Array without copying data (for output buffers)
323
- */
324
- allocateInt32ArrayEmpty(length) {
325
- const module = this.wasmModule;
326
- if (!module) throw new Error("WASM module not loaded");
327
- const byteLength = length * 4;
328
- let ptr;
329
- if (byteLength <= this.poolSizeThreshold) {
330
- const poolEntry = this.getFromPool(this.int32Pool, byteLength);
331
- if (poolEntry) {
332
- ptr = poolEntry.ptr;
333
- poolEntry.inUse = true;
334
- } else {
335
- ptr = module.__new(byteLength, 1);
336
- }
337
- } else {
338
- ptr = module.__new(byteLength, 1);
339
- }
340
- const array = new Int32Array(module.memory.buffer, ptr, length);
341
- return { ptr, array };
342
- }
343
- /**
344
- * Get a suitable entry from the memory pool
345
- */
346
- getFromPool(pool, requestedSize) {
347
- let bestFit = null;
348
- let bestFitWaste = Infinity;
349
- for (const entry of pool) {
350
- if (!entry.inUse && entry.size >= requestedSize) {
351
- const waste = entry.size - requestedSize;
352
- if (waste < bestFitWaste && entry.size <= requestedSize * 2) {
353
- bestFit = entry;
354
- bestFitWaste = waste;
355
- }
356
- }
357
- }
358
- return bestFit;
359
- }
360
- /**
361
- * Return allocation to pool for reuse
362
- */
363
- release(ptr, isFloat64 = true) {
364
- const pool = isFloat64 ? this.float64Pool : this.int32Pool;
365
- const entry = pool.find((e) => e.ptr === ptr);
366
- if (entry) {
367
- entry.inUse = false;
368
- return;
369
- }
370
- this.free(ptr);
371
- }
372
- /**
373
- * Free allocated memory (immediate, bypasses pool)
374
- */
375
- free(ptr) {
376
- const module = this.wasmModule;
377
- if (!module) return;
378
- this.float64Pool = this.float64Pool.filter((e) => e.ptr !== ptr);
379
- this.int32Pool = this.int32Pool.filter((e) => e.ptr !== ptr);
380
- module.__unpin(ptr);
381
- }
382
- /**
383
- * Clear the memory pool
384
- */
385
- clearPool() {
386
- const module = this.wasmModule;
387
- if (!module) return;
388
- for (const entry of this.float64Pool) {
389
- module.__unpin(entry.ptr);
390
- }
391
- for (const entry of this.int32Pool) {
392
- module.__unpin(entry.ptr);
393
- }
394
- this.float64Pool = [];
395
- this.int32Pool = [];
396
- }
397
- /**
398
- * Get pool statistics
399
- */
400
- getPoolStats() {
401
- const f64InUse = this.float64Pool.filter((e) => e.inUse).length;
402
- const f64Bytes = this.float64Pool.reduce((sum, e) => sum + e.size, 0);
403
- const i32InUse = this.int32Pool.filter((e) => e.inUse).length;
404
- const i32Bytes = this.int32Pool.reduce((sum, e) => sum + e.size, 0);
405
- return {
406
- float64: {
407
- total: this.float64Pool.length,
408
- inUse: f64InUse,
409
- totalBytes: f64Bytes
410
- },
411
- int32: {
412
- total: this.int32Pool.length,
413
- inUse: i32InUse,
414
- totalBytes: i32Bytes
415
- }
416
- };
417
- }
418
251
  /**
419
252
  * Run garbage collection
420
253
  */
@@ -427,7 +260,6 @@ var WasmLoader = class _WasmLoader {
427
260
  * Reset the loader (for testing)
428
261
  */
429
262
  reset() {
430
- this.clearPool();
431
263
  this.wasmModule = null;
432
264
  this.compiledModule = null;
433
265
  this.loading = null;
@@ -435,6 +267,57 @@ var WasmLoader = class _WasmLoader {
435
267
  }
436
268
  };
437
269
  var wasmLoader = WasmLoader.getInstance();
270
+ var INTEGRITY_FAILURE = "WASM integrity check failed";
271
+ async function loadWasm(wasmPath) {
272
+ try {
273
+ await wasmLoader.load(wasmPath);
274
+ return true;
275
+ } catch (error) {
276
+ if (error instanceof Error && error.message.startsWith(INTEGRITY_FAILURE)) throw error;
277
+ return false;
278
+ }
279
+ }
280
+ function isWasmLoaded() {
281
+ return wasmLoader.isLoaded();
282
+ }
283
+
284
+ // src/wasm/policy.ts
285
+ var WASM_DISPATCH_POLICY = {
286
+ // Element-wise (public `abs`, `sin`, ... on a Float64Array).
287
+ array_abs_ptr: { min: 1024 },
288
+ // 0.76/0.55 · 0.44/0.42 · 0.54/0.54 · 0.49/0.71
289
+ array_log10_ptr: { min: 1024 },
290
+ // 0.89/0.82 · 0.70/0.77 · 0.70/0.72 · 0.76/0.83
291
+ array_sin_ptr: { min: 1024, max: 131072 },
292
+ // 0.76/0.77 · 0.72/0.75 · (0.92/0.81 · 0.79/0.96)
293
+ array_log1p_ptr: { min: 1024, max: 16384 },
294
+ // 0.82/0.88 · (1.09/1.24 ...)
295
+ array_cos_ptr: { min: 16384 },
296
+ // (1.54/0.79) · 0.64/0.61 · 0.62/0.62 · 0.79/0.69
297
+ array_atanh_ptr: { min: 16384 },
298
+ // (0.93/0.85) · 0.70/0.73 · 0.77/0.78 · 0.81/0.83
299
+ array_log_ptr: { min: 16384 },
300
+ // (0.92/0.86) · 0.80/0.77 · 0.80/0.79 · 0.84/0.83
301
+ array_sec_ptr: { min: 16384, max: 1048576 },
302
+ // 0.76/0.79 · 0.76/0.83 · (0.90/0.88)
303
+ // A fused chain keeps its data in WASM memory between ops: (sin, exp) 0.36-0.49 and
304
+ // (tanh, expm1), both of which lose alone, 0.64-0.77, at every size.
305
+ fused_chain: { min: 1024 },
306
+ // Least-squares fits (public polyFit / chebyshevFit / legendreFit): 0.34-0.67.
307
+ poly_fit_f64: { min: 1024 },
308
+ cheb_fit_f64: { min: 1024 },
309
+ legendre_fit_f64: { min: 1024 },
310
+ // Only the largest measured size wins: lgamma 0.77/0.78, sort (median, quantile)
311
+ // 0.78/0.81 and 0.77/0.79 at 1M; 131K was 0.90-1.05.
312
+ lgamma_f64: { min: 1048576 },
313
+ sort_f64: { min: 1048576 }
314
+ };
315
+ var overrides = null;
316
+ function wasmPolicyAllows(kernel, n) {
317
+ const own = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
318
+ const band = overrides !== null && own(overrides, kernel) ? overrides[kernel] : overrides !== null && own(overrides, "*") ? overrides["*"] : WASM_DISPATCH_POLICY[kernel];
319
+ return band != null && n >= band.min && (band.max === void 0 || n < band.max);
320
+ }
438
321
 
439
322
  // src/wasm/bridges/common.ts
440
323
  function getWasm() {
@@ -498,6 +381,9 @@ var AS_ID_ARRAY_BUFFER = 1;
498
381
  var AS_ID_FLOAT64_ARRAY = 5;
499
382
  var AS_ID_INT32_ARRAY = 6;
500
383
  var AS_HEADER_BYTES = 12;
384
+ function resetAsHeap(mod) {
385
+ if (typeof mod.heap_reset === "function") mod.heap_reset();
386
+ }
501
387
  function asAllocHeader(mod, byteLength, typeId) {
502
388
  const bufferPtr = mod.__pin(mod.__new(byteLength, AS_ID_ARRAY_BUFFER)) >>> 0;
503
389
  const headerPtr = mod.__new(AS_HEADER_BYTES, typeId) >>> 0;
@@ -546,6 +432,10 @@ function withAsF64(wasm, inputs, body) {
546
432
  } catch {
547
433
  }
548
434
  }
435
+ try {
436
+ resetAsHeap(mod);
437
+ } catch {
438
+ }
549
439
  }
550
440
  }
551
441
  function withAsI32(wasm, inputs, body) {
@@ -570,11 +460,15 @@ function withAsI32(wasm, inputs, body) {
570
460
  } catch {
571
461
  }
572
462
  }
463
+ try {
464
+ resetAsHeap(mod);
465
+ } catch {
466
+ }
573
467
  }
574
468
  }
575
469
  function makeUnaryArrayDispatch(cfg) {
576
470
  return (xs) => {
577
- if (xs.length >= cfg.threshold) {
471
+ if (xs.length >= cfg.threshold && wasmPolicyAllows(cfg.name, xs.length)) {
578
472
  const wasm = getWasm();
579
473
  if (wasm && isAsWasm(wasm)) {
580
474
  const out = withAsF64(
@@ -623,7 +517,7 @@ function rankF64JS(data) {
623
517
  }
624
518
  function sortF64Dispatch(data) {
625
519
  const n = data.length;
626
- if (n >= WASM_SORT_THRESHOLD) {
520
+ if (n >= WASM_SORT_THRESHOLD && wasmPolicyAllows("sort_f64", n)) {
627
521
  const wasm = getWasm();
628
522
  if (wasm && isAsWasm(wasm)) {
629
523
  try {
@@ -644,7 +538,7 @@ function sortF64Dispatch(data) {
644
538
  }
645
539
  function argsortF64Dispatch(data) {
646
540
  const n = data.length;
647
- if (n >= WASM_SORT_THRESHOLD) {
541
+ if (n >= WASM_SORT_THRESHOLD && wasmPolicyAllows("argsort_f64", n)) {
648
542
  const wasm = getWasm();
649
543
  if (wasm && isAsWasm(wasm)) {
650
544
  try {
@@ -662,7 +556,7 @@ function argsortF64Dispatch(data) {
662
556
  }
663
557
  function rankF64Dispatch(data) {
664
558
  const n = data.length;
665
- if (n >= WASM_SORT_THRESHOLD) {
559
+ if (n >= WASM_SORT_THRESHOLD && wasmPolicyAllows("rank_f64", n)) {
666
560
  const wasm = getWasm();
667
561
  if (wasm && isAsWasm(wasm)) {
668
562
  try {
@@ -681,7 +575,9 @@ function rankF64Dispatch(data) {
681
575
 
682
576
  export {
683
577
  __export,
684
- wasmLoader,
578
+ loadWasm,
579
+ isWasmLoaded,
580
+ wasmPolicyAllows,
685
581
  getWasm,
686
582
  isAsWasm,
687
583
  runUnaryPtr,
@@ -9,6 +9,6 @@ interface BellNumbersDependencies {
9
9
  isInteger: (x: NumericValue) => boolean;
10
10
  stirlingS2: (n: NumericValue, k: NumericValue) => NumericValue;
11
11
  }
12
- export declare const createBellNumbers: import("../utils/factory.js").FactoryFunction<BellNumbersDependencies, unknown>;
12
+ export declare const createBellNumbers: import("../utils/factory.js").FactoryFunction<BellNumbersDependencies, TypedFunction>;
13
13
  export {};
14
14
  //# sourceMappingURL=bellNumbers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bellNumbers.d.ts","sourceRoot":"","sources":["../../src/combinatorics/bellNumbers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;CAChE;AAKD,eAAO,MAAM,iBAAiB,iFAyC7B,CAAC"}
1
+ {"version":3,"file":"bellNumbers.d.ts","sourceRoot":"","sources":["../../src/combinatorics/bellNumbers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;CAChE;AAKD,eAAO,MAAM,iBAAiB,uFAyC7B,CAAC"}
@@ -11,6 +11,6 @@ interface CatalanDependencies {
11
11
  isNegative: (x: NumericValue) => boolean;
12
12
  isInteger: (x: NumericValue) => boolean;
13
13
  }
14
- export declare const createCatalan: import("../utils/factory.js").FactoryFunction<CatalanDependencies, unknown>;
14
+ export declare const createCatalan: import("../utils/factory.js").FactoryFunction<CatalanDependencies, TypedFunction>;
15
15
  export {};
16
16
  //# sourceMappingURL=catalan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalan.d.ts","sourceRoot":"","sources":["../../src/combinatorics/catalan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACzC;AAaD,eAAO,MAAM,aAAa,6EA2CzB,CAAC"}
1
+ {"version":3,"file":"catalan.d.ts","sourceRoot":"","sources":["../../src/combinatorics/catalan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACzC;AAaD,eAAO,MAAM,aAAa,mFA2CzB,CAAC"}
@@ -11,6 +11,6 @@ interface CompositionDependencies {
11
11
  isInteger: (x: NumericValue) => boolean;
12
12
  larger: (x: NumericValue, y: NumericValue) => boolean;
13
13
  }
14
- export declare const createComposition: import("../utils/factory.js").FactoryFunction<CompositionDependencies, unknown>;
14
+ export declare const createComposition: import("../utils/factory.js").FactoryFunction<CompositionDependencies, TypedFunction>;
15
15
  export {};
16
16
  //# sourceMappingURL=composition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/combinatorics/composition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACvD;AAaD,eAAO,MAAM,iBAAiB,iFAiD7B,CAAC"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/combinatorics/composition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACvD;AAaD,eAAO,MAAM,iBAAiB,uFAiD7B,CAAC"}
@@ -17,6 +17,6 @@ interface StirlingS2Dependencies {
17
17
  bignumber?: (x: NumericValue) => BigNumberType;
18
18
  larger: (x: NumericValue, y: NumericValue) => boolean;
19
19
  }
20
- export declare const createStirlingS2: import("../utils/factory.js").FactoryFunction<StirlingS2Dependencies, unknown>;
20
+ export declare const createStirlingS2: import("../utils/factory.js").FactoryFunction<StirlingS2Dependencies, TypedFunction>;
21
21
  export {};
22
22
  //# sourceMappingURL=stirlingS2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stirlingS2.d.ts","sourceRoot":"","sources":["../../src/combinatorics/stirlingS2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,aAAa,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACvD;AAmBD,eAAO,MAAM,gBAAgB,gFAwF5B,CAAC"}
1
+ {"version":3,"file":"stirlingS2.d.ts","sourceRoot":"","sources":["../../src/combinatorics/stirlingS2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;AAE3C,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,cAAc,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACnE,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,aAAa,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;CACvD;AAmBD,eAAO,MAAM,gBAAgB,sFAwF5B,CAAC"}
@@ -2,6 +2,6 @@ import type { TypedFunction } from '../core/function/typed.js';
2
2
  interface ArgDependencies {
3
3
  typed: TypedFunction;
4
4
  }
5
- export declare const createArg: import("../utils/factory.js").FactoryFunction<ArgDependencies, unknown>;
5
+ export declare const createArg: import("../utils/factory.js").FactoryFunction<ArgDependencies, TypedFunction>;
6
6
  export {};
7
7
  //# sourceMappingURL=arg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arg.d.ts","sourceRoot":"","sources":["../../src/complex/arg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAc/D,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,SAAS,yEAmDrB,CAAC"}
1
+ {"version":3,"file":"arg.d.ts","sourceRoot":"","sources":["../../src/complex/arg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAc/D,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,SAAS,+EAmDrB,CAAC"}
@@ -2,6 +2,6 @@ import type { TypedFunction } from '../core/function/typed.js';
2
2
  interface ConjDependencies {
3
3
  typed: TypedFunction;
4
4
  }
5
- export declare const createConj: import("../utils/factory.js").FactoryFunction<ConjDependencies, unknown>;
5
+ export declare const createConj: import("../utils/factory.js").FactoryFunction<ConjDependencies, TypedFunction>;
6
6
  export {};
7
7
  //# sourceMappingURL=conj.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conj.d.ts","sourceRoot":"","sources":["../../src/complex/conj.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,UAAU,0EA8CtB,CAAC"}
1
+ {"version":3,"file":"conj.d.ts","sourceRoot":"","sources":["../../src/complex/conj.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,UAAU,gFA8CtB,CAAC"}
@@ -2,6 +2,6 @@ import type { TypedFunction } from '../core/function/typed.js';
2
2
  interface ImDependencies {
3
3
  typed: TypedFunction;
4
4
  }
5
- export declare const createIm: import("../utils/factory.js").FactoryFunction<ImDependencies, unknown>;
5
+ export declare const createIm: import("../utils/factory.js").FactoryFunction<ImDependencies, TypedFunction>;
6
6
  export {};
7
7
  //# sourceMappingURL=im.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"im.d.ts","sourceRoot":"","sources":["../../src/complex/im.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAgB/D,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,QAAQ,wEAuCnB,CAAC"}
1
+ {"version":3,"file":"im.d.ts","sourceRoot":"","sources":["../../src/complex/im.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAgB/D,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,QAAQ,8EAuCnB,CAAC"}
@@ -2,6 +2,6 @@ import type { TypedFunction } from '../core/function/typed.js';
2
2
  interface ReDependencies {
3
3
  typed: TypedFunction;
4
4
  }
5
- export declare const createRe: import("../utils/factory.js").FactoryFunction<ReDependencies, unknown>;
5
+ export declare const createRe: import("../utils/factory.js").FactoryFunction<ReDependencies, TypedFunction>;
6
6
  export {};
7
7
  //# sourceMappingURL=re.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"re.d.ts","sourceRoot":"","sources":["../../src/complex/re.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,QAAQ,wEAuCnB,CAAC"}
1
+ {"version":3,"file":"re.d.ts","sourceRoot":"","sources":["../../src/complex/re.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,UAAU,cAAc;IACtB,KAAK,EAAE,aAAa,CAAC;CACtB;AAKD,eAAO,MAAM,QAAQ,8EAuCnB,CAAC"}
@@ -39,17 +39,27 @@
39
39
  * Type definition for a signature map used in typed functions
40
40
  */
41
41
  export type TypedSignatures = Record<string, (...args: unknown[]) => unknown>;
42
+ /**
43
+ * The signatures accepted when creating a typed function. Implementations are typed
44
+ * `(...args: never[]) => unknown`, the top type for "any function" in an input
45
+ * position (see `referToSelf` below).
46
+ */
47
+ type TypedSignatureMap = Record<string, (...args: never[]) => unknown>;
42
48
  /**
43
49
  * Type definition for a typed function
44
50
  */
45
51
  export interface TypedFunction {
52
+ (name: string, signatures: TypedSignatureMap | TypedFunction, ...moreSignatures: Array<TypedSignatureMap | TypedFunction>): TypedFunction;
46
53
  (...args: unknown[]): unknown;
47
54
  /** The signatures of this typed function (always present on a typed function) */
48
55
  signatures: TypedSignatures;
49
56
  /** Check if a value is a typed function */
50
57
  isTypedFunction: (value: unknown) => value is TypedFunction;
51
58
  referToSelf: (callback: (self: TypedFunction) => (...args: never[]) => unknown) => (...args: unknown[]) => unknown;
52
- referTo: (...signatureNames: string[]) => (callback: (...refs: Array<(...args: unknown[]) => unknown>) => (...args: never[]) => unknown) => (...args: unknown[]) => unknown;
59
+ referTo: (...args: [
60
+ ...signatureNames: string[],
61
+ callback: (...refs: Array<(...args: unknown[]) => unknown>) => (...args: never[]) => unknown
62
+ ]) => (...args: unknown[]) => unknown;
53
63
  create: () => TypedFunction;
54
64
  addTypes: (types: TypeDefinition[]) => void;
55
65
  addConversions: (conversions: TypeConversion[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../../src/core/function/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAiDH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9B,iFAAiF;IACjF,UAAU,EAAE,eAAe,CAAC;IAC5B,2CAA2C;IAC3C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,aAAa,CAAC;IAO5D,WAAW,EAAE,CACX,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,KAC7D,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACrC,OAAO,EAAE,CACP,GAAG,cAAc,EAAE,MAAM,EAAE,KACxB,CACH,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,KACzF,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACrC,MAAM,EAAE,MAAM,aAAa,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACxD,aAAa,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC;IACpF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,KAAK,KAAK,CAAC;IAGnF,IAAI,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC3F,OAAO,EAAE,CACP,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,OAAO,EAAE,KACZ;QACH,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;QAChD,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,GAAG,IAAI,CAAC;CACV;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,KAAK,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,KAAK,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,MAAM,CAAA;KAAE,CAAC;CAClE;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAYF;;;;GAIG;AACH,eAAO,MAAM,WAAW,oFAwWvB,CAAC"}
1
+ {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../../src/core/function/typed.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  import { createEvaluate } from '@danielsimonjr/mathts-expression';
11
+ /** Map-like scope accepted by the expression compiler. */
12
+ interface Scope {
13
+ has(key: string): boolean;
14
+ get(key: string): unknown;
15
+ set(key: string, value: unknown): void;
16
+ }
11
17
  /**
12
18
  * Parse a math expression string into an AST node.
13
19
  * Can be used for inspection or pre-compilation.
@@ -16,21 +22,52 @@ import { createEvaluate } from '@danielsimonjr/mathts-expression';
16
22
  * typed-function conversion registrations.
17
23
  */
18
24
  export declare const parse: Parameters<typeof createEvaluate>[0];
25
+ /**
26
+ * Options for {@link evaluate}, {@link compileExpr}, and {@link parser}.
27
+ */
28
+ export interface PhysicsEvaluateOptions {
29
+ /**
30
+ * When `true`, disables the pre-compile AST validator.
31
+ * Only opt out when the host is providing trusted, hand-authored input.
32
+ */
33
+ unsafe?: boolean;
34
+ /**
35
+ * Opt-in physics reading of bare `e`.
36
+ *
37
+ * When `true`, `e` is the elementary charge `1.602176634e-19 C` (a Unit).
38
+ * `E` stays unbound so a formula can use it for energy. Euler's number is
39
+ * only `exp(x)`, for example `exp(1)`. An explicit scope binding for `e`
40
+ * still wins. Default `false`: `e` is Euler's number.
41
+ */
42
+ physics?: boolean;
43
+ }
44
+ /**
45
+ * Scope in which bare `e` is the elementary charge.
46
+ *
47
+ * Pass the result as `evaluate`'s scope, or use `{ physics: true }`.
48
+ * Entries already present on `scope` win, including an explicit `e`.
49
+ */
50
+ export declare function physicsScope(scope?: Record<string, unknown> | Scope): Record<string, unknown> | Scope;
19
51
  /**
20
52
  * Evaluate a math expression string against the full activated math scope.
21
53
  *
22
54
  * @param expr - Expression string (e.g., '2 + 3', 'sin(pi/2)', 'x^2')
23
55
  * @param scope - Optional variable bindings (e.g., { x: 3 })
56
+ * @param options - Optional flags. `{ physics: true }` reads bare `e` as the elementary charge.
24
57
  * @returns The result of evaluating the expression
25
58
  *
26
59
  * @example
27
60
  * ```ts
28
- * evaluate('2 + 3'); // 5
29
- * evaluate('sin(pi / 2)'); // 1
30
- * evaluate('x^2 + 1', { x: 3 }) // 10
61
+ * evaluate('2 + 3'); // 5
62
+ * evaluate('sin(pi / 2)'); // 1
63
+ * evaluate('x^2 + 1', { x: 3 }); // 10
64
+ * evaluate('e'); // Euler's number
65
+ * evaluate('e', undefined, { physics: true }); // 1.602176634e-19 C
66
+ * evaluate('exp(1)', undefined, { physics: true }); // Euler's number
31
67
  * ```
32
68
  */
33
- export declare const evaluate: ReturnType<typeof createEvaluate>;
69
+ export declare function evaluate(expr: string, scope?: Record<string, unknown> | Scope, options?: PhysicsEvaluateOptions): unknown;
70
+ export declare function evaluate(exprs: string[], scope?: Record<string, unknown> | Scope, options?: PhysicsEvaluateOptions): unknown[];
34
71
  /**
35
72
  * Compile a math expression into a reusable CompiledExpression.
36
73
  *
@@ -38,6 +75,7 @@ export declare const evaluate: ReturnType<typeof createEvaluate>;
38
75
  * many times with different variable bindings.
39
76
  *
40
77
  * @param expr - Expression string to compile
78
+ * @param options - Optional flags. `{ physics: true }` reads bare `e` as the elementary charge.
41
79
  * @returns CompiledExpression with an evaluate(scope?) method
42
80
  *
43
81
  * @example
@@ -45,9 +83,10 @@ export declare const evaluate: ReturnType<typeof createEvaluate>;
45
83
  * const compiled = compileExpr('x^2 + y');
46
84
  * compiled.evaluate({ x: 2, y: 1 }); // 5
47
85
  * compiled.evaluate({ x: 3, y: 2 }); // 11
86
+ * compileExpr('e', { physics: true }).evaluate(); // 1.602176634e-19 C
48
87
  * ```
49
88
  */
50
- export declare function compileExpr(expr: string): import("@danielsimonjr/mathts-expression").CompiledExpression;
89
+ export declare function compileExpr(expr: string, options?: PhysicsEvaluateOptions): import("@danielsimonjr/mathts-expression").CompiledExpression;
51
90
  /**
52
91
  * A stateful parser with a retained scope. Variables persist across
53
92
  * `evaluate` calls.
@@ -55,6 +94,7 @@ export declare function compileExpr(expr: string): import("@danielsimonjr/mathts
55
94
  * Assignment expressions (`x = 5`) are rejected by the expression security
56
95
  * validator — manage retained state with `set` / `get` instead.
57
96
  *
97
+ * @param options - Optional flags. `{ physics: true }` reads bare `e` as the elementary charge.
58
98
  * @example
59
99
  * ```ts
60
100
  * const p = parser();
@@ -62,9 +102,10 @@ export declare function compileExpr(expr: string): import("@danielsimonjr/mathts
62
102
  * p.evaluate('x^2'); // 9
63
103
  * p.set('y', p.evaluate('x + 1')); // retain a computed value
64
104
  * p.get('y'); // 4
105
+ * parser({ physics: true }).evaluate('exp(1)'); // Euler's number
65
106
  * ```
66
107
  */
67
- export declare function parser(): {
108
+ export declare function parser(options?: PhysicsEvaluateOptions): {
68
109
  /** The live scope object — assignments during `evaluate` land here. */
69
110
  scope: Record<string, unknown>;
70
111
  /** Evaluate an expression against the retained scope. */
@@ -88,4 +129,5 @@ export declare function replacer(_key: string, value: unknown): unknown;
88
129
  * non-finite numbers tagged by {@link replacer} / the types' own `toJSON()`.
89
130
  */
90
131
  export declare function reviver(_key: string, value: unknown): unknown;
132
+ export {};
91
133
  //# sourceMappingURL=evaluate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/factories/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EAEf,MAAM,kCAAkC,CAAC;AAiG1C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAyB,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAMhF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAoC,CAAC;AAE5F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,iEAEvC;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM;IAGlB,uEAAuE;;IAEvE,yDAAyD;mBAC1C,MAAM,GAAG,OAAO;IAG/B,gCAAgC;cACtB,MAAM,GAAG,OAAO;IAG1B,+BAA+B;cACrB,MAAM,SAAS,OAAO,GAAG,IAAI;IAGvC,kCAAkC;iBACrB,MAAM,GAAG,IAAI;IAG1B,oCAAoC;aAC3B,IAAI;EAIhB;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAO9D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB7D"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/factories/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EAEf,MAAM,kCAAkC,CAAC;AAgB1C,0DAA0D;AAC1D,UAAU,KAAK;IACb,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC;AAqFD;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAyB,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAmBhF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAmBjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC;AACX,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,EAAE,CAAC;AAYb;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,iEAazE;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,sBAAsB;IAOnD,uEAAuE;;IAEvE,yDAAyD;mBAC1C,MAAM,GAAG,OAAO;IAG/B,gCAAgC;cACtB,MAAM,GAAG,OAAO;IAG1B,+BAA+B;cACrB,MAAM,SAAS,OAAO,GAAG,IAAI;IAGvC,kCAAkC;iBACrB,MAAM,GAAG,IAAI;IAG1B,oCAAoC;aAC3B,IAAI;EAIhB;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAO9D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB7D"}