16 #ifndef SIMPLEVECTOR_HPP_
17 #define SIMPLEVECTOR_HPP_
46 void Scale(
const double & val);
60 const double at(
const int i)
const;
66 void Print(std::ostream & os)
const;
void Print(std::ostream &os) const
Print all the entries of the vector.
Definition: SimpleVector.cpp:107
virtual ~SimpleVector()
Destructor.
Definition: SimpleVector.cpp:30
friend double InnerProduct(const SimpleVector &v1, const SimpleVector &v2)
return the inner product of v1 and v2
Definition: SimpleVector.cpp:212
void ToDouble(double *dcopy)
Copies entries of THIS into dcopy.
Definition: SimpleVector.cpp:66
SimpleVector(int length)
Constructor.
Definition: SimpleVector.cpp:22
friend void add(const SimpleVector &v1, const double &c2, const SimpleVector &v2, SimpleVector &result)
result = v1 + c2*v2
Definition: SimpleVector.cpp:123
friend void subtract(const SimpleVector &v1, const SimpleVector &v2, SimpleVector &result)
result = v1 - v2
Definition: SimpleVector.cpp:193
SimpleVector & operator=(const double &val)
Set all the entries of the Vector equal to val.
Definition: SimpleVector.cpp:41
SimpleVector * Clone()
Create a new vector with the same structure of THIS. Values are not initialized.
Definition: SimpleVector.cpp:60
void Randomize(int seed)
Fill the entries of the vector with random numbers. The vector is normalized with norm 1...
Definition: SimpleVector.cpp:96
const double at(const int i) const
Access entry i. if i < 0 return 0.
Definition: SimpleVector.cpp:87
void Scale(const double &val)
multiply THIS by a scalar value
Definition: SimpleVector.cpp:54
void CopyDouble(const double *source)
Copies entries of source into THIS.
Definition: SimpleVector.cpp:72
double & operator[](const int i)
Access entry i (non const version)
Definition: SimpleVector.cpp:76
Implementation of a dense serial vector according to Vector_traits.
Definition: SimpleVector.hpp:27