00001
00002
00003 class _dgematrix
00004 {
00005 public:
00006
00007 mutable long M;
00008 mutable long N;
00009 mutable long Ml;
00010 mutable long Nl;
00011 mutable long Desc[9];
00012 mutable double* Array;
00013
00014
00015 inline _dgematrix();
00016 inline _dgematrix(const _dgematrix&);
00017 inline _dgematrix(const dgematrix&);
00018
00019
00020 inline _dgematrix(const long&, const long&);
00021 inline ~_dgematrix();
00022
00023
00024 inline CPPSL_double operator()(const long&, const long&) const;
00025 inline friend std::ostream& operator<<(std::ostream&, const dgematrix&);
00026
00027
00028 inline void destroy() const;
00029 inline void absorb(dgematrix&) const;
00030 inline void zero() const;
00031 inline void identity() const;
00032
00033
00034 inline friend _dgematrix t(const _dgematrix&);
00035
00036
00037
00038
00039
00040 inline friend const _dgematrix& operator+(const _dgematrix&);
00041 inline friend _dgematrix operator-(const _dgematrix&);
00042
00043
00044 inline friend _dgematrix operator+(const dgematrix&, const dgematrix&);
00045 inline friend _dgematrix operator+(const dgematrix&, const _dgematrix&);
00046 inline friend _dgematrix operator+(const _dgematrix&, const dgematrix&);
00047 inline friend _dgematrix operator+(const _dgematrix&, const _dgematrix&);
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060 inline friend _dgematrix operator-(const dgematrix&);
00061
00062 inline friend _dgematrix operator-(const dgematrix&, const dgematrix&);
00063 inline friend _dgematrix operator-(const dgematrix&, const _dgematrix&);
00064 inline friend _dgematrix operator-(const _dgematrix&, const dgematrix&);
00065 inline friend _dgematrix operator-(const _dgematrix&, const _dgematrix&);
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078 inline friend _dgematrix operator*(const dgematrix&, const dgematrix&);
00079 inline friend _dgematrix operator*(const dgematrix&, const _dgematrix&);
00080 inline friend _dgematrix operator*(const _dgematrix&, const dgematrix&);
00081 inline friend _dgematrix operator*(const _dgematrix&, const _dgematrix&);
00082
00083
00084
00085
00086
00087
00088 inline friend _dgematrix operator*(const dgematrix&, const double&);
00089 inline friend _dgematrix operator*(const _dgematrix&, const double&);
00090 inline friend _dgematrix operator*(const double&, const _dgematrix&);
00091 inline friend _dgematrix operator*(const double&, const dgematrix&);
00092
00093
00094
00095
00096
00097
00098 inline friend _dgematrix operator*(const dcovector&, const drovector&);
00099 inline friend _dgematrix operator*(const dcovector&, const _drovector&);
00100 inline friend _dgematrix operator*(const _dcovector&, const drovector&);
00101 inline friend _dgematrix operator*(const _dcovector&, const _drovector&);
00102
00103 inline friend _drovector operator*(const drovector&, const _dgematrix&);
00104 inline friend _drovector operator*(const _drovector&, const _dgematrix&);
00105 inline friend _dcovector operator*(const _dgematrix&, const dcovector&);
00106 inline friend _dcovector operator*(const _dgematrix&, const _dcovector&);
00107
00108
00109 inline friend _dgematrix operator/(const dgematrix&, const double&);
00110 inline friend _dgematrix operator/(const _dgematrix&, const double&);
00111
00112
00113 friend class dgematrix;
00114
00115
00116 friend class dcovector;
00117 friend class _dcovector;
00118 friend class drovector;
00119 friend class _drovector;
00120 };