111
|
1 typedef double Real;
|
|
2 class Vector {
|
|
3 int dimen;
|
|
4 Real* val;
|
|
5 public:
|
|
6 Vector& operator=(const Vector& vec);
|
|
7 Vector(int p_dimen, Real *p_val)
|
|
8 : dimen(p_dimen), val(p_val) { }
|
|
9 int dim() const;
|
|
10 };
|
|
11 class DVector : public Vector {
|
|
12 public:
|
|
13 void reDim(int newdim);
|
|
14 explicit DVector(const Vector& old);
|
|
15 DVector& operator=(const Vector& vec) {
|
|
16 reDim(vec.dim());
|
|
17 Vector::operator=(vec);
|
|
18 }
|
|
19 };
|
|
20 class SLUFactor {
|
|
21 DVector vec;
|
|
22 void solveRight (Vector& x, const Vector& b);
|
|
23 };
|
|
24 void SLUFactor::solveRight (Vector& x, const Vector& b) {
|
|
25 vec = b;
|
|
26 }
|