CPPLapack
 All Classes Files Functions Variables Friends Pages
dcovector.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! Real Double-precision Column Vector Class
3 class dcovector
4 {
5 public:
6  ///////////////////////////////////////////////
7  /////////////////// objects ///////////////////
8  ///////////////////////////////////////////////
9  CPPL_INT l; //!< vector size
10  CPPL_INT cap; //!< vector capacity
11  double* array; //!< 1D array to store vector data
12 
13  ///////////////////////////////////////////////
14  ///////////////// constructors ////////////////
15  ///////////////////////////////////////////////
16  inline dcovector();
17  inline dcovector(const dcovector&);
18  inline dcovector(const _dcovector&);
19  inline dcovector(const CPPL_INT&, const CPPL_INT=0);
20  inline dcovector(const char *);
21  inline ~dcovector(); //destructor
22 
23  ///////////////////////////////////////////////
24  ////////////////// functions //////////////////
25  ///////////////////////////////////////////////
26  //////// cast ////////
27  inline _zcovector to_zcovector() const;
28 
29  //////// io ////////
30  inline double& operator()(const CPPL_INT&);
31  inline double operator()(const CPPL_INT&) const;
32  inline dcovector& set(const CPPL_INT&, const double&); //const;
33  inline friend std::ostream& operator<<(std::ostream&, const dcovector&);
34  inline void write(const char*) const;
35  inline void read(const char*);
36 
37  //////// calc ////////
38  inline friend _drovector t(const dcovector&);
39  inline friend double nrm2(const dcovector&);
40  inline friend CPPL_INT idamax(const dcovector&);
41  inline friend double damax(const dcovector&);
42 
43  //////// misc ////////
44  inline void clear();
45  inline dcovector& zero();
46  inline void chsign();
47  inline void copy(const dcovector&);
48  inline void shallow_copy(const _dcovector&);
49  inline void alias(const dcovector&);
50  inline void unalias();
51  inline dcovector& resize(const CPPL_INT&, const CPPL_INT=0);
52  inline void stretch(const CPPL_INT&);
53  inline friend void swap(dcovector&, dcovector&);
54  inline friend _dcovector _(dcovector&);
55 
56  ///////////////////////////////////////////////
57  ///////////// numerical operators /////////////
58  ///////////////////////////////////////////////
59  //////// = ////////
60  inline dcovector& operator=(const dcovector&);
61  inline dcovector& operator=(const _dcovector&);
62 
63  //////// += ////////
64  inline dcovector& operator+=(const dcovector&);
65  inline dcovector& operator+=(const _dcovector&);
66 
67  //////// -= ////////
68  inline dcovector& operator-=(const dcovector&);
69  inline dcovector& operator-=(const _dcovector&);
70 
71  //////// *= ////////
72  inline dcovector& operator*=(const double&);
73 
74  //////// /= ////////
75  inline dcovector& operator/=(const double&);
76 
77  //////// unary ////////
78  inline friend const dcovector& operator+(const dcovector&);
79  inline friend _dcovector operator-(const dcovector&);
80 
81  //////// + ////////
82  inline friend _dcovector operator+(const dcovector&, const dcovector&);
83  inline friend _dcovector operator+(const dcovector&, const _dcovector&);
84 
85  //////// - ////////
86  inline friend _dcovector operator-(const dcovector&, const dcovector&);
87  inline friend _dcovector operator-(const dcovector&, const _dcovector&);
88 
89  //////// * ////////
90  inline friend _dgematrix operator*(const dcovector&, const drovector&);
91  inline friend _dgematrix operator*(const dcovector&, const _drovector&);
92  inline friend _dcovector operator*(const dcovector&, const double&);
93 
94  //////// / ////////
95  inline friend _dcovector operator/(const dcovector&, const double&);
96 
97  //////// % ////////
98  inline friend double operator%(const dcovector&, const dcovector&);
99  inline friend double operator%(const dcovector&, const _dcovector&);
100 
101  //////// double ////////
102  inline friend _dcovector operator*(const double&, const dcovector&);
103 
104  //////// hadamard ////////
105  inline friend _dcovector hadamard(const dcovector&, const dcovector&);
106 };
friend _dcovector _(dcovector &)
friend double damax(const dcovector &)
_zcovector to_zcovector() const
friend double nrm2(const dcovector &)
void write(const char *) const
friend void swap(dcovector &, dcovector &)
friend const dcovector & operator+(const dcovector &)
CPPL_INT l
vector size
Definition: dcovector.hpp:9
dcovector & zero()
friend _drovector t(const dcovector &)
friend CPPL_INT idamax(const dcovector &)
void stretch(const CPPL_INT &)
dcovector & resize(const CPPL_INT &, const CPPL_INT=0)
dcovector & operator=(const dcovector &)
friend double operator%(const dcovector &, const dcovector &)
friend _dcovector hadamard(const dcovector &, const dcovector &)
double * array
1D array to store vector data
Definition: dcovector.hpp:11
void clear()
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
dcovector & operator*=(const double &)
void alias(const dcovector &)
(DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
Definition: _drovector.hpp:3
void unalias()
dcovector & operator+=(const dcovector &)
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
void read(const char *)
friend _dcovector operator/(const dcovector &, const double &)
friend std::ostream & operator<<(std::ostream &, const dcovector &)
friend _dcovector operator-(const dcovector &)
friend _dgematrix operator*(const dcovector &, const drovector &)
void copy(const dcovector &)
Real Double-precision Column Vector Class.
Definition: dcovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class
Definition: _zcovector.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
void shallow_copy(const _dcovector &)
double & operator()(const CPPL_INT &)
Definition: dcovector-io.hpp:3
dcovector & set(const CPPL_INT &, const double &)
dcovector & operator-=(const dcovector &)
CPPL_INT cap
vector capacity
Definition: dcovector.hpp:10
dcovector & operator/=(const double &)