PPL  1.2
Parma_Polyhedra_Library::Linear_Expression Class Reference

A linear expression. More...

#include <ppl.hh>

Inheritance diagram for Parma_Polyhedra_Library::Linear_Expression:

Classes

class  const_iterator
 

Public Member Functions

 Linear_Expression (Representation r=default_representation)
 Default constructor: returns a copy of Linear_Expression::zero().
 
 Linear_Expression (const Linear_Expression &e)
 Ordinary copy constructor. More...
 
 Linear_Expression (const Linear_Expression &e, Representation r)
 Copy constructor that takes also a Representation.
 
template<typename LE_Adapter >
 Linear_Expression (const LE_Adapter &e, typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type=0)
 Copy constructor from a linear expression adapter. More...
 
template<typename LE_Adapter >
 Linear_Expression (const LE_Adapter &e, Representation r, typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type=0)
 Copy constructor from a linear expression adapter that takes a Representation.
 
template<typename LE_Adapter >
 Linear_Expression (const LE_Adapter &e, dimension_type space_dim, typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type=0)
 Copy constructor from a linear expression adapter that takes a space dimension. More...
 
template<typename LE_Adapter >
 Linear_Expression (const LE_Adapter &e, dimension_type space_dim, Representation r, typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type=0)
 Copy constructor from a linear expression adapter that takes a space dimension and a Representation.
 
Linear_Expressionoperator= (const Linear_Expression &e)
 Assignment operator.
 
 ~Linear_Expression ()
 Destructor.
 
 Linear_Expression (Coefficient_traits::const_reference n, Representation r=default_representation)
 Builds the linear expression corresponding to the inhomogeneous term n.
 
 Linear_Expression (Variable v, Representation r=default_representation)
 Builds the linear expression corresponding to the variable v. More...
 
Representation representation () const
 Returns the current representation of *this.
 
void set_representation (Representation r)
 Converts *this to the specified representation.
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator lower_bound (Variable v) const
 
dimension_type space_dimension () const
 Returns the dimension of the vector space enclosing *this.
 
void set_space_dimension (dimension_type n)
 Sets the dimension of the vector space enclosing *this to n .
 
Coefficient_traits::const_reference coefficient (Variable v) const
 Returns the coefficient of v in *this.
 
void set_coefficient (Variable v, Coefficient_traits::const_reference n)
 Sets the coefficient of v in *this to n.
 
Coefficient_traits::const_reference inhomogeneous_term () const
 Returns the inhomogeneous term of *this.
 
void set_inhomogeneous_term (Coefficient_traits::const_reference n)
 Sets the inhomogeneous term of *this to n.
 
void linear_combine (const Linear_Expression &y, Variable v)
 
void linear_combine (const Linear_Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2)
 
void linear_combine_lax (const Linear_Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2)
 
void swap_space_dimensions (Variable v1, Variable v2)
 Swaps the coefficients of the variables v1 and v2 .
 
void remove_space_dimensions (const Variables_Set &vars)
 Removes all the specified dimensions from the expression. More...
 
void shift_space_dimensions (Variable v, dimension_type n)
 
void permute_space_dimensions (const std::vector< Variable > &cycle)
 Permutes the space dimensions of the expression. More...
 
bool is_zero () const
 Returns true if and only if *this is $0$.
 
bool all_homogeneous_terms_are_zero () const
 Returns true if and only if all the homogeneous terms of *this are $0$.
 
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 ascii_dump () const
 Writes to std::cerr an ASCII representation of *this.
 
void ascii_dump (std::ostream &s) const
 Writes to s an ASCII representation of *this.
 
void print () const
 Prints *this to std::cerr using operator<<.
 
bool ascii_load (std::istream &s)
 Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise.
 
void m_swap (Linear_Expression &y)
 Swaps *this with y.
 
 Linear_Expression (const Linear_Expression &e, dimension_type space_dim)
 Copy constructor with a specified space dimension.
 
 Linear_Expression (const Linear_Expression &e, dimension_type space_dim, Representation r)
 Copy constructor with a specified space dimension and representation.
 
bool is_equal_to (const Linear_Expression &x) const
 
void normalize ()
 
void sign_normalize ()
 
bool all_zeroes (const Variables_Set &vars) const
 Returns true if the coefficient of each variable in vars[i] is $0$.
 

Static Public Member Functions

static dimension_type max_space_dimension ()
 Returns the maximum space dimension a Linear_Expression can handle.
 
static void initialize ()
 Initializes the class.
 
