#include #include #include "ivp.h" // Function declarations int main(); double f1( double t, double y ); // Function definitions double f1( double t, double y ) { if ( t < 1 ) { return -y; } else if ( t < 2 ) { return -y + 2; } else { return -y; } } int main() { std::cout.precision( 16 ); std::clog.precision( 16 ); ivp y1{ f1, 0.0, 1.0, 0.1, 1e-10, 1e-5 }; for ( double t{0.0}; t < 3.0; t += 0.01 ) { std::cout << "y1(" << t << ") = " << y1(t) << std::endl; } return 0; }