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