6 #ifndef CoinDenseVector_H
7 #define CoinDenseVector_H
11 # pragma warning(disable:4786)
25 template <
typename T>
void
82 inline int size()
const {
return nElements_; }
119 void resize(
int newSize, T fill=T());
130 for (
int i=0; i<nElements_; i++)
137 for (
int i=0; i<nElements_; i++)
138 norm += elements_[i] * elements_[i];
146 for (
int i=0; i<nElements_; i++)
153 for (
int i=0; i<nElements_; i++)
154 sume += elements_[i];
159 for (
int i=0; i<nElements_; i++)
160 elements_[i] *= factor;
195 void gutsOfSetVector(
int size,
const T * elems);
198 void gutsOfSetConstant(
int size, T value);
211 template <
typename T>
inline
216 int size = op1.
size();
221 for(
int i=0; i<size; i++)
222 elements3[i] = elements1[i] + elements2[i];
227 template <
typename T>
inline
231 int size = op1.
size();
236 for(
int i=0; i<size; i++)
237 elements3[i] = elements1[i] - elements2[i];
243 template <
typename T>
inline
247 int size = op1.
size();
252 for(
int i=0; i<size; i++)
253 elements3[i] = elements1[i] * elements2[i];
258 template <
typename T>
inline
262 int size = op1.
size();
267 for(
int i=0; i<size; i++)
268 elements3[i] = elements1[i] / elements2[i];
278 template <
typename T>
inline
281 int size = op1.
size();
285 double dvalue = value;
286 for(
int i=0; i<size; i++)
287 elements3[i] = elements1[i] + dvalue;
292 template <
typename T>
inline
294 int size = op1.
size();
298 double dvalue = value;
299 for(
int i=0; i<size; i++)
300 elements3[i] = elements1[i] - dvalue;
305 template <
typename T>
inline
307 int size = op1.
size();
311 double dvalue = value;
312 for(
int i=0; i<size; i++)
313 elements3[i] = elements1[i] * dvalue;
318 template <
typename T>
inline
320 int size = op1.
size();
324 double dvalue = value;
325 for(
int i=0; i<size; i++)
326 elements3[i] = elements1[i] / dvalue;
331 template <
typename T>
inline
333 int size = op1.
size();
337 double dvalue = value;
338 for(
int i=0; i<size; i++)
339 elements3[i] = elements1[i] + dvalue;
344 template <
typename T>
inline
346 int size = op1.
size();
350 double dvalue = value;
351 for(
int i=0; i<size; i++)
352 elements3[i] = dvalue - elements1[i];
357 template <
typename T>
inline
359 int size = op1.
size();
363 double dvalue = value;
364 for(
int i=0; i<size; i++)
365 elements3[i] = elements1[i] * dvalue;
370 template <
typename T>
inline
372 int size = op1.
size();
376 double dvalue = value;
377 for(
int i=0; i<size; i++)
378 elements3[i] = dvalue / elements1[i];
void operator/=(T value)
divide every entry by value
void scale(T factor)
scale vector elements
CoinDenseVector()
Default constructor.
double twoNorm() const
2-norm of vector
T infNorm() const
infinity-norm of vector
CoinDenseVector< T > operator*(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise product of two dense vectors.
void setElement(int index, T element)
Set an existing element in the dense vector The first argument is the "index" into the elements() arr...
const T * getElements() const
Get element values.
CoinDenseVector< T > operator+(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the sum of two dense vectors.
void operator*=(T value)
multiply every entry by value
CoinDenseVector< T > operator-(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the difference of two dense vectors.
void operator+=(T value)
add value to every entry
void operator-=(T value)
subtract value from every entry
void clear()
Reset the vector (i.e. set all elemenets to zero)
void setVector(int size, const T *elems)
Set vector size, and elements.
T * getElements()
Get element values.
CoinDenseVector & operator=(const CoinDenseVector &)
Assignment operator.
CoinDenseVector< T > operator/(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise ratio of two dense vectors.
T & operator[](int index) const
Member of array operator.
void append(const CoinDenseVector &)
Append a dense vector to this dense vector.
T oneNorm() const
1-norm of vector
T CoinAbs(const T value)
Return the absolute value of the argument.
T sum() const
sum of vector elements
void CoinDenseVectorUnitTest(T dummy)
A function that tests the methods in the CoinDenseVector class.
~CoinDenseVector()
Destructor.
T CoinMax(register const T x1, register const T x2)
Return the larger (according to operator<() of the arguments.
void resize(int newSize, T fill=T())
Resize the dense vector to be the first newSize elements.
int getNumElements() const
Get the size.
void setConstant(int size, T elems)
Elements set to have the same scalar value.