4 #ifndef CoinDenseVector_H
5 #define CoinDenseVector_H
9 # pragma warning(disable:4786)
23 template <
typename T>
void
117 void resize(
int newSize, T fill=T());
209 template <
typename T>
inline
214 int size = op1.
size();
219 for(
int i=0; i<size; i++)
220 elements3[i] = elements1[i] + elements2[i];
225 template <
typename T>
inline
229 int size = op1.
size();
234 for(
int i=0; i<size; i++)
235 elements3[i] = elements1[i] - elements2[i];
241 template <
typename T>
inline
245 int size = op1.
size();
250 for(
int i=0; i<size; i++)
251 elements3[i] = elements1[i] * elements2[i];
256 template <
typename T>
inline
260 int size = op1.
size();
265 for(
int i=0; i<size; i++)
266 elements3[i] = elements1[i] / elements2[i];
276 template <
typename T>
inline
279 int size = op1.
size();
283 double dvalue = value;
284 for(
int i=0; i<size; i++)
285 elements3[i] = elements1[i] + dvalue;
290 template <
typename T>
inline
292 int size = op1.
size();
296 double dvalue = value;
297 for(
int i=0; i<size; i++)
298 elements3[i] = elements1[i] - dvalue;
303 template <
typename T>
inline
305 int size = op1.
size();
309 double dvalue = value;
310 for(
int i=0; i<size; i++)
311 elements3[i] = elements1[i] * dvalue;
316 template <
typename T>
inline
318 int size = op1.
size();
322 double dvalue = value;
323 for(
int i=0; i<size; i++)
324 elements3[i] = elements1[i] / dvalue;
329 template <
typename T>
inline
331 int size = op1.
size();
335 double dvalue = value;
336 for(
int i=0; i<size; i++)
337 elements3[i] = elements1[i] + dvalue;
342 template <
typename T>
inline
344 int size = op1.
size();
348 double dvalue = value;
349 for(
int i=0; i<size; i++)
350 elements3[i] = dvalue - elements1[i];
355 template <
typename T>
inline
357 int size = op1.
size();
361 double dvalue = value;
362 for(
int i=0; i<size; i++)
363 elements3[i] = elements1[i] * dvalue;
368 template <
typename T>
inline
370 int size = op1.
size();
374 double dvalue = value;
375 for(
int i=0; i<size; i++)
376 elements3[i] = dvalue / elements1[i];
int nElements_
Size of element vector.
CoinDenseVector< T > operator*(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise product of two dense vectors.
T CoinMax(register const T x1, register const T x2)
Return the larger (according to operator<() of the arguments.
void scale(T factor)
scale vector elements
void operator*=(T value)
multiply every entry by value
const T * getElements() const
Get element values.
int getNumElements() const
Get the size.
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 infNorm() const
infinity-norm of vector
T CoinAbs(const T value)
Return the absolute value of the argument.
CoinDenseVector()
Default constructor.
void gutsOfSetConstant(int size, T value)
Set all elements to a given value.
T oneNorm() const
1-norm of vector
void gutsOfSetVector(int size, const T *elems)
Copy internal data.
CoinDenseVector< T > operator-(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the difference of two dense vectors.
void operator/=(T value)
divide every entry by value
void clear()
Reset the vector (i.e. set all elemenets to zero)
T sum() const
sum of vector elements
T & operator[](int index) const
Member of array operator.
void resize(int newSize, T fill=T())
Resize the dense vector to be the first newSize elements.
void operator+=(T value)
add value to every entry
void append(const CoinDenseVector &)
Append a dense vector to this dense vector.
int size() const
Get the size.
CoinDenseVector & operator=(const CoinDenseVector &)
Assignment operator.
void setVector(int size, const T *elems)
Set vector size, and elements.
~CoinDenseVector()
Destructor.
T * getElements()
Get element values.
CoinDenseVector< T > operator/(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise ratio of two dense vectors.
void CoinDenseVectorUnitTest(T dummy)
A function that tests the methods in the CoinDenseVector class.
void operator-=(T value)
subtract value from every entry
CoinDenseVector< T > operator+(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the sum of two dense vectors.
double twoNorm() const
2-norm of vector
void setConstant(int size, T elems)
Elements set to have the same scalar value.
T * elements_
Vector elements.