static void finalize ()
 Finalizes the class.
 
static const Linear_Expressionzero ()
 Returns the (zero-dimension space) constant 0.
 

Related Functions

(Note that these are not member functions.)

Linear_Expression operator+ (const Linear_Expression &e1, const Linear_Expression &e2)
 Returns the linear expression e1 + e2. More...
 
Linear_Expression operator+ (Variable v, Variable w)
 Returns the linear expression v + w. More...
 
Linear_Expression operator+ (Variable v, const Linear_Expression &e)
 Returns the linear expression v + e. More...
 
Linear_Expression operator+ (const Linear_Expression &e, Variable v)
 Returns the linear expression e + v. More...
 
Linear_Expression operator+ (Coefficient_traits::const_reference n, const Linear_Expression &e)
 Returns the linear expression n + e. More...
 
Linear_Expression operator+ (const Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression e + n. More...
 
Linear_Expression operator+ (const Linear_Expression &e)
 Returns the linear expression e. More...
 
Linear_Expression operator- (const Linear_Expression &e)
 Returns the linear expression - e. More...
 
Linear_Expression operator- (const Linear_Expression &e1, const Linear_Expression &e2)
 Returns the linear expression e1 - e2. More...
 
Linear_Expression operator- (Variable v, Variable w)
 Returns the linear expression v - w. More...
 
Linear_Expression operator- (Variable v, const Linear_Expression &e)
 Returns the linear expression v - e. More...
 
Linear_Expression operator- (const Linear_Expression &e, Variable v)
 Returns the linear expression e - v. More...
 
Linear_Expression operator- (Coefficient_traits::const_reference n, const Linear_Expression &e)
 Returns the linear expression n - e. More...
 
Linear_Expression operator- (const Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression e - n. More...
 
Linear_Expression operator* (Coefficient_traits::const_reference n, const Linear_Expression &e)
 Returns the linear expression n * e. More...
 
Linear_Expression operator* (const Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression e * n. More...
 
Linear_Expressionoperator+= (Linear_Expression &e1, const Linear_Expression &e2)
 Returns the linear expression e1 + e2 and assigns it to e1. More...
 
Linear_Expressionoperator+= (Linear_Expression &e, Variable v)
 Returns the linear expression e + v and assigns it to e. More...
 
Linear_Expressionoperator+= (Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression e + n and assigns it to e. More...
 
Linear_Expressionoperator-= (Linear_Expression &e1, const Linear_Expression &e2)
 Returns the linear expression e1 - e2 and assigns it to e1. More...
 
Linear_Expressionoperator-= (Linear_Expression &e, Variable v)
 Returns the linear expression e - v and assigns it to e. More...
 
Linear_Expressionoperator-= (Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression e - n and assigns it to e. More...
 
Linear_Expressionoperator*= (Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression n * e and assigns it to e. More...
 
Linear_Expressionoperator/= (Linear_Expression &e, Coefficient_traits::const_reference n)
 Returns the linear expression n / e and assigns it to e. More...
 
void neg_assign (Linear_Expression &e)
 Assigns to e its own negation. More...
 
Linear_Expressionadd_mul_assign (Linear_Expression &e, Coefficient_traits::const_reference n, Variable v)
 Returns the linear expression e + n * v and assigns it to e. More...
 
void add_mul_assign (Linear_Expression &e1, Coefficient_traits::const_reference factor, const Linear_Expression &e2)
 Sums e2 multiplied by factor into e1. More...
 
void sub_mul_assign (Linear_Expression &e1, Coefficient_traits::const_reference factor, const Linear_Expression &e2)
 Subtracts e2 multiplied by factor from e1. More...
 
Linear_Expressionsub_mul_assign (Linear_Expression &e, Coefficient_traits::const_reference n, Variable v)
 Returns the linear expression e - n * v and assigns it to e. More...
 
std::ostream & operator<< (std::ostream &s, const Linear_Expression &e)
 Output operator. More...
 
void swap (Linear_Expression &x, Linear_Expression &y)
 Swaps x with y. More...
 
Linear_Expression operator+ (const Linear_Expression &e)
 
Linear_Expression operator+ (const Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expression operator+ (const Linear_Expression &e, const Variable v)
 
Linear_Expression operator- (const Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expression operator- (const Variable v, const Variable w)
 
Linear_Expression operator* (const Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expressionoperator+= (Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expressionoperator-= (Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expression operator+ (const Linear_Expression &e1, const Linear_Expression &e2)
 
Linear_Expression operator+ (const Variable v, const Linear_Expression &e)
 
Linear_Expression operator+ (Coefficient_traits::const_reference n, const Linear_Expression &e)
 
Linear_Expression operator+ (const Variable v, const Variable w)
 
Linear_Expression operator- (const Linear_Expression &e)
 
Linear_Expression operator- (const Linear_Expression &e1, const Linear_Expression &e2)
 
Linear_Expression operator- (const Variable v, const Linear_Expression &e)
 
Linear_Expression operator- (const Linear_Expression &e, const Variable v)
 
Linear_Expression operator- (Coefficient_traits::const_reference n, const Linear_Expression &e)
 
Linear_Expression operator* (Coefficient_traits::const_reference n, const Linear_Expression &e)
 
Linear_Expressionoperator+= (Linear_Expression &e1, const Linear_Expression &e2)
 
Linear_Expressionoperator+= (Linear_Expression &e, const Variable v)
 
Linear_Expressionoperator-= (Linear_Expression &e1, const Linear_Expression &e2)
 
Linear_Expressionoperator-= (Linear_Expression &e, const Variable v)
 
Linear_Expressionoperator*= (Linear_Expression &e, Coefficient_traits::const_reference n)
 
Linear_Expressionoperator/= (Linear_Expression &e, Coefficient_traits::const_reference n)
 
void neg_assign (Linear_Expression &e)
 
Linear_Expressionadd_mul_assign (Linear_Expression &e, Coefficient_traits::const_reference n, const Variable v)
 
Linear_Expressionsub_mul_assign (Linear_Expression &e, Coefficient_traits::const_reference n, const Variable v)
 
std::ostream & operator<< (std::ostream &s, const Linear_Expression &e)
 
void swap (Linear_Expression &x, Linear_Expression &y)
 

Detailed Description

A linear expression.

An object of the class Linear_Expression represents the linear expression

\[ \sum_{i=0}^{n-1} a_i x_i + b \]

where $n$ is the dimension of the vector space, each $a_i$ is the integer coefficient of the $i$-th variable $x_i$ and $b$ is the integer for the inhomogeneous term.

How to build a linear expression.

Linear expressions are the basic blocks for defining both constraints (i.e., linear equalities or inequalities) and generators (i.e., lines, rays, points and closure points). A full set of functions is defined to provide a convenient interface for building complex linear expressions starting from simpler ones and from objects of the classes Variable and Coefficient: available operators include unary negation, binary addition and subtraction, as well as multiplication by a Coefficient. The space dimension of a linear expression is defined as the maximum space dimension of the arguments used to build it: in particular, the space dimension of a Variable x is defined as x.id()+1, whereas all the objects of the class Coefficient have space dimension zero.

Example
The following code builds the linear expression $4x - 2y - z + 14$, having space dimension $3$:
Linear_Expression e = 4*x - 2*y - z + 14;
Another way to build the same linear expression is:
e += e1 - e2 - e3;
Note that 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.

Constructor & Destructor Documentation

Parma_Polyhedra_Library::Linear_Expression::Linear_Expression ( const Linear_Expression e)

Ordinary copy constructor.

Note
The new expression will have the same representation as e (not necessarily the default_representation).
template<typename LE_Adapter >
Parma_Polyhedra_Library::Linear_Expression::Linear_Expression ( const LE_Adapter &  e,
typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type  = 0 
)
inlineexplicit

Copy constructor from a linear expression adapter.

Note
The new expression will have the same representation as e (not necessarily the default_representation).
template<typename LE_Adapter >
Parma_Polyhedra_Library::Linear_Expression::Linear_Expression ( const LE_Adapter &  e,
dimension_type  space_dim,
typename Enable_If< Is_Same_Or_Derived< Expression_Adapter_Base, LE_Adapter >::value, void * >::type  = 0 
)
inlineexplicit

Copy constructor from a linear expression adapter that takes a space dimension.

Note
The new expression will have the same representation as e (not necessarily default_representation).
Parma_Polyhedra_Library::Linear_Expression::Linear_Expression ( Variable  v,
Representation  r = default_representation 
)

Builds the linear expression corresponding to the variable v.

Exceptions
std::length_errorThrown if the space dimension of v exceeds Linear_Expression::max_space_dimension().

Member Function Documentation

Linear_Expression::const_iterator Parma_Polyhedra_Library::Linear_Expression::begin ( ) const
inline

Returns an iterator that points to the first nonzero coefficient in the expression.

Linear_Expression::const_iterator Parma_Polyhedra_Library::Linear_Expression::end ( ) const
inline

Returns an iterator that points to the last nonzero coefficient in the expression.

Linear_Expression::const_iterator Parma_Polyhedra_Library::Linear_Expression::lower_bound ( Variable  v) const
inline

Returns an iterator that points to the first nonzero coefficient of a variable bigger than or equal to v.

void Parma_Polyhedra_Library::Linear_Expression::linear_combine ( const Linear_Expression y,
Variable  v 
)

Linearly combines *this with y so that the coefficient of v is 0.

Parameters
yThe expression that will be combined with *this object;
vThe variable whose coefficient has to become $0$.

Computes a linear combination of *this and y having the coefficient of variable v equal to $0$. Then it assigns the resulting expression to *this.

*this and y must have the same space dimension.

void Parma_Polyhedra_Library::Linear_Expression::linear_combine ( const Linear_Expression y,
Coefficient_traits::const_reference  c1,
Coefficient_traits::const_reference  c2 
)
inline

Equivalent to *this = *this * c1 + y * c2, but assumes that c1 and c2 are not 0.

void Parma_Polyhedra_Library::Linear_Expression::linear_combine_lax ( const Linear_Expression y,
Coefficient_traits::const_reference  c1,
Coefficient_traits::const_reference  c2 
)
inline

Equivalent to *this = *this * c1 + y * c2. c1 and c2 may be 0.

void Parma_Polyhedra_Library::Linear_Expression::remove_space_dimensions ( const Variables_Set vars)
inline

Removes all the specified dimensions from the expression.

The space dimension of the variable with the highest space dimension in vars must be at most the space dimension of this.

void Parma_Polyhedra_Library::Linear_Expression::shift_space_dimensions ( Variable  v,
dimension_type  n 
)
inline

Shift by n positions the coefficients of variables, starting from the coefficient of v. This increases the space dimension by n.

void Parma_Polyhedra_Library::Linear_Expression::permute_space_dimensions ( const std::vector< Variable > &  cycle)
inline

Permutes the space dimensions of the expression.

Parameters
cycleA vector representing a cycle of the permutation according to which the space dimensions must be rearranged.

The cycle vector represents a cycle of a permutation of space dimensions. For example, the permutation $ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}$ can be represented by the vector containing $ x_1, x_2, x_3 $.

bool Parma_Polyhedra_Library::Linear_Expression::is_equal_to ( const Linear_Expression x) const
inline

Returns true if *this is equal to x. Note that (*this == x) has a completely different meaning.

void Parma_Polyhedra_Library::Linear_Expression::normalize ( )
inline

Normalizes the modulo of the coefficients and of the inhomogeneous term so that they are mutually prime.

Computes the Greatest Common Divisor (GCD) among the coefficients and the inhomogeneous term and normalizes them by the GCD itself.

void Parma_Polyhedra_Library::Linear_Expression::sign_normalize ( )
inline

Ensures that the first nonzero homogeneous coefficient is positive, by negating the row if necessary.

Friends And Related Function Documentation

Linear_Expression operator+ ( const Linear_Expression e1,
const Linear_Expression e2 
)
related

Returns the linear expression e1 + e2.

Linear_Expression operator+ ( Variable  v,
Variable  w 
)
related

Returns the linear expression v + w.

Linear_Expression operator+ ( Variable  v,
const Linear_Expression e 
)
related

Returns the linear expression v + e.

Linear_Expression operator+ ( const Linear_Expression e,
Variable  v 
)
related

Returns the linear expression e + v.

Linear_Expression operator+ ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related

Returns the linear expression n + e.

Linear_Expression operator+ ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression e + n.

Linear_Expression operator+ ( const Linear_Expression e)
related

Returns the linear expression e.

Linear_Expression operator- ( const Linear_Expression e)
related

Returns the linear expression - e.

Linear_Expression operator- ( const Linear_Expression e1,
const Linear_Expression e2 
)
related

Returns the linear expression e1 - e2.

Linear_Expression operator- ( Variable  v,
Variable  w 
)
related

Returns the linear expression v - w.

Linear_Expression operator- ( Variable  v,
const Linear_Expression e 
)
related

Returns the linear expression v - e.

Linear_Expression operator- ( const Linear_Expression e,
Variable  v 
)
related

Returns the linear expression e - v.

Linear_Expression operator- ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related

Returns the linear expression n - e.

Linear_Expression operator- ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression e - n.

Linear_Expression operator* ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related

Returns the linear expression n * e.

Linear_Expression operator* ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression e * n.

Linear_Expression & operator+= ( Linear_Expression e1,
const Linear_Expression e2 
)
related

Returns the linear expression e1 + e2 and assigns it to e1.

Linear_Expression & operator+= ( Linear_Expression e,
Variable  v 
)
related

Returns the linear expression e + v and assigns it to e.

Exceptions
std::length_errorThrown if the space dimension of v exceeds Linear_Expression::max_space_dimension().
Linear_Expression & operator+= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression e + n and assigns it to e.

Linear_Expression & operator-= ( Linear_Expression e1,
const Linear_Expression e2 
)
related

Returns the linear expression e1 - e2 and assigns it to e1.

Linear_Expression & operator-= ( Linear_Expression e,
Variable  v 
)
related

Returns the linear expression e - v and assigns it to e.

Exceptions
std::length_errorThrown if the space dimension of v exceeds Linear_Expression::max_space_dimension().
Linear_Expression & operator-= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression e - n and assigns it to e.

Linear_Expression & operator*= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression n * e and assigns it to e.

Linear_Expression & operator/= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related

Returns the linear expression n / e and assigns it to e.

void neg_assign ( Linear_Expression e)
related

Assigns to e its own negation.

Linear_Expression & add_mul_assign ( Linear_Expression e,
Coefficient_traits::const_reference  n,
Variable  v 
)
related

Returns the linear expression e + n * v and assigns it to e.

void add_mul_assign ( Linear_Expression e1,
Coefficient_traits::const_reference  factor,
const Linear_Expression e2 
)
related

Sums e2 multiplied by factor into e1.

void sub_mul_assign ( Linear_Expression e1,
Coefficient_traits::const_reference  factor,
const Linear_Expression e2 
)
related

Subtracts e2 multiplied by factor from e1.

Linear_Expression & sub_mul_assign ( Linear_Expression e,
Coefficient_traits::const_reference  n,
Variable  v 
)
related

Returns the linear expression e - n * v and assigns it to e.

std::ostream & operator<< ( std::ostream &  s,
const Linear_Expression e 
)
related

Output operator.

void swap ( Linear_Expression x,
Linear_Expression y 
)
related

Swaps x with y.

Linear_Expression operator+ ( const Linear_Expression e)
related
Linear_Expression operator+ ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression operator+ ( const Linear_Expression e,
const Variable  v 
)
related
Linear_Expression operator- ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression operator- ( const Variable  v,
const Variable  w 
)
related
Linear_Expression operator* ( const Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression & operator+= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression & operator-= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression operator+ ( const Linear_Expression e1,
const Linear_Expression e2 
)
related
Linear_Expression operator+ ( const Variable  v,
const Linear_Expression e 
)
related
Linear_Expression operator+ ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related
Linear_Expression operator+ ( const Variable  v,
const Variable  w 
)
related
Linear_Expression operator- ( const Linear_Expression e)
related
Linear_Expression operator- ( const Linear_Expression e1,
const Linear_Expression e2 
)
related
Linear_Expression operator- ( const Variable  v,
const Linear_Expression e 
)
related
Linear_Expression operator- ( const Linear_Expression e,
const Variable  v 
)
related
Linear_Expression operator- ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related
Linear_Expression operator* ( Coefficient_traits::const_reference  n,
const Linear_Expression e 
)
related
Linear_Expression & operator+= ( Linear_Expression e1,
const Linear_Expression e2 
)
related
Linear_Expression & operator+= ( Linear_Expression e,
const Variable  v 
)
related
Linear_Expression & operator-= ( Linear_Expression e1,
const Linear_Expression e2 
)
related
Linear_Expression & operator-= ( Linear_Expression e,
const Variable  v 
)
related
Linear_Expression & operator*= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
Linear_Expression & operator/= ( Linear_Expression e,
Coefficient_traits::const_reference  n 
)
related
void neg_assign ( Linear_Expression e)
related
Linear_Expression & add_mul_assign ( Linear_Expression e,
Coefficient_traits::const_reference  n,
const Variable  v 
)
related
Linear_Expression & sub_mul_assign ( Linear_Expression e,
Coefficient_traits::const_reference  n,
const Variable  v 
)
related
std::ostream & operator<< ( std::ostream &  s,
const Linear_Expression e 
)
related
void swap ( Linear_Expression x,
Linear_Expression y 
)
related

The documentation for this class was generated from the following file: