|
PPL
0.12.1
|
#include <Interval_Info.defs.hh>

Public Member Functions | |
| const_bool_nodef (may_be_empty, Policy::may_be_empty) | |
| const_bool_nodef (may_contain_infinity, Policy::may_contain_infinity) | |
| const_bool_nodef (check_inexact, Policy::check_inexact) | |
| const_bool_nodef (store_special, Policy::store_special) | |
| const_bool_nodef (store_open, Policy::store_open) | |
| const_bool_nodef (cache_empty, Policy::cache_empty) | |
| const_bool_nodef (cache_singleton, Policy::cache_singleton) | |
| const_int_nodef (lower_special_bit, Policy::next_bit) | |
| const_int_nodef (lower_open_bit, lower_special_bit+(store_special?1:0)) | |
| const_int_nodef (upper_special_bit, lower_open_bit+(store_open?1:0)) | |
| const_int_nodef (upper_open_bit, upper_special_bit+(store_special?1:0)) | |
| const_int_nodef (cardinality_is_bit, upper_open_bit+(store_open?1:0)) | |
| const_int_nodef (cardinality_0_bit, cardinality_is_bit+((cache_empty||cache_singleton)?1:0)) | |
| const_int_nodef (cardinality_1_bit, cardinality_0_bit+(cache_empty?1:0)) | |
| const_int_nodef (next_bit, cardinality_1_bit+(cache_singleton?1:0)) | |
| Interval_Info_Bitset () | |
| void | clear () |
| void | clear_boundary_properties (Boundary_Type t) |
| void | set_boundary_property (Boundary_Type t, const Boundary_NS::Property &p, bool value=true) |
| bool | get_boundary_property (Boundary_Type t, const Boundary_NS::Property &p) const |
| void | set_interval_property (const Interval_NS::Property &p, bool value=true) |
| bool | get_interval_property (Interval_NS::Property p) const |
| void | m_swap (Interval_Info_Bitset &y) |
Swaps *this with y. | |
| void | ascii_dump (std::ostream &s) const |
| bool | ascii_load (std::istream &s) |
Protected Attributes | |
| T | bitset |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename T , typename Policy > | |
| void | swap (Interval_Info_Bitset< T, Policy > &x, Interval_Info_Bitset< T, Policy > &y) |
Definition at line 163 of file Interval_Info.defs.hh.
|
inline |
Definition at line 182 of file Interval_Info.defs.hh.
{
// FIXME: would we have speed benefits with uninitialized info?
// (Dirty_Temp)
clear();
}
|
inline |
Definition at line 79 of file Interval_Info.inlines.hh.
{
const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
std::ios::basefield);
s << bitset;
s.flags(old_flags);
}
|
inline |
Definition at line 88 of file Interval_Info.inlines.hh.
{
const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
std::ios::basefield);
s >> bitset;
s.flags(old_flags);
return !s.fail();
}
|
inline |
Definition at line 188 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Interval_NS::reset_bits().
{
reset_bits(bitset);
}
|
inline |
Definition at line 191 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Boundary_NS::OPEN, and Parma_Polyhedra_Library::Boundary_NS::SPECIAL.
{
set_boundary_property(t, SPECIAL, false);
set_boundary_property(t, OPEN, false);
}
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | may_be_empty | , |
| Policy::may_be_empty | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | may_contain_infinity | , |
| Policy::may_contain_infinity | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | check_inexact | , |
| Policy::check_inexact | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | store_special | , |
| Policy::store_special | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | store_open | , |
| Policy::store_open | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | cache_empty | , |
| Policy::cache_empty | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_bool_nodef | ( | cache_singleton | , |
| Policy::cache_singleton | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | lower_special_bit | , |
| Policy::next_bit | |||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | lower_open_bit | , |
| lower_special_bit+ | store_special?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | upper_special_bit | , |
| lower_open_bit+ | store_open?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | upper_open_bit | , |
| upper_special_bit+ | store_special?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | cardinality_is_bit | , |
| upper_open_bit+ | store_open?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | cardinality_0_bit | , |
| cardinality_is_bit+ | (cache_empty||cache_singleton)?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | cardinality_1_bit | , |
| cardinality_0_bit+ | cache_empty?1:0 | ||
| ) |
| Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::const_int_nodef | ( | next_bit | , |
| cardinality_1_bit+ | cache_singleton?1:0 | ||
| ) |
|
inline |
Definition at line 219 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Interval_NS::get_bit(), Parma_Polyhedra_Library::Boundary_NS::LOWER, Parma_Polyhedra_Library::Boundary_NS::Property::OPEN_, Parma_Polyhedra_Library::Boundary_NS::Property::SPECIAL_, and Parma_Polyhedra_Library::Boundary_NS::Property::type.
{
switch (p.type) {
case Boundary_NS::Property::SPECIAL_:
if (!store_special)
return false;
if (t == LOWER)
return get_bit(bitset, lower_special_bit);
else
return get_bit(bitset, upper_special_bit);
case Boundary_NS::Property::OPEN_:
if (!store_open)
return false;
else if (t == LOWER)
return get_bit(bitset, lower_open_bit);
else
return get_bit(bitset, upper_open_bit);
default:
return false;
}
}
|
inline |
Definition at line 257 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_0_, Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_1_, Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_IS_, Parma_Polyhedra_Library::Interval_NS::get_bit(), and Parma_Polyhedra_Library::Interval_NS::Property::type.
{
switch (p.type) {
case Interval_NS::Property::CARDINALITY_0_:
return cache_empty && get_bit(bitset, cardinality_0_bit);
case Interval_NS::Property::CARDINALITY_1_:
return cache_singleton && get_bit(bitset, cardinality_1_bit);
case Interval_NS::Property::CARDINALITY_IS_:
return (cache_empty || cache_singleton)
&& get_bit(bitset, cardinality_is_bit);
default:
return false;
}
}
|
inline |
Swaps *this with y.
Definition at line 72 of file Interval_Info.inlines.hh.
References Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::bitset, and Parma_Polyhedra_Library::swap().
Referenced by Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::swap().
|
inline |
Definition at line 195 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Boundary_NS::LOWER, Parma_Polyhedra_Library::Boundary_NS::Property::OPEN_, Parma_Polyhedra_Library::Interval_NS::set_bit(), Parma_Polyhedra_Library::Boundary_NS::Property::SPECIAL_, Parma_Polyhedra_Library::Boundary_NS::Property::type, and value.
{
switch (p.type) {
case Boundary_NS::Property::SPECIAL_:
if (store_special) {
if (t == LOWER)
set_bit(bitset, lower_special_bit, value);
else
set_bit(bitset, upper_special_bit, value);
}
break;
case Boundary_NS::Property::OPEN_:
if (store_open) {
if (t == LOWER)
set_bit(bitset, lower_open_bit, value);
else
set_bit(bitset, upper_open_bit, value);
}
break;
default:
break;
}
}
|
inline |
Definition at line 239 of file Interval_Info.defs.hh.
References Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_0_, Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_1_, Parma_Polyhedra_Library::Interval_NS::Property::CARDINALITY_IS_, Parma_Polyhedra_Library::Interval_NS::set_bit(), Parma_Polyhedra_Library::Interval_NS::Property::type, and value.
{
switch (p.type) {
case Interval_NS::Property::CARDINALITY_0_:
if (cache_empty)
set_bit(bitset, cardinality_0_bit, value);
break;
case Interval_NS::Property::CARDINALITY_1_:
if (cache_singleton)
set_bit(bitset, cardinality_1_bit, value);
break;
case Interval_NS::Property::CARDINALITY_IS_:
if (cache_empty || cache_singleton)
set_bit(bitset, cardinality_is_bit, value);
break;
default:
break;
}
}
|
related |
Definition at line 110 of file Interval_Info.inlines.hh.
References Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::m_swap().
{
x.m_swap(y);
}
|
protected |
Definition at line 278 of file Interval_Info.defs.hh.
Referenced by Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::m_swap().