Public Member Functions | |
| Linear_Expression () | |
| Default constructor: returns a copy of Linear_Expression::zero(). | |
| Linear_Expression (const Linear_Expression &e) | |
| Ordinary copy-constructor. | |
| ~Linear_Expression () | |
| Destructor. | |
| Linear_Expression (Coefficient_traits::const_reference n) | |
Builds the linear expression corresponding to the inhomogeneous term n. | |
| Linear_Expression (const Constraint &c) | |
Builds the linear expression corresponding to constraint c. | |
| Linear_Expression (const Generator &g) | |
Builds the linear expression corresponding to generator g (for points and closure points, the divisor is not copied). | |
| dimension_type | space_dimension () const |
Returns the dimension of the vector space enclosing *this. | |
| Coefficient_traits::const_reference | coefficient (Variable v) const |
Returns the coefficient of v in *this. | |
| Coefficient_traits::const_reference | inhomogeneous_term () const |
Returns the inhomogeneous term of *this. | |
| memory_size_type | total_memory_in_bytes () const |
Returns a lower bound to the total size in bytes of the memory occupied by *this. | |
| memory_size_type | external_memory_in_bytes () const |
Returns the size in bytes of the memory managed by *this. | |
| bool | OK () const |
| Checks if all the invariants are satisfied. | |
| void | swap (Linear_Expression &y) |
Swaps *this with y. | |
Static Public Member Functions | |
| static dimension_type | max_space_dimension () |
| Returns the maximum space dimension a Linear_Expression can handle. | |
| static const Linear_Expression & | zero () |
| Returns the (zero-dimension space) constant 0. | |
Friends | |
| Linear_Expression | operator+ (const Linear_Expression &e1, const Linear_Expression &e2) |
Returns the linear expression e1 + e2. | |
| Linear_Expression | operator+ (Coefficient_traits::const_reference n, const Linear_Expression &e) |
Returns the linear expression n + e. | |
| Linear_Expression | operator+ (const Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression e + n. | |
| Linear_Expression | operator- (const Linear_Expression &e) |
Returns the linear expression - e. | |
| Linear_Expression | operator- (const Linear_Expression &e1, const Linear_Expression &e2) |
Returns the linear expression e1 - e2. | |
| Linear_Expression | operator- (Coefficient_traits::const_reference n, const Linear_Expression &e) |
Returns the linear expression n - e. | |
| Linear_Expression | operator- (const Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression e - n. | |
| Linear_Expression | operator * (Coefficient_traits::const_reference n, const Linear_Expression &e) |
Returns the linear expression n * e. | |
| Linear_Expression | operator * (const Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression e * n. | |
| Linear_Expression & | operator+= (Linear_Expression &e1, const Linear_Expression &e2) |
Returns the linear expression e1 + e2 and assigns it to e1. | |
| Linear_Expression & | operator+= (Linear_Expression &e, const Variable v) |
Returns the linear expression e + v and assigns it to e. | |
| Linear_Expression & | operator+= (Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression e + n and assigns it to e. | |
| Linear_Expression & | operator-= (Linear_Expression &e1, const Linear_Expression &e2) |
Returns the linear expression e1 - e2 and assigns it to e1. | |
| Linear_Expression & | operator-= (Linear_Expression &e, const Variable v) |
Returns the linear expression e - v and assigns it to e. | |
| Linear_Expression & | operator-= (Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression e - n and assigns it to e. | |
| Linear_Expression & | operator *= (Linear_Expression &e, Coefficient_traits::const_reference n) |
Returns the linear expression n * e and assigns it to e. | |
| std::ostream & | operator<< (std::ostream &s, const Linear_Expression &e) |
| Output operator. | |
Related Functions | |
| (Note that these are not member functions.) | |
| Linear_Expression (const Variable v) | |
Builds the linear expression corresponding to the variable v. | |
| Linear_Expression | operator+ (const Linear_Expression &e) |
Returns the linear expression e. | |
| void | swap (Parma_Polyhedra_Library::Linear_Expression &x, Parma_Polyhedra_Library::Linear_Expression &y) |
Specializes std::swap. | |
An object of the class Linear_Expression represents the linear expression
where
is the dimension of the vector space, each
is the integer coefficient of the
-th variable
and
is the integer for the inhomogeneous term.
x is defined as x.id()+1, whereas all the objects of the class Coefficient have space dimension zero.
, having space dimension
: Linear_Expression e = 4*x - 2*y - z + 14;
Linear_Expression e1 = 4*x; Linear_Expression e2 = 2*y; Linear_Expression e3 = z; Linear_Expression e = Linear_Expression(14); e += e1 - e2 - e3;
e1, e2 and e3 have space dimension 1, 2 and 3, respectively; also, in the fourth line of code, e is created with space dimension zero and then extended to space dimension 3 in the fifth line.
|
|
|
|
1.4.6-20060115