CPPLapack
 All Classes Files Functions Variables Friends Pages
zcovector_small.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! Samll Complex Double-precision Column Vector Class
3 template<CPPL_INT l> class zcovector_small
4 {
5 public:
6  ///////////////////////////////////////////////
7  /////////////////// objects ///////////////////
8  ///////////////////////////////////////////////
9  comple array[l];
10 
11  ///////////////////////////////////////////////
12  ///////////////// constructors ////////////////
13  ///////////////////////////////////////////////
14  inline zcovector_small();
15  inline explicit zcovector_small(const zcovector&);
16  inline zcovector_small(const comple&, const comple&);
17  inline zcovector_small(const comple&, const comple&, const comple&);
18  inline ~zcovector_small();
19 
20  ///////////////////////////////////////////////
21  ////////////////// functions //////////////////
22  ///////////////////////////////////////////////
23  //////// cast ////////
24  inline _zcovector to_zcovector() const;
25 
26  //////// io ////////
27  inline comple& operator()(const CPPL_INT&);
28  inline comple operator()(const CPPL_INT&) const;
29  inline zcovector_small<l>& set(const CPPL_INT&, const comple&);
30  template<CPPL_INT _l> inline friend std::ostream& operator<<(std::ostream&, const zcovector_small<_l>&);
31  inline void read(const char* filename);
32  inline void write(const char* filename) const;
33 
34  //////// calc ////////
35 #ifndef _MSC_VER
36  template<CPPL_INT _l> inline friend zrovector_small<_l> t(const zcovector_small<_l>&);
37  template<CPPL_INT _l> inline friend comple nrm2(const zcovector_small<_l>&);
38  template<CPPL_INT _l> inline friend CPPL_INT idamax(const zcovector_small<_l>&);
39  template<CPPL_INT _l> inline friend comple damax(const zcovector_small<_l>&);
40 #endif//_MSC_VER
41 
42  //////// misc ////////
43  inline zcovector_small<l>& zero();
44 
45  ///////////////////////////////////////////////
46  ///////////// numerical operators /////////////
47  ///////////////////////////////////////////////
48 #ifndef _MSC_VER
49  //////// = ////////
50  template<CPPL_INT L> inline zcovector_small<L>& operator= (const zcovector_small<L>&);
51  //////// += ////////
52  template<CPPL_INT L> inline friend zcovector_small<L>& operator+=(zcovector_small<L>&, const zcovector_small<L>&);
53  //////// -= ////////
54  template<CPPL_INT L> inline friend zcovector_small<L>& operator-=(zcovector_small<L>&, const zcovector_small<L>&);
55  //////// *= ////////
56  template<CPPL_INT L> inline friend zcovector_small<L>& operator*=(zcovector_small<L>&, const double&);
57  template<CPPL_INT L> inline friend zcovector_small<L>& operator*=(zcovector_small<L>&, const comple&);
58  //////// /= ////////
59  template<CPPL_INT L> inline friend zcovector_small<L>& operator/=(zcovector_small<L>&, const double&);
60  template<CPPL_INT L> inline friend zcovector_small<L>& operator/=(zcovector_small<L>&, const comple&);
61  //////// unary ////////
62  template<CPPL_INT L> inline friend const zcovector_small<L>& operator+(const zcovector_small<L>&);
63  template<CPPL_INT L> inline friend zcovector_small<L> operator-(const zcovector_small<L>&);
64  //////// + ////////
65  template<CPPL_INT L> inline friend zcovector_small<L> operator+(const zcovector_small<L>&, const zcovector_small<L>&);
66  //////// - ////////
67  template<CPPL_INT L> inline friend zcovector_small<L> operator-(const zcovector_small<L>&, const zcovector_small<L>&);
68  //////// * ////////
69  template<CPPL_INT M, CPPL_INT N> inline friend zgematrix_small<M,N> operator*(const zcovector_small<M>&, const zrovector_small<N>&);
70  template<CPPL_INT L> inline friend zcovector_small<L> operator*(const zcovector_small<L>&, const double&);
71  template<CPPL_INT L> inline friend zcovector_small<L> operator*(const zcovector_small<L>&, const comple&);
72  //////// / ////////
73  template<CPPL_INT L> inline friend zcovector_small<L> operator/(const zcovector_small<L>&, const double&);
74  template<CPPL_INT L> inline friend zcovector_small<L> operator/(const zcovector_small<L>&, const comple&);
75  //////// comple ////////
76  template<CPPL_INT L> inline friend zcovector_small<L> operator*(const double&, const zcovector_small<L>&);
77  template<CPPL_INT L> inline friend zcovector_small<L> operator*(const comple&, const zcovector_small<L>&);
78  //////// hadamerd ////////
79  template<CPPL_INT L> inline friend zcovector_small<L> hadamerd(const zcovector_small<L>&, const zcovector_small<L>&);
80 #endif//_MSC_VER
81 };
82 
83 ///////////////////////////////////////////////////////////////////////////////
84 ///////////////////////////////////////////////////////////////////////////////
85 ///////////////////////////////////////////////////////////////////////////////
86 
87 //=============================================================================
88 //////// zcovec2 ////////
89 inline comple operator/(const zcovec2&, const zcovec2&);
90 
91 //////// zcovec3 ////////
92 inline zcovec3 operator/(const zcovec3&, const zcovec3&);
93 inline zcovec3 operator/=(zcovec3&, const zcovec3&);
zcovec3 operator/=(zcovec3 &, const zcovec3 &)
friend zgematrix_small< M, N > operator*(const zcovector_small< M > &, const zrovector_small< N > &)
friend comple nrm2(const zcovector_small< _l > &)
comple & operator()(const CPPL_INT &)
friend zcovector_small< L > & operator/=(zcovector_small< L > &, const double &)
friend zcovector_small< L > operator-(const zcovector_small< L > &)
zcovector_small< L > & operator=(const zcovector_small< L > &)
friend zcovector_small< L > & operator-=(zcovector_small< L > &, const zcovector_small< L > &)
friend CPPL_INT idamax(const zcovector_small< _l > &)
Samll Complex Double-precision Column Vector Class.
zcovector_small< l > & set(const CPPL_INT &, const comple &)
Samll Complex Double-precision Row Vector Class.
zcovector_small< l > & zero()
friend zcovector_small< L > hadamerd(const zcovector_small< L > &, const zcovector_small< L > &)
friend zcovector_small< L > operator/(const zcovector_small< L > &, const double &)
friend zrovector_small< _l > t(const zcovector_small< _l > &)
friend comple damax(const zcovector_small< _l > &)
friend zcovector_small< L > & operator+=(zcovector_small< L > &, const zcovector_small< L > &)
void write(const char *filename) const
_zcovector to_zcovector() const
void read(const char *filename)
friend zcovector_small< L > & operator*=(zcovector_small< L > &, const double &)
Complex Double-precision Column Vector Class.
Definition: zcovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class
Definition: _zcovector.hpp:3
friend const zcovector_small< L > & operator+(const zcovector_small< L > &)
comple operator/(const zcovec2 &, const zcovec2 &)
Samll Complex Double-precision General Dence Matrix Class.