My Project
drovector.hpp
1 //=============================================================================
3 class drovector
4 {
5 private:
7  long L;
8  double* Array;
9 
10 public:
12  long const& l;
13  double* const &array;
14 
16  inline drovector();
17  inline drovector(const drovector&);
18  inline drovector(const _drovector&);
19  inline drovector(const long&);
20  inline drovector(const char*);
21  inline ~drovector(); //destructor
22 
24  inline operator _zrovector();
25 
27  inline double& operator()(const long&);
28  inline double operator()(const long&) const;
29  inline void set(const long&, const double&) const;
30  inline friend std::ostream& operator<<(std::ostream&, const drovector&);
31  inline void write(const char *) const;
32  inline void read(const char *);
33 
35  inline friend _dcovector t(const drovector&);
36  inline friend double nrm2(const drovector&);
37  inline friend long idamax(const drovector&);
38  inline friend double damax(const drovector&);
39 
41  inline void clear();
42  inline void zero();
43  inline void chsign();
44  inline void copy(const drovector&);
45  inline void shallow_copy(const _drovector&);
46  inline void resize(const long&);
47  inline friend void swap(drovector&, drovector&);
48  inline friend _drovector _(drovector&);
49 
51  inline friend const drovector& operator+(const drovector&);
52  inline friend _drovector operator-(const drovector&);
53 
55  inline drovector& operator=(const drovector&);
56  inline drovector& operator+=(const drovector&);
57  inline drovector& operator-=(const drovector&);
59  inline drovector& operator=(const _drovector&);
60  inline drovector& operator+=(const _drovector&);
61  inline drovector& operator-=(const _drovector&);
63  inline drovector& operator*=(const double&);
64  inline drovector& operator/=(const double&);
65 
67  inline friend _drovector operator+(const drovector&, const drovector&);
68  inline friend _drovector operator+(const drovector&, const _drovector&);
69  inline friend _drovector operator+(const _drovector&, const drovector&);
70 
72  inline friend _drovector operator-(const drovector&, const drovector&);
73  inline friend _drovector operator-(const drovector&, const _drovector&);
74  inline friend _drovector operator-(const _drovector&, const drovector&);
75 
77  inline friend _drovector operator*(const drovector&, const dgematrix&);
78  inline friend _drovector operator*(const drovector&, const _dgematrix&);
79  inline friend _drovector operator*(const drovector&, const _dgbmatrix&);
80  inline friend _drovector operator*(const drovector&, const dgbmatrix&);
81  inline friend _drovector operator*(const drovector&, const dsymatrix&);
82  inline friend _drovector operator*(const drovector&, const _dsymatrix&);
83  inline friend _drovector operator*(const drovector&, const dssmatrix&);
84  inline friend _drovector operator*(const drovector&, const _dssmatrix&);
85 
86  inline friend _drovector operator*(const drovector&, const double&);
87  inline friend _drovector operator*(const double&, const drovector&);
88 
89  inline friend _dgematrix operator*(const dcovector&, const drovector&);
90  inline friend _dgematrix operator*(const _dcovector&, const drovector&);
91  inline friend double operator*(const drovector&, const dcovector&);
92  inline friend double operator*(const drovector&, const _dcovector&);
93 
95  inline friend _drovector operator/(const drovector&, const double&);
96 
98  inline friend double operator%(const drovector&, const drovector&);
99  inline friend double operator%(const drovector&, const _drovector&);
100  inline friend double operator%(const _drovector&, const drovector&);
101 
103  friend class dgematrix;
104  friend class _dgematrix;
105  friend class dgbmatrix;
106  friend class _dgbmatrix;
107  friend class dsymatrix;
108  friend class _dsymatrix;
109  friend class dssmatrix;
110  friend class _dssmatrix;
111  friend class dcovector;
112  friend class _dcovector;
113  friend class _drovector;
114 };
drovector()
Definition: drovector-constructor.hpp:3
friend double nrm2(const drovector &)
Definition: drovector-calc.hpp:18
friend long idamax(const drovector &)
Definition: drovector-calc.hpp:31
void clear()
Definition: drovector-misc.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Sparse Matrix Class
Definition: _dssmatrix.hpp:3
double *const & array
1D array to store vector data (readable)
Definition: drovector.hpp:13
double & operator()(const long &)
Definition: drovector-io.hpp:3
drovector & operator/=(const double &)
Definition: drovector-double.hpp:16
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
Real Double-precision Symmetric Matrix Class [L-type (UPLO=L) Strage].
Definition: dsymatrix.hpp:3
void zero()
Definition: drovector-misc.hpp:23
friend _drovector _(drovector &)
Definition: drovector-misc.hpp:131
long const & l
vector size (readable)
Definition: drovector.hpp:12
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
friend _drovector operator/(const drovector &, const double &)
Definition: drovector-double.hpp:48
void set(const long &, const double &) const
Definition: drovector-io.hpp:53
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
Definition: _zrovector.hpp:3
friend _drovector operator*(const drovector &, const dgematrix &)
Definition: drovector-dgematrix.hpp:3
void chsign()
Definition: drovector-misc.hpp:35
(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
friend double operator%(const drovector &, const drovector &)
Definition: drovector-drovector.hpp:131
friend double damax(const drovector &)
Definition: drovector-calc.hpp:43
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
drovector & operator*=(const double &)
Definition: drovector-double.hpp:3
~drovector()
Definition: drovector-constructor.hpp:122
friend const drovector & operator+(const drovector &)
Definition: drovector-unary.hpp:3
friend void swap(drovector &, drovector &)
Definition: drovector-misc.hpp:116
drovector & operator-=(const drovector &)
Definition: drovector-drovector.hpp:46
(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
Definition: _dgbmatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class
Definition: _dsymatrix.hpp:3
Real Double-precision Column Vector Class.
Definition: dcovector.hpp:3
void copy(const drovector &)
Definition: drovector-misc.hpp:47
void shallow_copy(const _drovector &)
Definition: drovector-misc.hpp:73
Real Double-precision Sparse Matrix Class.
Definition: dssmatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
void resize(const long &)
Definition: drovector-misc.hpp:93
drovector & operator+=(const drovector &)
Definition: drovector-drovector.hpp:22
friend _drovector operator-(const drovector &)
Definition: drovector-unary.hpp:15
friend _dcovector t(const drovector &)
Definition: drovector-calc.hpp:3
drovector & operator=(const drovector &)
Definition: drovector-drovector.hpp:3