All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IdxSet Class Reference Set of indices.Class IdxSet provides a set of indices. At construction it must be given an array of int where to store the indice and its length. The array will from then on be managed by the IdxSet. More...
Inheritance diagram for IdxSet:
![]()
Detailed DescriptionSet of indices. Class IdxSet provides a set of indices. At construction it must be given an array of int where to store the indice and its length. The array will from then on be managed by the IdxSet. Indices are implicitely numbered from 0 thru size()-1. They can be accessed (and altered) via method index() with the desired index number as argument. Range checking is performed in the debug version. Indices may be added or removed from the set, by calling add() or remove() methods, respectively. However, no IdxSet can hold more then max() indices, i.e. the number given at the constructor. When removing indices, the remaining ones are renumbered. However, all indices before the first removed index keep their number unchanged. The internal structure of an IdxSet consists of an array idx storing the indices, its length len, and the actually used number of indices num. The class IdxSet doesn't allocate memory for the idx array. Instead, the user has to provide an adequate buffer to the constructor. An IdxSet cannot be extended to fit more than max() elements. If neccessary, the user must explicitely provide the IdxSet with a suitable memory. Alternatively, one can use DIdxSets which provide the required memory managemant. Constructor & Destructor Documentation
constructor. The constructur receives the index memory Definition at line 80 of file idxset.h. References IdxSet::isConsistent().
default constructor. The default constructor creates an index set with an empty index space. You cannot store any indices in an IdxSet created with the default constructor. Definition at line 91 of file idxset.h. References IdxSet::isConsistent().
destructor. Definition at line 98 of file idxset.h. References IdxSet::freeArray, IdxSet::idx, and soplex::spx_free(). copy constructor. Definition at line 97 of file idxset.cpp. References IdxSet::freeArray, IdxSet::idx, IdxSet::isConsistent(), IdxSet::len, IdxSet::max(), IdxSet::num, IdxSet::size(), and soplex::spx_alloc(). Member Function Documentation
appends Definition at line 149 of file idxset.h. References IdxSet::max(), IdxSet::num, and IdxSet::size(). Referenced by DIdxSet::add(), IdxSet::add(), and SSVector::setValue().
appends all indices of Definition at line 156 of file idxset.h. References IdxSet::add(), IdxSet::idx, and IdxSet::size().
appends Definition at line 41 of file idxset.cpp. References IdxSet::add(), IdxSet::idx, IdxSet::max(), and IdxSet::size().
appends index Definition at line 165 of file idxset.h. References IdxSet::idx, IdxSet::max(), IdxSet::num, and IdxSet::size(). Referenced by SSVector::add(), DIdxSet::addIdx(), SSVector::assign2product(), and SSVector::multAdd().
removes all indices. Definition at line 184 of file idxset.h. References IdxSet::num. Referenced by SSVector::clear(), SPxSolver::clear(), SPxSolver::computeCoTest(), SPxSolver::computeFtest(), SPxSolver::computeTest(), and SSVector::setup().
returns the maximal index. Definition at line 21 of file idxset.cpp. References IdxSet::idx, and IdxSet::size(). Referenced by SSVector::isConsistent().
access Definition at line 118 of file idxset.h. References IdxSet::idx, and IdxSet::size(). Referenced by SPxSteepPR::entered4(), SPxDevexPR::entered4X(), SSVector::index(), IdxSet::isConsistent(), SPxSolver::perturbMax(), SPxSolver::perturbMin(), SPxDefaultRT::selectEnter(), SPxDantzigPR::selectEnterSparseCoDim(), SPxDevexPR::selectEnterSparseCoDim(), SPxSteepPR::selectEnterSparseCoDim(), SPxDantzigPR::selectEnterSparseDim(), SPxDevexPR::selectEnterSparseDim(), SPxSteepPR::selectEnterSparseDim(), SPxDefaultRT::selectLeave(), SPxDantzigPR::selectLeaveSparse(), SPxDevexPR::selectLeaveSparse(), SPxSteepPR::selectLeaveSparse(), SPxSolver::updateCoTest(), SPxSolver::updateFtest(), and SPxSolver::updateTest().
consistency check. Definition at line 113 of file idxset.cpp. References IdxSet::idx, IdxSet::index(), IdxSet::len, MSGinconsistent, and IdxSet::size(). Referenced by IdxSet::IdxSet(), SSVector::isConsistent(), and IdxSet::operator=().
returns the maximal number of indices which can be stored in IdxSet. Definition at line 129 of file idxset.h. References IdxSet::len. Referenced by DIdxSet::add(), IdxSet::add(), DIdxSet::addIdx(), IdxSet::addIdx(), SPxSolver::computeCoTest(), SPxSolver::computeFtest(), SPxSolver::computeTest(), IdxSet::IdxSet(), SSVector::isConsistent(), IdxSet::operator=(), SSVector::operator=(), DIdxSet::setMax(), SSVector::setSize(), and SSVector::setup_and_assign().
returns the position number of index Returns the number of the first index Definition at line 32 of file idxset.cpp. References IdxSet::idx, and IdxSet::size(). Referenced by SSVector::number(), and SPxLP::writeMPS(). assignment operator. The assignment operator copies all nonzeros of the right handside IdxSet to the left one. This implies, that the latter must have enough index memory. Definition at line 68 of file idxset.cpp. References IdxSet::freeArray, IdxSet::idx, IdxSet::isConsistent(), IdxSet::len, IdxSet::max(), IdxSet::num, IdxSet::size(), soplex::spx_alloc(), and soplex::spx_free(). Referenced by DIdxSet::DIdxSet(), DIdxSet::operator=(), SSVector::operator=(), SSVector::setup_and_assign(), and SSVector::SSVector().
removes indices at position numbers Definition at line 49 of file idxset.cpp. References IdxSet::idx, IdxSet::num, and IdxSet::size(). Referenced by SPxDantzigPR::selectEnterSparseCoDim(), SPxDevexPR::selectEnterSparseCoDim(), SPxSteepPR::selectEnterSparseCoDim(), SPxDantzigPR::selectEnterSparseDim(), SPxDevexPR::selectEnterSparseDim(), SPxSteepPR::selectEnterSparseDim(), SPxDantzigPR::selectLeaveSparse(), SPxDevexPR::selectLeaveSparse(), and SPxSteepPR::selectLeaveSparse().
removes Definition at line 174 of file idxset.h. References IdxSet::idx, IdxSet::num, and IdxSet::size().
returns the number of used indices. Definition at line 124 of file idxset.h. References IdxSet::num. Referenced by DIdxSet::add(), IdxSet::add(), DIdxSet::addIdx(), IdxSet::addIdx(), SPxSolver::computeCoTest(), SPxSolver::computeFtest(), SPxSolver::computeTest(), DIdxSet::DIdxSet(), IdxSet::dim(), SPxSteepPR::entered4(), SPxDevexPR::entered4X(), IdxSet::IdxSet(), IdxSet::index(), IdxSet::isConsistent(), SPxSteepPR::left4(), SPxDevexPR::left4X(), IdxSet::number(), DIdxSet::operator=(), IdxSet::operator=(), SSVector::reDim(), IdxSet::remove(), SPxDefaultRT::selectEnter(), SPxDantzigPR::selectEnterSparseCoDim(), SPxDevexPR::selectEnterSparseCoDim(), SPxSteepPR::selectEnterSparseCoDim(), SPxDantzigPR::selectEnterSparseDim(), SPxDevexPR::selectEnterSparseDim(), SPxSteepPR::selectEnterSparseDim(), SPxDefaultRT::selectLeave(), SPxDantzigPR::selectLeaveSparse(), SPxDevexPR::selectLeaveSparse(), SPxSteepPR::selectLeaveSparse(), SSVector::setMax(), DIdxSet::setMax(), SSVector::size(), SPxSolver::updateCoTest(), SPxSolver::updateFtest(), SPxSolver::updateTest(), and SPxLP::writeMPS(). Member Data Documentation
true iff idx should be freed inside of this object Definition at line 66 of file idxset.h. Referenced by IdxSet::IdxSet(), IdxSet::operator=(), and IdxSet::~IdxSet().
array of indices Definition at line 65 of file idxset.h. Referenced by IdxSet::add(), IdxSet::addIdx(), SSVector::altIndexMem(), SSVector::assign(), SSVector::assign2product1(), SSVector::assign2productAndSetup(), SSVector::assign2productFull(), SSVector::assign2productShort(), SSVector::clear(), DIdxSet::DIdxSet(), IdxSet::dim(), IdxSet::IdxSet(), IdxSet::index(), SSVector::indexMem(), IdxSet::isConsistent(), SSVector::length2(), SSVector::maxAbs(), SSVector::multAdd(), IdxSet::number(), IdxSet::operator=(), SSVector::operator=(), IdxSet::remove(), SSVector::setMax(), DIdxSet::setMax(), SSVector::setup(), SSVector::setup_and_assign(), SSVector::SSVector(), SSVector::value(), DIdxSet::~DIdxSet(), IdxSet::~IdxSet(), and SSVector::~SSVector().
length of array idx Definition at line 64 of file idxset.h. Referenced by DIdxSet::DIdxSet(), IdxSet::IdxSet(), IdxSet::isConsistent(), IdxSet::max(), IdxSet::operator=(), SSVector::setMax(), DIdxSet::setMax(), and SSVector::SSVector().
number of used indices Definition at line 63 of file idxset.h. Referenced by IdxSet::add(), IdxSet::addIdx(), SSVector::assign(), SSVector::assign2product1(), SSVector::assign2productAndSetup(), SSVector::assign2productShort(), IdxSet::clear(), SSVector::clear(), IdxSet::IdxSet(), SSVector::length2(), SSVector::maxAbs(), SSVector::multAdd(), IdxSet::operator=(), SSVector::operator=(), IdxSet::remove(), SSVector::setSize(), SSVector::setup(), SSVector::setup_and_assign(), and IdxSet::size().
|