My Project
zrovector-calc.hpp
1 //=============================================================================
3 inline _zcovector t(const zrovector& rovec)
4 {
5 #ifdef CPPL_VERBOSE
6  std::cerr << "# [MARK] t(const zrovector&)"
7  << std::endl;
8 #endif//CPPL_VERBOSE
9 
10  zcovector covec(rovec.L);
11  zcopy_(rovec.L, rovec.Array, 1, covec.array, 1);
12 
13  return _(covec);
14 }
15 
16 //=============================================================================
18 inline _zrovector conj(const zrovector& vec)
19 {
20 #ifdef CPPL_VERBOSE
21  std::cerr << "# [MARK] conj(const zrovector&)"
22  << std::endl;
23 #endif//CPPL_VERBOSE
24 
25  zrovector newvec(vec.L);
26  for(long i=0; i<vec.L; i++){ newvec(i) =std::conj(vec(i)); }
27 
28  return _(newvec);
29 }
30 
31 //=============================================================================
33 inline _zcovector conjt(const zrovector& rovec)
34 {
35 #ifdef CPPL_VERBOSE
36  std::cerr << "# [MARK] conjt(const zrovector&)"
37  << std::endl;
38 #endif//CPPL_VERBOSE
39 
40  zcovector covec(rovec.L);
41  for(long i=0; i<rovec.L; i++){ covec(i) =std::conj(rovec(i)); }
42 
43  return _(covec);
44 }
45 
49 
50 //=============================================================================
52 inline double nrm2(const zrovector& vec)
53 {
54 #ifdef CPPL_VERBOSE
55  std::cerr << "# [MARK] nrm2(const zrovector&)"
56  << std::endl;
57 #endif//CPPL_VERBOSE
58 
59  return dznrm2_(vec.L, vec.Array, 1);
60 }
61 
62 //=============================================================================
65 inline long idamax(const zrovector& vec)
66 {
67 #ifdef CPPL_VERBOSE
68  std::cerr << "# [MARK] idamax(const zrovector&)"
69  << std::endl;
70 #endif//CPPL_VERBOSE
71 
72  return izamax_(vec.L, vec.Array, 1) -1;
73 }
74 
75 //=============================================================================
77 inline std::complex<double> damax(const zrovector& vec)
78 {
79 #ifdef CPPL_VERBOSE
80  std::cerr << "# [MARK] damax(const zrovector&)"
81  << std::endl;
82 #endif//CPPL_VERBOSE
83 
84  return vec.Array[izamax_(vec.L, vec.Array, 1) -1];
85 }
friend std::complex< double > damax(const _zrovector &)
Definition: _zrovector-calc.hpp:82
friend double nrm2(const _zrovector &)
Definition: _zrovector-calc.hpp:53
friend _zcovector conjt(const _zrovector &)
Definition: _zrovector-calc.hpp:33
Complex Double-precision Row Vector Class.
Definition: zrovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
Definition: _zrovector.hpp:3
std::complex< double > *const & array
1D array to store vector data (readable)
Definition: zcovector.hpp:13
friend _zrovector conj(const _zrovector &)
Definition: _zrovector-calc.hpp:20
friend _zcovector t(const _zrovector &)
Definition: _zrovector-calc.hpp:3
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 long idamax(const _zrovector &)
Definition: _zrovector-calc.hpp:68