CPPLapack
 All Classes Files Functions Variables Friends Pages
_drovector.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! (DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
3 class _drovector
4 {
5 public:
6  ///////////////////////////////////////////////
7  /////////////////// objects ///////////////////
8  ///////////////////////////////////////////////
9  mutable CPPL_INT l; //!< vector size
10  mutable CPPL_INT cap; //!< vector capacity
11  mutable double* array; //!< 1D array to store vector data
12 
13  ///////////////////////////////////////////////
14  ///////////////// constructors ////////////////
15  ///////////////////////////////////////////////
16  inline _drovector();
17  inline _drovector(const _drovector&);
18  inline ~_drovector(); //destructor
19 
20  ///////////////////////////////////////////////
21  ////////////////// functions //////////////////
22  ///////////////////////////////////////////////
23  //////// cast ////////
24  inline _zrovector to_zrovector() const;
25 
26  //////// io ////////
27  inline double& operator()(const CPPL_INT&) const;
28  inline friend std::ostream& operator<<(std::ostream&, const _drovector&);
29  inline void write(const char*) const;
30 
31  //////// calc ////////
32  inline friend _dcovector t(const drovector&);
33  inline friend double nrm2(const drovector&);
34  inline friend CPPL_INT idamax(const drovector&);
35  inline friend double damax(const drovector&);
36 
37  //////// misc ////////
38  inline void nullify() const;
39  inline void destroy() const;
40 
41  ///////////////////////////////////////////////
42  ///////////// numerical operators /////////////
43  ///////////////////////////////////////////////
44  //////// unary ////////
45  inline friend const _drovector& operator+(const _drovector&);
46  inline friend _drovector operator-(const _drovector&);
47 
48  //////// + ////////
49  inline friend _drovector operator+(const _drovector&, const drovector&);
50  inline friend _drovector operator+(const _drovector&, const _drovector&);
51 
52  //////// - ////////
53  inline friend _drovector operator-(const _drovector&, const drovector&);
54  inline friend _drovector operator-(const _drovector&, const _drovector&);
55 
56  //////// * ////////
57  inline friend double operator*(const _drovector&, const dcovector&);
58  inline friend double operator*(const _drovector&, const _dcovector&);
59  inline friend _drovector operator*(const _drovector&, const dgematrix&);
60  inline friend _drovector operator*(const _drovector&, const _dgematrix&);
61  inline friend _drovector operator*(const _drovector&, const dsymatrix&);
62  inline friend _drovector operator*(const _drovector&, const _dsymatrix&);
63  inline friend _drovector operator*(const _drovector&, const dgbmatrix&);
64  inline friend _drovector operator*(const _drovector&, const _dgbmatrix&);
65  inline friend _drovector operator*(const _drovector&, const dgsmatrix&);
66  inline friend _drovector operator*(const _drovector&, const _dgsmatrix&);
67  inline friend _drovector operator*(const _drovector&, const dssmatrix&);
68  inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
69  inline friend _drovector operator*(const _drovector&, const double&);
70 
71  //////// / ////////
72  inline friend _drovector operator/(const _drovector&, const double&);
73 
74  //////// % ////////
75  inline friend double operator%(const _drovector&, const drovector&);
76  inline friend double operator%(const _drovector&, const _drovector&);
77 
78  //////// double ////////
79  inline friend _drovector operator*(const double&, const _drovector&);
80 };
friend CPPL_INT idamax(const drovector &)
Real Double-precision General Sparse Matrix Class.
Definition: dgsmatrix.hpp:3
friend double damax(const drovector &)
void nullify() const
void write(const char *) const
friend _drovector operator/(const _drovector &, const double &)
double * array
1D array to store vector data
Definition: _drovector.hpp:11
friend double nrm2(const drovector &)
CPPL_INT l
vector size
Definition: _drovector.hpp:9
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class
Definition: _dssmatrix.hpp:3
friend double operator*(const _drovector &, const dcovector &)
friend double operator%(const _drovector &, const drovector &)
void destroy() const
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
(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
Definition: _dgsmatrix.hpp:3
CPPL_INT cap
vector capacity
Definition: _drovector.hpp:10
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
Definition: _zrovector.hpp:3
friend _drovector operator-(const _drovector &)
(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 _dcovector t(const drovector &)
double & operator()(const CPPL_INT &) const
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
friend std::ostream & operator<<(std::ostream &, const _drovector &)
(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 Symmetric Sparse Matrix Class.
Definition: dssmatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
_zrovector to_zrovector() const
friend const _drovector & operator+(const _drovector &)