Replace Boost numeric/odeint with existing SUNDIALS library - #3357
Replace Boost numeric/odeint with existing SUNDIALS library#3357andrjohns wants to merge 8 commits into
Conversation
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
|
This needs to update https://github.com/stan-dev/math/blob/develop/lib/upgrade-sundials.sh#L117 to not delete the arkode files during sundials upgrades |
3734ea1 to
f06cd6f
Compare
55f4070 to
4cb6dff
Compare
Argh good catch! Updated the vendor script and re-written the history to run it and commit the results |
|
Is everything up to 42a30df just upgrading sundials? |
Jenkins Console Log Machine informationNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focalCPU: G++: Clang: |
Summary
A companion to #3356, this PR replaces our dependency on the Boost
numeric/odeintheaders for theode_rk45andode_ckrkfunctions with theARKODElibrary from the SUNDIALS suite. Thenumeric/odeintheaders brought in a massive footprint of files - namely themplandfusionlibraries.There are lots of file-changes due to the vendoring, but I've put that as a separate commit so it's easier to see just the Stan changes
Tests
N/A - existing tests should still pass
Side Effects
Slight reduction in compile times due to fewer includes
Release notes
Replaced the Boost odeint with ARKODE for the
ode_rk45andode_ckrkfunctionsChecklist
Copyright holder: Andrew Johnson
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
the basic tests are passing
./runTests.py test/unit)make test-headers)make test-math-dependencies)make doxygen)make cpplint)the code is written in idiomatic C++ and changes are documented in the doxygen
the new changes are tested