25 #include "ppl-config.h"
43 PPL_ASSERT(zero_p == 0);
49 PPL_ASSERT(zero_p != 0);
167 if (representation() == r) {
void swap(CO_Tree &x, CO_Tree &y)
size_t dimension_type
An unsigned integral type for representing space dimensions.
bool OK() const
Checks if all the invariants are satisfied.
Linear_Expression_Interface * impl
static void finalize()
Finalizes the class.
A dimension of the vector space.
static dimension_type max_space_dimension()
Returns the maximum space dimension a Linear_Expression can handle.
static dimension_type max_size()
Returns the size() of the largest possible Dense_Row.
static void initialize()
Initializes the class.
void set_representation(Representation r)
Converts *this to the specified representation.
Coefficient_traits::const_reference Coefficient_zero()
Returns a const reference to a Coefficient with value 0.
#define PPL_OUTPUT_DEFINITIONS(class_name)
The entire library is confined to this namespace.
Representation representation() const
Returns the current representation of *this.
static const Linear_Expression * zero_p
Holds (between class initialization and finalization) a pointer to the (zero-dimension space) constan...
Dense representation: the coefficient sequence is represented as a vector of coefficients, including the zero coefficients. If there are only a few nonzero coefficients, this representation is faster and also uses a bit less memory.
Sparse representation: only the nonzero coefficient are stored. If there are many nonzero coefficient...
Linear_Expression(Representation r=default_representation)
Default constructor: returns a copy of Linear_Expression::zero().