6 #ifndef CoinPackedVectorBase_H 
    7 #define CoinPackedVectorBase_H 
   99     const char *className = NULL) 
const;
 
  142   template < 
class FloatEqual >
 
  152     std::map< int, double > mv;
 
  157       mv.insert(std::make_pair(inds[i], elems[i]));
 
  160     std::map< int, double > mvRhs;
 
  164       mvRhs.insert(std::make_pair(inds[i], elems[i]));
 
  167     std::map< int, double >::const_iterator mvI = mv.begin();
 
  168     std::map< int, double >::const_iterator mvIlast = mv.end();
 
  169     std::map< int, double >::const_iterator mvIrhs = mvRhs.begin();
 
  170     while (mvI != mvIlast) {
 
  171       if (mvI->first != mvIrhs->first || !eq(mvI->second, mvIrhs->second))
 
  238   std::set< int > *
indexSet(
const char *methodName = NULL,
 
  239     const char *className = NULL) 
const;
 
int minIndex_
Contains minimum index value or infinity. 
bool operator!=(const CoinPackedVectorBase &rhs) const 
Not equal. 
bool testForDuplicateIndex_
True if the vector should be tested for duplicate indices when they can occur. 
void setTestForDuplicateIndex(bool test) const 
Set to the argument value whether to test for duplicate indices in the vector whenever they can occur...
double operator[](int i) const 
Access the i'th element of the full storage vector. 
double sum() const 
Sum elements of vector. 
void copyMaxMinIndex(const CoinPackedVectorBase &x) const 
bool isExistingIndex(int i) const 
Return true if the i'th element of the full storage vector exists in the packed storage vector...
int getMinIndex() const 
Get value of minimum index. 
std::set< int > * indexSetPtr_
Store the indices in a set. 
int maxIndex_
Contains max index value or -infinity. 
double twoNorm() const 
Return the 2-norm of the vector. 
bool isEquivalent(const CoinPackedVectorBase &rhs, const FloatEqual &eq) const 
equivalent - If shallow packed vector A & B are equivalent, then they are still equivalent no matter ...
virtual ~CoinPackedVectorBase()
Destructor. 
double oneNorm() const 
Return the 1-norm of the vector. 
Abstract base class for various sparse vectors. 
virtual const double * getElements() const =0
Get element values. 
CoinPackedVectorBase()
Default constructor. 
void findMaxMinIndices() const 
Find Maximum and Minimum Indices. 
bool testForDuplicateIndex() const 
Returns true if the vector should be tested for duplicate indices when they can occur. 
void setTestForDuplicateIndexWhenTrue(bool test) const 
Set to the argument value whether to test for duplicate indices in the vector whenever they can occur...
CoinPackedVectorBase & operator=(const CoinPackedVectorBase &)
This class provides const access to packed vectors, so there's no need to provide an assignment opera...
virtual int getNumElements() const =0
Get length of indices and elements vectors. 
int compare(const CoinPackedVectorBase &rhs) const 
This method establishes an ordering on packed vectors. 
bool testedDuplicateIndex_
True if the vector has already been tested for duplicate indices. 
bool operator==(const CoinPackedVectorBase &rhs) const 
Equal. 
void duplicateIndex(const char *methodName=NULL, const char *className=NULL) const 
Throw an exception if there are duplicate indices. 
virtual const int * getIndices() const =0
Get indices of elements. 
int findIndex(int i) const 
Return the position of the i'th element of the full storage vector. 
std::set< int > * indexSet(const char *methodName=NULL, const char *className=NULL) const 
Return indexSetPtr_ (create it if necessary). 
double dotProduct(const double *dense) const 
Create the dot product with a full vector. 
double * denseVector(int denseSize) const 
Get the vector as a dense vector. 
int getMaxIndex() const 
Get value of maximum index. 
void clearIndexSet() const 
Delete the indexSet. 
void setTestsOff() const 
Just sets test stuff false without a try etc. 
double normSquare() const 
Return the square of the 2-norm of the vector. 
double infNorm() const 
Return the infinity-norm of the vector.