Public Member Functions | |
bool | operator< (const ConstraintLine &) const |
bool | operator== (const ConstraintLine &) const |
unsigned int | memory_consumption () const |
Public Attributes | |
unsigned int | line |
std::vector< std::pair < unsigned int, double > > | entries |
double | inhomogeneity |
This class represents one line of a constraint matrix.
bool ConstraintMatrix::ConstraintLine::operator< | ( | const ConstraintLine & | ) | const |
This operator is a bit weird and unintuitive: it compares the line numbers of two lines. We need this to sort the lines; in fact we could do this using a comparison predicate. However, this way, it is easier, albeit unintuitive since two lines really have no god-given order relation.
bool ConstraintMatrix::ConstraintLine::operator== | ( | const ConstraintLine & | ) | const |
This operator is likewise weird: it checks whether the line indices of the two operands are equal, irrespective of the fact that the contents of the line may be different.
Determine an estimate for the memory consumption (in bytes) of this object.
Number of this line. Since only very few lines are stored, we can not assume a specific order and have to store the line number explicitly.
std::vector<std::pair<unsigned int,double> > ConstraintMatrix::ConstraintLine::entries |
Row numbers and values of the entries in this line.
For the reason why we use a vector instead of a map and the consequences thereof, the same applies as what is said for ConstraintMatrixlines
.
Value of the inhomogeneity.