My Project
zcovector-complex.hpp
1 //=============================================================================
3 inline zcovector& zcovector::operator*=(const std::complex<double>& d)
4 {
5 #ifdef CPPL_VERBOSE
6  std::cerr << "# [MARK] zcovector::operator*=(const std::complex<double>&)"
7  << std::endl;
8 #endif//CPPL_VERBOSE
9 
10  zscal_(L, d, Array, 1);
11  return *this;
12 }
13 
14 //=============================================================================
16 inline zcovector& zcovector::operator/=(const std::complex<double>& d)
17 {
18 #ifdef CPPL_VERBOSE
19  std::cerr << "# [MARK] zcovector::operator/=(const std::complex<double>&)"
20  << std::endl;
21 #endif//CPPL_VERBOSE
22 
23  zscal_(L, 1./d, Array, 1);
24  return *this;
25 }
26 
30 
31 //=============================================================================
33 inline _zcovector operator*(const zcovector& vec, const std::complex<double>& d)
34 {
35 #ifdef CPPL_VERBOSE
36  std::cerr << "# [MARK] operator*(const zcovector&, const std::complex<double>&)"
37  << std::endl;
38 #endif//CPPL_VERBOSE
39 
40  zcovector newvec(vec.L);
41  for(long i=0; i<vec.L; i++){ newvec.array[i] =vec.Array[i]*d; }
42 
43  return _(newvec);
44 }
45 
46 //=============================================================================
48 inline _zcovector operator/(const zcovector& vec, const std::complex<double>& d)
49 {
50 #ifdef CPPL_VERBOSE
51  std::cerr << "# [MARK] operator/(const zcovector&, const std::complex<double>&)"
52  << std::endl;
53 #endif//CPPL_VERBOSE
54 
55  std::complex<double> inv_d(1./d);
56 
57  zcovector newvec(vec.L);
58  for(long i=0; i<vec.L; i++){ newvec.array[i] =vec.Array[i]*inv_d; }
59 
60  return _(newvec);
61 }
double * Array
1D Array to store vector data
Definition: _drovector.hpp:8
friend _drovector operator/(const drovector &, const double &)
Definition: drovector-double.hpp:48
zcovector & operator/=(const double &)
Definition: zcovector-double.hpp:16
friend _drovector operator*(const drovector &, const dgematrix &)
Definition: drovector-dgematrix.hpp:3
zcovector & operator*=(const double &)
Definition: zcovector-double.hpp:3
long L
vector size
Definition: _drovector.hpp:7
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