diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb127.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.robertl/eb127.C | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C deleted file mode 100644 index cf5f69fc1a6..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C +++ /dev/null @@ -1,59 +0,0 @@ -// Gets ICE 40. - -#include <vector> -#include<string> - -using namespace std; - -class ODEsolver -{ - private: - void eulerODE(vector<double>& y, double& t, double& dt); - void midpointODE(vector<double>& y, double& t, double& dt); - - protected: - void (ODEsolver::*useMethod)(vector<double>&, double&, double&); - void init(); - - public: - ODEsolver(); - void timeloop(vector<double>& y, double ts, double te, double dt); -}; - - -ODEsolver::ODEsolver() -{ - init(); -} - - -void ODEsolver::eulerODE(vector<double>& y, double& t, double& dt) -{ - y[0] = dt * 2.; -} - -void ODEsolver::midpointODE(vector<double>& y, double& t, double& dt) -{ - y[0] = dt * 3.; -} - - - -void ODEsolver::init() -{ - ODEsolver::useMethod = &ODEsolver::midpointODE; -} - -void ODEsolver::timeloop(vector<double>& y, double ts, double te, double dt) -{ - (ODEsolver::useMethod)(y,ts,dt); -} - -int main (int nargs, char** args) -{ - ODEsolver solver; - vector<double> y(2); double t_start=5.; double t_end=7.; double dt=2.; - solver.timeloop(y,t_start,t_end,dt); - cout << y[0] << endl; - return(0); -} |