|
PPL
1.2
|
An adapter for Linear_Expression that maybe hides the last coefficient. More...
#include <Expression_Hide_Last_defs.hh>


Public Types | |
| typedef Expression_Hide_Last< T > | const_reference |
| The type of this object. More... | |
| typedef base_type::inner_type | inner_type |
| The type obtained by one-level unwrapping. More... | |
| typedef base_type::raw_type | raw_type |
| The raw, completely unwrapped type. More... | |
| typedef base_type::const_iterator | const_iterator |
| The type of const iterators on coefficients. More... | |
Public Types inherited from Parma_Polyhedra_Library::Expression_Adapter< T > | |
| typedef Expression_Adapter< T > | const_reference |
| The type of this object. More... | |
| typedef T::const_reference | inner_type |
| The type obtained by one-level unwrapping. More... | |
| typedef T::raw_type | raw_type |
| The raw, completely unwrapped type. More... | |
| typedef raw_type::const_iterator | const_iterator |
| The type of const iterators on coefficients. More... | |
Public Member Functions | |
| Expression_Hide_Last (const raw_type &expr, bool hide_last) | |
| Constructor. More... | |
| const_iterator | end () const |
| Iterator pointing after the last nonzero variable coefficient. More... | |
| const_iterator | lower_bound (Variable v) const |
| dimension_type | space_dimension () const |
Returns the dimension of the vector space enclosing *this. More... | |
| Coefficient_traits::const_reference | coefficient (Variable v) const |
Returns the coefficient of v in *this. More... | |
| bool | is_zero () const |
Returns true if and only if *this is zero. More... | |
| bool | all_homogeneous_terms_are_zero () const |
Returns true if and only if all the homogeneous terms of *this are zero. More... | |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y) const |
Returns true if *this is equal to y. More... | |
| bool | all_zeroes (const Variables_Set &vars) const |
Returns true if the coefficient of each variable in vars is zero. More... | |
| Coefficient_traits::const_reference | get (dimension_type i) const |
Returns the i -th coefficient. More... | |
| Coefficient_traits::const_reference | get (Variable v) const |
Returns the coefficient of variable v. More... | |
| bool | all_zeroes (dimension_type start, dimension_type end) const |
Returns true if (*this)[i] is zero, for each i in [start, end). More... | |
| dimension_type | num_zeroes (dimension_type start, dimension_type end) const |
| Returns the number of zero coefficient in [start, end). More... | |
| Coefficient | gcd (dimension_type start, dimension_type end) const |
| Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero. More... | |
| dimension_type | last_nonzero () const |
| dimension_type | last_nonzero (dimension_type first, dimension_type last) const |
| dimension_type | first_nonzero (dimension_type first, dimension_type last) const |
| bool | all_zeroes_except (const Variables_Set &vars, dimension_type start, dimension_type end) const |
Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero. More... | |
| void | has_a_free_dimension_helper (std::set< dimension_type > &x) const |
Removes from set x all the indexes of nonzero elements in *this. More... | |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y, dimension_type start, dimension_type end) const |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) const |
| void | get_row (Dense_Row &r) const |
Sets r to a copy of the row as adapted by *this. More... | |
| void | get_row (Sparse_Row &r) const |
Sets r to a copy of the row as adapted by *this. More... | |
| template<typename Expression > | |
| bool | have_a_common_variable (const Expression &y, Variable first, Variable last) const |
Public Member Functions inherited from Parma_Polyhedra_Library::Expression_Adapter< T > | |
| inner_type | inner () const |
| Returns an adapter after one-level unwrapping. More... | |
| Representation | representation () const |
Returns the current representation of *this. More... | |
| const_iterator | begin () const |
| Iterator pointing to the first nonzero variable coefficient. More... | |
| const_iterator | end () const |
| Iterator pointing after the last nonzero variable coefficient. More... | |
| const_iterator | lower_bound (Variable v) const |
| dimension_type | space_dimension () const |
Returns the dimension of the vector space enclosing *this. More... | |
| Coefficient_traits::const_reference | coefficient (Variable v) const |
Returns the coefficient of v in *this. More... | |
| Coefficient_traits::const_reference | inhomogeneous_term () const |
Returns the inhomogeneous term of *this. More... | |
| bool | is_zero () const |
Returns true if and only if *this is zero. More... | |
| bool | all_homogeneous_terms_are_zero () const |
Returns true if and only if all the homogeneous terms of *this are zero. More... | |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y) const |
Returns true if *this is equal to y. More... | |
| bool | all_zeroes (const Variables_Set &vars) const |
Returns true if the coefficient of each variable in vars is zero. More... | |
| Coefficient_traits::const_reference | get (dimension_type i) const |
Returns the i -th coefficient. More... | |
| Coefficient_traits::const_reference | get (Variable v) const |
Returns the coefficient of variable v. More... | |
| bool | all_zeroes (dimension_type start, dimension_type end) const |
Returns true if (*this)[i] is zero, for each i in [start, end). More... | |
| dimension_type | num_zeroes (dimension_type start, dimension_type end) const |
| Returns the number of zero coefficient in [start, end). More... | |
| Coefficient | gcd (dimension_type start, dimension_type end) const |
| Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero. More... | |
| dimension_type | last_nonzero () const |
| dimension_type | last_nonzero (dimension_type first, dimension_type last) const |
| dimension_type | first_nonzero (dimension_type first, dimension_type last) const |
| bool | all_zeroes_except (const Variables_Set &vars, dimension_type start, dimension_type end) const |
Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero. More... | |
| void | has_a_free_dimension_helper (std::set< dimension_type > &x) const |
Removes from set x all the indexes of nonzero elements in *this. More... | |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y, dimension_type start, dimension_type end) const |
| template<typename Expression > | |
| bool | is_equal_to (const Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) const |
| void | get_row (Dense_Row &r) const |
Sets r to a copy of the row as adapted by *this. More... | |
| void | get_row (Sparse_Row &r) const |
Sets r to a copy of the row as adapted by *this. More... | |
| template<typename Expression > | |
| bool | have_a_common_variable (const Expression &y, Variable first, Variable last) const |
Private Types | |
| typedef Expression_Adapter< T > | base_type |
Private Attributes | |
| const bool | hide_last_ |
| Whether or not the last coefficient is hidden. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Parma_Polyhedra_Library::Expression_Adapter< T > | |
| Expression_Adapter (const raw_type &expr) | |
| Constructor. More... | |
Protected Attributes inherited from Parma_Polyhedra_Library::Expression_Adapter< T > | |
| const raw_type & | raw_ |
| The raw, completely unwrapped object subject to adaptation. More... | |
An adapter for Linear_Expression that maybe hides the last coefficient.
Definition at line 37 of file Expression_Hide_Last_defs.hh.
|
private |
Definition at line 39 of file Expression_Hide_Last_defs.hh.
| typedef base_type::const_iterator Parma_Polyhedra_Library::Expression_Hide_Last< T >::const_iterator |
The type of const iterators on coefficients.
Definition at line 49 of file Expression_Hide_Last_defs.hh.
| typedef Expression_Hide_Last<T> Parma_Polyhedra_Library::Expression_Hide_Last< T >::const_reference |
The type of this object.
Definition at line 42 of file Expression_Hide_Last_defs.hh.
| typedef base_type::inner_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::inner_type |
The type obtained by one-level unwrapping.
Definition at line 44 of file Expression_Hide_Last_defs.hh.
| typedef base_type::raw_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::raw_type |
The raw, completely unwrapped type.
Definition at line 46 of file Expression_Hide_Last_defs.hh.
|
inlineexplicit |
Constructor.
Definition at line 33 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if and only if all the homogeneous terms of *this are zero.
Definition at line 82 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::is_universe(), Parma_Polyhedra_Library::Polyhedron::strongly_minimize_constraints(), and Parma_Polyhedra_Library::Polyhedron::time_elapse_assign().
|
inline |
Returns true if the coefficient of each variable in vars is zero.
Definition at line 101 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Variables_Set::space_dimension().
Referenced by Parma_Polyhedra_Library::Polyhedron::constrains(), Parma_Polyhedra_Library::Grid::constrains(), Parma_Polyhedra_Library::Polyhedron::drop_some_non_integer_points(), Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference(), Parma_Polyhedra_Library::Box_Helpers::extract_interval_constraint(), Parma_Polyhedra_Library::Octagonal_Shape< T >::extract_octagonal_difference(), and Parma_Polyhedra_Library::MIP_Problem::parse_constraints().
|
inline |
Returns true if (*this)[i] is zero, for each i in [start, end).
Definition at line 122 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero.
Definition at line 169 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::PIP_Problem::solve().
|
inline |
Returns the coefficient of v in *this.
Definition at line 69 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Variable::space_dimension().
|
inline |
Iterator pointing after the last nonzero variable coefficient.
Definition at line 51 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::BD_Shape(), Parma_Polyhedra_Library::Box< ITV >::Box(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR_original(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_systems_MS(), Parma_Polyhedra_Library::Grid::map_space_dimensions(), Parma_Polyhedra_Library::Polyhedron::map_space_dimensions(), Parma_Polyhedra_Library::Constraint::operator<<(), Parma_Polyhedra_Library::MIP_Problem::process_pending_constraints(), Parma_Polyhedra_Library::Box< ITV >::relation_with(), and Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau().
|
inline |
Returns the index of the first nonzero element, or last if there are no nonzero elements, considering only elements in [first,last).
Definition at line 160 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference(), Parma_Polyhedra_Library::Box_Helpers::extract_interval_constraint(), Parma_Polyhedra_Library::Octagonal_Shape< T >::extract_octagonal_difference(), and Parma_Polyhedra_Library::MIP_Problem::parse_constraints().
|
inline |
Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero.
Definition at line 138 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::contains_integer_point(), and Parma_Polyhedra_Library::Polyhedron::drop_some_non_integer_points().
|
inline |
Returns the i -th coefficient.
Definition at line 108 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::BD_Shape(), and Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference().
|
inline |
Returns the coefficient of variable v.
Definition at line 115 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Variable::space_dimension().
|
inline |
Sets r to a copy of the row as adapted by *this.
Definition at line 212 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::resize(), and Parma_Polyhedra_Library::Dense_Row::size().
|
inline |
Sets r to a copy of the row as adapted by *this.
Definition at line 222 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Sparse_Row::resize(), and Parma_Polyhedra_Library::Sparse_Row::size().
|
inline |
Removes from set x all the indexes of nonzero elements in *this.
Definition at line 178 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if there is a variable in [first,last) whose coefficient is nonzero in both *this and y.
Definition at line 234 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Variable::space_dimension().
|
inline |
Returns true if *this is equal to y.
Note that (*this == y) has a completely different meaning.
Definition at line 90 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if (*this)[i] is equal to y[i], for each i in [start,end).
Definition at line 190 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if (*this)[i]*c1 is equal to y[i]*c2, for each i in [start,end).
Definition at line 201 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns true if and only if *this is zero.
Definition at line 76 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns the index of the last nonzero element, or zero if there are no nonzero elements.
Definition at line 146 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check().
|
inline |
Returns the index of the last nonzero element in [first,last), or last if there are no nonzero elements.
Definition at line 152 of file Expression_Hide_Last_inlines.hh.
|
inline |
Iterator pointing to the first nonzero variable coefficient of a variable bigger than or equal to v.
Definition at line 62 of file Expression_Hide_Last_inlines.hh.
References Parma_Polyhedra_Library::Variable::space_dimension().
Referenced by Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR_original(), and Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check().
|
inline |
Returns the number of zero coefficient in [start, end).
Definition at line 130 of file Expression_Hide_Last_inlines.hh.
|
inline |
Returns the dimension of the vector space enclosing *this.
Definition at line 40 of file Expression_Hide_Last_inlines.hh.
Referenced by Parma_Polyhedra_Library::Constraint::space_dimension(), Parma_Polyhedra_Library::Grid_Generator::space_dimension(), Parma_Polyhedra_Library::Generator::space_dimension(), and Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau().
|
private |
Whether or not the last coefficient is hidden.
Definition at line 160 of file Expression_Hide_Last_defs.hh.