From e4f1f442d83d71186bcabe07f796c378e784a5b7 Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Mon, 6 Oct 2025 13:21:44 +0200 Subject: [PATCH] Remove `ReturnData::nx`, `ReturnData::nxtrue` Replacements `ReturnData::nx_rdata` and `ReturnData::nxtrue_rdata` have been installed long ago. Let's get rid of the aliases. --- include/amici/rdata.h | 13 ------- include/amici/serialization.h | 4 +- models/model_calvetti_py/Jy.cpp | 3 -- models/model_calvetti_py/create_splines.cpp | 3 -- models/model_calvetti_py/dJydsigma.cpp | 3 -- models/model_calvetti_py/dJydy.cpp | 5 +-- models/model_calvetti_py/dwdw.cpp | 5 +-- models/model_calvetti_py/dwdx.cpp | 5 +-- models/model_calvetti_py/dxdotdw.cpp | 5 +-- models/model_calvetti_py/dxdotdx_explicit.cpp | 5 +-- models/model_calvetti_py/dydx.cpp | 3 -- models/model_calvetti_py/explicit_roots.cpp | 3 -- models/model_calvetti_py/main.cpp | 6 +-- models/model_calvetti_py/model_calvetti_py.h | 2 +- models/model_calvetti_py/root.cpp | 3 -- models/model_calvetti_py/sigmay.cpp | 3 -- models/model_calvetti_py/w.cpp | 3 -- models/model_calvetti_py/x0.cpp | 3 -- .../model_calvetti_py/x0_fixedParameters.cpp | 4 +- models/model_calvetti_py/x_rdata.cpp | 3 -- models/model_calvetti_py/x_solver.cpp | 3 -- models/model_calvetti_py/xdot.cpp | 3 -- models/model_calvetti_py/y.cpp | 3 -- models/model_dirac_py/Jy.cpp | 3 -- models/model_dirac_py/create_splines.cpp | 3 -- models/model_dirac_py/dJydsigma.cpp | 3 -- models/model_dirac_py/dJydy.cpp | 5 +-- models/model_dirac_py/deltaqB.cpp | 3 -- models/model_dirac_py/deltasx.cpp | 3 -- models/model_dirac_py/deltax.cpp | 3 -- models/model_dirac_py/dxdotdp_explicit.cpp | 5 +-- models/model_dirac_py/dxdotdx_explicit.cpp | 5 +-- models/model_dirac_py/dydx.cpp | 3 -- models/model_dirac_py/explicit_roots.cpp | 3 -- models/model_dirac_py/main.cpp | 6 +-- models/model_dirac_py/model_dirac_py.h | 2 +- models/model_dirac_py/root.cpp | 3 -- models/model_dirac_py/sigmay.cpp | 3 -- models/model_dirac_py/stau.cpp | 3 -- models/model_dirac_py/x_rdata.cpp | 3 -- models/model_dirac_py/x_solver.cpp | 3 -- models/model_dirac_py/xdot.cpp | 3 -- models/model_dirac_py/y.cpp | 3 -- models/model_events_py/Jrz.cpp | 3 -- models/model_events_py/Jy.cpp | 3 -- models/model_events_py/Jz.cpp | 3 -- models/model_events_py/create_splines.cpp | 3 -- models/model_events_py/dJrzdsigma.cpp | 3 -- models/model_events_py/dJrzdz.cpp | 3 -- models/model_events_py/dJydsigma.cpp | 3 -- models/model_events_py/dJydy.cpp | 5 +-- models/model_events_py/dJzdsigma.cpp | 3 -- models/model_events_py/dJzdz.cpp | 3 -- models/model_events_py/deltaqB.cpp | 3 -- models/model_events_py/deltasx.cpp | 3 -- models/model_events_py/deltaxB.cpp | 3 -- models/model_events_py/drzdx.cpp | 3 -- models/model_events_py/dxdotdp_explicit.cpp | 5 +-- models/model_events_py/dxdotdx_explicit.cpp | 5 +-- models/model_events_py/dydp.cpp | 3 -- models/model_events_py/dydx.cpp | 3 -- models/model_events_py/dzdx.cpp | 3 -- models/model_events_py/explicit_roots.cpp | 3 -- models/model_events_py/main.cpp | 6 +-- models/model_events_py/model_events_py.h | 2 +- models/model_events_py/root.cpp | 3 -- models/model_events_py/rz.cpp | 3 -- models/model_events_py/sigmay.cpp | 3 -- models/model_events_py/sigmaz.cpp | 3 -- models/model_events_py/stau.cpp | 3 -- .../model_events_py/sx0_fixedParameters.cpp | 4 +- models/model_events_py/x0.cpp | 3 -- models/model_events_py/x0_fixedParameters.cpp | 4 +- models/model_events_py/x_rdata.cpp | 3 -- models/model_events_py/x_solver.cpp | 3 -- models/model_events_py/xdot.cpp | 3 -- models/model_events_py/y.cpp | 3 -- models/model_events_py/z.cpp | 3 -- models/model_jakstat_adjoint_py/Jy.cpp | 3 -- .../create_splines.cpp | 3 -- models/model_jakstat_adjoint_py/dJydsigma.cpp | 3 -- models/model_jakstat_adjoint_py/dJydy.cpp | 5 +-- models/model_jakstat_adjoint_py/dsigmaydp.cpp | 3 -- .../dspline_valuesdp.cpp | 3 -- models/model_jakstat_adjoint_py/dwdp.cpp | 5 +-- .../dxdotdp_explicit.cpp | 5 +-- models/model_jakstat_adjoint_py/dxdotdw.cpp | 5 +-- .../dxdotdx_explicit.cpp | 5 +-- models/model_jakstat_adjoint_py/dydp.cpp | 3 -- models/model_jakstat_adjoint_py/dydx.cpp | 3 -- models/model_jakstat_adjoint_py/main.cpp | 6 +-- .../model_jakstat_adjoint_py.h | 2 +- models/model_jakstat_adjoint_py/sigmay.cpp | 3 -- models/model_jakstat_adjoint_py/w.cpp | 3 -- models/model_jakstat_adjoint_py/x0.cpp | 3 -- models/model_jakstat_adjoint_py/x_rdata.cpp | 3 -- models/model_jakstat_adjoint_py/x_solver.cpp | 3 -- models/model_jakstat_adjoint_py/xdot.cpp | 3 -- models/model_jakstat_adjoint_py/y.cpp | 3 -- models/model_nested_events_py/Jy.cpp | 3 -- .../model_nested_events_py/create_splines.cpp | 3 -- models/model_nested_events_py/dJydsigma.cpp | 3 -- models/model_nested_events_py/dJydy.cpp | 5 +-- models/model_nested_events_py/deltaqB.cpp | 3 -- models/model_nested_events_py/deltasx.cpp | 3 -- models/model_nested_events_py/deltax.cpp | 3 -- models/model_nested_events_py/deltaxB.cpp | 3 -- .../dxdotdp_explicit.cpp | 5 +-- .../dxdotdx_explicit.cpp | 5 +-- models/model_nested_events_py/dydx.cpp | 3 -- .../model_nested_events_py/explicit_roots.cpp | 3 -- models/model_nested_events_py/main.cpp | 6 +-- .../model_nested_events_py.h | 2 +- models/model_nested_events_py/root.cpp | 3 -- models/model_nested_events_py/sigmay.cpp | 3 -- models/model_nested_events_py/stau.cpp | 3 -- models/model_nested_events_py/sx0.cpp | 3 -- models/model_nested_events_py/x0.cpp | 3 -- models/model_nested_events_py/x_rdata.cpp | 3 -- models/model_nested_events_py/x_solver.cpp | 3 -- models/model_nested_events_py/xdot.cpp | 3 -- models/model_nested_events_py/y.cpp | 3 -- models/model_neuron_py/Jrz.cpp | 3 -- models/model_neuron_py/Jy.cpp | 3 -- models/model_neuron_py/Jz.cpp | 3 -- models/model_neuron_py/create_splines.cpp | 3 -- models/model_neuron_py/dJrzdsigma.cpp | 3 -- models/model_neuron_py/dJrzdz.cpp | 3 -- models/model_neuron_py/dJydsigma.cpp | 3 -- models/model_neuron_py/dJydy.cpp | 5 +-- models/model_neuron_py/dJzdsigma.cpp | 3 -- models/model_neuron_py/dJzdz.cpp | 3 -- models/model_neuron_py/deltaqB.cpp | 3 -- models/model_neuron_py/deltasx.cpp | 3 -- models/model_neuron_py/deltax.cpp | 3 -- models/model_neuron_py/deltaxB.cpp | 3 -- models/model_neuron_py/drzdx.cpp | 3 -- models/model_neuron_py/dxdotdp_explicit.cpp | 5 +-- models/model_neuron_py/dxdotdx_explicit.cpp | 5 +-- models/model_neuron_py/dydx.cpp | 3 -- models/model_neuron_py/dzdx.cpp | 3 -- models/model_neuron_py/main.cpp | 6 +-- models/model_neuron_py/model_neuron_py.h | 2 +- models/model_neuron_py/root.cpp | 3 -- models/model_neuron_py/rz.cpp | 3 -- models/model_neuron_py/sigmay.cpp | 3 -- models/model_neuron_py/sigmaz.cpp | 3 -- models/model_neuron_py/stau.cpp | 3 -- models/model_neuron_py/sx0.cpp | 3 -- .../model_neuron_py/sx0_fixedParameters.cpp | 4 +- models/model_neuron_py/x0.cpp | 3 -- models/model_neuron_py/x0_fixedParameters.cpp | 4 +- models/model_neuron_py/x_rdata.cpp | 3 -- models/model_neuron_py/x_solver.cpp | 3 -- models/model_neuron_py/xdot.cpp | 3 -- models/model_neuron_py/y.cpp | 3 -- models/model_neuron_py/z.cpp | 3 -- models/model_robertson_py/Jy.cpp | 3 -- models/model_robertson_py/create_splines.cpp | 3 -- models/model_robertson_py/dJydsigma.cpp | 3 -- models/model_robertson_py/dJydy.cpp | 5 +-- .../model_robertson_py/dxdotdp_explicit.cpp | 5 +-- .../model_robertson_py/dxdotdx_explicit.cpp | 5 +-- models/model_robertson_py/dydx.cpp | 3 -- models/model_robertson_py/main.cpp | 6 +-- .../model_robertson_py/model_robertson_py.h | 2 +- models/model_robertson_py/sigmay.cpp | 3 -- .../sx0_fixedParameters.cpp | 4 +- models/model_robertson_py/x0.cpp | 3 -- .../model_robertson_py/x0_fixedParameters.cpp | 4 +- models/model_robertson_py/x_rdata.cpp | 3 -- models/model_robertson_py/x_solver.cpp | 3 -- models/model_robertson_py/xdot.cpp | 3 -- models/model_robertson_py/y.cpp | 3 -- models/model_steadystate_py/Jy.cpp | 3 -- .../model_steadystate_py/create_splines.cpp | 3 -- models/model_steadystate_py/dJydsigma.cpp | 3 -- models/model_steadystate_py/dJydy.cpp | 5 +-- .../model_steadystate_py/dxdotdp_explicit.cpp | 5 +-- .../model_steadystate_py/dxdotdx_explicit.cpp | 5 +-- models/model_steadystate_py/dydx.cpp | 3 -- models/model_steadystate_py/main.cpp | 6 +-- .../model_steadystate_py.h | 2 +- models/model_steadystate_py/sigmay.cpp | 3 -- .../sx0_fixedParameters.cpp | 4 +- models/model_steadystate_py/x0.cpp | 3 -- .../x0_fixedParameters.cpp | 4 +- models/model_steadystate_py/x_rdata.cpp | 3 -- models/model_steadystate_py/x_solver.cpp | 3 -- models/model_steadystate_py/xdot.cpp | 3 -- models/model_steadystate_py/y.cpp | 3 -- python/sdist/amici/numpy.py | 12 +++--- src/hdf5.cpp | 8 ++-- src/main.template.cpp | 6 +-- src/rdata.cpp | 38 +++++++++---------- tests/cpp/testfunctions.cpp | 2 +- tests/cpp/unittests/testSerialization.cpp | 4 +- 197 files changed, 133 insertions(+), 602 deletions(-) diff --git a/include/amici/rdata.h b/include/amici/rdata.h index 9945771dd7..145d9b378a 100644 --- a/include/amici/rdata.h +++ b/include/amici/rdata.h @@ -468,19 +468,6 @@ class ReturnData : public ModelDimensions { */ int status = AMICI_NOT_RUN; - /** - * @brief Number of state variables. - * - * (alias `nx_rdata`, kept for backward compatibility) - */ - int nx{0}; - - /** - * Number of state variables in the unaugmented system - * (alias nxtrue_rdata, kept for backward compatibility) - */ - int nxtrue{0}; - /** Number of parameters w.r.t. which sensitivities were requested */ int nplist{0}; diff --git a/include/amici/serialization.h b/include/amici/serialization.h index d2240266fc..6b322c53fe 100644 --- a/include/amici/serialization.h +++ b/include/amici/serialization.h @@ -208,8 +208,8 @@ void serialize( ) { ar& dynamic_cast(r); ar & r.id; - ar & r.nx; - ar & r.nxtrue; + ar & r.nx_rdata; + ar & r.nxtrue_rdata; ar & r.nplist; ar & r.nmaxevent; ar & r.nt; diff --git a/models/model_calvetti_py/Jy.cpp b/models/model_calvetti_py/Jy.cpp index e4d9de870e..a9a86af2c0 100644 --- a/models/model_calvetti_py/Jy.cpp +++ b/models/model_calvetti_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "k.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_calvetti_py/create_splines.cpp b/models/model_calvetti_py/create_splines.cpp index 9fc045d4c0..fe2b2a1e35 100644 --- a/models/model_calvetti_py/create_splines.cpp +++ b/models/model_calvetti_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "k.h" diff --git a/models/model_calvetti_py/dJydsigma.cpp b/models/model_calvetti_py/dJydsigma.cpp index 91f8fdd2fd..b72e7a5699 100644 --- a/models/model_calvetti_py/dJydsigma.cpp +++ b/models/model_calvetti_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "k.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_calvetti_py/dJydy.cpp b/models/model_calvetti_py/dJydy.cpp index f6983dfe23..177d12aeb7 100644 --- a/models/model_calvetti_py/dJydy.cpp +++ b/models/model_calvetti_py/dJydy.cpp @@ -51,11 +51,10 @@ void dJydy_rowvals_model_calvetti_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "k.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_calvetti_py/dwdw.cpp b/models/model_calvetti_py/dwdw.cpp index 46b8198b01..4fa96d39f4 100644 --- a/models/model_calvetti_py/dwdw.cpp +++ b/models/model_calvetti_py/dwdw.cpp @@ -41,11 +41,10 @@ void dwdw_rowvals_model_calvetti_py(SUNMatrixWrapper &dwdw){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/dwdx.cpp b/models/model_calvetti_py/dwdx.cpp index cd8dbf30bf..aca6557649 100644 --- a/models/model_calvetti_py/dwdx.cpp +++ b/models/model_calvetti_py/dwdx.cpp @@ -41,11 +41,10 @@ void dwdx_rowvals_model_calvetti_py(SUNMatrixWrapper &dwdx){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/dxdotdw.cpp b/models/model_calvetti_py/dxdotdw.cpp index 02f2241416..ac66441f99 100644 --- a/models/model_calvetti_py/dxdotdw.cpp +++ b/models/model_calvetti_py/dxdotdw.cpp @@ -41,11 +41,10 @@ void dxdotdw_rowvals_model_calvetti_py(SUNMatrixWrapper &dxdotdw){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/dxdotdx_explicit.cpp b/models/model_calvetti_py/dxdotdx_explicit.cpp index 07db46e075..5ab6cc365f 100644 --- a/models/model_calvetti_py/dxdotdx_explicit.cpp +++ b/models/model_calvetti_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_calvetti_py(SUNMatrixWrapper &dxdotdx_explic #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/dydx.cpp b/models/model_calvetti_py/dydx.cpp index e7256cdd4f..8bacfcc05d 100644 --- a/models/model_calvetti_py/dydx.cpp +++ b/models/model_calvetti_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/explicit_roots.cpp b/models/model_calvetti_py/explicit_roots.cpp index fb85bacadc..4598f5ec00 100644 --- a/models/model_calvetti_py/explicit_roots.cpp +++ b/models/model_calvetti_py/explicit_roots.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include #include "k.h" diff --git a/models/model_calvetti_py/main.cpp b/models/model_calvetti_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_calvetti_py/main.cpp +++ b/models/model_calvetti_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_calvetti_py/model_calvetti_py.h b/models/model_calvetti_py/model_calvetti_py.h index 3b82bcb2aa..d18deb259f 100644 --- a/models/model_calvetti_py/model_calvetti_py.h +++ b/models/model_calvetti_py/model_calvetti_py.h @@ -557,7 +557,7 @@ class Model_model_calvetti_py : public amici::Model_DAE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_calvetti_py/root.cpp b/models/model_calvetti_py/root.cpp index 08d9d0b6b5..65b8c9dc1f 100644 --- a/models/model_calvetti_py/root.cpp +++ b/models/model_calvetti_py/root.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/sigmay.cpp b/models/model_calvetti_py/sigmay.cpp index 2a5002587a..c4d797a3cd 100644 --- a/models/model_calvetti_py/sigmay.cpp +++ b/models/model_calvetti_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "k.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_calvetti_py/w.cpp b/models/model_calvetti_py/w.cpp index 9ddc51df48..daddba2357 100644 --- a/models/model_calvetti_py/w.cpp +++ b/models/model_calvetti_py/w.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/x0.cpp b/models/model_calvetti_py/x0.cpp index afb3da3c19..75c980d07e 100644 --- a/models/model_calvetti_py/x0.cpp +++ b/models/model_calvetti_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "k.h" namespace amici { diff --git a/models/model_calvetti_py/x0_fixedParameters.cpp b/models/model_calvetti_py/x0_fixedParameters.cpp index 0f8960d6e7..89d5e89c1b 100644 --- a/models/model_calvetti_py/x0_fixedParameters.cpp +++ b/models/model_calvetti_py/x0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "k.h" namespace amici { diff --git a/models/model_calvetti_py/x_rdata.cpp b/models/model_calvetti_py/x_rdata.cpp index bc37e262f3..9e375c7851 100644 --- a/models/model_calvetti_py/x_rdata.cpp +++ b/models/model_calvetti_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" diff --git a/models/model_calvetti_py/x_solver.cpp b/models/model_calvetti_py/x_solver.cpp index 30e74929be..300835daa8 100644 --- a/models/model_calvetti_py/x_solver.cpp +++ b/models/model_calvetti_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_calvetti_py/xdot.cpp b/models/model_calvetti_py/xdot.cpp index a6ed253282..567586015e 100644 --- a/models/model_calvetti_py/xdot.cpp +++ b/models/model_calvetti_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_calvetti_py/y.cpp b/models/model_calvetti_py/y.cpp index d92022d493..64ef0e34c8 100644 --- a/models/model_calvetti_py/y.cpp +++ b/models/model_calvetti_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "k.h" #include "h.h" diff --git a/models/model_dirac_py/Jy.cpp b/models/model_dirac_py/Jy.cpp index 8a372baf54..776d5a7206 100644 --- a/models/model_dirac_py/Jy.cpp +++ b/models/model_dirac_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_dirac_py/create_splines.cpp b/models/model_dirac_py/create_splines.cpp index 47eb6cdb90..08809fef04 100644 --- a/models/model_dirac_py/create_splines.cpp +++ b/models/model_dirac_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_dirac_py/dJydsigma.cpp b/models/model_dirac_py/dJydsigma.cpp index 3f77eb81e3..213cd21f3a 100644 --- a/models/model_dirac_py/dJydsigma.cpp +++ b/models/model_dirac_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_dirac_py/dJydy.cpp b/models/model_dirac_py/dJydy.cpp index 0fe5a1d858..403ac975b0 100644 --- a/models/model_dirac_py/dJydy.cpp +++ b/models/model_dirac_py/dJydy.cpp @@ -41,11 +41,10 @@ void dJydy_rowvals_model_dirac_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_dirac_py/deltaqB.cpp b/models/model_dirac_py/deltaqB.cpp index 98d79c94e5..aa3c488c56 100644 --- a/models/model_dirac_py/deltaqB.cpp +++ b/models/model_dirac_py/deltaqB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/deltasx.cpp b/models/model_dirac_py/deltasx.cpp index 4b6455495f..e92da1c3e2 100644 --- a/models/model_dirac_py/deltasx.cpp +++ b/models/model_dirac_py/deltasx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/deltax.cpp b/models/model_dirac_py/deltax.cpp index c35ff1cb1b..5c874c2cc1 100644 --- a/models/model_dirac_py/deltax.cpp +++ b/models/model_dirac_py/deltax.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/dxdotdp_explicit.cpp b/models/model_dirac_py/dxdotdp_explicit.cpp index 53dc6ff5c5..4211e8beda 100644 --- a/models/model_dirac_py/dxdotdp_explicit.cpp +++ b/models/model_dirac_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_dirac_py(SUNMatrixWrapper &dxdotdp_explicit) #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/dxdotdx_explicit.cpp b/models/model_dirac_py/dxdotdx_explicit.cpp index 8eaf0a8fc2..245f539fd3 100644 --- a/models/model_dirac_py/dxdotdx_explicit.cpp +++ b/models/model_dirac_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_dirac_py(SUNMatrixWrapper &dxdotdx_explicit) #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/dydx.cpp b/models/model_dirac_py/dydx.cpp index 5354e78bee..8c7f99fbb9 100644 --- a/models/model_dirac_py/dydx.cpp +++ b/models/model_dirac_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/explicit_roots.cpp b/models/model_dirac_py/explicit_roots.cpp index b0ff22a3e3..5061cc9fd9 100644 --- a/models/model_dirac_py/explicit_roots.cpp +++ b/models/model_dirac_py/explicit_roots.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include #include "p.h" diff --git a/models/model_dirac_py/main.cpp b/models/model_dirac_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_dirac_py/main.cpp +++ b/models/model_dirac_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_dirac_py/model_dirac_py.h b/models/model_dirac_py/model_dirac_py.h index 9266df8536..caef0fb751 100644 --- a/models/model_dirac_py/model_dirac_py.h +++ b/models/model_dirac_py/model_dirac_py.h @@ -544,7 +544,7 @@ class Model_model_dirac_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_dirac_py/root.cpp b/models/model_dirac_py/root.cpp index fa68558804..b435bbe736 100644 --- a/models/model_dirac_py/root.cpp +++ b/models/model_dirac_py/root.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/sigmay.cpp b/models/model_dirac_py/sigmay.cpp index 3409c93047..25266f1344 100644 --- a/models/model_dirac_py/sigmay.cpp +++ b/models/model_dirac_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_dirac_py/stau.cpp b/models/model_dirac_py/stau.cpp index 9392a0a266..399f7c43d1 100644 --- a/models/model_dirac_py/stau.cpp +++ b/models/model_dirac_py/stau.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/x_rdata.cpp b/models/model_dirac_py/x_rdata.cpp index 192e1e406c..5954c2226e 100644 --- a/models/model_dirac_py/x_rdata.cpp +++ b/models/model_dirac_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" diff --git a/models/model_dirac_py/x_solver.cpp b/models/model_dirac_py/x_solver.cpp index 1ae12c8765..6fe8de2dee 100644 --- a/models/model_dirac_py/x_solver.cpp +++ b/models/model_dirac_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_dirac_py/xdot.cpp b/models/model_dirac_py/xdot.cpp index c1e039f4bc..e077d5eb8e 100644 --- a/models/model_dirac_py/xdot.cpp +++ b/models/model_dirac_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_dirac_py/y.cpp b/models/model_dirac_py/y.cpp index d73c3d7e0a..7cc29b9f28 100644 --- a/models/model_dirac_py/y.cpp +++ b/models/model_dirac_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_events_py/Jrz.cpp b/models/model_events_py/Jrz.cpp index 1b055f2716..5686d6fb3e 100644 --- a/models/model_events_py/Jrz.cpp +++ b/models/model_events_py/Jrz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_events_py/Jy.cpp b/models/model_events_py/Jy.cpp index 244b2244fd..6a0beac1d3 100644 --- a/models/model_events_py/Jy.cpp +++ b/models/model_events_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_events_py/Jz.cpp b/models/model_events_py/Jz.cpp index cb742710c7..a693d92762 100644 --- a/models/model_events_py/Jz.cpp +++ b/models/model_events_py/Jz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_events_py/create_splines.cpp b/models/model_events_py/create_splines.cpp index c6d2587ec4..b0c0feee2e 100644 --- a/models/model_events_py/create_splines.cpp +++ b/models/model_events_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_events_py/dJrzdsigma.cpp b/models/model_events_py/dJrzdsigma.cpp index ec953af5ea..105b05fc7f 100644 --- a/models/model_events_py/dJrzdsigma.cpp +++ b/models/model_events_py/dJrzdsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_events_py/dJrzdz.cpp b/models/model_events_py/dJrzdz.cpp index 188917a826..1e05ca7e50 100644 --- a/models/model_events_py/dJrzdz.cpp +++ b/models/model_events_py/dJrzdz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_events_py/dJydsigma.cpp b/models/model_events_py/dJydsigma.cpp index 35e2628aee..0277071f0c 100644 --- a/models/model_events_py/dJydsigma.cpp +++ b/models/model_events_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_events_py/dJydy.cpp b/models/model_events_py/dJydy.cpp index c71ce21e41..de9bdfd7f6 100644 --- a/models/model_events_py/dJydy.cpp +++ b/models/model_events_py/dJydy.cpp @@ -41,11 +41,10 @@ void dJydy_rowvals_model_events_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_events_py/dJzdsigma.cpp b/models/model_events_py/dJzdsigma.cpp index 725201a5d3..40a8948a18 100644 --- a/models/model_events_py/dJzdsigma.cpp +++ b/models/model_events_py/dJzdsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_events_py/dJzdz.cpp b/models/model_events_py/dJzdz.cpp index a5a5fc6a45..3a2c850fb4 100644 --- a/models/model_events_py/dJzdz.cpp +++ b/models/model_events_py/dJzdz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_events_py/deltaqB.cpp b/models/model_events_py/deltaqB.cpp index 236d5381b8..ace0e672ae 100644 --- a/models/model_events_py/deltaqB.cpp +++ b/models/model_events_py/deltaqB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/deltasx.cpp b/models/model_events_py/deltasx.cpp index d16555dced..c9636c570b 100644 --- a/models/model_events_py/deltasx.cpp +++ b/models/model_events_py/deltasx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/deltaxB.cpp b/models/model_events_py/deltaxB.cpp index 3f1b573f93..3c23a63a37 100644 --- a/models/model_events_py/deltaxB.cpp +++ b/models/model_events_py/deltaxB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/drzdx.cpp b/models/model_events_py/drzdx.cpp index 8de32d9253..aec0e3b6be 100644 --- a/models/model_events_py/drzdx.cpp +++ b/models/model_events_py/drzdx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/dxdotdp_explicit.cpp b/models/model_events_py/dxdotdp_explicit.cpp index 51803f2c17..e055edd533 100644 --- a/models/model_events_py/dxdotdp_explicit.cpp +++ b/models/model_events_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_events_py(SUNMatrixWrapper &dxdotdp_explicit #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/dxdotdx_explicit.cpp b/models/model_events_py/dxdotdx_explicit.cpp index 191814b99d..a7f128a5d0 100644 --- a/models/model_events_py/dxdotdx_explicit.cpp +++ b/models/model_events_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_events_py(SUNMatrixWrapper &dxdotdx_explicit #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/dydp.cpp b/models/model_events_py/dydp.cpp index e0921ae555..e27733c4f1 100644 --- a/models/model_events_py/dydp.cpp +++ b/models/model_events_py/dydp.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/dydx.cpp b/models/model_events_py/dydx.cpp index 9b1a4a32a6..6334475430 100644 --- a/models/model_events_py/dydx.cpp +++ b/models/model_events_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/dzdx.cpp b/models/model_events_py/dzdx.cpp index 2c6671aa1f..6956a83c73 100644 --- a/models/model_events_py/dzdx.cpp +++ b/models/model_events_py/dzdx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/explicit_roots.cpp b/models/model_events_py/explicit_roots.cpp index 1a3f81a508..4c6d86f0e3 100644 --- a/models/model_events_py/explicit_roots.cpp +++ b/models/model_events_py/explicit_roots.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include #include "p.h" #include "k.h" diff --git a/models/model_events_py/main.cpp b/models/model_events_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_events_py/main.cpp +++ b/models/model_events_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_events_py/model_events_py.h b/models/model_events_py/model_events_py.h index 3745c15527..54085ffd83 100644 --- a/models/model_events_py/model_events_py.h +++ b/models/model_events_py/model_events_py.h @@ -579,7 +579,7 @@ class Model_model_events_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_events_py/root.cpp b/models/model_events_py/root.cpp index b086df8619..0e0fa0fe45 100644 --- a/models/model_events_py/root.cpp +++ b/models/model_events_py/root.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/rz.cpp b/models/model_events_py/rz.cpp index 323adb8773..dbabb9e93e 100644 --- a/models/model_events_py/rz.cpp +++ b/models/model_events_py/rz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/sigmay.cpp b/models/model_events_py/sigmay.cpp index e2c7c41728..ad2ffdc7f4 100644 --- a/models/model_events_py/sigmay.cpp +++ b/models/model_events_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_events_py/sigmaz.cpp b/models/model_events_py/sigmaz.cpp index b6c79d1ea7..e410d9f2cc 100644 --- a/models/model_events_py/sigmaz.cpp +++ b/models/model_events_py/sigmaz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "sigmaz.h" diff --git a/models/model_events_py/stau.cpp b/models/model_events_py/stau.cpp index d74bc2beb4..d2da6b4bdb 100644 --- a/models/model_events_py/stau.cpp +++ b/models/model_events_py/stau.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/sx0_fixedParameters.cpp b/models/model_events_py/sx0_fixedParameters.cpp index 6cb4d0fe5c..38b45f7384 100644 --- a/models/model_events_py/sx0_fixedParameters.cpp +++ b/models/model_events_py/sx0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_events_py/x0.cpp b/models/model_events_py/x0.cpp index 42c1cbe251..9af9bcf24a 100644 --- a/models/model_events_py/x0.cpp +++ b/models/model_events_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_events_py/x0_fixedParameters.cpp b/models/model_events_py/x0_fixedParameters.cpp index 29226675cd..4a80ed4cc3 100644 --- a/models/model_events_py/x0_fixedParameters.cpp +++ b/models/model_events_py/x0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_events_py/x_rdata.cpp b/models/model_events_py/x_rdata.cpp index c801108187..122a0223ff 100644 --- a/models/model_events_py/x_rdata.cpp +++ b/models/model_events_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/x_solver.cpp b/models/model_events_py/x_solver.cpp index a7684d9572..b71ca0802d 100644 --- a/models/model_events_py/x_solver.cpp +++ b/models/model_events_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_events_py/xdot.cpp b/models/model_events_py/xdot.cpp index d55e43da10..cc32dc0c59 100644 --- a/models/model_events_py/xdot.cpp +++ b/models/model_events_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/y.cpp b/models/model_events_py/y.cpp index 1a03426981..351284bdba 100644 --- a/models/model_events_py/y.cpp +++ b/models/model_events_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_events_py/z.cpp b/models/model_events_py/z.cpp index c8acaf8153..559284b256 100644 --- a/models/model_events_py/z.cpp +++ b/models/model_events_py/z.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/Jy.cpp b/models/model_jakstat_adjoint_py/Jy.cpp index 10d26e174a..e91c8281ac 100644 --- a/models/model_jakstat_adjoint_py/Jy.cpp +++ b/models/model_jakstat_adjoint_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_jakstat_adjoint_py/create_splines.cpp b/models/model_jakstat_adjoint_py/create_splines.cpp index 049ba69b11..b6101fb762 100644 --- a/models/model_jakstat_adjoint_py/create_splines.cpp +++ b/models/model_jakstat_adjoint_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_jakstat_adjoint_py/dJydsigma.cpp b/models/model_jakstat_adjoint_py/dJydsigma.cpp index 6b7c61457e..611e7c7b87 100644 --- a/models/model_jakstat_adjoint_py/dJydsigma.cpp +++ b/models/model_jakstat_adjoint_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_jakstat_adjoint_py/dJydy.cpp b/models/model_jakstat_adjoint_py/dJydy.cpp index 4f5541b842..9e04432e40 100644 --- a/models/model_jakstat_adjoint_py/dJydy.cpp +++ b/models/model_jakstat_adjoint_py/dJydy.cpp @@ -45,11 +45,10 @@ void dJydy_rowvals_model_jakstat_adjoint_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_jakstat_adjoint_py/dsigmaydp.cpp b/models/model_jakstat_adjoint_py/dsigmaydp.cpp index 5185beaf6a..9f42760065 100644 --- a/models/model_jakstat_adjoint_py/dsigmaydp.cpp +++ b/models/model_jakstat_adjoint_py/dsigmaydp.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_jakstat_adjoint_py/dspline_valuesdp.cpp b/models/model_jakstat_adjoint_py/dspline_valuesdp.cpp index e9ba219b48..a97940b8be 100644 --- a/models/model_jakstat_adjoint_py/dspline_valuesdp.cpp +++ b/models/model_jakstat_adjoint_py/dspline_valuesdp.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dwdp.cpp b/models/model_jakstat_adjoint_py/dwdp.cpp index 3ce78097b9..afaf2e126b 100644 --- a/models/model_jakstat_adjoint_py/dwdp.cpp +++ b/models/model_jakstat_adjoint_py/dwdp.cpp @@ -41,11 +41,10 @@ void dwdp_rowvals_model_jakstat_adjoint_py(SUNMatrixWrapper &dwdp){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dxdotdp_explicit.cpp b/models/model_jakstat_adjoint_py/dxdotdp_explicit.cpp index 7f7fd61360..893e74548a 100644 --- a/models/model_jakstat_adjoint_py/dxdotdp_explicit.cpp +++ b/models/model_jakstat_adjoint_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_jakstat_adjoint_py(SUNMatrixWrapper &dxdotdp #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dxdotdw.cpp b/models/model_jakstat_adjoint_py/dxdotdw.cpp index 08c37d9e44..6d8582496d 100644 --- a/models/model_jakstat_adjoint_py/dxdotdw.cpp +++ b/models/model_jakstat_adjoint_py/dxdotdw.cpp @@ -41,11 +41,10 @@ void dxdotdw_rowvals_model_jakstat_adjoint_py(SUNMatrixWrapper &dxdotdw){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dxdotdx_explicit.cpp b/models/model_jakstat_adjoint_py/dxdotdx_explicit.cpp index 6de84b996b..0c3feb1161 100644 --- a/models/model_jakstat_adjoint_py/dxdotdx_explicit.cpp +++ b/models/model_jakstat_adjoint_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_jakstat_adjoint_py(SUNMatrixWrapper &dxdotdx #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dydp.cpp b/models/model_jakstat_adjoint_py/dydp.cpp index 20b8ab55a4..1464e36013 100644 --- a/models/model_jakstat_adjoint_py/dydp.cpp +++ b/models/model_jakstat_adjoint_py/dydp.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/dydx.cpp b/models/model_jakstat_adjoint_py/dydx.cpp index 2c610803b6..c7038c3879 100644 --- a/models/model_jakstat_adjoint_py/dydx.cpp +++ b/models/model_jakstat_adjoint_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/main.cpp b/models/model_jakstat_adjoint_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_jakstat_adjoint_py/main.cpp +++ b/models/model_jakstat_adjoint_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_jakstat_adjoint_py/model_jakstat_adjoint_py.h b/models/model_jakstat_adjoint_py/model_jakstat_adjoint_py.h index c6d692cbe6..19454c9f24 100644 --- a/models/model_jakstat_adjoint_py/model_jakstat_adjoint_py.h +++ b/models/model_jakstat_adjoint_py/model_jakstat_adjoint_py.h @@ -552,7 +552,7 @@ class Model_model_jakstat_adjoint_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_jakstat_adjoint_py/sigmay.cpp b/models/model_jakstat_adjoint_py/sigmay.cpp index 65538128a1..df11dd9ba2 100644 --- a/models/model_jakstat_adjoint_py/sigmay.cpp +++ b/models/model_jakstat_adjoint_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_jakstat_adjoint_py/w.cpp b/models/model_jakstat_adjoint_py/w.cpp index 22f33c8964..809309624c 100644 --- a/models/model_jakstat_adjoint_py/w.cpp +++ b/models/model_jakstat_adjoint_py/w.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/x0.cpp b/models/model_jakstat_adjoint_py/x0.cpp index 5cd1532619..894feb605e 100644 --- a/models/model_jakstat_adjoint_py/x0.cpp +++ b/models/model_jakstat_adjoint_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/x_rdata.cpp b/models/model_jakstat_adjoint_py/x_rdata.cpp index 2e1c75a04d..83ddbd2815 100644 --- a/models/model_jakstat_adjoint_py/x_rdata.cpp +++ b/models/model_jakstat_adjoint_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/x_solver.cpp b/models/model_jakstat_adjoint_py/x_solver.cpp index a4320133b4..b2252a7e68 100644 --- a/models/model_jakstat_adjoint_py/x_solver.cpp +++ b/models/model_jakstat_adjoint_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_jakstat_adjoint_py/xdot.cpp b/models/model_jakstat_adjoint_py/xdot.cpp index 5ee23e0658..61f2494510 100644 --- a/models/model_jakstat_adjoint_py/xdot.cpp +++ b/models/model_jakstat_adjoint_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_jakstat_adjoint_py/y.cpp b/models/model_jakstat_adjoint_py/y.cpp index b93e121021..e2e62ee3ec 100644 --- a/models/model_jakstat_adjoint_py/y.cpp +++ b/models/model_jakstat_adjoint_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_nested_events_py/Jy.cpp b/models/model_nested_events_py/Jy.cpp index 72bb72b5d0..6df7688b36 100644 --- a/models/model_nested_events_py/Jy.cpp +++ b/models/model_nested_events_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_nested_events_py/create_splines.cpp b/models/model_nested_events_py/create_splines.cpp index 0ee747b26f..66cae75abc 100644 --- a/models/model_nested_events_py/create_splines.cpp +++ b/models/model_nested_events_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_nested_events_py/dJydsigma.cpp b/models/model_nested_events_py/dJydsigma.cpp index e43827c66b..b053708dbe 100644 --- a/models/model_nested_events_py/dJydsigma.cpp +++ b/models/model_nested_events_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_nested_events_py/dJydy.cpp b/models/model_nested_events_py/dJydy.cpp index f34057a58d..6ab5017701 100644 --- a/models/model_nested_events_py/dJydy.cpp +++ b/models/model_nested_events_py/dJydy.cpp @@ -41,11 +41,10 @@ void dJydy_rowvals_model_nested_events_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_nested_events_py/deltaqB.cpp b/models/model_nested_events_py/deltaqB.cpp index e391deef58..147390e017 100644 --- a/models/model_nested_events_py/deltaqB.cpp +++ b/models/model_nested_events_py/deltaqB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/deltasx.cpp b/models/model_nested_events_py/deltasx.cpp index edd73525fd..bac615c5f1 100644 --- a/models/model_nested_events_py/deltasx.cpp +++ b/models/model_nested_events_py/deltasx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/deltax.cpp b/models/model_nested_events_py/deltax.cpp index 148ea2c536..5d94b6c6b8 100644 --- a/models/model_nested_events_py/deltax.cpp +++ b/models/model_nested_events_py/deltax.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/deltaxB.cpp b/models/model_nested_events_py/deltaxB.cpp index 103e21bad6..e4d155859f 100644 --- a/models/model_nested_events_py/deltaxB.cpp +++ b/models/model_nested_events_py/deltaxB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/dxdotdp_explicit.cpp b/models/model_nested_events_py/dxdotdp_explicit.cpp index aef0b3e29d..f265afc06f 100644 --- a/models/model_nested_events_py/dxdotdp_explicit.cpp +++ b/models/model_nested_events_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_nested_events_py(SUNMatrixWrapper &dxdotdp_e #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/dxdotdx_explicit.cpp b/models/model_nested_events_py/dxdotdx_explicit.cpp index b12a43d7e2..c613245501 100644 --- a/models/model_nested_events_py/dxdotdx_explicit.cpp +++ b/models/model_nested_events_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_nested_events_py(SUNMatrixWrapper &dxdotdx_e #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/dydx.cpp b/models/model_nested_events_py/dydx.cpp index 4da41566fd..ac803f6931 100644 --- a/models/model_nested_events_py/dydx.cpp +++ b/models/model_nested_events_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/explicit_roots.cpp b/models/model_nested_events_py/explicit_roots.cpp index b217936b66..8bbdb8c8d9 100644 --- a/models/model_nested_events_py/explicit_roots.cpp +++ b/models/model_nested_events_py/explicit_roots.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include #include "p.h" diff --git a/models/model_nested_events_py/main.cpp b/models/model_nested_events_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_nested_events_py/main.cpp +++ b/models/model_nested_events_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_nested_events_py/model_nested_events_py.h b/models/model_nested_events_py/model_nested_events_py.h index b3d36776ad..6925d8df34 100644 --- a/models/model_nested_events_py/model_nested_events_py.h +++ b/models/model_nested_events_py/model_nested_events_py.h @@ -552,7 +552,7 @@ class Model_model_nested_events_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_nested_events_py/root.cpp b/models/model_nested_events_py/root.cpp index 68004445bd..a5121b379b 100644 --- a/models/model_nested_events_py/root.cpp +++ b/models/model_nested_events_py/root.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/sigmay.cpp b/models/model_nested_events_py/sigmay.cpp index 4063094c4d..4cbe8f23fd 100644 --- a/models/model_nested_events_py/sigmay.cpp +++ b/models/model_nested_events_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "y.h" #include "sigmay.h" diff --git a/models/model_nested_events_py/stau.cpp b/models/model_nested_events_py/stau.cpp index 2c81b50be7..0c26a548e3 100644 --- a/models/model_nested_events_py/stau.cpp +++ b/models/model_nested_events_py/stau.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/sx0.cpp b/models/model_nested_events_py/sx0.cpp index 42f33faf49..9817945920 100644 --- a/models/model_nested_events_py/sx0.cpp +++ b/models/model_nested_events_py/sx0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" diff --git a/models/model_nested_events_py/x0.cpp b/models/model_nested_events_py/x0.cpp index 8d11b50958..5a31b8f503 100644 --- a/models/model_nested_events_py/x0.cpp +++ b/models/model_nested_events_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" namespace amici { diff --git a/models/model_nested_events_py/x_rdata.cpp b/models/model_nested_events_py/x_rdata.cpp index 500204be9b..76cca18554 100644 --- a/models/model_nested_events_py/x_rdata.cpp +++ b/models/model_nested_events_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" diff --git a/models/model_nested_events_py/x_solver.cpp b/models/model_nested_events_py/x_solver.cpp index f93180c063..9994aeb88b 100644 --- a/models/model_nested_events_py/x_solver.cpp +++ b/models/model_nested_events_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_nested_events_py/xdot.cpp b/models/model_nested_events_py/xdot.cpp index aa0a5bbbc1..ae6ea44dd4 100644 --- a/models/model_nested_events_py/xdot.cpp +++ b/models/model_nested_events_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_nested_events_py/y.cpp b/models/model_nested_events_py/y.cpp index 1b359b5ab1..ebcecd943f 100644 --- a/models/model_nested_events_py/y.cpp +++ b/models/model_nested_events_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "h.h" diff --git a/models/model_neuron_py/Jrz.cpp b/models/model_neuron_py/Jrz.cpp index 64031b95ef..b02d1e125e 100644 --- a/models/model_neuron_py/Jrz.cpp +++ b/models/model_neuron_py/Jrz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_neuron_py/Jy.cpp b/models/model_neuron_py/Jy.cpp index d3ee0bd6ae..c70df7fbe3 100644 --- a/models/model_neuron_py/Jy.cpp +++ b/models/model_neuron_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_neuron_py/Jz.cpp b/models/model_neuron_py/Jz.cpp index cc1db09ca6..2f28e72842 100644 --- a/models/model_neuron_py/Jz.cpp +++ b/models/model_neuron_py/Jz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_neuron_py/create_splines.cpp b/models/model_neuron_py/create_splines.cpp index f65f4181ab..87092c26d6 100644 --- a/models/model_neuron_py/create_splines.cpp +++ b/models/model_neuron_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_neuron_py/dJrzdsigma.cpp b/models/model_neuron_py/dJrzdsigma.cpp index 3e2bd0d107..86ef6d1e98 100644 --- a/models/model_neuron_py/dJrzdsigma.cpp +++ b/models/model_neuron_py/dJrzdsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_neuron_py/dJrzdz.cpp b/models/model_neuron_py/dJrzdz.cpp index 5eeba68098..f1a2fcb8a0 100644 --- a/models/model_neuron_py/dJrzdz.cpp +++ b/models/model_neuron_py/dJrzdz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "rz.h" diff --git a/models/model_neuron_py/dJydsigma.cpp b/models/model_neuron_py/dJydsigma.cpp index 88ac235767..186d157fe3 100644 --- a/models/model_neuron_py/dJydsigma.cpp +++ b/models/model_neuron_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_neuron_py/dJydy.cpp b/models/model_neuron_py/dJydy.cpp index 87d1d946c5..99c8a8db8c 100644 --- a/models/model_neuron_py/dJydy.cpp +++ b/models/model_neuron_py/dJydy.cpp @@ -41,11 +41,10 @@ void dJydy_rowvals_model_neuron_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_neuron_py/dJzdsigma.cpp b/models/model_neuron_py/dJzdsigma.cpp index 620c508f6e..9373dd186f 100644 --- a/models/model_neuron_py/dJzdsigma.cpp +++ b/models/model_neuron_py/dJzdsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_neuron_py/dJzdz.cpp b/models/model_neuron_py/dJzdz.cpp index dc4b732d31..026b65b196 100644 --- a/models/model_neuron_py/dJzdz.cpp +++ b/models/model_neuron_py/dJzdz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "z.h" diff --git a/models/model_neuron_py/deltaqB.cpp b/models/model_neuron_py/deltaqB.cpp index 8007113821..aa6a33f49b 100644 --- a/models/model_neuron_py/deltaqB.cpp +++ b/models/model_neuron_py/deltaqB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/deltasx.cpp b/models/model_neuron_py/deltasx.cpp index cd07620882..73843901b4 100644 --- a/models/model_neuron_py/deltasx.cpp +++ b/models/model_neuron_py/deltasx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/deltax.cpp b/models/model_neuron_py/deltax.cpp index 461df2ed1b..92a9e593ef 100644 --- a/models/model_neuron_py/deltax.cpp +++ b/models/model_neuron_py/deltax.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/deltaxB.cpp b/models/model_neuron_py/deltaxB.cpp index 81bceeca84..4122018dfd 100644 --- a/models/model_neuron_py/deltaxB.cpp +++ b/models/model_neuron_py/deltaxB.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/drzdx.cpp b/models/model_neuron_py/drzdx.cpp index 6b63baeace..c33a346777 100644 --- a/models/model_neuron_py/drzdx.cpp +++ b/models/model_neuron_py/drzdx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/dxdotdp_explicit.cpp b/models/model_neuron_py/dxdotdp_explicit.cpp index 48a6bcff9a..8ffbe4d46e 100644 --- a/models/model_neuron_py/dxdotdp_explicit.cpp +++ b/models/model_neuron_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_neuron_py(SUNMatrixWrapper &dxdotdp_explicit #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/dxdotdx_explicit.cpp b/models/model_neuron_py/dxdotdx_explicit.cpp index 57c42b2eaf..8b632d03ba 100644 --- a/models/model_neuron_py/dxdotdx_explicit.cpp +++ b/models/model_neuron_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_neuron_py(SUNMatrixWrapper &dxdotdx_explicit #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/dydx.cpp b/models/model_neuron_py/dydx.cpp index d45d84f0bb..5854c7726e 100644 --- a/models/model_neuron_py/dydx.cpp +++ b/models/model_neuron_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/dzdx.cpp b/models/model_neuron_py/dzdx.cpp index d9e2ab9039..031763e78a 100644 --- a/models/model_neuron_py/dzdx.cpp +++ b/models/model_neuron_py/dzdx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/main.cpp b/models/model_neuron_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_neuron_py/main.cpp +++ b/models/model_neuron_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_neuron_py/model_neuron_py.h b/models/model_neuron_py/model_neuron_py.h index 74db013b12..3142abd1f8 100644 --- a/models/model_neuron_py/model_neuron_py.h +++ b/models/model_neuron_py/model_neuron_py.h @@ -574,7 +574,7 @@ class Model_model_neuron_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_neuron_py/root.cpp b/models/model_neuron_py/root.cpp index c808f3d1b7..4cf154c42d 100644 --- a/models/model_neuron_py/root.cpp +++ b/models/model_neuron_py/root.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/rz.cpp b/models/model_neuron_py/rz.cpp index e3e9c923d3..bda22712d8 100644 --- a/models/model_neuron_py/rz.cpp +++ b/models/model_neuron_py/rz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/sigmay.cpp b/models/model_neuron_py/sigmay.cpp index 3313de1691..3b9e7b2602 100644 --- a/models/model_neuron_py/sigmay.cpp +++ b/models/model_neuron_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_neuron_py/sigmaz.cpp b/models/model_neuron_py/sigmaz.cpp index 275c2029cb..6e69ad206b 100644 --- a/models/model_neuron_py/sigmaz.cpp +++ b/models/model_neuron_py/sigmaz.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "sigmaz.h" diff --git a/models/model_neuron_py/stau.cpp b/models/model_neuron_py/stau.cpp index 476b4b0e7e..31b38f5e67 100644 --- a/models/model_neuron_py/stau.cpp +++ b/models/model_neuron_py/stau.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/sx0.cpp b/models/model_neuron_py/sx0.cpp index 08738cfdac..61aebf5872 100644 --- a/models/model_neuron_py/sx0.cpp +++ b/models/model_neuron_py/sx0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/sx0_fixedParameters.cpp b/models/model_neuron_py/sx0_fixedParameters.cpp index fed7010ed3..f9a5bb177c 100644 --- a/models/model_neuron_py/sx0_fixedParameters.cpp +++ b/models/model_neuron_py/sx0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/x0.cpp b/models/model_neuron_py/x0.cpp index 836677abf1..1aa5a58570 100644 --- a/models/model_neuron_py/x0.cpp +++ b/models/model_neuron_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/x0_fixedParameters.cpp b/models/model_neuron_py/x0_fixedParameters.cpp index c795601efc..966039ac9a 100644 --- a/models/model_neuron_py/x0_fixedParameters.cpp +++ b/models/model_neuron_py/x0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/x_rdata.cpp b/models/model_neuron_py/x_rdata.cpp index b5a8759c8c..80b940a8d4 100644 --- a/models/model_neuron_py/x_rdata.cpp +++ b/models/model_neuron_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/x_solver.cpp b/models/model_neuron_py/x_solver.cpp index fbee1289f3..2b3e15146d 100644 --- a/models/model_neuron_py/x_solver.cpp +++ b/models/model_neuron_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_neuron_py/xdot.cpp b/models/model_neuron_py/xdot.cpp index a13e2d900f..cd1a50688e 100644 --- a/models/model_neuron_py/xdot.cpp +++ b/models/model_neuron_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/y.cpp b/models/model_neuron_py/y.cpp index 7f07c68373..79860fddc3 100644 --- a/models/model_neuron_py/y.cpp +++ b/models/model_neuron_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_neuron_py/z.cpp b/models/model_neuron_py/z.cpp index a5709ceaad..8cfb1d3a51 100644 --- a/models/model_neuron_py/z.cpp +++ b/models/model_neuron_py/z.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/Jy.cpp b/models/model_robertson_py/Jy.cpp index 5d1aa7edbc..c1c19ce4fb 100644 --- a/models/model_robertson_py/Jy.cpp +++ b/models/model_robertson_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_robertson_py/create_splines.cpp b/models/model_robertson_py/create_splines.cpp index 7595383a5c..5db5f1f780 100644 --- a/models/model_robertson_py/create_splines.cpp +++ b/models/model_robertson_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_robertson_py/dJydsigma.cpp b/models/model_robertson_py/dJydsigma.cpp index 2d9493301a..8c618eb698 100644 --- a/models/model_robertson_py/dJydsigma.cpp +++ b/models/model_robertson_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_robertson_py/dJydy.cpp b/models/model_robertson_py/dJydy.cpp index 2954000bf9..489be1dbac 100644 --- a/models/model_robertson_py/dJydy.cpp +++ b/models/model_robertson_py/dJydy.cpp @@ -45,11 +45,10 @@ void dJydy_rowvals_model_robertson_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_robertson_py/dxdotdp_explicit.cpp b/models/model_robertson_py/dxdotdp_explicit.cpp index cb39609e0b..ce679cb43b 100644 --- a/models/model_robertson_py/dxdotdp_explicit.cpp +++ b/models/model_robertson_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_robertson_py(SUNMatrixWrapper &dxdotdp_expli #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/dxdotdx_explicit.cpp b/models/model_robertson_py/dxdotdx_explicit.cpp index df90e71e9e..52605f51f3 100644 --- a/models/model_robertson_py/dxdotdx_explicit.cpp +++ b/models/model_robertson_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_robertson_py(SUNMatrixWrapper &dxdotdx_expli #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/dydx.cpp b/models/model_robertson_py/dydx.cpp index 156675cdcb..3fdd467ad8 100644 --- a/models/model_robertson_py/dydx.cpp +++ b/models/model_robertson_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/main.cpp b/models/model_robertson_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_robertson_py/main.cpp +++ b/models/model_robertson_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_robertson_py/model_robertson_py.h b/models/model_robertson_py/model_robertson_py.h index e143342a66..591f64acf9 100644 --- a/models/model_robertson_py/model_robertson_py.h +++ b/models/model_robertson_py/model_robertson_py.h @@ -536,7 +536,7 @@ class Model_model_robertson_py : public amici::Model_DAE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_robertson_py/sigmay.cpp b/models/model_robertson_py/sigmay.cpp index 3031a653c2..ce79d91e14 100644 --- a/models/model_robertson_py/sigmay.cpp +++ b/models/model_robertson_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_robertson_py/sx0_fixedParameters.cpp b/models/model_robertson_py/sx0_fixedParameters.cpp index 1a7ecb19f0..13d462ab06 100644 --- a/models/model_robertson_py/sx0_fixedParameters.cpp +++ b/models/model_robertson_py/sx0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/x0.cpp b/models/model_robertson_py/x0.cpp index 695f8350e6..a2615ae1ad 100644 --- a/models/model_robertson_py/x0.cpp +++ b/models/model_robertson_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/x0_fixedParameters.cpp b/models/model_robertson_py/x0_fixedParameters.cpp index 6ec5bc39ea..0bce7da39f 100644 --- a/models/model_robertson_py/x0_fixedParameters.cpp +++ b/models/model_robertson_py/x0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/x_rdata.cpp b/models/model_robertson_py/x_rdata.cpp index f1b9423223..9d9ffd8a42 100644 --- a/models/model_robertson_py/x_rdata.cpp +++ b/models/model_robertson_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/x_solver.cpp b/models/model_robertson_py/x_solver.cpp index 7d357d4408..f14ad6d384 100644 --- a/models/model_robertson_py/x_solver.cpp +++ b/models/model_robertson_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_robertson_py/xdot.cpp b/models/model_robertson_py/xdot.cpp index 4bc684afa6..cc6b9808d2 100644 --- a/models/model_robertson_py/xdot.cpp +++ b/models/model_robertson_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_robertson_py/y.cpp b/models/model_robertson_py/y.cpp index df986ee6d3..254d927fc9 100644 --- a/models/model_robertson_py/y.cpp +++ b/models/model_robertson_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/Jy.cpp b/models/model_steadystate_py/Jy.cpp index 8d4f4cafbf..772b256b09 100644 --- a/models/model_steadystate_py/Jy.cpp +++ b/models/model_steadystate_py/Jy.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_steadystate_py/create_splines.cpp b/models/model_steadystate_py/create_splines.cpp index c6d71c0e39..b04195d3ac 100644 --- a/models/model_steadystate_py/create_splines.cpp +++ b/models/model_steadystate_py/create_splines.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "amici/splinefunctions.h" #include #include "p.h" diff --git a/models/model_steadystate_py/dJydsigma.cpp b/models/model_steadystate_py/dJydsigma.cpp index 56a7e6b89e..3b0468ba59 100644 --- a/models/model_steadystate_py/dJydsigma.cpp +++ b/models/model_steadystate_py/dJydsigma.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_steadystate_py/dJydy.cpp b/models/model_steadystate_py/dJydy.cpp index bd346b1555..834f504569 100644 --- a/models/model_steadystate_py/dJydy.cpp +++ b/models/model_steadystate_py/dJydy.cpp @@ -45,11 +45,10 @@ void dJydy_rowvals_model_steadystate_py(SUNMatrixWrapper &dJydy, int index){ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_steadystate_py/dxdotdp_explicit.cpp b/models/model_steadystate_py/dxdotdp_explicit.cpp index f6eb174f91..a9be02fda2 100644 --- a/models/model_steadystate_py/dxdotdp_explicit.cpp +++ b/models/model_steadystate_py/dxdotdp_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdp_explicit_rowvals_model_steadystate_py(SUNMatrixWrapper &dxdotdp_exp #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/dxdotdx_explicit.cpp b/models/model_steadystate_py/dxdotdx_explicit.cpp index e9dc972f55..870d3bc63e 100644 --- a/models/model_steadystate_py/dxdotdx_explicit.cpp +++ b/models/model_steadystate_py/dxdotdx_explicit.cpp @@ -41,11 +41,10 @@ void dxdotdx_explicit_rowvals_model_steadystate_py(SUNMatrixWrapper &dxdotdx_exp #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include +#include #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/dydx.cpp b/models/model_steadystate_py/dydx.cpp index b3e5241af6..91b5853abe 100644 --- a/models/model_steadystate_py/dydx.cpp +++ b/models/model_steadystate_py/dydx.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/main.cpp b/models/model_steadystate_py/main.cpp index ecdff85a46..28b10015d2 100644 --- a/models/model_steadystate_py/main.cpp +++ b/models/model_steadystate_py/main.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/models/model_steadystate_py/model_steadystate_py.h b/models/model_steadystate_py/model_steadystate_py.h index d7b25d8994..3e2429a109 100644 --- a/models/model_steadystate_py/model_steadystate_py.h +++ b/models/model_steadystate_py/model_steadystate_py.h @@ -536,7 +536,7 @@ class Model_model_steadystate_py : public amici::Model_ODE { * @return AMICI git commit hash */ std::string getAmiciCommit() const override { - return "570c71d2a041ed15d548e826df3d97e05d124309"; + return "d5492c37f7dbc5faa374128e3559b96518e9a937"; } bool hasQuadraticLLH() const override { diff --git a/models/model_steadystate_py/sigmay.cpp b/models/model_steadystate_py/sigmay.cpp index 7fb10529dc..7024ea3e00 100644 --- a/models/model_steadystate_py/sigmay.cpp +++ b/models/model_steadystate_py/sigmay.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" #include "y.h" diff --git a/models/model_steadystate_py/sx0_fixedParameters.cpp b/models/model_steadystate_py/sx0_fixedParameters.cpp index 4f6ac58d41..c7c90154e6 100644 --- a/models/model_steadystate_py/sx0_fixedParameters.cpp +++ b/models/model_steadystate_py/sx0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/x0.cpp b/models/model_steadystate_py/x0.cpp index 29d7f0883b..06966c489a 100644 --- a/models/model_steadystate_py/x0.cpp +++ b/models/model_steadystate_py/x0.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/x0_fixedParameters.cpp b/models/model_steadystate_py/x0_fixedParameters.cpp index 3bba2b4ff3..16630583ce 100644 --- a/models/model_steadystate_py/x0_fixedParameters.cpp +++ b/models/model_steadystate_py/x0_fixedParameters.cpp @@ -1,10 +1,8 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - +#include #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/x_rdata.cpp b/models/model_steadystate_py/x_rdata.cpp index 1b7afb78af..126c0321fe 100644 --- a/models/model_steadystate_py/x_rdata.cpp +++ b/models/model_steadystate_py/x_rdata.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/x_solver.cpp b/models/model_steadystate_py/x_solver.cpp index ad970c7e1a..59446fc7a3 100644 --- a/models/model_steadystate_py/x_solver.cpp +++ b/models/model_steadystate_py/x_solver.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x_rdata.h" namespace amici { diff --git a/models/model_steadystate_py/xdot.cpp b/models/model_steadystate_py/xdot.cpp index 9935400d7b..6b96b07288 100644 --- a/models/model_steadystate_py/xdot.cpp +++ b/models/model_steadystate_py/xdot.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/models/model_steadystate_py/y.cpp b/models/model_steadystate_py/y.cpp index 8a3f87e4ee..4bd403cc8c 100644 --- a/models/model_steadystate_py/y.cpp +++ b/models/model_steadystate_py/y.cpp @@ -1,10 +1,7 @@ #include "amici/symbolic_functions.h" #include "amici/defines.h" -#include "sundials/sundials_types.h" -#include #include - #include "x.h" #include "p.h" #include "k.h" diff --git a/python/sdist/amici/numpy.py b/python/sdist/amici/numpy.py index f7b85d8b96..0f61a1305a 100644 --- a/python/sdist/amici/numpy.py +++ b/python/sdist/amici/numpy.py @@ -265,12 +265,12 @@ def __init__(self, rdata: ReturnDataPtr | ReturnData): ) self._field_dimensions = { "ts": [rdata.nt], - "x": [rdata.nt, rdata.nx], - "x0": [rdata.nx], - "x_ss": [rdata.nx], - "sx": [rdata.nt, rdata.nplist, rdata.nx], - "sx0": [rdata.nplist, rdata.nx], - "sx_ss": [rdata.nplist, rdata.nx], + "x": [rdata.nt, rdata.nx_rdata], + "x0": [rdata.nx_rdata], + "x_ss": [rdata.nx_rdata], + "sx": [rdata.nt, rdata.nplist, rdata.nx_rdata], + "sx0": [rdata.nplist, rdata.nx_rdata], + "sx_ss": [rdata.nplist, rdata.nx_rdata], # observables "y": [rdata.nt, rdata.ny], "sigmay": [rdata.nt, rdata.ny], diff --git a/src/hdf5.cpp b/src/hdf5.cpp index 32154f0672..50c5997793 100644 --- a/src/hdf5.cpp +++ b/src/hdf5.cpp @@ -421,7 +421,7 @@ void writeReturnData( if (!rdata.x.empty()) createAndWriteDouble2DDataset( - file, hdf5Location + "/x", rdata.x, rdata.nt, rdata.nx + file, hdf5Location + "/x", rdata.x, rdata.nt, rdata.nx_rdata ); if (!rdata.y.empty()) @@ -463,13 +463,13 @@ void writeReturnData( if (!rdata.sx0.empty()) createAndWriteDouble2DDataset( - file, hdf5Location + "/sx0", rdata.sx0, rdata.nplist, rdata.nx + file, hdf5Location + "/sx0", rdata.sx0, rdata.nplist, rdata.nx_rdata ); if (!rdata.sx.empty()) createAndWriteDouble3DDataset( file, hdf5Location + "/sx", rdata.sx, rdata.nt, rdata.nplist, - rdata.nx + rdata.nx_rdata ); if (!rdata.sy.empty()) @@ -699,7 +699,7 @@ void writeReturnDataDiagnosis( if (!rdata.J.empty()) createAndWriteDouble2DDataset( - file, hdf5Location + "/J", rdata.J, rdata.nx, rdata.nx + file, hdf5Location + "/J", rdata.J, rdata.nx_rdata, rdata.nx_rdata ); if (!rdata.x_ss.empty()) diff --git a/src/main.template.cpp b/src/main.template.cpp index ecdff85a46..28b10015d2 100644 --- a/src/main.template.cpp +++ b/src/main.template.cpp @@ -78,14 +78,14 @@ int main() { std::cout << "State sensitivities for timepoint " << rdata->ts[i_time] << std::endl; // nt x nplist x nx - for (int i_state = 0; i_state < rdata->nx; ++i_state) { + for (int i_state = 0; i_state < rdata->nx_rdata; ++i_state) { std::cout << "\td(" << state_ids[i_state] << ")/d(" << parameter_ids[model->plist(i_nplist)] << ") = "; // rdata->sx is a flat 3D array in row-major ordering std::cout << rdata->sx - [i_time * rdata->nplist * rdata->nx - + i_nplist * rdata->nx + i_state]; + [i_time * rdata->nplist * rdata->nx_rdata + + i_nplist * rdata->nx_rdata + i_state]; std::cout << std::endl; } diff --git a/src/rdata.cpp b/src/rdata.cpp index 22e9ef37ac..7e7eb630c6 100644 --- a/src/rdata.cpp +++ b/src/rdata.cpp @@ -37,8 +37,6 @@ ReturnData::ReturnData( ) : ModelDimensions(model_dimensions_) , ts(std::move(ts_)) - , nx(nx_rdata) - , nxtrue(nxtrue_rdata) , nplist(plist_.size()) , nmaxevent(nmaxevent_) , nt(ts.size()) @@ -135,7 +133,7 @@ void ReturnData::initializeFullReporting(bool quadratic_llh) { sigmaz.resize(nmaxevent * nz, 0.0); rz.resize(nmaxevent * nz, 0.0); - x.resize(nt * nx, 0.0); + x.resize(nt * nx_rdata, 0.0); w.resize(nt * nw, 0.0); preeq_numsteps.resize(3, 0); @@ -159,17 +157,17 @@ void ReturnData::initializeFullReporting(bool quadratic_llh) { } } - x0.resize(nx, getNaN()); - x_ss.resize(nx, getNaN()); + x0.resize(nx_rdata, getNaN()); + x_ss.resize(nx_rdata, getNaN()); if (sensi >= SensitivityOrder::first) { - sx0.resize(nx * nplist, getNaN()); - sx_ss.resize(nx * nplist, getNaN()); + sx0.resize(nx_rdata * nplist, getNaN()); + sx_ss.resize(nx_rdata * nplist, getNaN()); if (sensi_meth == SensitivityMethod::forward || sensi >= SensitivityOrder::second) { // for second order we can fill in from the augmented states - sx.resize(nt * nx * nplist, 0.0); + sx.resize(nt * nx_rdata * nplist, 0.0); sz.resize(nmaxevent * nz * nplist, 0.0); srz.resize(nmaxevent * nz * nplist, 0.0); } @@ -339,7 +337,7 @@ void ReturnData::getDataOutput( int it, Model& model, SolutionState const& sol, ExpData const* edata ) { if (!x.empty()) { - model.fx_rdata(slice(x, it, nx), sol.x); + model.fx_rdata(slice(x, it, nx_rdata), sol.x); } if (!w.empty()) model.getExpression(slice(w, it, nw), ts[it], sol.x); @@ -378,7 +376,7 @@ void ReturnData::getDataSensisFSA( ) { if (!sx.empty()) { model.fsx_rdata( - gsl::span(&sx.at(it * nplist * nx), nplist * nx), sol.sx, + gsl::span(&sx.at(it * nplist * nx_rdata), nplist * nx_rdata), sol.sx, sol.x ); } @@ -652,14 +650,14 @@ void ReturnData::invalidate(int const it_start) { invalidateSLLH(); if (!x.empty()) - std::fill(x.begin() + nx * it_start, x.end(), getNaN()); + std::fill(x.begin() + nx_rdata * it_start, x.end(), getNaN()); if (!y.empty()) std::fill(y.begin() + ny * it_start, y.end(), getNaN()); if (!w.empty()) std::fill(w.begin() + nw * it_start, w.end(), getNaN()); if (!sx.empty()) - std::fill(sx.begin() + nx * nplist * it_start, sx.end(), getNaN()); + std::fill(sx.begin() + nx_rdata * nplist * it_start, sx.end(), getNaN()); if (!sy.empty()) std::fill(sy.begin() + ny * nplist * it_start, sy.end(), getNaN()); } @@ -729,10 +727,10 @@ void ReturnData::applyChainRuleFactorToSimulationResults(Model const& model) { && sensi_meth == SensitivityMethod::adjoint) { if (!sx.empty() && !x.empty()) for (int ip = 0; ip < nplist; ++ip) - for (int ix = 0; ix < nxtrue; ++ix) + for (int ix = 0; ix < nxtrue_rdata; ++ix) for (int it = 0; it < nt; ++it) - sx.at(ix + nxtrue * (ip + it * nplist)) - = x.at(it * nx + nxtrue + ip * nxtrue + ix); + sx.at(ix + nxtrue_rdata * (ip + it * nplist)) + = x.at(it * nx_rdata + nxtrue_rdata + ip * nxtrue_rdata + ix); if (!sy.empty() && !y.empty()) for (int ip = 0; ip < nplist; ++ip) @@ -789,14 +787,14 @@ void ReturnData::applyChainRuleFactorToSimulationResults(Model const& model) { val *= pcoefficient[ip]; }; - chain_rule(sx, nxtrue, nx, nt); + chain_rule(sx, nxtrue_rdata, nx_rdata, nt); chain_rule(sy, nytrue, ny, nt); chain_rule(ssigmay, nytrue, ny, nt); chain_rule(sz, nztrue, nz, nmaxevent); chain_rule(ssigmaz, nztrue, nz, nmaxevent); chain_rule(srz, nztrue, nz, nmaxevent); - chain_rule(sx0, nxtrue, nx, 1); - chain_rule(sx_ss, nxtrue, nx, 1); + chain_rule(sx0, nxtrue_rdata, nx_rdata, 1); + chain_rule(sx_ss, nxtrue_rdata, nx_rdata, 1); } if (o2mode == SecondOrderMode::full) { @@ -843,7 +841,7 @@ void ReturnData::applyChainRuleFactorToSimulationResults(Model const& model) { } }; - chain_rule(sx, nxtrue, nx, nt); + chain_rule(sx, nxtrue_rdata, nx_rdata, nt); chain_rule(sy, nytrue, ny, nt); chain_rule(ssigmay, nytrue, ny, nt); chain_rule(sz, nztrue, nz, nmaxevent); @@ -883,7 +881,7 @@ void ReturnData::applyChainRuleFactorToSimulationResults(Model const& model) { } }; - chain_rule(sx, nxtrue, nx, nt); + chain_rule(sx, nxtrue_rdata, nx_rdata, nt); chain_rule(sy, nytrue, ny, nt); chain_rule(ssigmay, nytrue, ny, nt); chain_rule(sz, nztrue, nz, nmaxevent); diff --git a/tests/cpp/testfunctions.cpp b/tests/cpp/testfunctions.cpp index a75ec07113..220f89f56b 100644 --- a/tests/cpp/testfunctions.cpp +++ b/tests/cpp/testfunctions.cpp @@ -307,7 +307,7 @@ void verifyReturnDataSensitivities(H5::H5File const& file, std::string const& re expected = hdf5::getDoubleDataset3D(file, resultPath + "/sx", m, n, o); for(int ip = 0; ip < model->nplist(); ++ip) checkEqualArray(&expected[ip * model->nt() * model->nxtrue_rdata], - &rdata->sx[ip * model->nt() * rdata->nx], + &rdata->sx[ip * model->nt() * rdata->nx_rdata], model->nt() * model->nxtrue_rdata, atol, rtol, "sx"); } else { ASSERT_TRUE(rdata->sx.empty()); diff --git a/tests/cpp/unittests/testSerialization.cpp b/tests/cpp/unittests/testSerialization.cpp index d44e99611d..de4f0491dd 100644 --- a/tests/cpp/unittests/testSerialization.cpp +++ b/tests/cpp/unittests/testSerialization.cpp @@ -14,8 +14,8 @@ void checkReturnDataEqual( ASSERT_EQ(r.id, s.id); ASSERT_EQ(r.np, s.np); ASSERT_EQ(r.nk, s.nk); - ASSERT_EQ(r.nx, s.nx); - ASSERT_EQ(r.nxtrue, s.nxtrue); + ASSERT_EQ(r.nx_rdata, s.nx_rdata); + ASSERT_EQ(r.nxtrue_rdata, s.nxtrue_rdata); ASSERT_EQ(r.nx_solver, s.nx_solver); ASSERT_EQ(r.nx_solver_reinit, s.nx_solver_reinit); ASSERT_EQ(r.ny, s.ny);