CPPLapack
 All Classes Files Functions Variables Friends Pages
Functions
drovector-drovector.hpp File Reference

Go to the source code of this file.

Functions

_drovector operator+ (const drovector &vecA, const drovector &vecB)
 
_drovector operator- (const drovector &vecA, const drovector &vecB)
 
double operator% (const drovector &vecA, const drovector &vecB)
 
_drovector hadamerd (const drovector &vecA, const drovector &vecB)
 

Function Documentation

_drovector operator+ ( const drovector vecA,
const drovector vecB 
)
inline

drovector+drovector operator

Definition at line 57 of file drovector-drovector.hpp.

References _(), drovector::array, i(), and drovector::l.

58 {CPPL_VERBOSE_REPORT;
59 #ifdef CPPL_DEBUG
60  if(vecA.l!=vecB.l){
61  ERROR_REPORT;
62  std::cerr << "These two vectors can not make a sumation." << std::endl
63  << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl;
64  exit(1);
65  }
66 
67 #endif//CPPL_DEBUG
68 
69  drovector newvec(vecA.l);
70  for(CPPL_INT i=0; i<newvec.l; i++){
71  newvec.array[i] =vecA.array[i]+vecB.array[i];
72  }
73 
74  return _(newvec);
75 }
double * array
1D array to store vector data
Definition: drovector.hpp:11
_dgematrix i(const _dgbmatrix &mat)
CPPL_INT l
vector size
Definition: drovector.hpp:9
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
_dcovector _(dcovector &vec)
_drovector operator- ( const drovector vecA,
const drovector vecB 
)
inline

drovector-drovector operator

Definition at line 79 of file drovector-drovector.hpp.

References _(), drovector::array, i(), and drovector::l.

80 {CPPL_VERBOSE_REPORT;
81 #ifdef CPPL_DEBUG
82  if(vecA.l!=vecB.l){
83  ERROR_REPORT;
84  std::cerr << "These two vectors can not make a subtraction." << std::endl
85  << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl;
86  exit(1);
87  }
88 #endif//CPPL_DEBUG
89 
90  drovector newvec(vecA.l);
91  for(CPPL_INT i=0; i<newvec.l; i++){
92  newvec.array[i] =vecA.array[i]-vecB.array[i];
93  }
94 
95  return _(newvec);
96 }
double * array
1D array to store vector data
Definition: drovector.hpp:11
_dgematrix i(const _dgbmatrix &mat)
CPPL_INT l
vector size
Definition: drovector.hpp:9
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
_dcovector _(dcovector &vec)
double operator% ( const drovector vecA,
const drovector vecB 
)
inline

drovector^T*drovector operator (inner product)

Definition at line 100 of file drovector-drovector.hpp.

References drovector::array, and drovector::l.

101 {CPPL_VERBOSE_REPORT;
102 #ifdef CPPL_DEBUG
103  if(vecA.l!=vecB.l){
104  ERROR_REPORT;
105  std::cerr << "These two vectors can not make a dot product." << std::endl
106  << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl;
107  exit(1);
108  }
109 #endif//CPPL_DEBUG
110 
111  CPPL_INT inc =1;
112  double val =ddot_( &vecA.l, vecA.array, &inc, vecB.array, &inc );
113 
114  return val;
115 }
double * array
1D array to store vector data
Definition: drovector.hpp:11
CPPL_INT l
vector size
Definition: drovector.hpp:9
_drovector hadamerd ( const drovector vecA,
const drovector vecB 
)
inline

return Hadamerd product

Definition at line 123 of file drovector-drovector.hpp.

References _(), i(), and drovector::l.

124 {CPPL_VERBOSE_REPORT;
125 #ifdef CPPL_DEBUG
126  if( vecA.l!=vecB.l ){
127  ERROR_REPORT;
128  std::cerr << "These two vectors can not make Hadamerd product." << std::endl
129  << "Your input was (" << vecA.l << ") and (" << vecB.l << ")." << std::endl;
130  exit(1);
131  }
132 #endif//CPPL_DEBUG
133 
134  drovector newvec(vecA.l);
135  for(CPPL_INT i=0; i<newvec.l; i++){
136  newvec(i) =vecA(i)*vecB(i);
137  }
138  return _(newvec);
139 }
_dgematrix i(const _dgbmatrix &mat)
CPPL_INT l
vector size
Definition: drovector.hpp:9
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
_dcovector _(dcovector &vec)