00001 #ifndef __FUBandSMatrix_H__
00002 #define __FUBandSMatrix_H__
00003
00004
00025 #include <stdio.h>
00026 #include "FloatVector.hpp"
00027
00028 #include "FBandSMatrix.hpp"
00029
00030 class FUBandSMatrix : public FBandSMatrix
00031 {
00032 public:
00033
00034 FUBandSMatrix(int asize, int nband, int* iband, float val=0.0);
00035 FUBandSMatrix(int asize, int nband, int* iband, float* val);
00036 FUBandSMatrix(const FUBandSMatrix& m):FBandSMatrix(m){}
00037 FUBandSMatrix operator=(const FUBandSMatrix& m);
00038 virtual ~FUBandSMatrix(){}
00039
00040 virtual int numberOfL0Bands(){ return 0; }
00041
00042 FloatVector* getLvalues(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 setL0(int iband, int i, float value){}
00049 virtual float getL0(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 setL(int iband, int i, float value){}
00056 virtual float getL(int iband, int i)const{ return 0.0; }
00057
00058
00059 virtual FloatVector* linearSolverL0(FloatVector* b, FloatVector* x=0){return 0;}
00060 virtual FloatVector* linearSolverL1(FloatVector* b, FloatVector* x=0){return 0;}
00061 };
00062
00063 #endif
00064
00065
00066