00001 #ifndef __FLBandSMatrix_H__
00002 #define __FLBandSMatrix_H__
00003
00004
00025 #include <stdio.h>
00026 #include "FloatVector.hpp"
00027
00028 #include "FBandSMatrix.hpp"
00029
00030 class FLBandSMatrix : public FBandSMatrix
00031 {
00032 public:
00033
00034 FLBandSMatrix(int asize, int nband, int* iband, float val=0.0);
00035 FLBandSMatrix(int asize, int nband, int* iband, float* val);
00036 FLBandSMatrix(const FLBandSMatrix& m):FBandSMatrix(m){}
00037 FLBandSMatrix operator=(const FLBandSMatrix& m);
00038 virtual ~FLBandSMatrix(){}
00039
00040 virtual int numberOfU0Bands(){ return 0; }
00041
00042 FloatVector* getUvalues(int i){ return 0; }
00043
00044
00045 virtual void set0(int i, int j, float value);
00046 virtual float get0(int i, int j);
00047
00048 virtual void setU0(int iband, int i, float value){}
00049 virtual float getU0(int iband, int i)const{ return 0.0; }
00050
00051
00052 virtual void set(int i, int j, float value);
00053 virtual float get(int i, int j);
00054
00055 virtual void setU(int iband, int i, float value){}
00056 virtual float getU(int iband, int i)const{ return 0.0; }
00057
00058
00059 virtual FloatVector* linearSolverU0(FloatVector* b, FloatVector* x=0){return 0;}
00060 virtual FloatVector* linearSolverU1(FloatVector* b, FloatVector* x=0){return 0;}
00061 };
00062
00063 #endif
00064
00065
00066