diff --git a/cs658/final/util/Solver.cc b/cs658/final/util/Solver.cc new file mode 100644 index 0000000..b68ccd6 --- /dev/null +++ b/cs658/final/util/Solver.cc @@ -0,0 +1,23 @@ + +#include "Solver.h" + +Solver::Solver(double a, double b, double c, double d, double e) +{ + m_coef[0] = a; + m_coef[1] = b; + m_coef[2] = c; + m_coef[3] = d; + m_coef[4] = e; +} + +Solver::Result QuadraticSolver::solve() +{ +} + +Solver::Result CubicSolver::solve() +{ +} + +Solver::Result QuarticSolver::solve() +{ +} diff --git a/cs658/final/util/Solver.h b/cs658/final/util/Solver.h new file mode 100644 index 0000000..a62f5e5 --- /dev/null +++ b/cs658/final/util/Solver.h @@ -0,0 +1,44 @@ + +#ifndef SOLVER_H +#define SOLVER_H SOLVER_H + +class Solver +{ + public: + typedef struct + { + int numResults; + double results[4]; + } Result; + + Solver(double a = 0.0, + double b = 0.0, + double c = 0.0, + double d = 0.0, + double e = 0.0); + virtual Result solve() = 0; + + private: + double m_coef[5]; +}; + +class QuadraticSolver : public Solver +{ + public: + Result solve(); +}; + +class CubicSolver : public Solver +{ + public: + Result solve(); +}; + +class QuarticSolver : public Solver +{ + public: + Result solve(); +}; + +#endif +