#include <ppl.hh>
Inherits Parma_Polyhedra_Library::Interval_Base.
Public Member Functions | |
| void | swap (Interval &y) |
Swaps *this with y. | |
| void | topological_closure_assign () |
Assigns to *this its topological closure. | |
| 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. | |
| template<typename From > | |
| Enable_If< Is_Singleton< From > ::value||Is_Interval< From > ::value, I_Result >::type | difference_assign (const From &x) |
Assigns to *this the smallest interval containing the set-theoretic difference of *this and x. | |
| template<typename From1 , typename From2 > | |
| Enable_If<((Is_Singleton < From1 >::value||Is_Interval < From1 >::value)&&(Is_Singleton < From2 >::value||Is_Interval < From2 >::value)), I_Result > ::type | difference_assign (const From1 &x, const From2 &y) |
Assigns to *this the smallest interval containing the set-theoretic difference of x and y. | |
| template<typename From > | |
| Enable_If< Is_Singleton< From > ::value||Is_Interval< From > ::value, I_Result >::type | refine_existential (Relation_Symbol rel, const From &x) |
Refines to according to the existential relation rel with x. | |
| template<typename From > | |
| Enable_If< Is_Singleton< From > ::value||Is_Interval< From > ::value, I_Result >::type | refine_universal (Relation_Symbol rel, const From &x) |
Refines to so that it satisfies the universal relation rel with x. | |
| template<typename From1 , typename From2 > | |
| Enable_If<((Is_Singleton < From1 >::value||Is_Interval < From1 >::value)&&(Is_Singleton < From2 >::value||Is_Interval < From2 >::value)), I_Result > ::type | mul_assign (const From1 &x, const From2 &y) |
| template<typename From1 , typename From2 > | |
| Enable_If<((Is_Singleton < From1 >::value||Is_Interval < From1 >::value)&&(Is_Singleton < From2 >::value||Is_Interval < From2 >::value)), I_Result > ::type | div_assign (const From1 &x, const From2 &y) |
Related Functions | |
| (Note that these are not member functions.) | |
| template<typename Boundary , typename Info > | |
| void | swap (Parma_Polyhedra_Library::Interval< Boundary, Info > &x, Parma_Polyhedra_Library::Interval< Boundary, Info > &y) |
FIXME: to be written.
| Enable_If< Is_Singleton< From >::value||Is_Interval< From >::value, I_Result >::type Parma_Polyhedra_Library::Interval< To_Boundary, To_Info >::refine_existential | ( | Relation_Symbol | rel, | |
| const From & | x | |||
| ) | [inline] |
Refines to according to the existential relation rel with x.
The to interval is restricted to become, upon successful exit, the smallest interval of its type that contains the set
| Enable_If< Is_Singleton< From >::value||Is_Interval< From >::value, I_Result >::type Parma_Polyhedra_Library::Interval< To_Boundary, To_Info >::refine_universal | ( | Relation_Symbol | rel, | |
| const From & | x | |||
| ) | [inline] |
Refines to so that it satisfies the universal relation rel with x.
The to interval is restricted to become, upon successful exit, the smallest interval of its type that contains the set
| Enable_If<((Is_Singleton< From1 >::value||Is_Interval< From1 >::value)&&(Is_Singleton< From2 >::value||Is_Interval< From2 >::value)), I_Result >::type Parma_Polyhedra_Library::Interval< To_Boundary, To_Info >::mul_assign | ( | const From1 & | x, | |
| const From2 & | y | |||
| ) | [inline] |
+---------+-----------+-----------+-----------------+ | * | yl > 0 | yu < 0 | yl < 0, yu > 0 | +---------+-----------+-----------+-----------------+ | xl > 0 |xl*yl,xu*yu|xu*yl,xl*yu| xu*yl,xu*yu | +---------+-----------+-----------+-----------------+ | xu < 0 |xl*yu,xu*yl|xu*yu,xl*yl| xl*yu,xl*yl | +---------+-----------+-----------+-----------------+ |xl<0 xu>0|xl*yu,xu*yu|xu*yl,xl*yl|min(xl*yu,xu*yl),| | | | |max(xl*yl,xu*yu) | +---------+-----------+-----------+-----------------+
| Enable_If<((Is_Singleton< From1 >::value||Is_Interval< From1 >::value)&&(Is_Singleton< From2 >::value||Is_Interval< From2 >::value)), I_Result >::type Parma_Polyhedra_Library::Interval< To_Boundary, To_Info >::div_assign | ( | const From1 & | x, | |
| const From2 & | y | |||
| ) | [inline] |
+-----------+-----------+-----------+ | / | yu < 0 | yl > 0 | +-----------+-----------+-----------+ | xu<=0 |xu/yl,xl/yu|xl/yl,xu/yu| +-----------+-----------+-----------+ |xl<=0 xu>=0|xu/yu,xl/yu|xl/yl,xu/yl| +-----------+-----------+-----------+ | xl>=0 |xu/yu,xl/yl|xl/yu,xu/yl| +-----------+-----------+-----------+
| void swap | ( | Parma_Polyhedra_Library::Interval< Boundary, Info > & | x, | |
| Parma_Polyhedra_Library::Interval< Boundary, Info > & | y | |||
| ) | [related] |
1.5.7.1