6#ifndef CoinDenseVector_H
7#define CoinDenseVector_H
11#pragma warning(disable : 4786)
25template <
typename T >
67template <
typename T >
216template <
typename T >
221 int size = op1.
size();
226 for (
int i = 0; i < size; i++)
227 elements3[i] = elements1[i] + elements2[i];
232template <
typename T >
237 int size = op1.
size();
242 for (
int i = 0; i < size; i++)
243 elements3[i] = elements1[i] - elements2[i];
248template <
typename T >
253 int size = op1.
size();
258 for (
int i = 0; i < size; i++)
259 elements3[i] = elements1[i] * elements2[i];
264template <
typename T >
269 int size = op1.
size();
274 for (
int i = 0; i < size; i++)
275 elements3[i] = elements1[i] / elements2[i];
286template <
typename T >
289 int size = op1.
size();
293 double dvalue = value;
294 for (
int i = 0; i < size; i++)
295 elements3[i] = elements1[i] + dvalue;
300template <
typename T >
303 int size = op1.
size();
307 double dvalue = value;
308 for (
int i = 0; i < size; i++)
309 elements3[i] = elements1[i] - dvalue;
314template <
typename T >
317 int size = op1.
size();
321 double dvalue = value;
322 for (
int i = 0; i < size; i++)
323 elements3[i] = elements1[i] * dvalue;
328template <
typename T >
331 int size = op1.
size();
335 double dvalue = value;
336 for (
int i = 0; i < size; i++)
337 elements3[i] = elements1[i] / dvalue;
342template <
typename T >
345 int size = op1.
size();
349 double dvalue = value;
350 for (
int i = 0; i < size; i++)
351 elements3[i] = elements1[i] + dvalue;
356template <
typename T >
359 int size = op1.
size();
363 double dvalue = value;
364 for (
int i = 0; i < size; i++)
365 elements3[i] = dvalue - elements1[i];
370template <
typename T >
373 int size = op1.
size();
377 double dvalue = value;
378 for (
int i = 0; i < size; i++)
379 elements3[i] = elements1[i] * dvalue;
384template <
typename T >
387 int size = op1.
size();
391 double dvalue = value;
392 for (
int i = 0; i < size; i++)
393 elements3[i] = dvalue / elements1[i];
void CoinDenseVectorUnitTest(T dummy)
A function that tests the methods in the CoinDenseVector class.
CoinDenseVector< T > operator+(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the sum of two dense vectors.
CoinDenseVector< T > operator/(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise ratio of two dense vectors.
CoinDenseVector< T > operator-(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the difference of two dense vectors.
CoinDenseVector< T > operator*(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise product of two dense vectors.
T CoinMax(const T x1, const T x2)
Return the larger (according to operator<() of the arguments.
T CoinAbs(const T value)
Return the absolute value of the argument.
CoinDenseVector(const CoinDenseVector &)
Copy constructors.
void gutsOfSetConstant(int size, T value)
Set all elements to a given value.
void operator/=(T value)
divide every entry by value
T * getElements()
Get element values.
void operator-=(T value)
subtract value from every entry
int getNumElements() const
Get the size.
void operator*=(T value)
multiply every entry by value
T infNorm() const
infinity-norm of vector
void operator+=(T value)
add value to every entry
CoinDenseVector(int size, T element=T())
Alternate Constructors - set elements to same scalar value.
CoinDenseVector()
Default constructor.
void resize(int newSize, T fill=T())
Resize the dense vector to be the first newSize elements.
T oneNorm() const
1-norm of vector
T * elements_
Vector elements.
int nElements_
Size of element vector.
void append(const CoinDenseVector &)
Append a dense vector to this dense vector.
const T * getElements() const
Get element values.
void setElement(int index, T element)
Set an existing element in the dense vector The first argument is the "index" into the elements() arr...
T sum() const
sum of vector elements
CoinDenseVector(int size, const T *elems)
Alternate Constructors - set elements to vector of Ts.
void clear()
Reset the vector (i.e. set all elemenets to zero)
CoinDenseVector & operator=(const CoinDenseVector &)
Assignment operator.
~CoinDenseVector()
Destructor.
void setConstant(int size, T elems)
Elements set to have the same scalar value.
void gutsOfSetVector(int size, const T *elems)
Copy internal data.
double twoNorm() const
2-norm of vector
void setVector(int size, const T *elems)
Set vector size, and elements.
T & operator[](int index) const
Member of array operator.
void scale(T factor)
scale vector elements