PPL  1.2
Parma_Polyhedra_Library::Implementation::Boxes Namespace Reference

Functions

bool propagate_constraint_check_result (Result r, Ternary &open)
 

Variables

const char * empty_up_to_date = "EUP"
 
const char * empty = "EM"
 
const char * universe = "UN"
 
const char yes = '+'
 
const char no = '-'
 
const char separator = ' '
 

Function Documentation

bool Parma_Polyhedra_Library::Implementation::Boxes::propagate_constraint_check_result ( Result  r,
Ternary open 
)
inline

Definition at line 2550 of file Box_templates.hh.

References Parma_Polyhedra_Library::result_relation_class(), Parma_Polyhedra_Library::T_MAYBE, Parma_Polyhedra_Library::T_NO, Parma_Polyhedra_Library::T_YES, Parma_Polyhedra_Library::V_EQ, Parma_Polyhedra_Library::V_GE, Parma_Polyhedra_Library::V_GT, Parma_Polyhedra_Library::V_GT_MINUS_INFINITY, Parma_Polyhedra_Library::V_LE, Parma_Polyhedra_Library::V_LT, and Parma_Polyhedra_Library::V_LT_PLUS_INFINITY.

Referenced by Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check().

2550  {
2551  r = result_relation_class(r);
2552  switch (r) {
2553  case V_GT_MINUS_INFINITY:
2554  case V_LT_PLUS_INFINITY:
2555  return true;
2556  case V_LT:
2557  case V_GT:
2558  open = T_YES;
2559  return false;
2560  case V_LE:
2561  case V_GE:
2562  if (open == T_NO) {
2563  open = T_MAYBE;
2564  }
2565  return false;
2566  case V_EQ:
2567  return false;
2568  default:
2569  PPL_UNREACHABLE;
2570  return true;
2571  }
2572 }
The computed result is exact.
Definition: Result_defs.hh:81
A positive integer overflow occurred (rounding up).
Definition: Result_defs.hh:111
The computed result is inexact and rounded down.
Definition: Result_defs.hh:87
Result result_relation_class(Result r)
The computed result may be inexact and rounded up.
Definition: Result_defs.hh:93
The computed result may be inexact and rounded down.
Definition: Result_defs.hh:96
A negative integer overflow occurred (rounding down).
Definition: Result_defs.hh:114
The computed result is inexact and rounded up.
Definition: Result_defs.hh:84

Variable Documentation

const char * Parma_Polyhedra_Library::Implementation::Boxes::empty = "EM"
const char * Parma_Polyhedra_Library::Implementation::Boxes::empty_up_to_date = "EUP"
const char Parma_Polyhedra_Library::Implementation::Boxes::no = '-'
const char Parma_Polyhedra_Library::Implementation::Boxes::separator = ' '
const char * Parma_Polyhedra_Library::Implementation::Boxes::universe = "UN"
const char Parma_Polyhedra_Library::Implementation::Boxes::yes = '+'