My Project
_dgematrix.hpp
1 //=============================================================================
3 class _dgematrix
4 {
5 public:
7  mutable long M;
8  mutable long N;
9  mutable double* Array;
10  mutable double** Darray;
11 
13  inline _dgematrix();
14  inline _dgematrix(const _dgematrix&);
15  inline ~_dgematrix(); //destructor
16 
18  inline operator _zgematrix();
19 
21  inline double& operator()(const long&, const long&) const;
22  inline friend std::ostream& operator<<(std::ostream&, const dgematrix&);
23  inline void write(const char *) const;
24 
26  inline void destroy() const;
27 
29  inline friend _dgematrix t(const _dgematrix&);
30  inline friend _dgematrix i(const _dgematrix&);
31  inline friend void idamax(long&, long&, const _dgematrix&);
32  inline friend double damax(const _dgematrix&);
33 
35  inline friend const _dgematrix& operator+(const _dgematrix&);
36  inline friend _dgematrix operator-(const _dgematrix&);
37 
39  inline friend _dgematrix operator+(const dgematrix&, const dgematrix&);
40  inline friend _dgematrix operator+(const dgematrix&, const _dgematrix&);
41  inline friend _dgematrix operator+(const _dgematrix&, const dgematrix&);
42  inline friend _dgematrix operator+(const _dgematrix&, const _dgematrix&);
43 
44  inline friend _dgematrix operator+(const dgematrix&, const dgbmatrix&);
45  inline friend _dgematrix operator+(const dgematrix&, const _dgbmatrix&);
46  inline friend _dgematrix operator+(const _dgematrix&, const dgbmatrix&);
47  inline friend _dgematrix operator+(const _dgematrix&, const _dgbmatrix&);
48 
49  inline friend _dgematrix operator+(const dgbmatrix&, const dgematrix&);
50  inline friend _dgematrix operator+(const dgbmatrix&, const _dgematrix&);
51  inline friend _dgematrix operator+(const _dgbmatrix&, const dgematrix&);
52  inline friend _dgematrix operator+(const _dgbmatrix&, const _dgematrix&);
53 
55  inline friend _dgematrix operator-(const dgematrix&);
56 
57  inline friend _dgematrix operator-(const dgematrix&, const dgematrix&);
58  inline friend _dgematrix operator-(const dgematrix&, const _dgematrix&);
59  inline friend _dgematrix operator-(const _dgematrix&, const dgematrix&);
60  inline friend _dgematrix operator-(const _dgematrix&, const _dgematrix&);
61 
62  inline friend _dgematrix operator-(const dgematrix&, const dgbmatrix&);
63  inline friend _dgematrix operator-(const dgematrix&, const _dgbmatrix&);
64  inline friend _dgematrix operator-(const _dgematrix&, const dgbmatrix&);
65  inline friend _dgematrix operator-(const _dgematrix&, const _dgbmatrix&);
66 
67  inline friend _dgematrix operator-(const dgbmatrix&, const dgematrix&);
68  inline friend _dgematrix operator-(const dgbmatrix&, const _dgematrix&);
69  inline friend _dgematrix operator-(const _dgbmatrix&, const dgematrix&);
70  inline friend _dgematrix operator-(const _dgbmatrix&, const _dgematrix&);
71 
73  inline friend _dgematrix operator*(const dgematrix&, const dgematrix&);
74  inline friend _dgematrix operator*(const dgematrix&, const _dgematrix&);
75  inline friend _dgematrix operator*(const _dgematrix&, const dgematrix&);
76  inline friend _dgematrix operator*(const _dgematrix&, const _dgematrix&);
77 
78  inline friend _dgematrix operator*(const dgematrix&, const dgbmatrix&);
79  inline friend _dgematrix operator*(const dgematrix&, const _dgbmatrix&);
80  inline friend _dgematrix operator*(const _dgematrix&, const dgbmatrix&);
81  inline friend _dgematrix operator*(const _dgematrix&, const _dgbmatrix&);
82 
83  inline friend _dgematrix operator*(const dgematrix&, const double&);
84  inline friend _dgematrix operator*(const _dgematrix&, const double&);
85  inline friend _dgematrix operator*(const double&, const _dgematrix&);
86  inline friend _dgematrix operator*(const double&, const dgematrix&);
87 
88  inline friend _dgematrix operator*(const dgbmatrix&, const dgematrix&);
89  inline friend _dgematrix operator*(const dgbmatrix&, const _dgematrix&);
90  inline friend _dgematrix operator*(const _dgbmatrix&, const dgematrix&);
91  inline friend _dgematrix operator*(const _dgbmatrix&, const _dgematrix&);
92 
93  inline friend _dgematrix operator*(const dcovector&, const drovector&);
94  inline friend _dgematrix operator*(const dcovector&, const _drovector&);
95  inline friend _dgematrix operator*(const _dcovector&, const drovector&);
96  inline friend _dgematrix operator*(const _dcovector&, const _drovector&);
97 
98  inline friend _drovector operator*(const drovector&, const _dgematrix&);
99  inline friend _drovector operator*(const _drovector&, const _dgematrix&);
100  inline friend _dcovector operator*(const _dgematrix&, const dcovector&);
101  inline friend _dcovector operator*(const _dgematrix&, const _dcovector&);
102 
104  inline friend _dgematrix operator/(const dgematrix&, const double&);
105  inline friend _dgematrix operator/(const _dgematrix&, const double&);
106 
108  friend class dgematrix;
109  friend class dgbmatrix;
110  friend class _dgbmatrix;
111  friend class dcovector;
112  friend class _dcovector;
113  friend class drovector;
114  friend class _drovector;
115 };
friend double damax(const _dgematrix &)
Definition: _dgematrix-calc.hpp:72
friend _dgematrix operator*(const dgematrix &, const dgematrix &)
Definition: dgematrix-dgematrix.hpp:153
friend _dgematrix operator-(const _dgematrix &)
Definition: _dgematrix-unary.hpp:15
double ** Darray
array of pointers of column head addresses
Definition: _dgematrix.hpp:10
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
friend _dgematrix i(const _dgematrix &)
Definition: _dgematrix-calc.hpp:22
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
_dgematrix()
Definition: _dgematrix-constructor.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
Definition: _drovector.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
long N
matrix column size
Definition: _dgematrix.hpp:8
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
friend _dgematrix t(const _dgematrix &)
Definition: _dgematrix-calc.hpp:3
double & operator()(const long &, const long &) const
Definition: _dgematrix-io.hpp:3
double * Array
1D array to store matrix data
Definition: _dgematrix.hpp:9
(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
Definition: _dgbmatrix.hpp:3
Real Double-precision Column Vector Class.
Definition: dcovector.hpp:3
void destroy() const
Definition: _dgematrix-misc.hpp:3
friend const _dgematrix & operator+(const _dgematrix &)
Definition: _dgematrix-unary.hpp:3
friend _dgematrix operator/(const dgematrix &, const double &)
Definition: dgematrix-double.hpp:48
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
~_dgematrix()
Definition: _dgematrix-constructor.hpp:51
long M
matrix row size
Definition: _dgematrix.hpp:7
friend void idamax(long &, long &, const _dgematrix &)
Definition: _dgematrix-calc.hpp:56