jcad/src/util/Solver.h
josh 197bcd7f3d reworked engine structure, added util/ directory with refptr and Solver, set svn:ignore on subdirs
git-svn-id: svn://anubis/jcad/trunk@34 c8684bfa-0c3a-0410-9efb-b8c82542f01e
2009-04-05 13:12:03 +00:00

58 lines
1.0 KiB
C++

#ifndef SOLVER_H
#define SOLVER_H SOLVER_H
class Solver
{
public:
class Result
{
public:
Result();
int numResults;
double results[4];
};
Solver(double a = 0.0,
double b = 0.0,
double c = 0.0,
double d = 0.0,
double e = 0.0);
virtual ~Solver();
virtual Result solve() = 0;
protected:
double a, b, c, d, e;
};
class LinearSolver : public Solver
{
public:
LinearSolver(double a, double b);
Result solve();
};
class QuadraticSolver : public Solver
{
public:
QuadraticSolver(double a, double b, double c);
Result solve();
};
class CubicSolver : public Solver
{
public:
CubicSolver(double a, double b, double c, double d);
Result solve();
};
class QuarticSolver : public Solver
{
public:
QuarticSolver(double a, double b, double c, double d, double e);
Result solve();
};
#endif