00001
00003 class _dssmatrix
00004 {
00005 public:
00007 mutable long M;
00008 mutable long N;
00009 mutable long CAP;
00010 mutable long VOL;
00011 mutable double* Array;
00012 mutable long* Indx;
00013 mutable long* Jndx;
00014
00016 inline _dssmatrix();
00017 inline _dssmatrix(const _dssmatrix&);
00018 inline ~_dssmatrix();
00019
00021 inline operator _zssmatrix();
00022
00024 inline double operator()(const long&, const long&) const;
00025 inline friend std::ostream& operator<<(std::ostream&, const _dssmatrix&);
00026 inline void write(const char *) const;
00027
00029 inline void destroy() const;
00030
00032 inline friend _dssmatrix t(const dssmatrix&);
00033 inline friend void idamax(long&, long&, const dssmatrix&);
00034 inline friend double damax(const dssmatrix&);
00035
00037 inline friend const _dssmatrix& operator+(const _dssmatrix&);
00038 inline friend _dssmatrix operator-(const _dssmatrix&);
00039
00041 inline friend _dssmatrix operator+(const dssmatrix&, const dssmatrix&);
00042 inline friend _dssmatrix operator+(const dssmatrix&, const _dssmatrix&);
00043 inline friend _dssmatrix operator+(const _dssmatrix&, const dssmatrix&);
00044 inline friend _dssmatrix operator+(const _dssmatrix&, const _dssmatrix&);
00045
00046 inline friend _dgematrix operator+(const _dssmatrix&, const dgematrix&);
00047 inline friend _dgematrix operator+(const _dssmatrix&, const _dgematrix&);
00048 inline friend _dgematrix operator+(const _dgematrix&, const _dssmatrix&);
00049 inline friend _dgematrix operator+(const dgematrix&, const _dssmatrix&);
00050
00051 inline friend _dgematrix operator+(const _dssmatrix&, const dgbmatrix&);
00052 inline friend _dgematrix operator+(const _dssmatrix&, const _dgbmatrix&);
00053 inline friend _dgematrix operator+(const _dgbmatrix&, const _dssmatrix&);
00054 inline friend _dgematrix operator+(const dgbmatrix&, const _dssmatrix&);
00055
00056 inline friend _dgematrix operator+(const _dssmatrix&, const dsymatrix&);
00057 inline friend _dgematrix operator+(const _dssmatrix&, const _dsymatrix&);
00058 inline friend _dgematrix operator+(const _dsymatrix&, const _dssmatrix&);
00059 inline friend _dgematrix operator+(const dsymatrix&, const _dssmatrix&);
00060
00062 inline friend _dssmatrix operator-(const dssmatrix&, const dssmatrix&);
00063 inline friend _dssmatrix operator-(const dssmatrix&, const _dssmatrix&);
00064 inline friend _dssmatrix operator-(const _dssmatrix&, const dssmatrix&);
00065 inline friend _dssmatrix operator-(const _dssmatrix&, const _dssmatrix&);
00066
00067 inline friend _dgematrix operator-(const _dssmatrix&, const dgematrix&);
00068 inline friend _dgematrix operator-(const _dssmatrix&, const _dgematrix&);
00069 inline friend _dgematrix operator-(const _dgematrix&, const _dssmatrix&);
00070 inline friend _dgematrix operator-(const dgematrix&, const _dssmatrix&);
00071
00072 inline friend _dgematrix operator-(const _dssmatrix&, const dgbmatrix&);
00073 inline friend _dgematrix operator-(const _dssmatrix&, const _dgbmatrix&);
00074 inline friend _dgematrix operator-(const _dgbmatrix&, const _dssmatrix&);
00075 inline friend _dgematrix operator-(const dgbmatrix&, const _dssmatrix&);
00076
00077 inline friend _dgematrix operator-(const _dssmatrix&, const dsymatrix&);
00078 inline friend _dgematrix operator-(const _dssmatrix&, const _dsymatrix&);
00079 inline friend _dgematrix operator-(const _dsymatrix&, const _dssmatrix&);
00080 inline friend _dgematrix operator-(const dsymatrix&, const _dssmatrix&);
00081
00083 inline friend _dssmatrix operator*(const dssmatrix&, const dssmatrix&);
00084 inline friend _dssmatrix operator*(const dssmatrix&, const _dssmatrix&);
00085 inline friend _dssmatrix operator*(const _dssmatrix&, const dssmatrix&);
00086 inline friend _dssmatrix operator*(const _dssmatrix&, const _dssmatrix&);
00087
00088 inline friend _dgematrix operator*(const _dssmatrix&, const dgematrix&);
00089 inline friend _dgematrix operator*(const _dssmatrix&, const _dgematrix&);
00090 inline friend _dgematrix operator*(const _dgematrix&, const _dssmatrix&);
00091 inline friend _dgematrix operator*(const dgematrix&, const _dssmatrix&);
00092
00093 inline friend _dgematrix operator*(const _dssmatrix&, const dgbmatrix&);
00094 inline friend _dgematrix operator*(const _dssmatrix&, const _dgbmatrix&);
00095 inline friend _dgematrix operator*(const _dgbmatrix&, const _dssmatrix&);
00096 inline friend _dgematrix operator*(const dgbmatrix&, const _dssmatrix&);
00097
00098 inline friend _dgematrix operator*(const _dssmatrix&, const dsymatrix&);
00099 inline friend _dgematrix operator*(const _dssmatrix&, const _dsymatrix&);
00100 inline friend _dgematrix operator*(const _dsymatrix&, const _dssmatrix&);
00101 inline friend _dgematrix operator*(const dsymatrix&, const _dssmatrix&);
00102
00103 inline friend _dcovector operator*(const dssmatrix&, const dcovector&);
00104 inline friend _dcovector operator*(const dssmatrix&, const _dcovector&);
00105
00106 inline friend _drovector operator*(const drovector&, const _dssmatrix&);
00107 inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
00108
00109 inline friend _dssmatrix operator*(const dssmatrix&, const double&);
00110 inline friend _dssmatrix operator*(const _dssmatrix&, const double&);
00111 inline friend _dssmatrix operator*(const double&, const dssmatrix&);
00112 inline friend _dssmatrix operator*(const double&, const _dssmatrix&);
00113
00115 inline friend _dssmatrix operator/(const dssmatrix&, const double&);
00116 inline friend _dssmatrix operator/(const _dssmatrix&, const double&);
00117
00119 friend class dgematrix;
00120 friend class _dgematrix;
00121 friend class dgbmatrix;
00122 friend class _dgbmatrix;
00123 friend class dsymatrix;
00124 friend class _dsymatrix;
00125 friend class dssmatrix;
00126 friend class dcovector;
00127 friend class _dcovector;
00128 friend class drovector;
00129 friend class _drovector;
00130 };