PPL
1.2
|
An adapter for Linear_Expression that hides the inhomogeneous term. More...
#include <Expression_Hide_Inhomo_defs.hh>
Public Types | |
typedef Expression_Hide_Inhomo< 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... | |
![]() | |
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_Inhomo (const raw_type &expr) | |
Constructor. More... | |
Coefficient_traits::const_reference | inhomogeneous_term () const |
Returns the constant zero. More... | |
bool | is_zero () const |
Returns true if and only if *this is zero. More... | |
template<typename Expression > | |
bool | is_equal_to (const Expression &y) const |
Returns true if *this is equal to y . 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 v. More... | |
bool | all_zeroes (const Variables_Set &vars) const |
Returns true if the coefficient of each variable in vars is zero. 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). If all the coefficients in this range are zero, returns 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... | |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
Expression_Adapter (const raw_type &expr) | |
Constructor. More... | |
![]() | |
const raw_type & | raw_ |
The raw, completely unwrapped object subject to adaptation. More... | |
An adapter for Linear_Expression that hides the inhomogeneous term.
The methods of this class always pretend that the value of the inhomogeneous term is zero.
Definition at line 42 of file Expression_Hide_Inhomo_defs.hh.
|
private |
Definition at line 44 of file Expression_Hide_Inhomo_defs.hh.
typedef base_type::const_iterator Parma_Polyhedra_Library::Expression_Hide_Inhomo< T >::const_iterator |
The type of const iterators on coefficients.
Definition at line 58 of file Expression_Hide_Inhomo_defs.hh.
typedef Expression_Hide_Inhomo<T> Parma_Polyhedra_Library::Expression_Hide_Inhomo< T >::const_reference |
The type of this object.
Definition at line 47 of file Expression_Hide_Inhomo_defs.hh.
typedef base_type::inner_type Parma_Polyhedra_Library::Expression_Hide_Inhomo< T >::inner_type |
The type obtained by one-level unwrapping.
Definition at line 49 of file Expression_Hide_Inhomo_defs.hh.
typedef base_type::raw_type Parma_Polyhedra_Library::Expression_Hide_Inhomo< T >::raw_type |
The raw, completely unwrapped type.
Definition at line 51 of file Expression_Hide_Inhomo_defs.hh.
|
explicit |
Constructor.
Definition at line 32 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if the coefficient of each variable in vars
is zero.
Definition at line 87 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if (*this)[i] is zero, for each i in [start, end).
Definition at line 93 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if all coefficients in [start,end), except those corresponding to variables in vars
, are zero.
Definition at line 168 of file Expression_Hide_Inhomo_inlines.hh.
|
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 154 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns the gcd of the nonzero coefficients in [start,end). If all the coefficients in this range are zero, returns zero.
Definition at line 122 of file Expression_Hide_Inhomo_inlines.hh.
References Parma_Polyhedra_Library::Coefficient_zero().
|
inline |
Returns the i-th coefficient.
Definition at line 69 of file Expression_Hide_Inhomo_inlines.hh.
References Parma_Polyhedra_Library::Coefficient_zero().
|
inline |
Returns the coefficient of v.
Definition at line 80 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Sets r
to a copy of the row as adapted by *this
.
Definition at line 224 of file Expression_Hide_Inhomo_inlines.hh.
References Parma_Polyhedra_Library::Dense_Row::reset().
|
inline |
Sets r
to a copy of the row as adapted by *this
.
Definition at line 231 of file Expression_Hide_Inhomo_inlines.hh.
References Parma_Polyhedra_Library::Sparse_Row::reset().
|
inline |
Removes from set x
all the indexes of nonzero elements in *this
.
Definition at line 182 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns the constant zero.
Definition at line 38 of file Expression_Hide_Inhomo_inlines.hh.
References Parma_Polyhedra_Library::Coefficient_zero().
|
inline |
Returns true
if *this
is equal to y
.
Note that (*this == y)
has a completely different meaning.
Definition at line 54 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if (*this)[i]
is equal to y[i]
, for each i in [start,end).
Definition at line 194 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if (*this)[i]*c1
is equal to y[i]*c2
, for each i in [start,end).
Definition at line 209 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns true
if and only if *this
is zero.
Definition at line 45 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns the index of the last nonzero element, or zero if there are no nonzero elements.
Definition at line 135 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns the index of the last nonzero element in [first,last), or last if there are no nonzero elements.
Definition at line 141 of file Expression_Hide_Inhomo_inlines.hh.
|
inline |
Returns the number of zero coefficient in [start, end).
Definition at line 106 of file Expression_Hide_Inhomo_inlines.hh.