6 #ifndef CoinDenseVector_H 
    7 #define CoinDenseVector_H 
   11 #pragma warning(disable : 4786) 
   25 template < 
typename T >
 
   67 template < 
typename T >
 
  118   void resize(
int newSize, T fill = T());
 
  215 template < 
typename T >
 
  221   int size = op1.
size();
 
  226   for (
int i = 0; i < size; i++)
 
  227     elements3[i] = elements1[i] + elements2[i];
 
  232 template < 
typename T >
 
  237   int size = op1.
size();
 
  242   for (
int i = 0; i < size; i++)
 
  243     elements3[i] = elements1[i] - elements2[i];
 
  248 template < 
typename T >
 
  253   int size = op1.
size();
 
  258   for (
int i = 0; i < size; i++)
 
  259     elements3[i] = elements1[i] * elements2[i];
 
  264 template < 
typename T >
 
  269   int size = op1.
size();
 
  274   for (
int i = 0; i < size; i++)
 
  275     elements3[i] = elements1[i] / elements2[i];
 
  285 template < 
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;
 
  300 template < 
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;
 
  314 template < 
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;
 
  328 template < 
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;
 
  342 template < 
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;
 
  356 template < 
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];
 
  370 template < 
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;
 
  384 template < 
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 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 
 
void gutsOfSetConstant(int size, T value)
Set all elements to a given value. 
 
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. 
 
void operator*=(T value)
multiply every entry by value 
 
void operator+=(T value)
add value to every entry 
 
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. 
 
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 * elements_
Vector 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 difference of two dense vectors. 
 
void gutsOfSetVector(int size, const T *elems)
Copy internal data. 
 
T CoinMax(const T x1, const T x2)
Return the larger (according to operator<() of the arguments. 
 
T & operator[](int index) const 
Member of array operator. 
 
void append(const CoinDenseVector &)
Append a dense vector to this dense vector. 
 
CoinDenseVector< T > operator/(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise ratio of two dense vectors. 
 
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. 
 
CoinDenseVector< T > operator*(const CoinDenseVector< T > &op1, const CoinDenseVector< T > &op2)
Return the element-wise product of two dense vectors. 
 
void resize(int newSize, T fill=T())
Resize the dense vector to be the first newSize elements. 
 
int nElements_
Size of element vector. 
 
int getNumElements() const 
Get the size. 
 
void setConstant(int size, T elems)
Elements set to have the same scalar value.