|
|
| Artificial_Parameter () |
| | Default constructor: builds a zero artificial parameter.
|
| |
| | Artificial_Parameter (const Linear_Expression &expr, Coefficient_traits::const_reference d) |
| | Constructor. More...
|
| |
|
| Artificial_Parameter (const Artificial_Parameter &y) |
| | Copy constructor.
|
| |
|
Coefficient_traits::const_reference | denominator () const |
| | Returns the normalized (i.e., positive) denominator.
|
| |
|
void | m_swap (Artificial_Parameter &y) |
| | Swaps *this with y.
|
| |
| bool | operator== (const Artificial_Parameter &y) const |
| | Returns true if and only if *this and y are equal. More...
|
| |
|
bool | operator!= (const Artificial_Parameter &y) const |
| | Returns true if and only if *this and y are different.
|
| |
|
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.
|
| |
|
memory_size_type | total_memory_in_bytes () const |
| | Returns 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 |
| | Returns true if and only if the parameter is well-formed.
|
| |
|
| 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_Expression & | operator= (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 .
|
| |
|
bool | all_homogeneous_terms_are_zero () const |
| | Returns true if and only if all the homogeneous terms of *this are .
|
| |
|
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 .
|
| |
|
(Note that these are not member functions.)
|
| void | swap (PIP_Tree_Node::Artificial_Parameter &x, PIP_Tree_Node::Artificial_Parameter &y) |
| | Swaps x with y. More...
|
| |
| std::ostream & | operator<< (std::ostream &os, const PIP_Tree_Node::Artificial_Parameter &x) |
| | Output operator. More...
|
| |
| void | swap (PIP_Tree_Node::Artificial_Parameter &x, PIP_Tree_Node::Artificial_Parameter &y) |
| |
| 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_Expression & | operator+= (Linear_Expression &e1, const Linear_Expression &e2) |
| | Returns the linear expression e1 + e2 and assigns it to e1. More...
|
| |
| Linear_Expression & | operator+= (Linear_Expression &e, Variable v) |
| | Returns the linear expression e + v and assigns it to e. More...
|
| |
| Linear_Expression & | operator+= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| | Returns the linear expression e + n and assigns it to e. More...
|
| |
| Linear_Expression & | operator-= (Linear_Expression &e1, const Linear_Expression &e2) |
| | Returns the linear expression e1 - e2 and assigns it to e1. More...
|
| |
| Linear_Expression & | operator-= (Linear_Expression &e, Variable v) |
| | Returns the linear expression e - v and assigns it to e. More...
|
| |
| Linear_Expression & | operator-= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| | Returns the linear expression e - n and assigns it to e. More...
|
| |
| Linear_Expression & | operator*= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| | Returns the linear expression n * e and assigns it to e. More...
|
| |
| Linear_Expression & | operator/= (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_Expression & | add_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_Expression & | sub_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_Expression & | operator+= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| |
| Linear_Expression & | operator-= (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_Expression & | operator+= (Linear_Expression &e1, const Linear_Expression &e2) |
| |
| Linear_Expression & | operator+= (Linear_Expression &e, const Variable v) |
| |
| Linear_Expression & | operator-= (Linear_Expression &e1, const Linear_Expression &e2) |
| |
| Linear_Expression & | operator-= (Linear_Expression &e, const Variable v) |
| |
| Linear_Expression & | operator*= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| |
| Linear_Expression & | operator/= (Linear_Expression &e, Coefficient_traits::const_reference n) |
| |
| void | neg_assign (Linear_Expression &e) |
| |
| Linear_Expression & | add_mul_assign (Linear_Expression &e, Coefficient_traits::const_reference n, const Variable v) |
| |
| Linear_Expression & | sub_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) |
| |
Artificial parameters in PIP solution trees.
These parameters are built from a linear expression combining other parameters (constant term included) divided by a positive integer denominator. Coefficients at variables indices corresponding to PIP problem variables are always zero.