diff-grok 1.1.0 → 1.3.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 (487) hide show
  1. package/LICENSE +1 -1
  2. package/README.MD +80 -31
  3. package/dist/index.d.ts +6 -0
  4. package/{index.js → dist/index.js} +2 -1
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/examples/basic-use.d.ts +10 -0
  7. package/dist/src/examples/basic-use.js.map +1 -0
  8. package/dist/src/examples/check-methods.d.ts +1 -0
  9. package/{src → dist/src}/examples/check-methods.js +15 -3
  10. package/dist/src/examples/check-methods.js.map +1 -0
  11. package/dist/src/examples/corr-probs.d.ts +15 -0
  12. package/{src → dist/src}/examples/corr-probs.js +2 -2
  13. package/dist/src/examples/corr-probs.js.map +1 -0
  14. package/dist/src/examples/cyclic-model.d.ts +6 -0
  15. package/dist/src/examples/cyclic-model.js.map +1 -0
  16. package/dist/src/examples/e5.d.ts +15 -0
  17. package/dist/src/examples/e5.js.map +1 -0
  18. package/dist/src/examples/hires.d.ts +15 -0
  19. package/dist/src/examples/hires.js.map +1 -0
  20. package/dist/src/examples/index.d.ts +22 -0
  21. package/dist/src/examples/index.js.map +1 -0
  22. package/dist/src/examples/model-updates.d.ts +6 -0
  23. package/dist/src/examples/model-updates.js.map +1 -0
  24. package/dist/src/examples/orego.d.ts +15 -0
  25. package/dist/src/examples/orego.js.map +1 -0
  26. package/dist/src/examples/pipeline-use.d.ts +6 -0
  27. package/dist/src/examples/pipeline-use.js.map +1 -0
  28. package/dist/src/examples/pollution.d.ts +15 -0
  29. package/dist/src/examples/pollution.js.map +1 -0
  30. package/{src/examples/print-benchmark.ts → dist/src/examples/print-benchmark.d.ts} +8 -58
  31. package/dist/src/examples/print-benchmark.js.map +1 -0
  32. package/dist/src/examples/robertson.d.ts +15 -0
  33. package/{src → dist/src}/examples/robertson.js +2 -2
  34. package/dist/src/examples/robertson.js.map +1 -0
  35. package/dist/src/examples/scripting.d.ts +1 -0
  36. package/dist/src/examples/scripting.js.map +1 -0
  37. package/dist/src/examples/vdpol.d.ts +15 -0
  38. package/dist/src/examples/vdpol.js.map +1 -0
  39. package/dist/src/latex-export/examples/advanced-to-latex.d.ts +2 -0
  40. package/dist/src/latex-export/examples/advanced-to-latex.js +41 -0
  41. package/dist/src/latex-export/examples/advanced-to-latex.js.map +1 -0
  42. package/dist/src/latex-export/examples/basic-to-latex.d.ts +2 -0
  43. package/dist/src/latex-export/examples/basic-to-latex.js +17 -0
  44. package/dist/src/latex-export/examples/basic-to-latex.js.map +1 -0
  45. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.d.ts +2 -0
  46. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js +145 -0
  47. package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js.map +1 -0
  48. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.d.ts +2 -0
  49. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js +41 -0
  50. package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js.map +1 -0
  51. package/dist/src/latex-export/examples/energy-n-control-to-markdown.d.ts +2 -0
  52. package/dist/src/latex-export/examples/energy-n-control-to-markdown.js +58 -0
  53. package/dist/src/latex-export/examples/energy-n-control-to-markdown.js.map +1 -0
  54. package/dist/src/latex-export/examples/extended-to-markdown.d.ts +2 -0
  55. package/dist/src/latex-export/examples/extended-to-markdown.js +37 -0
  56. package/dist/src/latex-export/examples/extended-to-markdown.js.map +1 -0
  57. package/dist/src/latex-export/examples/fermentation-to-latex.d.ts +2 -0
  58. package/dist/src/latex-export/examples/fermentation-to-latex.js +32 -0
  59. package/dist/src/latex-export/examples/fermentation-to-latex.js.map +1 -0
  60. package/dist/src/latex-export/examples/ga-production-to-markdown.d.ts +2 -0
  61. package/dist/src/latex-export/examples/ga-production-to-markdown.js +58 -0
  62. package/dist/src/latex-export/examples/ga-production-to-markdown.js.map +1 -0
  63. package/dist/src/latex-export/examples/nimotuzumab-to-latex.d.ts +2 -0
  64. package/dist/src/latex-export/examples/nimotuzumab-to-latex.js +53 -0
  65. package/dist/src/latex-export/examples/nimotuzumab-to-latex.js.map +1 -0
  66. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.d.ts +2 -0
  67. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js +50 -0
  68. package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js.map +1 -0
  69. package/dist/src/latex-export/examples/pk-to-markdown.d.ts +2 -0
  70. package/dist/src/latex-export/examples/pk-to-markdown.js +35 -0
  71. package/dist/src/latex-export/examples/pk-to-markdown.js.map +1 -0
  72. package/dist/src/latex-export/examples/pollution-to-latex.d.ts +2 -0
  73. package/dist/src/latex-export/examples/pollution-to-latex.js +141 -0
  74. package/dist/src/latex-export/examples/pollution-to-latex.js.map +1 -0
  75. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.d.ts +2 -0
  76. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js +25 -0
  77. package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js.map +1 -0
  78. package/dist/src/latex-export/generator/bracket-manager.d.ts +19 -0
  79. package/dist/src/latex-export/generator/bracket-manager.js +58 -0
  80. package/dist/src/latex-export/generator/bracket-manager.js.map +1 -0
  81. package/dist/src/latex-export/generator/document-builder.d.ts +13 -0
  82. package/dist/src/latex-export/generator/document-builder.js +433 -0
  83. package/dist/src/latex-export/generator/document-builder.js.map +1 -0
  84. package/dist/src/latex-export/generator/latex-generator.d.ts +23 -0
  85. package/dist/src/latex-export/generator/latex-generator.js +176 -0
  86. package/dist/src/latex-export/generator/latex-generator.js.map +1 -0
  87. package/dist/src/latex-export/index.d.ts +8 -0
  88. package/dist/src/latex-export/index.js +25 -0
  89. package/dist/src/latex-export/index.js.map +1 -0
  90. package/dist/src/latex-export/output/md-formatter.d.ts +16 -0
  91. package/dist/src/latex-export/output/md-formatter.js +27 -0
  92. package/dist/src/latex-export/output/md-formatter.js.map +1 -0
  93. package/dist/src/latex-export/output/tex-formatter.d.ts +5 -0
  94. package/dist/src/latex-export/output/tex-formatter.js +20 -0
  95. package/dist/src/latex-export/output/tex-formatter.js.map +1 -0
  96. package/dist/src/latex-export/parser/ast-parser.d.ts +7 -0
  97. package/dist/src/latex-export/parser/ast-parser.js +153 -0
  98. package/dist/src/latex-export/parser/ast-parser.js.map +1 -0
  99. package/dist/src/latex-export/parser/ivp-parser.d.ts +6 -0
  100. package/dist/src/latex-export/parser/ivp-parser.js +219 -0
  101. package/dist/src/latex-export/parser/ivp-parser.js.map +1 -0
  102. package/dist/src/latex-export/parser/line-joiner.d.ts +25 -0
  103. package/dist/src/latex-export/parser/line-joiner.js +80 -0
  104. package/dist/src/latex-export/parser/line-joiner.js.map +1 -0
  105. package/dist/src/latex-export/parser/tokenizer.d.ts +7 -0
  106. package/dist/src/latex-export/parser/tokenizer.js +143 -0
  107. package/dist/src/latex-export/parser/tokenizer.js.map +1 -0
  108. package/dist/src/latex-export/transformer/functions.d.ts +12 -0
  109. package/dist/src/latex-export/transformer/functions.js +47 -0
  110. package/dist/src/latex-export/transformer/functions.js.map +1 -0
  111. package/dist/src/latex-export/transformer/identifier.d.ts +23 -0
  112. package/dist/src/latex-export/transformer/identifier.js +194 -0
  113. package/dist/src/latex-export/transformer/identifier.js.map +1 -0
  114. package/dist/src/latex-export/transformer/operators.d.ts +9 -0
  115. package/dist/src/latex-export/transformer/operators.js +41 -0
  116. package/dist/src/latex-export/transformer/operators.js.map +1 -0
  117. package/dist/src/latex-export/types.d.ts +122 -0
  118. package/dist/src/latex-export/types.js +10 -0
  119. package/dist/src/latex-export/types.js.map +1 -0
  120. package/{src/pipeline/basic-pipeline-creator.ts → dist/src/pipeline/basic-pipeline-creator.d.ts} +11 -28
  121. package/dist/src/pipeline/basic-pipeline-creator.js.map +1 -0
  122. package/dist/src/pipeline/constants.d.ts +14 -0
  123. package/dist/src/pipeline/constants.js.map +1 -0
  124. package/dist/src/pipeline/index.d.ts +7 -0
  125. package/dist/src/pipeline/index.js.map +1 -0
  126. package/dist/src/pipeline/input.d.ts +3 -0
  127. package/dist/src/pipeline/input.js.map +1 -0
  128. package/dist/src/pipeline/loops-pipeline-creator.d.ts +124 -0
  129. package/dist/src/pipeline/loops-pipeline-creator.js.map +1 -0
  130. package/dist/src/pipeline/output.d.ts +10 -0
  131. package/{src → dist/src}/pipeline/output.js +1 -1
  132. package/dist/src/pipeline/output.js.map +1 -0
  133. package/dist/src/pipeline/pipeline-creator.d.ts +12 -0
  134. package/{src → dist/src}/pipeline/pipeline-creator.js +2 -0
  135. package/dist/src/pipeline/pipeline-creator.js.map +1 -0
  136. package/{src/pipeline/pipeline.ts → dist/src/pipeline/pipeline.d.ts} +10 -97
  137. package/dist/src/pipeline/pipeline.js.map +1 -0
  138. package/{src/pipeline/updates-pipeline-creator.ts → dist/src/pipeline/updates-pipeline-creator.d.ts} +15 -131
  139. package/dist/src/pipeline/updates-pipeline-creator.js.map +1 -0
  140. package/dist/src/scripting-tools/constants.d.ts +59 -0
  141. package/dist/src/scripting-tools/constants.js.map +1 -0
  142. package/dist/src/scripting-tools/index.d.ts +3 -0
  143. package/dist/src/scripting-tools/index.js.map +1 -0
  144. package/dist/src/scripting-tools/model-error.d.ts +10 -0
  145. package/{src → dist/src}/scripting-tools/model-error.js +2 -1
  146. package/dist/src/scripting-tools/model-error.js.map +1 -0
  147. package/dist/src/scripting-tools/scripting-tools.d.ts +277 -0
  148. package/{src → dist/src}/scripting-tools/scripting-tools.js +2 -4
  149. package/dist/src/scripting-tools/scripting-tools.js.map +1 -0
  150. package/dist/src/solver-tools/ab4-method.d.ts +46 -0
  151. package/{src → dist/src}/solver-tools/ab4-method.js +3 -3
  152. package/dist/src/solver-tools/ab4-method.js.map +1 -0
  153. package/dist/src/solver-tools/ab5-method.d.ts +46 -0
  154. package/{src → dist/src}/solver-tools/ab5-method.js +3 -3
  155. package/dist/src/solver-tools/ab5-method.js.map +1 -0
  156. package/dist/src/solver-tools/callbacks/callback-base.d.ts +8 -0
  157. package/dist/src/solver-tools/callbacks/callback-base.js.map +1 -0
  158. package/dist/src/solver-tools/callbacks/callback-tools.d.ts +6 -0
  159. package/dist/src/solver-tools/callbacks/callback-tools.js.map +1 -0
  160. package/dist/src/solver-tools/callbacks/iter-checker-callback.d.ts +12 -0
  161. package/{src → dist/src}/solver-tools/callbacks/iter-checker-callback.js +2 -0
  162. package/dist/src/solver-tools/callbacks/iter-checker-callback.js.map +1 -0
  163. package/dist/src/solver-tools/callbacks/time-checker-callback.d.ts +12 -0
  164. package/{src → dist/src}/solver-tools/callbacks/time-checker-callback.js +2 -2
  165. package/dist/src/solver-tools/callbacks/time-checker-callback.js.map +1 -0
  166. package/dist/src/solver-tools/cvode/common.d.ts +395 -0
  167. package/dist/src/solver-tools/cvode/common.js +483 -0
  168. package/dist/src/solver-tools/cvode/common.js.map +1 -0
  169. package/dist/src/solver-tools/cvode/cvode.d.ts +23 -0
  170. package/dist/src/solver-tools/cvode/cvode.js +1062 -0
  171. package/dist/src/solver-tools/cvode/cvode.js.map +1 -0
  172. package/dist/src/solver-tools/cvode/cvode_adams.d.ts +22 -0
  173. package/dist/src/solver-tools/cvode/cvode_adams.js +124 -0
  174. package/dist/src/solver-tools/cvode/cvode_adams.js.map +1 -0
  175. package/dist/src/solver-tools/cvode/cvode_bdf.d.ts +37 -0
  176. package/dist/src/solver-tools/cvode/cvode_bdf.js +153 -0
  177. package/dist/src/solver-tools/cvode/cvode_bdf.js.map +1 -0
  178. package/dist/src/solver-tools/cvode/cvode_class.d.ts +116 -0
  179. package/dist/src/solver-tools/cvode/cvode_class.js +163 -0
  180. package/dist/src/solver-tools/cvode/cvode_class.js.map +1 -0
  181. package/dist/src/solver-tools/cvode/cvode_hin.d.ts +24 -0
  182. package/dist/src/solver-tools/cvode/cvode_hin.js +119 -0
  183. package/dist/src/solver-tools/cvode/cvode_hin.js.map +1 -0
  184. package/dist/src/solver-tools/cvode/cvode_io.d.ts +98 -0
  185. package/dist/src/solver-tools/cvode/cvode_io.js +202 -0
  186. package/dist/src/solver-tools/cvode/cvode_io.js.map +1 -0
  187. package/dist/src/solver-tools/cvode/cvode_ls.d.ts +23 -0
  188. package/dist/src/solver-tools/cvode/cvode_ls.js +210 -0
  189. package/dist/src/solver-tools/cvode/cvode_ls.js.map +1 -0
  190. package/dist/src/solver-tools/cvode/cvode_nls.d.ts +25 -0
  191. package/dist/src/solver-tools/cvode/cvode_nls.js +220 -0
  192. package/dist/src/solver-tools/cvode/cvode_nls.js.map +1 -0
  193. package/dist/src/solver-tools/cvode/cvode_root.d.ts +64 -0
  194. package/dist/src/solver-tools/cvode/cvode_root.js +415 -0
  195. package/dist/src/solver-tools/cvode/cvode_root.js.map +1 -0
  196. package/dist/src/solver-tools/cvode/dense_linalg.d.ts +50 -0
  197. package/dist/src/solver-tools/cvode/dense_linalg.js +131 -0
  198. package/dist/src/solver-tools/cvode/dense_linalg.js.map +1 -0
  199. package/dist/src/solver-tools/cvode/index.d.ts +24 -0
  200. package/dist/src/solver-tools/cvode/index.js +26 -0
  201. package/dist/src/solver-tools/cvode/index.js.map +1 -0
  202. package/dist/src/solver-tools/cvode-method.d.ts +47 -0
  203. package/dist/src/solver-tools/cvode-method.js +114 -0
  204. package/dist/src/solver-tools/cvode-method.js.map +1 -0
  205. package/dist/src/solver-tools/index.d.ts +16 -0
  206. package/{src → dist/src}/solver-tools/index.js +1 -0
  207. package/dist/src/solver-tools/index.js.map +1 -0
  208. package/dist/src/solver-tools/lin-alg-tools.d.ts +6 -0
  209. package/dist/src/solver-tools/lin-alg-tools.js.map +1 -0
  210. package/dist/src/solver-tools/lsoda/blas.d.ts +59 -0
  211. package/{src → dist/src}/solver-tools/lsoda/blas.js +11 -0
  212. package/dist/src/solver-tools/lsoda/blas.js.map +1 -0
  213. package/dist/src/solver-tools/lsoda/cfode.d.ts +18 -0
  214. package/{src → dist/src}/solver-tools/lsoda/cfode.js +11 -0
  215. package/dist/src/solver-tools/lsoda/cfode.js.map +1 -0
  216. package/dist/src/solver-tools/lsoda/common.d.ts +85 -0
  217. package/dist/src/solver-tools/lsoda/common.js +96 -0
  218. package/dist/src/solver-tools/lsoda/common.js.map +1 -0
  219. package/dist/src/solver-tools/lsoda/corfailure.d.ts +18 -0
  220. package/{src → dist/src}/solver-tools/lsoda/corfailure.js +11 -0
  221. package/dist/src/solver-tools/lsoda/corfailure.js.map +1 -0
  222. package/dist/src/solver-tools/lsoda/correction.d.ts +23 -0
  223. package/{src → dist/src}/solver-tools/lsoda/correction.js +11 -0
  224. package/dist/src/solver-tools/lsoda/correction.js.map +1 -0
  225. package/dist/src/solver-tools/lsoda/dense.d.ts +47 -0
  226. package/{src → dist/src}/solver-tools/lsoda/dense.js +13 -0
  227. package/dist/src/solver-tools/lsoda/dense.js.map +1 -0
  228. package/dist/src/solver-tools/lsoda/index.d.ts +16 -0
  229. package/dist/src/solver-tools/lsoda/index.js +15 -0
  230. package/dist/src/solver-tools/lsoda/index.js.map +1 -0
  231. package/dist/src/solver-tools/lsoda/intdy.d.ts +19 -0
  232. package/{src → dist/src}/solver-tools/lsoda/intdy.js +11 -0
  233. package/dist/src/solver-tools/lsoda/intdy.js.map +1 -0
  234. package/dist/src/solver-tools/lsoda/lsoda.d.ts +66 -0
  235. package/{src → dist/src}/solver-tools/lsoda/lsoda.js +24 -5
  236. package/dist/src/solver-tools/lsoda/lsoda.js.map +1 -0
  237. package/dist/src/solver-tools/lsoda/methodswitch.d.ts +21 -0
  238. package/{src → dist/src}/solver-tools/lsoda/methodswitch.js +11 -0
  239. package/dist/src/solver-tools/lsoda/methodswitch.js.map +1 -0
  240. package/dist/src/solver-tools/lsoda/orderswitch.d.ts +21 -0
  241. package/{src → dist/src}/solver-tools/lsoda/orderswitch.js +11 -0
  242. package/dist/src/solver-tools/lsoda/orderswitch.js.map +1 -0
  243. package/dist/src/solver-tools/lsoda/prja.d.ts +18 -0
  244. package/{src → dist/src}/solver-tools/lsoda/prja.js +11 -0
  245. package/dist/src/solver-tools/lsoda/prja.js.map +1 -0
  246. package/dist/src/solver-tools/lsoda/scaleh.d.ts +16 -0
  247. package/{src → dist/src}/solver-tools/lsoda/scaleh.js +11 -0
  248. package/dist/src/solver-tools/lsoda/scaleh.js.map +1 -0
  249. package/dist/src/solver-tools/lsoda/solsy.d.ts +17 -0
  250. package/dist/src/solver-tools/lsoda/solsy.js +25 -0
  251. package/dist/src/solver-tools/lsoda/solsy.js.map +1 -0
  252. package/dist/src/solver-tools/lsoda/stoda.d.ts +19 -0
  253. package/{src → dist/src}/solver-tools/lsoda/stoda.js +11 -0
  254. package/dist/src/solver-tools/lsoda/stoda.js.map +1 -0
  255. package/dist/src/solver-tools/lsoda-method.d.ts +46 -0
  256. package/{src → dist/src}/solver-tools/lsoda-method.js +23 -9
  257. package/dist/src/solver-tools/lsoda-method.js.map +1 -0
  258. package/dist/src/solver-tools/mrt-method.d.ts +47 -0
  259. package/{src → dist/src}/solver-tools/mrt-method.js +2 -2
  260. package/dist/src/solver-tools/mrt-method.js.map +1 -0
  261. package/dist/src/solver-tools/rk3-method.d.ts +46 -0
  262. package/{src → dist/src}/solver-tools/rk3-method.js +2 -2
  263. package/dist/src/solver-tools/rk3-method.js.map +1 -0
  264. package/dist/src/solver-tools/rk4-method.d.ts +46 -0
  265. package/{src → dist/src}/solver-tools/rk4-method.js +2 -2
  266. package/dist/src/solver-tools/rk4-method.js.map +1 -0
  267. package/dist/src/solver-tools/rkdp-method.d.ts +46 -0
  268. package/{src → dist/src}/solver-tools/rkdp-method.js +2 -2
  269. package/dist/src/solver-tools/rkdp-method.js.map +1 -0
  270. package/dist/src/solver-tools/ros34prw-method.d.ts +46 -0
  271. package/{src → dist/src}/solver-tools/ros34prw-method.js +2 -2
  272. package/dist/src/solver-tools/ros34prw-method.js.map +1 -0
  273. package/dist/src/solver-tools/ros3prw-method.d.ts +46 -0
  274. package/{src → dist/src}/solver-tools/ros3prw-method.js +2 -2
  275. package/dist/src/solver-tools/ros3prw-method.js.map +1 -0
  276. package/{src/solver-tools/solver-defs.ts → dist/src/solver-tools/solver-defs.d.ts} +45 -84
  277. package/{src → dist/src}/solver-tools/solver-defs.js +1 -0
  278. package/dist/src/solver-tools/solver-defs.js.map +1 -0
  279. package/dist/src/worker-tools/index.d.ts +2 -0
  280. package/dist/src/worker-tools/index.js.map +1 -0
  281. package/{src/worker-tools/scripting.ts → dist/src/worker-tools/scripting.d.ts} +9 -91
  282. package/dist/src/worker-tools/scripting.js.map +1 -0
  283. package/dist/src/worker-tools/solving.d.ts +7 -0
  284. package/{src → dist/src}/worker-tools/solving.js +3 -1
  285. package/dist/src/worker-tools/solving.js.map +1 -0
  286. package/package.json +13 -12
  287. package/.claude/settings.local.json +0 -11
  288. package/.eslintrc.json +0 -45
  289. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
  290. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  291. package/.github/PULL_REQUEST_TEMPLATE.md +0 -22
  292. package/.github/scripts/bump-js-api-version.sh +0 -106
  293. package/.github/scripts/check-output.sh +0 -20
  294. package/.github/scripts/iac-cfn-deploy.sh +0 -90
  295. package/.github/scripts/slack_api_request.sh +0 -65
  296. package/.github/scripts/test_package.sh +0 -270
  297. package/.github/workflows/deploy-docs.yml +0 -15
  298. package/.github/workflows/libraries.yaml +0 -305
  299. package/.github/workflows/test.yaml +0 -19
  300. package/CLAUDE.md +0 -98
  301. package/CONTRIBUTING.md +0 -74
  302. package/eslintrc.json +0 -45
  303. package/images/E5.png +0 -0
  304. package/images/HIRES.png +0 -0
  305. package/images/OREGO.png +0 -0
  306. package/images/POLL-full.png +0 -0
  307. package/images/POLL.png +0 -0
  308. package/images/ROBER.png +0 -0
  309. package/images/VDP0L.png +0 -0
  310. package/images/VDPOL.png +0 -0
  311. package/images/acid-prod.gif +0 -0
  312. package/index.js.map +0 -1
  313. package/index.ts +0 -17
  314. package/jest.config.js +0 -13
  315. package/src/examples/basic-use.js.map +0 -1
  316. package/src/examples/basic-use.ts +0 -44
  317. package/src/examples/bioreactor.js +0 -125
  318. package/src/examples/bioreactor.js.map +0 -1
  319. package/src/examples/bioreactor.ts +0 -132
  320. package/src/examples/check-methods.js.map +0 -1
  321. package/src/examples/check-methods.ts +0 -81
  322. package/src/examples/corr-probs.js.map +0 -1
  323. package/src/examples/corr-probs.ts +0 -155
  324. package/src/examples/cyclic-model.js.map +0 -1
  325. package/src/examples/cyclic-model.ts +0 -112
  326. package/src/examples/e5.js.map +0 -1
  327. package/src/examples/e5.ts +0 -36
  328. package/src/examples/hires.js.map +0 -1
  329. package/src/examples/hires.ts +0 -40
  330. package/src/examples/index.js.map +0 -1
  331. package/src/examples/index.ts +0 -34
  332. package/src/examples/model-updates.js.map +0 -1
  333. package/src/examples/model-updates.ts +0 -122
  334. package/src/examples/orego.js.map +0 -1
  335. package/src/examples/orego.ts +0 -25
  336. package/src/examples/pipeline-use.js.map +0 -1
  337. package/src/examples/pipeline-use.ts +0 -98
  338. package/src/examples/pollution.js.map +0 -1
  339. package/src/examples/pollution.ts +0 -133
  340. package/src/examples/print-benchmark.js.map +0 -1
  341. package/src/examples/robertson.js.map +0 -1
  342. package/src/examples/robertson.ts +0 -19
  343. package/src/examples/scripting.js.map +0 -1
  344. package/src/examples/scripting.ts +0 -35
  345. package/src/examples/vdpol.js.map +0 -1
  346. package/src/examples/vdpol.ts +0 -17
  347. package/src/pipeline/basic-pipeline-creator.js.map +0 -1
  348. package/src/pipeline/constants.js.map +0 -1
  349. package/src/pipeline/constants.ts +0 -21
  350. package/src/pipeline/index.js.map +0 -1
  351. package/src/pipeline/index.ts +0 -7
  352. package/src/pipeline/input.js.map +0 -1
  353. package/src/pipeline/input.ts +0 -55
  354. package/src/pipeline/loops-pipeline-creator.js.map +0 -1
  355. package/src/pipeline/loops-pipeline-creator.ts +0 -252
  356. package/src/pipeline/output.js.map +0 -1
  357. package/src/pipeline/output.ts +0 -201
  358. package/src/pipeline/pipeline-creator.js.map +0 -1
  359. package/src/pipeline/pipeline-creator.ts +0 -20
  360. package/src/pipeline/pipeline.js.map +0 -1
  361. package/src/pipeline/updates-pipeline-creator.js.map +0 -1
  362. package/src/scripting-tools/constants.js.map +0 -1
  363. package/src/scripting-tools/constants.ts +0 -69
  364. package/src/scripting-tools/index.js.map +0 -1
  365. package/src/scripting-tools/index.ts +0 -8
  366. package/src/scripting-tools/model-error.js.map +0 -1
  367. package/src/scripting-tools/model-error.ts +0 -21
  368. package/src/scripting-tools/scripting-tools.js.map +0 -1
  369. package/src/scripting-tools/scripting-tools.ts +0 -1582
  370. package/src/solver-tools/ab4-method.js.map +0 -1
  371. package/src/solver-tools/ab4-method.ts +0 -395
  372. package/src/solver-tools/ab5-method.js.map +0 -1
  373. package/src/solver-tools/ab5-method.ts +0 -397
  374. package/src/solver-tools/callbacks/callback-base.js.map +0 -1
  375. package/src/solver-tools/callbacks/callback-base.ts +0 -12
  376. package/src/solver-tools/callbacks/callback-tools.js.map +0 -1
  377. package/src/solver-tools/callbacks/callback-tools.ts +0 -22
  378. package/src/solver-tools/callbacks/iter-checker-callback.js.map +0 -1
  379. package/src/solver-tools/callbacks/iter-checker-callback.ts +0 -25
  380. package/src/solver-tools/callbacks/time-checker-callback.js.map +0 -1
  381. package/src/solver-tools/callbacks/time-checker-callback.ts +0 -23
  382. package/src/solver-tools/index.js.map +0 -1
  383. package/src/solver-tools/index.ts +0 -15
  384. package/src/solver-tools/lin-alg-tools.js.map +0 -1
  385. package/src/solver-tools/lin-alg-tools.ts +0 -75
  386. package/src/solver-tools/lsoda/blas.js.map +0 -1
  387. package/src/solver-tools/lsoda/blas.ts +0 -267
  388. package/src/solver-tools/lsoda/cfode.js.map +0 -1
  389. package/src/solver-tools/lsoda/cfode.ts +0 -83
  390. package/src/solver-tools/lsoda/common.js +0 -94
  391. package/src/solver-tools/lsoda/common.js.map +0 -1
  392. package/src/solver-tools/lsoda/common.ts +0 -135
  393. package/src/solver-tools/lsoda/corfailure.js.map +0 -1
  394. package/src/solver-tools/lsoda/corfailure.ts +0 -30
  395. package/src/solver-tools/lsoda/correction.js.map +0 -1
  396. package/src/solver-tools/lsoda/correction.ts +0 -119
  397. package/src/solver-tools/lsoda/dense.js.map +0 -1
  398. package/src/solver-tools/lsoda/dense.ts +0 -129
  399. package/src/solver-tools/lsoda/index.js +0 -4
  400. package/src/solver-tools/lsoda/index.js.map +0 -1
  401. package/src/solver-tools/lsoda/index.ts +0 -5
  402. package/src/solver-tools/lsoda/intdy.js.map +0 -1
  403. package/src/solver-tools/lsoda/intdy.ts +0 -50
  404. package/src/solver-tools/lsoda/lsoda.js.map +0 -1
  405. package/src/solver-tools/lsoda/lsoda.ts +0 -632
  406. package/src/solver-tools/lsoda/methodswitch.js.map +0 -1
  407. package/src/solver-tools/lsoda/methodswitch.ts +0 -107
  408. package/src/solver-tools/lsoda/orderswitch.js.map +0 -1
  409. package/src/solver-tools/lsoda/orderswitch.ts +0 -95
  410. package/src/solver-tools/lsoda/prja.js.map +0 -1
  411. package/src/solver-tools/lsoda/prja.ts +0 -49
  412. package/src/solver-tools/lsoda/scaleh.js.map +0 -1
  413. package/src/solver-tools/lsoda/scaleh.ts +0 -33
  414. package/src/solver-tools/lsoda/solsy.js +0 -14
  415. package/src/solver-tools/lsoda/solsy.js.map +0 -1
  416. package/src/solver-tools/lsoda/solsy.ts +0 -18
  417. package/src/solver-tools/lsoda/stoda.js.map +0 -1
  418. package/src/solver-tools/lsoda/stoda.ts +0 -286
  419. package/src/solver-tools/lsoda-method.js.map +0 -1
  420. package/src/solver-tools/lsoda-method.ts +0 -136
  421. package/src/solver-tools/mrt-method.js.map +0 -1
  422. package/src/solver-tools/mrt-method.ts +0 -398
  423. package/src/solver-tools/rk3-method.js.map +0 -1
  424. package/src/solver-tools/rk3-method.ts +0 -257
  425. package/src/solver-tools/rk4-method.js.map +0 -1
  426. package/src/solver-tools/rk4-method.ts +0 -286
  427. package/src/solver-tools/rkdp-method.js.map +0 -1
  428. package/src/solver-tools/rkdp-method.ts +0 -300
  429. package/src/solver-tools/ros34prw-method.js.map +0 -1
  430. package/src/solver-tools/ros34prw-method.ts +0 -373
  431. package/src/solver-tools/ros3prw-method.js.map +0 -1
  432. package/src/solver-tools/ros3prw-method.ts +0 -342
  433. package/src/solver-tools/solver-defs.js.map +0 -1
  434. package/src/tests/correctness.test.js +0 -15
  435. package/src/tests/correctness.test.js.map +0 -1
  436. package/src/tests/correctness.test.ts +0 -16
  437. package/src/tests/lsoda-lib-correctness.test.js +0 -223
  438. package/src/tests/lsoda-lib-correctness.test.js.map +0 -1
  439. package/src/tests/lsoda-lib-correctness.test.ts +0 -283
  440. package/src/tests/lsoda-lib-performance.test.js +0 -95
  441. package/src/tests/lsoda-lib-performance.test.js.map +0 -1
  442. package/src/tests/lsoda-lib-performance.test.ts +0 -126
  443. package/src/tests/performance.test.js +0 -16
  444. package/src/tests/performance.test.js.map +0 -1
  445. package/src/tests/performance.test.ts +0 -17
  446. package/src/tests/pipeline.test.js +0 -10
  447. package/src/tests/pipeline.test.js.map +0 -1
  448. package/src/tests/pipeline.test.ts +0 -11
  449. package/src/tests/test-defs.js +0 -207
  450. package/src/tests/test-defs.js.map +0 -1
  451. package/src/tests/test-defs.ts +0 -225
  452. package/src/tests/test-utils.js +0 -28
  453. package/src/tests/test-utils.js.map +0 -1
  454. package/src/tests/test-utils.ts +0 -37
  455. package/src/worker-tools/index.js.map +0 -1
  456. package/src/worker-tools/index.ts +0 -2
  457. package/src/worker-tools/scripting.js.map +0 -1
  458. package/src/worker-tools/solving.js.map +0 -1
  459. package/src/worker-tools/solving.ts +0 -83
  460. package/tsconfig.json +0 -71
  461. package/typedoc.json +0 -8
  462. /package/{src → dist/src}/examples/basic-use.js +0 -0
  463. /package/{src → dist/src}/examples/cyclic-model.js +0 -0
  464. /package/{src → dist/src}/examples/e5.js +0 -0
  465. /package/{src → dist/src}/examples/hires.js +0 -0
  466. /package/{src → dist/src}/examples/index.js +0 -0
  467. /package/{src → dist/src}/examples/model-updates.js +0 -0
  468. /package/{src → dist/src}/examples/orego.js +0 -0
  469. /package/{src → dist/src}/examples/pipeline-use.js +0 -0
  470. /package/{src → dist/src}/examples/pollution.js +0 -0
  471. /package/{src → dist/src}/examples/print-benchmark.js +0 -0
  472. /package/{src → dist/src}/examples/scripting.js +0 -0
  473. /package/{src → dist/src}/examples/vdpol.js +0 -0
  474. /package/{src → dist/src}/pipeline/basic-pipeline-creator.js +0 -0
  475. /package/{src → dist/src}/pipeline/constants.js +0 -0
  476. /package/{src → dist/src}/pipeline/index.js +0 -0
  477. /package/{src → dist/src}/pipeline/input.js +0 -0
  478. /package/{src → dist/src}/pipeline/loops-pipeline-creator.js +0 -0
  479. /package/{src → dist/src}/pipeline/pipeline.js +0 -0
  480. /package/{src → dist/src}/pipeline/updates-pipeline-creator.js +0 -0
  481. /package/{src → dist/src}/scripting-tools/constants.js +0 -0
  482. /package/{src → dist/src}/scripting-tools/index.js +0 -0
  483. /package/{src → dist/src}/solver-tools/callbacks/callback-base.js +0 -0
  484. /package/{src → dist/src}/solver-tools/callbacks/callback-tools.js +0 -0
  485. /package/{src → dist/src}/solver-tools/lin-alg-tools.js +0 -0
  486. /package/{src → dist/src}/worker-tools/index.js +0 -0
  487. /package/{src → dist/src}/worker-tools/scripting.js +0 -0
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { ETA, MAXCOR } from './common';
2
13
  import { vmnorm } from './blas';
