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.
- package/LICENSE +1 -1
- package/README.MD +80 -31
- package/dist/index.d.ts +6 -0
- package/{index.js → dist/index.js} +2 -1
- package/dist/index.js.map +1 -0
- package/dist/src/examples/basic-use.d.ts +10 -0
- package/dist/src/examples/basic-use.js.map +1 -0
- package/dist/src/examples/check-methods.d.ts +1 -0
- package/{src → dist/src}/examples/check-methods.js +15 -3
- package/dist/src/examples/check-methods.js.map +1 -0
- package/dist/src/examples/corr-probs.d.ts +15 -0
- package/{src → dist/src}/examples/corr-probs.js +2 -2
- package/dist/src/examples/corr-probs.js.map +1 -0
- package/dist/src/examples/cyclic-model.d.ts +6 -0
- package/dist/src/examples/cyclic-model.js.map +1 -0
- package/dist/src/examples/e5.d.ts +15 -0
- package/dist/src/examples/e5.js.map +1 -0
- package/dist/src/examples/hires.d.ts +15 -0
- package/dist/src/examples/hires.js.map +1 -0
- package/dist/src/examples/index.d.ts +22 -0
- package/dist/src/examples/index.js.map +1 -0
- package/dist/src/examples/model-updates.d.ts +6 -0
- package/dist/src/examples/model-updates.js.map +1 -0
- package/dist/src/examples/orego.d.ts +15 -0
- package/dist/src/examples/orego.js.map +1 -0
- package/dist/src/examples/pipeline-use.d.ts +6 -0
- package/dist/src/examples/pipeline-use.js.map +1 -0
- package/dist/src/examples/pollution.d.ts +15 -0
- package/dist/src/examples/pollution.js.map +1 -0
- package/{src/examples/print-benchmark.ts → dist/src/examples/print-benchmark.d.ts} +8 -58
- package/dist/src/examples/print-benchmark.js.map +1 -0
- package/dist/src/examples/robertson.d.ts +15 -0
- package/{src → dist/src}/examples/robertson.js +2 -2
- package/dist/src/examples/robertson.js.map +1 -0
- package/dist/src/examples/scripting.d.ts +1 -0
- package/dist/src/examples/scripting.js.map +1 -0
- package/dist/src/examples/vdpol.d.ts +15 -0
- package/dist/src/examples/vdpol.js.map +1 -0
- package/dist/src/latex-export/examples/advanced-to-latex.d.ts +2 -0
- package/dist/src/latex-export/examples/advanced-to-latex.js +41 -0
- package/dist/src/latex-export/examples/advanced-to-latex.js.map +1 -0
- package/dist/src/latex-export/examples/basic-to-latex.d.ts +2 -0
- package/dist/src/latex-export/examples/basic-to-latex.js +17 -0
- package/dist/src/latex-export/examples/basic-to-latex.js.map +1 -0
- package/dist/src/latex-export/examples/bioreactor-to-latex-selective.d.ts +2 -0
- package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js +145 -0
- package/dist/src/latex-export/examples/bioreactor-to-latex-selective.js.map +1 -0
- package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.d.ts +2 -0
- package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js +41 -0
- package/dist/src/latex-export/examples/chem-react-to-latex-no-cdot.js.map +1 -0
- package/dist/src/latex-export/examples/energy-n-control-to-markdown.d.ts +2 -0
- package/dist/src/latex-export/examples/energy-n-control-to-markdown.js +58 -0
- package/dist/src/latex-export/examples/energy-n-control-to-markdown.js.map +1 -0
- package/dist/src/latex-export/examples/extended-to-markdown.d.ts +2 -0
- package/dist/src/latex-export/examples/extended-to-markdown.js +37 -0
- package/dist/src/latex-export/examples/extended-to-markdown.js.map +1 -0
- package/dist/src/latex-export/examples/fermentation-to-latex.d.ts +2 -0
- package/dist/src/latex-export/examples/fermentation-to-latex.js +32 -0
- package/dist/src/latex-export/examples/fermentation-to-latex.js.map +1 -0
- package/dist/src/latex-export/examples/ga-production-to-markdown.d.ts +2 -0
- package/dist/src/latex-export/examples/ga-production-to-markdown.js +58 -0
- package/dist/src/latex-export/examples/ga-production-to-markdown.js.map +1 -0
- package/dist/src/latex-export/examples/nimotuzumab-to-latex.d.ts +2 -0
- package/dist/src/latex-export/examples/nimotuzumab-to-latex.js +53 -0
- package/dist/src/latex-export/examples/nimotuzumab-to-latex.js.map +1 -0
- package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.d.ts +2 -0
- package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js +50 -0
- package/dist/src/latex-export/examples/pk-pd-to-markdown-minimal.js.map +1 -0
- package/dist/src/latex-export/examples/pk-to-markdown.d.ts +2 -0
- package/dist/src/latex-export/examples/pk-to-markdown.js +35 -0
- package/dist/src/latex-export/examples/pk-to-markdown.js.map +1 -0
- package/dist/src/latex-export/examples/pollution-to-latex.d.ts +2 -0
- package/dist/src/latex-export/examples/pollution-to-latex.js +141 -0
- package/dist/src/latex-export/examples/pollution-to-latex.js.map +1 -0
- package/dist/src/latex-export/examples/robertson-to-latex-no-meta.d.ts +2 -0
- package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js +25 -0
- package/dist/src/latex-export/examples/robertson-to-latex-no-meta.js.map +1 -0
- package/dist/src/latex-export/generator/bracket-manager.d.ts +19 -0
- package/dist/src/latex-export/generator/bracket-manager.js +58 -0
- package/dist/src/latex-export/generator/bracket-manager.js.map +1 -0
- package/dist/src/latex-export/generator/document-builder.d.ts +13 -0
- package/dist/src/latex-export/generator/document-builder.js +433 -0
- package/dist/src/latex-export/generator/document-builder.js.map +1 -0
- package/dist/src/latex-export/generator/latex-generator.d.ts +23 -0
- package/dist/src/latex-export/generator/latex-generator.js +176 -0
- package/dist/src/latex-export/generator/latex-generator.js.map +1 -0
- package/dist/src/latex-export/index.d.ts +8 -0
- package/dist/src/latex-export/index.js +25 -0
- package/dist/src/latex-export/index.js.map +1 -0
- package/dist/src/latex-export/output/md-formatter.d.ts +16 -0
- package/dist/src/latex-export/output/md-formatter.js +27 -0
- package/dist/src/latex-export/output/md-formatter.js.map +1 -0
- package/dist/src/latex-export/output/tex-formatter.d.ts +5 -0
- package/dist/src/latex-export/output/tex-formatter.js +20 -0
- package/dist/src/latex-export/output/tex-formatter.js.map +1 -0
- package/dist/src/latex-export/parser/ast-parser.d.ts +7 -0
- package/dist/src/latex-export/parser/ast-parser.js +153 -0
- package/dist/src/latex-export/parser/ast-parser.js.map +1 -0
- package/dist/src/latex-export/parser/ivp-parser.d.ts +6 -0
- package/dist/src/latex-export/parser/ivp-parser.js +219 -0
- package/dist/src/latex-export/parser/ivp-parser.js.map +1 -0
- package/dist/src/latex-export/parser/line-joiner.d.ts +25 -0
- package/dist/src/latex-export/parser/line-joiner.js +80 -0
- package/dist/src/latex-export/parser/line-joiner.js.map +1 -0
- package/dist/src/latex-export/parser/tokenizer.d.ts +7 -0
- package/dist/src/latex-export/parser/tokenizer.js +143 -0
- package/dist/src/latex-export/parser/tokenizer.js.map +1 -0
- package/dist/src/latex-export/transformer/functions.d.ts +12 -0
- package/dist/src/latex-export/transformer/functions.js +47 -0
- package/dist/src/latex-export/transformer/functions.js.map +1 -0
- package/dist/src/latex-export/transformer/identifier.d.ts +23 -0
- package/dist/src/latex-export/transformer/identifier.js +194 -0
- package/dist/src/latex-export/transformer/identifier.js.map +1 -0
- package/dist/src/latex-export/transformer/operators.d.ts +9 -0
- package/dist/src/latex-export/transformer/operators.js +41 -0
- package/dist/src/latex-export/transformer/operators.js.map +1 -0
- package/dist/src/latex-export/types.d.ts +122 -0
- package/dist/src/latex-export/types.js +10 -0
- package/dist/src/latex-export/types.js.map +1 -0
- package/{src/pipeline/basic-pipeline-creator.ts → dist/src/pipeline/basic-pipeline-creator.d.ts} +11 -28
- package/dist/src/pipeline/basic-pipeline-creator.js.map +1 -0
- package/dist/src/pipeline/constants.d.ts +14 -0
- package/dist/src/pipeline/constants.js.map +1 -0
- package/dist/src/pipeline/index.d.ts +7 -0
- package/dist/src/pipeline/index.js.map +1 -0
- package/dist/src/pipeline/input.d.ts +3 -0
- package/dist/src/pipeline/input.js.map +1 -0
- package/dist/src/pipeline/loops-pipeline-creator.d.ts +124 -0
- package/dist/src/pipeline/loops-pipeline-creator.js.map +1 -0
- package/dist/src/pipeline/output.d.ts +10 -0
- package/{src → dist/src}/pipeline/output.js +1 -1
- package/dist/src/pipeline/output.js.map +1 -0
- package/dist/src/pipeline/pipeline-creator.d.ts +12 -0
- package/{src → dist/src}/pipeline/pipeline-creator.js +2 -0
- package/dist/src/pipeline/pipeline-creator.js.map +1 -0
- package/{src/pipeline/pipeline.ts → dist/src/pipeline/pipeline.d.ts} +10 -97
- package/dist/src/pipeline/pipeline.js.map +1 -0
- package/{src/pipeline/updates-pipeline-creator.ts → dist/src/pipeline/updates-pipeline-creator.d.ts} +15 -131
- package/dist/src/pipeline/updates-pipeline-creator.js.map +1 -0
- package/dist/src/scripting-tools/constants.d.ts +59 -0
- package/dist/src/scripting-tools/constants.js.map +1 -0
- package/dist/src/scripting-tools/index.d.ts +3 -0
- package/dist/src/scripting-tools/index.js.map +1 -0
- package/dist/src/scripting-tools/model-error.d.ts +10 -0
- package/{src → dist/src}/scripting-tools/model-error.js +2 -1
- package/dist/src/scripting-tools/model-error.js.map +1 -0
- package/dist/src/scripting-tools/scripting-tools.d.ts +277 -0
- package/{src → dist/src}/scripting-tools/scripting-tools.js +2 -4
- package/dist/src/scripting-tools/scripting-tools.js.map +1 -0
- package/dist/src/solver-tools/ab4-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/ab4-method.js +3 -3
- package/dist/src/solver-tools/ab4-method.js.map +1 -0
- package/dist/src/solver-tools/ab5-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/ab5-method.js +3 -3
- package/dist/src/solver-tools/ab5-method.js.map +1 -0
- package/dist/src/solver-tools/callbacks/callback-base.d.ts +8 -0
- package/dist/src/solver-tools/callbacks/callback-base.js.map +1 -0
- package/dist/src/solver-tools/callbacks/callback-tools.d.ts +6 -0
- package/dist/src/solver-tools/callbacks/callback-tools.js.map +1 -0
- package/dist/src/solver-tools/callbacks/iter-checker-callback.d.ts +12 -0
- package/{src → dist/src}/solver-tools/callbacks/iter-checker-callback.js +2 -0
- package/dist/src/solver-tools/callbacks/iter-checker-callback.js.map +1 -0
- package/dist/src/solver-tools/callbacks/time-checker-callback.d.ts +12 -0
- package/{src → dist/src}/solver-tools/callbacks/time-checker-callback.js +2 -2
- package/dist/src/solver-tools/callbacks/time-checker-callback.js.map +1 -0
- package/dist/src/solver-tools/cvode/common.d.ts +395 -0
- package/dist/src/solver-tools/cvode/common.js +483 -0
- package/dist/src/solver-tools/cvode/common.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode.d.ts +23 -0
- package/dist/src/solver-tools/cvode/cvode.js +1062 -0
- package/dist/src/solver-tools/cvode/cvode.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_adams.d.ts +22 -0
- package/dist/src/solver-tools/cvode/cvode_adams.js +124 -0
- package/dist/src/solver-tools/cvode/cvode_adams.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_bdf.d.ts +37 -0
- package/dist/src/solver-tools/cvode/cvode_bdf.js +153 -0
- package/dist/src/solver-tools/cvode/cvode_bdf.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_class.d.ts +116 -0
- package/dist/src/solver-tools/cvode/cvode_class.js +163 -0
- package/dist/src/solver-tools/cvode/cvode_class.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_hin.d.ts +24 -0
- package/dist/src/solver-tools/cvode/cvode_hin.js +119 -0
- package/dist/src/solver-tools/cvode/cvode_hin.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_io.d.ts +98 -0
- package/dist/src/solver-tools/cvode/cvode_io.js +202 -0
- package/dist/src/solver-tools/cvode/cvode_io.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_ls.d.ts +23 -0
- package/dist/src/solver-tools/cvode/cvode_ls.js +210 -0
- package/dist/src/solver-tools/cvode/cvode_ls.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_nls.d.ts +25 -0
- package/dist/src/solver-tools/cvode/cvode_nls.js +220 -0
- package/dist/src/solver-tools/cvode/cvode_nls.js.map +1 -0
- package/dist/src/solver-tools/cvode/cvode_root.d.ts +64 -0
- package/dist/src/solver-tools/cvode/cvode_root.js +415 -0
- package/dist/src/solver-tools/cvode/cvode_root.js.map +1 -0
- package/dist/src/solver-tools/cvode/dense_linalg.d.ts +50 -0
- package/dist/src/solver-tools/cvode/dense_linalg.js +131 -0
- package/dist/src/solver-tools/cvode/dense_linalg.js.map +1 -0
- package/dist/src/solver-tools/cvode/index.d.ts +24 -0
- package/dist/src/solver-tools/cvode/index.js +26 -0
- package/dist/src/solver-tools/cvode/index.js.map +1 -0
- package/dist/src/solver-tools/cvode-method.d.ts +47 -0
- package/dist/src/solver-tools/cvode-method.js +114 -0
- package/dist/src/solver-tools/cvode-method.js.map +1 -0
- package/dist/src/solver-tools/index.d.ts +16 -0
- package/{src → dist/src}/solver-tools/index.js +1 -0
- package/dist/src/solver-tools/index.js.map +1 -0
- package/dist/src/solver-tools/lin-alg-tools.d.ts +6 -0
- package/dist/src/solver-tools/lin-alg-tools.js.map +1 -0
- package/dist/src/solver-tools/lsoda/blas.d.ts +59 -0
- package/{src → dist/src}/solver-tools/lsoda/blas.js +11 -0
- package/dist/src/solver-tools/lsoda/blas.js.map +1 -0
- package/dist/src/solver-tools/lsoda/cfode.d.ts +18 -0
- package/{src → dist/src}/solver-tools/lsoda/cfode.js +11 -0
- package/dist/src/solver-tools/lsoda/cfode.js.map +1 -0
- package/dist/src/solver-tools/lsoda/common.d.ts +85 -0
- package/dist/src/solver-tools/lsoda/common.js +96 -0
- package/dist/src/solver-tools/lsoda/common.js.map +1 -0
- package/dist/src/solver-tools/lsoda/corfailure.d.ts +18 -0
- package/{src → dist/src}/solver-tools/lsoda/corfailure.js +11 -0
- package/dist/src/solver-tools/lsoda/corfailure.js.map +1 -0
- package/dist/src/solver-tools/lsoda/correction.d.ts +23 -0
- package/{src → dist/src}/solver-tools/lsoda/correction.js +11 -0
- package/dist/src/solver-tools/lsoda/correction.js.map +1 -0
- package/dist/src/solver-tools/lsoda/dense.d.ts +47 -0
- package/{src → dist/src}/solver-tools/lsoda/dense.js +13 -0
- package/dist/src/solver-tools/lsoda/dense.js.map +1 -0
- package/dist/src/solver-tools/lsoda/index.d.ts +16 -0
- package/dist/src/solver-tools/lsoda/index.js +15 -0
- package/dist/src/solver-tools/lsoda/index.js.map +1 -0
- package/dist/src/solver-tools/lsoda/intdy.d.ts +19 -0
- package/{src → dist/src}/solver-tools/lsoda/intdy.js +11 -0
- package/dist/src/solver-tools/lsoda/intdy.js.map +1 -0
- package/dist/src/solver-tools/lsoda/lsoda.d.ts +66 -0
- package/{src → dist/src}/solver-tools/lsoda/lsoda.js +24 -5
- package/dist/src/solver-tools/lsoda/lsoda.js.map +1 -0
- package/dist/src/solver-tools/lsoda/methodswitch.d.ts +21 -0
- package/{src → dist/src}/solver-tools/lsoda/methodswitch.js +11 -0
- package/dist/src/solver-tools/lsoda/methodswitch.js.map +1 -0
- package/dist/src/solver-tools/lsoda/orderswitch.d.ts +21 -0
- package/{src → dist/src}/solver-tools/lsoda/orderswitch.js +11 -0
- package/dist/src/solver-tools/lsoda/orderswitch.js.map +1 -0
- package/dist/src/solver-tools/lsoda/prja.d.ts +18 -0
- package/{src → dist/src}/solver-tools/lsoda/prja.js +11 -0
- package/dist/src/solver-tools/lsoda/prja.js.map +1 -0
- package/dist/src/solver-tools/lsoda/scaleh.d.ts +16 -0
- package/{src → dist/src}/solver-tools/lsoda/scaleh.js +11 -0
- package/dist/src/solver-tools/lsoda/scaleh.js.map +1 -0
- package/dist/src/solver-tools/lsoda/solsy.d.ts +17 -0
- package/dist/src/solver-tools/lsoda/solsy.js +25 -0
- package/dist/src/solver-tools/lsoda/solsy.js.map +1 -0
- package/dist/src/solver-tools/lsoda/stoda.d.ts +19 -0
- package/{src → dist/src}/solver-tools/lsoda/stoda.js +11 -0
- package/dist/src/solver-tools/lsoda/stoda.js.map +1 -0
- package/dist/src/solver-tools/lsoda-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/lsoda-method.js +23 -9
- package/dist/src/solver-tools/lsoda-method.js.map +1 -0
- package/dist/src/solver-tools/mrt-method.d.ts +47 -0
- package/{src → dist/src}/solver-tools/mrt-method.js +2 -2
- package/dist/src/solver-tools/mrt-method.js.map +1 -0
- package/dist/src/solver-tools/rk3-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/rk3-method.js +2 -2
- package/dist/src/solver-tools/rk3-method.js.map +1 -0
- package/dist/src/solver-tools/rk4-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/rk4-method.js +2 -2
- package/dist/src/solver-tools/rk4-method.js.map +1 -0
- package/dist/src/solver-tools/rkdp-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/rkdp-method.js +2 -2
- package/dist/src/solver-tools/rkdp-method.js.map +1 -0
- package/dist/src/solver-tools/ros34prw-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/ros34prw-method.js +2 -2
- package/dist/src/solver-tools/ros34prw-method.js.map +1 -0
- package/dist/src/solver-tools/ros3prw-method.d.ts +46 -0
- package/{src → dist/src}/solver-tools/ros3prw-method.js +2 -2
- package/dist/src/solver-tools/ros3prw-method.js.map +1 -0
- package/{src/solver-tools/solver-defs.ts → dist/src/solver-tools/solver-defs.d.ts} +45 -84
- package/{src → dist/src}/solver-tools/solver-defs.js +1 -0
- package/dist/src/solver-tools/solver-defs.js.map +1 -0
- package/dist/src/worker-tools/index.d.ts +2 -0
- package/dist/src/worker-tools/index.js.map +1 -0
- package/{src/worker-tools/scripting.ts → dist/src/worker-tools/scripting.d.ts} +9 -91
- package/dist/src/worker-tools/scripting.js.map +1 -0
- package/dist/src/worker-tools/solving.d.ts +7 -0
- package/{src → dist/src}/worker-tools/solving.js +3 -1
- package/dist/src/worker-tools/solving.js.map +1 -0
- package/package.json +13 -12
- package/.claude/settings.local.json +0 -11
- package/.eslintrc.json +0 -45
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -29
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -22
- package/.github/scripts/bump-js-api-version.sh +0 -106
- package/.github/scripts/check-output.sh +0 -20
- package/.github/scripts/iac-cfn-deploy.sh +0 -90
- package/.github/scripts/slack_api_request.sh +0 -65
- package/.github/scripts/test_package.sh +0 -270
- package/.github/workflows/deploy-docs.yml +0 -15
- package/.github/workflows/libraries.yaml +0 -305
- package/.github/workflows/test.yaml +0 -19
- package/CLAUDE.md +0 -98
- package/CONTRIBUTING.md +0 -74
- package/eslintrc.json +0 -45
- package/images/E5.png +0 -0
- package/images/HIRES.png +0 -0
- package/images/OREGO.png +0 -0
- package/images/POLL-full.png +0 -0
- package/images/POLL.png +0 -0
- package/images/ROBER.png +0 -0
- package/images/VDP0L.png +0 -0
- package/images/VDPOL.png +0 -0
- package/images/acid-prod.gif +0 -0
- package/index.js.map +0 -1
- package/index.ts +0 -17
- package/jest.config.js +0 -13
- package/src/examples/basic-use.js.map +0 -1
- package/src/examples/basic-use.ts +0 -44
- package/src/examples/bioreactor.js +0 -125
- package/src/examples/bioreactor.js.map +0 -1
- package/src/examples/bioreactor.ts +0 -132
- package/src/examples/check-methods.js.map +0 -1
- package/src/examples/check-methods.ts +0 -81
- package/src/examples/corr-probs.js.map +0 -1
- package/src/examples/corr-probs.ts +0 -155
- package/src/examples/cyclic-model.js.map +0 -1
- package/src/examples/cyclic-model.ts +0 -112
- package/src/examples/e5.js.map +0 -1
- package/src/examples/e5.ts +0 -36
- package/src/examples/hires.js.map +0 -1
- package/src/examples/hires.ts +0 -40
- package/src/examples/index.js.map +0 -1
- package/src/examples/index.ts +0 -34
- package/src/examples/model-updates.js.map +0 -1
- package/src/examples/model-updates.ts +0 -122
- package/src/examples/orego.js.map +0 -1
- package/src/examples/orego.ts +0 -25
- package/src/examples/pipeline-use.js.map +0 -1
- package/src/examples/pipeline-use.ts +0 -98
- package/src/examples/pollution.js.map +0 -1
- package/src/examples/pollution.ts +0 -133
- package/src/examples/print-benchmark.js.map +0 -1
- package/src/examples/robertson.js.map +0 -1
- package/src/examples/robertson.ts +0 -19
- package/src/examples/scripting.js.map +0 -1
- package/src/examples/scripting.ts +0 -35
- package/src/examples/vdpol.js.map +0 -1
- package/src/examples/vdpol.ts +0 -17
- package/src/pipeline/basic-pipeline-creator.js.map +0 -1
- package/src/pipeline/constants.js.map +0 -1
- package/src/pipeline/constants.ts +0 -21
- package/src/pipeline/index.js.map +0 -1
- package/src/pipeline/index.ts +0 -7
- package/src/pipeline/input.js.map +0 -1
- package/src/pipeline/input.ts +0 -55
- package/src/pipeline/loops-pipeline-creator.js.map +0 -1
- package/src/pipeline/loops-pipeline-creator.ts +0 -252
- package/src/pipeline/output.js.map +0 -1
- package/src/pipeline/output.ts +0 -201
- package/src/pipeline/pipeline-creator.js.map +0 -1
- package/src/pipeline/pipeline-creator.ts +0 -20
- package/src/pipeline/pipeline.js.map +0 -1
- package/src/pipeline/updates-pipeline-creator.js.map +0 -1
- package/src/scripting-tools/constants.js.map +0 -1
- package/src/scripting-tools/constants.ts +0 -69
- package/src/scripting-tools/index.js.map +0 -1
- package/src/scripting-tools/index.ts +0 -8
- package/src/scripting-tools/model-error.js.map +0 -1
- package/src/scripting-tools/model-error.ts +0 -21
- package/src/scripting-tools/scripting-tools.js.map +0 -1
- package/src/scripting-tools/scripting-tools.ts +0 -1582
- package/src/solver-tools/ab4-method.js.map +0 -1
- package/src/solver-tools/ab4-method.ts +0 -395
- package/src/solver-tools/ab5-method.js.map +0 -1
- package/src/solver-tools/ab5-method.ts +0 -397
- package/src/solver-tools/callbacks/callback-base.js.map +0 -1
- package/src/solver-tools/callbacks/callback-base.ts +0 -12
- package/src/solver-tools/callbacks/callback-tools.js.map +0 -1
- package/src/solver-tools/callbacks/callback-tools.ts +0 -22
- package/src/solver-tools/callbacks/iter-checker-callback.js.map +0 -1
- package/src/solver-tools/callbacks/iter-checker-callback.ts +0 -25
- package/src/solver-tools/callbacks/time-checker-callback.js.map +0 -1
- package/src/solver-tools/callbacks/time-checker-callback.ts +0 -23
- package/src/solver-tools/index.js.map +0 -1
- package/src/solver-tools/index.ts +0 -15
- package/src/solver-tools/lin-alg-tools.js.map +0 -1
- package/src/solver-tools/lin-alg-tools.ts +0 -75
- package/src/solver-tools/lsoda/blas.js.map +0 -1
- package/src/solver-tools/lsoda/blas.ts +0 -267
- package/src/solver-tools/lsoda/cfode.js.map +0 -1
- package/src/solver-tools/lsoda/cfode.ts +0 -83
- package/src/solver-tools/lsoda/common.js +0 -94
- package/src/solver-tools/lsoda/common.js.map +0 -1
- package/src/solver-tools/lsoda/common.ts +0 -135
- package/src/solver-tools/lsoda/corfailure.js.map +0 -1
- package/src/solver-tools/lsoda/corfailure.ts +0 -30
- package/src/solver-tools/lsoda/correction.js.map +0 -1
- package/src/solver-tools/lsoda/correction.ts +0 -119
- package/src/solver-tools/lsoda/dense.js.map +0 -1
- package/src/solver-tools/lsoda/dense.ts +0 -129
- package/src/solver-tools/lsoda/index.js +0 -4
- package/src/solver-tools/lsoda/index.js.map +0 -1
- package/src/solver-tools/lsoda/index.ts +0 -5
- package/src/solver-tools/lsoda/intdy.js.map +0 -1
- package/src/solver-tools/lsoda/intdy.ts +0 -50
- package/src/solver-tools/lsoda/lsoda.js.map +0 -1
- package/src/solver-tools/lsoda/lsoda.ts +0 -632
- package/src/solver-tools/lsoda/methodswitch.js.map +0 -1
- package/src/solver-tools/lsoda/methodswitch.ts +0 -107
- package/src/solver-tools/lsoda/orderswitch.js.map +0 -1
- package/src/solver-tools/lsoda/orderswitch.ts +0 -95
- package/src/solver-tools/lsoda/prja.js.map +0 -1
- package/src/solver-tools/lsoda/prja.ts +0 -49
- package/src/solver-tools/lsoda/scaleh.js.map +0 -1
- package/src/solver-tools/lsoda/scaleh.ts +0 -33
- package/src/solver-tools/lsoda/solsy.js +0 -14
- package/src/solver-tools/lsoda/solsy.js.map +0 -1
- package/src/solver-tools/lsoda/solsy.ts +0 -18
- package/src/solver-tools/lsoda/stoda.js.map +0 -1
- package/src/solver-tools/lsoda/stoda.ts +0 -286
- package/src/solver-tools/lsoda-method.js.map +0 -1
- package/src/solver-tools/lsoda-method.ts +0 -136
- package/src/solver-tools/mrt-method.js.map +0 -1
- package/src/solver-tools/mrt-method.ts +0 -398
- package/src/solver-tools/rk3-method.js.map +0 -1
- package/src/solver-tools/rk3-method.ts +0 -257
- package/src/solver-tools/rk4-method.js.map +0 -1
- package/src/solver-tools/rk4-method.ts +0 -286
- package/src/solver-tools/rkdp-method.js.map +0 -1
- package/src/solver-tools/rkdp-method.ts +0 -300
- package/src/solver-tools/ros34prw-method.js.map +0 -1
- package/src/solver-tools/ros34prw-method.ts +0 -373
- package/src/solver-tools/ros3prw-method.js.map +0 -1
- package/src/solver-tools/ros3prw-method.ts +0 -342
- package/src/solver-tools/solver-defs.js.map +0 -1
- package/src/tests/correctness.test.js +0 -15
- package/src/tests/correctness.test.js.map +0 -1
- package/src/tests/correctness.test.ts +0 -16
- package/src/tests/lsoda-lib-correctness.test.js +0 -223
- package/src/tests/lsoda-lib-correctness.test.js.map +0 -1
- package/src/tests/lsoda-lib-correctness.test.ts +0 -283
- package/src/tests/lsoda-lib-performance.test.js +0 -95
- package/src/tests/lsoda-lib-performance.test.js.map +0 -1
- package/src/tests/lsoda-lib-performance.test.ts +0 -126
- package/src/tests/performance.test.js +0 -16
- package/src/tests/performance.test.js.map +0 -1
- package/src/tests/performance.test.ts +0 -17
- package/src/tests/pipeline.test.js +0 -10
- package/src/tests/pipeline.test.js.map +0 -1
- package/src/tests/pipeline.test.ts +0 -11
- package/src/tests/test-defs.js +0 -207
- package/src/tests/test-defs.js.map +0 -1
- package/src/tests/test-defs.ts +0 -225
- package/src/tests/test-utils.js +0 -28
- package/src/tests/test-utils.js.map +0 -1
- package/src/tests/test-utils.ts +0 -37
- package/src/worker-tools/index.js.map +0 -1
- package/src/worker-tools/index.ts +0 -2
- package/src/worker-tools/scripting.js.map +0 -1
- package/src/worker-tools/solving.js.map +0 -1
- package/src/worker-tools/solving.ts +0 -83
- package/tsconfig.json +0 -71
- package/typedoc.json +0 -8
- /package/{src → dist/src}/examples/basic-use.js +0 -0
- /package/{src → dist/src}/examples/cyclic-model.js +0 -0
- /package/{src → dist/src}/examples/e5.js +0 -0
- /package/{src → dist/src}/examples/hires.js +0 -0
- /package/{src → dist/src}/examples/index.js +0 -0
- /package/{src → dist/src}/examples/model-updates.js +0 -0
- /package/{src → dist/src}/examples/orego.js +0 -0
- /package/{src → dist/src}/examples/pipeline-use.js +0 -0
- /package/{src → dist/src}/examples/pollution.js +0 -0
- /package/{src → dist/src}/examples/print-benchmark.js +0 -0
- /package/{src → dist/src}/examples/scripting.js +0 -0
- /package/{src → dist/src}/examples/vdpol.js +0 -0
- /package/{src → dist/src}/pipeline/basic-pipeline-creator.js +0 -0
- /package/{src → dist/src}/pipeline/constants.js +0 -0
- /package/{src → dist/src}/pipeline/index.js +0 -0
- /package/{src → dist/src}/pipeline/input.js +0 -0
- /package/{src → dist/src}/pipeline/loops-pipeline-creator.js +0 -0
- /package/{src → dist/src}/pipeline/pipeline.js +0 -0
- /package/{src → dist/src}/pipeline/updates-pipeline-creator.js +0 -0
- /package/{src → dist/src}/scripting-tools/constants.js +0 -0
- /package/{src → dist/src}/scripting-tools/index.js +0 -0
- /package/{src → dist/src}/solver-tools/callbacks/callback-base.js +0 -0
- /package/{src → dist/src}/solver-tools/callbacks/callback-tools.js +0 -0
- /package/{src → dist/src}/solver-tools/lin-alg-tools.js +0 -0
- /package/{src → dist/src}/worker-tools/index.js +0 -0
- /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 =
|
|
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
|
|
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
|
|
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
|
|
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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,YAAY,EAAE,WAAW,EAA0C,GAAG,GACvE,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,6BAA6B;AAE7B,SAAS,eAAe,CAAC,CAAc,EAAE,GAAW;IAClD,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAChB,MAAM,EAAE,GAAmB,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B;QAC5D,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACd,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,CAAC;AAC9C,CAAC;AAED,SAAS,KAAK,CAAC,GAAiB,EAAE,IAAkB;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;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAiB,EAAE,GAAa;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAExB,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;QAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,GAAG,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kCAAkC;IAClC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,GAAG,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,GAAG,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;QAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,KAAK,GAAG,2BAA2B,GAAG,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,GAAG,kBAAkB,GAAG,CAAC,IAAI,aAAa,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,GAAG,oBAAoB,GAAG,CAAC,MAAM,iBAAiB,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,GAAG,oBAAoB,GAAG,CAAC,MAAM,iBAAiB,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACvC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;QACd,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAC3B,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,GAAiB;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAI,CAAC,MAAM,CAAC,CAAC;IAE7D,6DAA6D;IAC7D,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE;QAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEtC,2DAA2D;IAC3D,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEtC,CAAC,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEjC,0BAA0B;IAC1B,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QACzB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uBAAuB;AAEvB;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAiB,EAAE,GAAa;IAC3D,GAAG,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACd,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAiB;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,wBAAwB;IACxB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACb,cAAc;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAiB;IACzC,IAAI,GAAG,CAAC,KAAK;QACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CACnB,GAAiB,EAAE,CAAe,EAAE,GAAW,EAAE,IAAY;IAE7D,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAI,CAAC;IACrB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,IAAI,CAAC,GAAG,GAAG,CAAC;IAEZ,IAAI,KAAa,CAAC;IAClB,IAAI,MAAM,GAAW,CAAC,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,qCAAqC;IACrC,SAAS,WAAW,CAAC,GAAW;QAC9B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;QAChB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CAAC;IAC/B,CAAC;IAED,SAAS,WAAW,CAAC,IAAY,EAAE,GAAW;QAC5C,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CAAC;IAC/B,CAAC;IAED,SAAS,aAAa;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI;gBACN,CAAC,GAAG,KAAK,CAAC;QACd,CAAC;QACD,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CAAC;IAC/B,CAAC;IAED,SAAS,WAAW;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,KAAK,GAAG,uCAAuC,KAAK,YAAY,IAAI,EAAE,CAAC;YAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;gBAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACX,CAAC;QACD,CAAC,GAAG,IAAI,CAAC;QACT,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,KAAK,IAAI;QACZ,OAAO,WAAW,CAAC,0DAA0D,CAAC,CAAC;IAGjF,2CAA2C;IAC3C,IAAI,EAAE,GAAW,CAAC,CAAC;IACnB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE;gBACtB,OAAO,WAAW,CAAC,kBAAkB,IAAI,eAAe,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAExB,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;QACjB,MAAM,GAAG,CAAC,CAAC,CAAC;IAGd,0CAA0C;IAC1C,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACpB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACT,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEV,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE;gBAClC,OAAO,WAAW,CAAC,8CAA8C,CAAC,CAAC;YAErE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAET,oBAAoB;QACpB,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEV,4BAA4B;QAC5B,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,CAAC,CAAC;QAEpB,sBAAsB;QACtB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;gBAChB,OAAO,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAED,4CAA4C;QAC5C,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE;gBACvB,OAAO,WAAW,CAAC,kDAAkD,CAAC,CAAC;YAEzE,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;gBAC3B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,GAAG,KAAK,EAAE;wBACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;YAChC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;YACrD,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,qBAAqB;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QACnC,IAAI,EAAE,GAAG,EAAE;YAAE,EAAE,IAAI,EAAE,CAAC;QAEtB,yBAAyB;QACzB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,gDAAgD;IAChD,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;QAEjB,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC;gBACJ,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC3B,OAAO,WAAW,EAAE,CAAC;gBAEvB,MAAM;YACR,KAAK,CAAC;gBACJ,MAAM;YACR,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;oBACxB,OAAO,WAAW,CAAC,mBAAmB,KAAK,4BAA4B,CAAC,CAAC;gBAE3E,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;oBAAE,MAAM;gBACpC,OAAO,aAAa,EAAE,CAAC;YACzB,CAAC;YACD,KAAK,CAAC;gBACJ,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC3B,OAAO,WAAW,CAAC,8CAA8C,CAAC,CAAC;gBAErE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC3B,OAAO,WAAW,CAAC,8CAA8C,CAAC,CAAC;gBAErE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC3B,OAAO,WAAW,EAAE,CAAC;YAEvB,+BAA+B;YAC/B,0CAA0C;YAC5C,KAAK,CAAC;gBACJ,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;oBAClB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;wBAC3B,OAAO,WAAW,CAAC,8CAA8C,CAAC,CAAC;gBACvE,CAAC;gBACD,CAAC;oBACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,IAAI,IAAI,EAAE,CAAC;wBACT,CAAC,GAAG,KAAK,CAAC;wBACV,OAAO,aAAa,EAAE,CAAC;oBACzB,CAAC;oBACD,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;wBAAE,MAAM;oBACvC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;oBACvC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;wBAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;gBAClC,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,mCAAmC,CAAC,CAAC;YAEnF,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAChB,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,WAAW,CAChB,2DAA2D;oBAC3D,yDAAyD,MAAM,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,CAAC,CAAC,CAAC,EACnB,mBAAmB,CAAC,+BAA+B;gBACnD,yDAAyD,MAAM,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM;oBACvE,uCAAuC,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,KAAK,EAAE;wBAC/D,sDAAsD,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,aAAa;QACb,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,wCAAwC;YACxC,iCAAiC;YACjC,IAAI,GAAG,CAAC,SAAS;gBACf,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAE9C,MAAM,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACb,MAAM,GAAG,CAAC,CAAC,CAAC;gBACZ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACb,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACjB,OAAO,CAAC,KAAK,CAAC,mDAAmD;4BAC/D,WAAW,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACjB,OAAO,CAAC,KAAK,CAAC,sDAAsD;4BAClE,WAAW,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;oBAAE,SAAS;gBACvC,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,IAAI,KAAK,KAAK,CAAC;gBACb,OAAO,aAAa,EAAE,CAAC;YAEzB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC3B,OAAO,aAAa,EAAE,CAAC;gBAEzB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC3B,OAAO,WAAW,EAAE,CAAC;qBAClB,CAAC;oBACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,IAAI,IAAI;wBACN,OAAO,aAAa,EAAE,CAAC;oBAEzB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAC1C,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;oBACvC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACZ,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO,aAAa,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;oBACf,GAAG,GAAG,IAAI,CAAC;oBACX,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,WAAW,CAAC,CAAC,CAAC,EACnB,mBAAmB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG;oBACnD,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,WAAW,CAAC,CAAC,CAAC,EACnB,mBAAmB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG;oBACnD,oEAAoE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAcD;;GAEG;AACH,MAAM,OAAO,KAAK;IACR,GAAG,CAAe;IAClB,SAAS,CAAe;IACxB,YAAY,GAAY,KAAK,CAAC;IAEtC,YACE,CAAc,EAAE,GAAW,EAC3B,GAA4C,EAAE,IAAU;QAExD,8DAA8D;QAC9D,MAAM,WAAW,GAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAClD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAExD,mCAAmC;QACnC,MAAM,OAAO,GAAa;YACxB,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YACnD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI,EAAE,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/B,IAAI,EAAE,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/B,GAAG,GAAG;SACP,CAAC;QAEF,8EAA8E;QAC9E,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,4CAA4C;gBAC5C,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;oBAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACnB,CAAC;;gBACC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;oBAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YACnB,CAAC;;gBACC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEhC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAoB,EAAE,CAAS,EAAE,IAAY;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACzB,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAExD,uBAAuB;QACvB,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,OAAO,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,KAAY,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;IAC5C,IAAI,KAAK,KAAmB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC;IAEnD,mEAAmE;IACnE,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK;QACH,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY;YACnB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -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;
|