All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DSVectorBase< R > Class Template Reference Dynamic sparse vectors.Class DSVectorBase implements dynamic sparse vectors, i.e. SVectorBases with an automatic memory management. This allows the user to freely add() as many nonzeros to a DSVectorBase as desired, without any precautions. For saving memory method setMax() allows to reduce memory consumption to the amount really required. More...
Inheritance diagram for DSVectorBase< R >:
Detailed Descriptiontemplate<class R>
|
|
explicit |
Default constructor.
Creates a DSVectorBase ready to hold n
nonzeros. However, the memory is automatically enlarged, if more nonzeros are added to the DSVectorBase.
Definition at line 94 of file dsvectorbase.h.
|
explicit |
Copy constructor.
Definition at line 104 of file dsvectorbase.h.
DSVectorBase | ( | const DSVectorBase< R > & | old | ) |
Copy constructor.
The redundancy with the copy constructor below is necessary since otherwise the compiler doesn't realize that it could use the more general one with S = R and generates a shallow copy constructor.
Definition at line 117 of file dsvectorbase.h.
DSVectorBase | ( | const DSVectorBase< S > & | old | ) |
Copy constructor.
Definition at line 129 of file dsvectorbase.h.
|
explicit |
Copy constructor.
Definition at line 1016 of file basevectors.h.
References DSVectorBase< R >::allocMem(), VectorBase< R >::dim(), and DSVectorBase< R >::isConsistent().
|
explicit |
Copy constructor.
Definition at line 1031 of file basevectors.h.
References DSVectorBase< R >::allocMem(), DSVectorBase< R >::isConsistent(), SVectorBase< R >::operator=(), and SSVectorBase< R >::size().
|
virtual |
Destructor.
Definition at line 197 of file dsvectorbase.h.
~DSVectorBase | ( | ) |
Definition at line 318 of file dsvectorbase.h.
References soplex::spx_free().
void add | ( | const SVectorBase< S > & | vec | ) |
Append nonzeros of sv
.
Definition at line 216 of file dsvectorbase.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_transformFeasibility(), SoPlex::_transformUnbounded(), SPxMainSM::DuplicateRowsPS::DuplicateRowsPS(), SPxSolver::enter(), SPxMainSM::FreeZeroObjVariablePS::FreeZeroObjVariablePS(), SPxSolver::leave(), main(), soplex::operator*(), and SPxLPBase< R >::readLPF().
void add | ( | int | i, |
const R & | v | ||
) |
Append one nonzero (i,v).
Definition at line 224 of file dsvectorbase.h.
void add | ( | int | i | ) |
Append one uninitialized nonzero.
Definition at line 231 of file dsvectorbase.h.
void add | ( | int | n, |
const int | i[], | ||
const R | v[] | ||
) |
Append n
nonzeros.
Definition at line 238 of file dsvectorbase.h.
|
private |
Allocate memory for n
nonzeros.
Definition at line 62 of file dsvectorbase.h.
Referenced by DSVectorBase< Real >::DSVectorBase(), and DSVectorBase< R >::DSVectorBase().
|
private |
Definition at line 307 of file dsvectorbase.h.
References soplex::spx_alloc().
bool isConsistent | ( | ) | const |
Consistency check.
Definition at line 289 of file dsvectorbase.h.
Referenced by DSVectorBase< Real >::DSVectorBase(), and DSVectorBase< R >::DSVectorBase().
|
private |
Ensure there is room for n
new nonzeros.
Definition at line 71 of file dsvectorbase.h.
Referenced by DSVectorBase< Real >::add(), and DSVectorBase< Real >::operator=().
DSVectorBase<R>& operator= | ( | const SVectorBase< S > & | vec | ) |
Assignment operator.
Definition at line 149 of file dsvectorbase.h.
DSVectorBase<R>& operator= | ( | const DSVectorBase< R > & | vec | ) |
Assignment operator.
Definition at line 162 of file dsvectorbase.h.
DSVectorBase<R>& operator= | ( | const DSVectorBase< S > & | vec | ) |
Assignment operator.
Definition at line 176 of file dsvectorbase.h.
DSVectorBase< R > & operator= | ( | const VectorBase< S > & | vec | ) |
Assignment operator.
Definition at line 1046 of file basevectors.h.
References SVectorBase< R >::clear(), VectorBase< R >::dim(), and SVectorBase< R >::operator=().
DSVectorBase< R > & operator= | ( | const SSVectorBase< S > & | vec | ) |
Assignment operator.
Definition at line 1065 of file basevectors.h.
References SVectorBase< R >::clear(), SVectorBase< R >::operator=(), and SSVectorBase< R >::size().
void setMax | ( | int | newmax = 1 | ) |
Reset nonzero memory to >= newmax
.
This methods resets the memory consumption to newmax
. However, if newmax
< size(), it is reset to size() only.
Definition at line 248 of file dsvectorbase.h.
Referenced by SoPlex::_ensureDSVectorRationalMemory(), SPxSolver::enter(), SPxSolver::leave(), and DSVectorBase< Real >::makeMem().
void setMax | ( | int | newmax | ) |
This methods resets the memory consumption to newmax
. However, if newmax
< size(), it is reset to size() only (specialization for Real).
Definition at line 332 of file dsvectorbase.h.
References soplex::spx_realloc().
|
friend |
Definition at line 44 of file dsvectorbase.h.
|
private |
Memory.
Definition at line 53 of file dsvectorbase.h.
Referenced by DSVectorBase< Real >::allocMem(), DSVectorBase< Real >::isConsistent(), DSVectorBase< Real >::setMax(), and DSVectorBase< Real >::~DSVectorBase().