diff --git a/MathLib/ODE/ConcreteOdeSolver.h b/MathLib/ODE/ConcreteOdeSolver.h index af5a69bc8834f07c3be08e591eb6a4a7b2347aa0..64ca47e555cea807842f88bb79114d40691a16f3 100644 --- a/MathLib/ODE/ConcreteOdeSolver.h +++ b/MathLib/ODE/ConcreteOdeSolver.h @@ -73,10 +73,11 @@ public: Implementation::setTolerance(abstol, reltol); } - void setIC(const double t0, - std::array<double, NumEquations> const& y0) override + virtual void setIC(const double t0, + std::initializer_list<double> const& y0) override { - Implementation::setIC(t0, y0.data()); + assert(y0.size() == NumEquations); + Implementation::setIC(t0, y0.begin()); } void setIC(const double t0, diff --git a/MathLib/ODE/OdeSolver.h b/MathLib/ODE/OdeSolver.h index 2500f26e91c92dd5a520927a09e4068ddfd1d489..9823741d7dea744b065f5801cb4c62df7409f842 100644 --- a/MathLib/ODE/OdeSolver.h +++ b/MathLib/ODE/OdeSolver.h @@ -39,7 +39,7 @@ public: virtual void setTolerance(const double abstol, const double reltol) = 0; virtual void setIC(const double t0, - std::array<double, NumEquations> const& y0) = 0; + std::initializer_list<double> const& y0) = 0; virtual void setIC( const double t0, Eigen::Matrix<double, NumEquations, 1, Eigen::ColMajor> const& y0) = 0;