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