3
14
  import { prja } from './prja';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correction.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/correction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { NordsieckSnapshot } from './common';
13
+ /**
14
+ * Dense output interpolator. Given a sequence of Nordsieck snapshots
15
+ * captured during integration, evaluates the solution at arbitrary points
16
+ * via Taylor/Horner interpolation.
17
+ */
18
+ export declare class DenseOutput {
19
+ private snaps;
20
+ private neq;
21
+ constructor(snapshots: NordsieckSnapshot[], neq: number);
22
+ /** Leftmost reachable time. */
23
+ get tMin(): number;
24
+ /** Rightmost reachable time. */
25
+ get tMax(): number;
26
+ /**
27
+ * Evaluate the solution at a single time point.
28
+ * Uses Horner's method on the Nordsieck array of the enclosing step.
29
+ */
30
+ evaluateAt(t: number): Float64Array;
31
+ /**
32
+ * Evaluate the solution at each point in a sorted ascending array.
33
+ * Uses a linear scan over snapshots for efficiency.
34
+ */
35
+ solveAtTimes(tArray: Float64Array): Float64Array[];
36
+ /**
37
+ * Evaluate the solution on a uniform grid from tStart to tEnd with given step.
38
+ */
39
+ solveOnGrid(tStart: number, tEnd: number, step: number): {
40
+ t: Float64Array;
41
+ y: Float64Array[];
42
+ };
43
+ /** Find the snapshot whose interval contains t via binary search. */
44
+ private findSnap;
45
+ /** Horner evaluation of the Nordsieck polynomial at time t. */
46
+ private horner;
47
+ }
@@ -1,9 +1,22 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  /**
2
13
  * Dense output interpolator. Given a sequence of Nordsieck snapshots
3
14
  * captured during integration, evaluates the solution at arbitrary points
4
15
  * via Taylor/Horner interpolation.
5
16
  */
