PPL  1.2
Parma_Polyhedra_Library::Interval_NS Namespace Reference

Classes

struct  Property
 
struct  Scalar_As_Interval_Policy
 

Typedefs

typedef Interval_Info_Null< Scalar_As_Interval_PolicyScalar_As_Interval_Info
 
typedef Interval_Info_Null_Open< Scalar_As_Interval_PolicyScalar_As_Interval_Info_Open
 

Functions

template<typename T >
void reset_bits (T &bits)
 
template<typename T >
void reset_bit (T &bits, unsigned int bit)
 
template<typename T >
void set_bit (T &bits, unsigned int bit, bool value)
 
template<typename T >
bool get_bit (const T &bits, unsigned int bit)
 
template<typename T >
void set_bits (T &bits, unsigned int start, unsigned int len, T value)
 
template<typename T >
get_bits (T &bits, unsigned int start, unsigned int len)
 
template<typename Boundary , typename Info >
const Boundary & f_lower (const Interval< Boundary, Info > &x)
 
template<typename Boundary , typename Info >
const Boundary & f_upper (const Interval< Boundary, Info > &x)
 
template<typename Boundary , typename Info >
const Info & f_info (const Interval< Boundary, Info > &x)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, const T & >::type f_lower (const T &x)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, const T & >::type f_upper (const T &x)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, const Scalar_As_Interval_Info & >::type f_info (const T &)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, Scalar_As_Interval_Info_Open >::type f_info (const T &, bool open)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, bool >::type f_is_empty (const T &x)
 
template<typename T >
Enable_If< Is_Singleton< T >::value, bool >::type f_is_singleton (const T &x)
 

Variables

const Property CARDINALITY_0 (Property::CARDINALITY_0_)
 
const Property CARDINALITY_1 (Property::CARDINALITY_1_)
 
const Property CARDINALITY_IS (Property::CARDINALITY_IS_)
 
const Scalar_As_Interval_Info SCALAR_INFO
 

Typedef Documentation

Function Documentation

template<typename Boundary , typename Info >
const Info& Parma_Polyhedra_Library::Interval_NS::f_info ( const Interval< Boundary, Info > &  x)
inline
template<typename T >
Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type Parma_Polyhedra_Library::Interval_NS::f_info ( const T &  )
inline

Definition at line 112 of file Interval_inlines.hh.

References SCALAR_INFO.

112  {
113  return SCALAR_INFO;
114 }
const Scalar_As_Interval_Info SCALAR_INFO
template<typename T >
Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type Parma_Polyhedra_Library::Interval_NS::f_info ( const T &  ,
bool  open 
)
inline
template<typename T >
Enable_If<Is_Singleton<T>::value, bool>::type Parma_Polyhedra_Library::Interval_NS::f_is_empty ( const T &  x)
inline

Definition at line 124 of file Interval_inlines.hh.

References Parma_Polyhedra_Library::is_not_a_number().

Referenced by f_is_singleton().

124  {
125  return is_not_a_number(x);
126 }
Enable_If< Is_Native_Or_Checked< T >::value, bool >::type is_not_a_number(const T &x)
template<typename T >
Enable_If<Is_Singleton<T>::value, bool>::type Parma_Polyhedra_Library::Interval_NS::f_is_singleton ( const T &  x)
inline

Definition at line 130 of file Interval_inlines.hh.

References f_is_empty().

130  {
131  return !f_is_empty(x);
132 }
Enable_If< Is_Singleton< T >::value, bool >::type f_is_empty(const T &x)
template<typename Boundary , typename Info >
const Boundary& Parma_Polyhedra_Library::Interval_NS::f_lower ( const Interval< Boundary, Info > &  x)
inline
template<typename Boundary , typename Info >
const Boundary& Parma_Polyhedra_Library::Interval_NS::f_upper ( const Interval< Boundary, Info > &  x)
inline
template<typename T >
bool Parma_Polyhedra_Library::Interval_NS::get_bit ( const T &  bits,
unsigned int  bit 
)
inline
template<typename T >
T Parma_Polyhedra_Library::Interval_NS::get_bits ( T &  bits,
unsigned int  start,
unsigned int  len 
)
inline

Definition at line 91 of file Interval_Info_defs.hh.

91  {
92  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
93 }
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::reset_bit ( T &  bits,
unsigned int  bit 
)
inline

Definition at line 61 of file Interval_Info_defs.hh.

Referenced by set_bit().

61  {
62  bits &= ~(static_cast<T>(1) << bit);
63 }
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::reset_bits ( T &  bits)
inline

Definition at line 55 of file Interval_Info_defs.hh.

Referenced by Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::clear().

55  {
56  bits = 0;
57 }
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::set_bit ( T &  bits,
unsigned int  bit,
bool  value 
)
inline

Definition at line 67 of file Interval_Info_defs.hh.

References reset_bit().

Referenced by Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::set_boundary_property(), and Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::set_interval_property().

67  {
68  if (value) {
69  bits |= static_cast<T>(1) << bit;
70  }
71  else {
72  reset_bit(bits, bit);
73  }
74 }
void reset_bit(T &bits, unsigned int bit)
Coefficient value
Definition: PIP_Tree.cc:618
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::set_bits ( T &  bits,
unsigned int  start,
unsigned int  len,
value 
)
inline

Definition at line 84 of file Interval_Info_defs.hh.

84  {
85  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
86  bits |= value << start;
87 }
Coefficient value
Definition: PIP_Tree.cc:618

Variable Documentation

const Property Parma_Polyhedra_Library::Interval_NS::CARDINALITY_0(Property::CARDINALITY_0_)
const Property Parma_Polyhedra_Library::Interval_NS::CARDINALITY_1(Property::CARDINALITY_1_)
const Property Parma_Polyhedra_Library::Interval_NS::CARDINALITY_IS(Property::CARDINALITY_IS_)