6
17
  export class DenseOutput {
18
+ snaps;
19
+ neq;
7
20
  constructor(snapshots, neq) {
8
21
  if (snapshots.length === 0)
9
22
  throw new Error('[DenseOutput] no snapshots collected');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dense.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/dense.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ export { Lsoda, lsoda, lsodaPrepare, lsodaReset, lsodaFree } from './lsoda';
13
+ export type { OdeFunction, LsodaSolveResult } from './lsoda';
14
+ export type { LsodaOpt, LsodaFunc, NordsieckSnapshot } from './common';
15
+ export { LsodaContext } from './common';
16
+ export { DenseOutput } from './dense';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ export { Lsoda, lsoda, lsodaPrepare, lsodaReset, lsodaFree } from './lsoda';
13
+ export { LsodaContext } from './common';
14
+ export { DenseOutput } from './dense';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAG1E,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /**
14
+ * Interpolate solution at time t using Nordsieck history array.
15
+ * k: derivative order (0 for solution)
16
+ * dky: output array (1-indexed)
17
+ * Returns 0 on success, negative on error.
18
+ */
19
+ export declare function intdy(ctx: LsodaContext, t: number, k: number, dky: Float64Array): number;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { ETA } from './common';
2
13
  /**
3
14
  * Interpolate solution at time t using Nordsieck history array.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intdy.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/intdy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,GAAG,EAAC,MAAM,UAAU,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAiB,EAAE,CAAS,EAAE,CAAS,EAAE,GAAiB;IAC9E,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAC5C,EAAE,IAAI,EAAE,CAAC;IACX,IAAI,EAAE,GAAG,EAAE,CAAC;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,EAAE,GAAG,CAAC,CAAC;QACP,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAClC,EAAE,IAAI,EAAE,CAAC;QACX,EAAE,GAAG,EAAE,CAAC;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext, LsodaOpt } from './common';
13
+ import { DenseOutput } from './dense';
14
+ /**
15
+ * Prepare a context with options. Must be called before lsoda().
16
+ * Returns true on success.
17
+ */
18
+ export declare function lsodaPrepare(ctx: LsodaContext, opt: LsodaOpt): boolean;
19
+ /**
20
+ * Reset context for reuse with a different problem.
21
+ * All options are preserved, internal state is zeroed.
22
+ */
23
+ export declare function lsodaReset(ctx: LsodaContext): void;
24
+ /**
25
+ * Free context resources. In JS/TS, this is mostly a no-op (GC handles it).
26
+ */
27
+ export declare function lsodaFree(ctx: LsodaContext): void;
28
+ /**
29
+ * Main solver. Integrates from t towards tout.
30
+ * y: 1-indexed Float64Array (y[0] unused, y[1..neq] are state values)
31
+ * Returns { t, state } — updated time and solver state.
32
+ */
33
+ export declare function lsoda(ctx: LsodaContext, y: Float64Array, tIn: number, tout: number): {
34
+ t: number;
35
+ state: number;
36
+ };
37
+ /**
38
+ * User-facing ODE function signature (0-based arrays).
39
+ */
40
+ export type OdeFunction = (t: number, y: Float64Array, ydot: Float64Array, data?: any) => number;
41
+ export interface LsodaSolveResult {
42
+ y: Float64Array;
43
+ t: number;
44
+ }
45
+ /**
46
+ * High-level LSODA solver class with 0-based public interface.
47
+ */
48
+ export declare class Lsoda {
49
+ private ctx;
50
+ private internalY;
51
+ private denseEnabled;
52
+ constructor(f: OdeFunction, neq: number, opt?: Partial<LsodaOpt & {
53
+ dense: boolean;
54
+ }>, data?: any);
55
+ /**
56
+ * Integrate from current t to tout.
57
+ * y: 0-based array of state values.
58
+ * Returns updated { y, t }.
59
+ */
60
+ solve(y: ArrayLike<number>, t: number, tout: number): LsodaSolveResult;
61
+ get state(): number;
62
+ get error(): string | null;
63
+ /** Returns a DenseOutput interpolator from collected snapshots. */
64
+ getDenseOutput(): DenseOutput;
65
+ reset(): void;
66
+ }
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { LsodaContext, LsodaCommon, ETA, } from './common';
2
13
  import { vmnorm } from './blas';
3
14
  import { intdy } from './intdy';
@@ -495,8 +506,10 @@ export function lsoda(ctx, y, tIn, tout) {
495
506
  * High-level LSODA solver class with 0-based public interface.
496
507
  */
497
508
  export class Lsoda {
509
+ ctx;
510
+ internalY;
511
+ denseEnabled = false;
498
512
  constructor(f, neq, opt, data) {
499
- this.denseEnabled = false;
500
513
  // Wrap user's 0-based function to internal 1-based convention
501
514
  const wrappedFunc = (t, y, ydot, data) => {
502
515
  return f(t, y, ydot, data);
@@ -504,9 +517,15 @@ export class Lsoda {
504
517
  this.ctx = new LsodaContext(wrappedFunc, neq, data);
505
518
  this.internalY = new Float64Array(neq + 1); // 1-indexed
506
519
  // Build full options with defaults
507
- const fullOpt = Object.assign({ ixpr: 0, mxstep: 0, mxhnil: 0, mxordn: 0, mxords: 0, tcrit: 0, h0: 0, hmax: 0, hmin: 0, hmxi: 0, itask: 1, rtol: new Float64Array(neq + 1), atol: new Float64Array(neq + 1) }, opt);
520
+ const fullOpt = {
521
+ ixpr: 0, mxstep: 0, mxhnil: 0, mxordn: 0, mxords: 0,
522
+ tcrit: 0, h0: 0, hmax: 0, hmin: 0, hmxi: 0, itask: 1,
523
+ rtol: new Float64Array(neq + 1),
524
+ atol: new Float64Array(neq + 1),
525
+ ...opt,
526
+ };
508
527
  // If rtol/atol provided as partial, make sure they're 1-indexed Float64Arrays
509
- if (opt === null || opt === void 0 ? void 0 : opt.rtol) {
528
+ if (opt?.rtol) {
510
529
  if (opt.rtol.length === neq) {
511
530
  // User provided 0-based, convert to 1-based
512
531
  const r = new Float64Array(neq + 1);
@@ -517,7 +536,7 @@ export class Lsoda {
517
536
  else
518
537
  fullOpt.rtol = opt.rtol;
519
538
  }
520
- if (opt === null || opt === void 0 ? void 0 : opt.atol) {
539
+ if (opt?.atol) {
521
540
  if (opt.atol.length === neq) {
522
541
  const a = new Float64Array(neq + 1);
523
542
  for (let i = 0; i < neq; i++)
@@ -528,7 +547,7 @@ export class Lsoda {
528
547
  fullOpt.atol = opt.atol;
529
548
  }
530
549
  lsodaPrepare(this.ctx, fullOpt);
531
- if (opt === null || opt === void 0 ? void 0 : opt.dense) {
550
+ if (opt?.dense) {
532
551
  this.denseEnabled = true;
533
552
  this.ctx.snapshots = [];
534
553
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsoda.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/lsoda.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /** Mutable rh output */
14
+ export interface MethodSwitchResult {
15
+ rh: number;
16
+ }
17
+ /**
18
+ * Consider switching between Adams (meth=1) and BDF (meth=2).
19
+ * Modifies ctx.common.meth, miter, nq, icount, pdlast on switch.
20
+ */
21
+ export declare function methodswitch(ctx: LsodaContext, dsm: number, pnorm: number, out: MethodSwitchResult): void;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { ETA, RATIO, sm1, cm1, cm2 } from './common';
2
13
  import { vmnorm } from './blas';
3
14
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methodswitch.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/methodswitch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /** Mutable rh output */
14
+ export interface OrderSwitchResult {
15
+ rh: number;
16
+ }
17
+ /**
18
+ * Decide whether to change the order and/or step size.
19
+ * Returns orderflag: 0 = no change, 1 = change h only, 2 = change both h and nq.
20
+ */
21
+ export declare function orderswitch(ctx: LsodaContext, rhup: number, dsm: number, out: OrderSwitchResult, kflag: number, maxord: number): number;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { sm1 } from './common';
2
13
  import { vmnorm } from './blas';
3
14
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderswitch.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/orderswitch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /**
14
+ * Compute and process the matrix P = I - h * el[1] * J,
15
+ * where J is approximated by finite differences.
16
+ * Returns 1 on success, 0 on failure (singular matrix).
17
+ */
18
+ export declare function prja(ctx: LsodaContext, y: Float64Array): number;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { ETA, SQRTETA } from './common';
2
13
  import { vmnorm, fnorm, dgefa } from './blas';
3
14
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prja.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/prja.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,GAAG,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AACpD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAiB,EAAE,CAAe;IACrD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAEpB,CAAC,CAAC,GAAG,EAAE,CAAC;IACR,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACjD,IAAI,EAAE,KAAK,EAAE;QAAE,EAAE,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IAEb,2BAA2B;IAC3B,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnD,sBAAsB;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnB,wBAAwB;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAExB,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /**
14
+ * Scale step size. Rescales the yh array when h changes.
15
+ */
16
+ export declare function scaleh(ctx: LsodaContext, rh: number): void;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
1
12
  import { sm1 } from './common';
2
13
  /**
3
14
  * Scale step size. Rescales the yh array when h changes.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaleh.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/scaleh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAe,GAAG,EAAC,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,GAAiB,EAAE,EAAU;IAClD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC;IAE3B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1B,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IAElD,4CAA4C;IAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACrB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACV,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /**
14
+ * Solve the linear system arising from a chord iteration.
15
+ * Only miter=2 (dense) is supported.
16
+ */
17
+ export declare function solsy(ctx: LsodaContext, y: Float64Array): number;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { dgesl } from './blas';
13
+ /**
14
+ * Solve the linear system arising from a chord iteration.
15
+ * Only miter=2 (dense) is supported.
16
+ */
17
+ export function solsy(ctx, y) {
18
+ const c = ctx.common;
19
+ const neq = ctx.neq;
20
+ if (c.miter !== 2)
21
+ throw new Error('[solsy] miter != 2 not implemented');
22
+ dgesl(c.wm, neq, c.ipvt, y, 0);
23
+ return 1;
24
+ }
25
+ //# sourceMappingURL=solsy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solsy.js","sourceRoot":"","sources":["../../../../src/solver-tools/lsoda/solsy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,GAAiB,EAAE,CAAe;IACtD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAEpB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAGxD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * TypeScript port of liblsoda (https://github.com/sdwfrost/liblsoda)
3
+ * Original LSODA algorithm by Linda Petzold & Alan Hindmarsh (1983)
4
+ *
5
+ * Copyright (c) 2011 Yu Feng, McWilliam Cosmology Center, Carnegie Mellon University
6
+ * Copyright (c) 2016 Simon Frost
7
+ * Copyright (c) 2026 Datagrok
8
+ *
9
+ * Licensed under the MIT License. See THIRD_PARTY_LICENSES for the full
10
+ * license text and provenance chain of the original code.
11
+ */
12
+ import { LsodaContext } from './common';
13
+ /**
14
+ * Perform one step of the integration.
15
+ *
16
+ * jstart: 0 = first step, >0 = continue, -1 = new h/meth/miter, -2 = new h only
17
+ * Returns kflag: 0 = success, -1 = error test failed, -2 = convergence failed.
18
+ */
19
+ export declare function stoda(ctx: LsodaContext, y: Float64Array, jstart: number): number;