PPL
1.2
|
Classes | |
struct | Property |
Enumerations | |
enum | Boundary_Type { LOWER = ROUND_DOWN, UPPER = ROUND_UP } |
Functions | |
Rounding_Dir | round_dir_check (Boundary_Type t, bool check=false) |
template<typename T , typename Info > | |
Result | special_set_boundary_infinity (Boundary_Type type, T &, Info &info) |
template<typename T , typename Info > | |
bool | special_is_open (Boundary_Type, const T &, const Info &) |
template<typename T , typename Info > | |
bool | normal_is_open (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | is_open (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
Result | set_unbounded (Boundary_Type type, T &x, Info &info) |
template<typename T , typename Info > | |
Result | set_minus_infinity (Boundary_Type type, T &x, Info &info, bool open=false) |
template<typename T , typename Info > | |
Result | set_plus_infinity (Boundary_Type type, T &x, Info &info, bool open=false) |
template<typename T , typename Info > | |
Result | set_boundary_infinity (Boundary_Type type, T &x, Info &info, bool open=false) |
template<typename T , typename Info > | |
bool | is_domain_inf (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | is_domain_sup (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | normal_is_boundary_infinity (Boundary_Type type, const T &x, const Info &) |
template<typename T , typename Info > | |
bool | is_boundary_infinity (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | normal_is_reverse_infinity (Boundary_Type type, const T &x, const Info &) |
template<typename T , typename Info > | |
bool | is_minus_infinity (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | is_plus_infinity (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | is_reverse_infinity (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
int | infinity_sign (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
bool | is_boundary_infinity_closed (Boundary_Type type, const T &x, const Info &info) |
template<typename Info > | |
bool | boundary_infinity_is_open (Boundary_Type type, const Info &info) |
template<typename T , typename Info > | |
int | sgn_b (Boundary_Type type, const T &x, const Info &info) |
template<typename T , typename Info > | |
int | sgn (Boundary_Type type, const T &x, const Info &info) |
template<typename T1 , typename Info1 , typename T2 , typename Info2 > | |
bool | eq (Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename T1 , typename Info1 , typename T2 , typename Info2 > | |
bool | lt (Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename T1 , typename Info1 , typename T2 , typename Info2 > | |
bool | gt (Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename T1 , typename Info1 , typename T2 , typename Info2 > | |
bool | le (Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename T1 , typename Info1 , typename T2 , typename Info2 > | |
bool | ge (Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename T , typename Info > | |
Result | adjust_boundary (Boundary_Type type, T &x, Info &info, bool open, Result r) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | complement (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info, bool should_shrink=false) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | min_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | min_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | max_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | max_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | neg_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | add_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | sub_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | mul_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info > | |
Result | set_zero (Boundary_Type to_type, To &to, To_Info &to_info, bool should_shrink) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | mul_assign_z (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, int x1s, Boundary_Type type2, const T2 &x2, const Info2 &info2, int x2s) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | div_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, Boundary_Type type2, const T2 &x2, const Info2 &info2) |
template<typename To , typename To_Info , typename T1 , typename Info1 , typename T2 , typename Info2 > | |
Result | div_assign_z (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type1, const T1 &x1, const Info1 &info1, int x1s, Boundary_Type type2, const T2 &x2, const Info2 &info2, int x2s) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | umod_2exp_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info, unsigned int exp) |
template<typename To , typename To_Info , typename T , typename Info > | |
Result | smod_2exp_assign (Boundary_Type to_type, To &to, To_Info &to_info, Boundary_Type type, const T &x, const Info &info, unsigned int exp) |
Variables | |
static const Property | SPECIAL (Property::SPECIAL_) |
static const Property | OPEN (Property::OPEN_) |
|
inline |
Definition at line 614 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), is_boundary_infinity_closed(), normal_is_open(), round_dir_check(), and set_boundary_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::add_assign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::operator+=().
|
inline |
Definition at line 451 of file Boundary_defs.hh.
References LOWER, OPEN, Parma_Polyhedra_Library::result_relation_class(), special_set_boundary_infinity(), Parma_Polyhedra_Library::V_EQ, Parma_Polyhedra_Library::V_EQ_MINUS_INFINITY, Parma_Polyhedra_Library::V_EQ_PLUS_INFINITY, 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, Parma_Polyhedra_Library::V_LT_PLUS_INFINITY, and Parma_Polyhedra_Library::V_NAN.
Referenced by add_assign(), assign(), complement(), div_assign(), mul_assign(), neg_assign(), set_zero(), smod_2exp_assign(), sub_assign(), and umod_2exp_assign().
|
inline |
Definition at line 533 of file Boundary_defs.hh.
References adjust_boundary(), Parma_Polyhedra_Library::assign_r(), normal_is_open(), round_dir_check(), set_boundary_infinity(), SPECIAL, and special_is_open().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::add_assign(), Parma_Polyhedra_Library::Scalar_Products::assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::build(), Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::div_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::empty_intersection_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::Interval(), Parma_Polyhedra_Library::Interval< Boundary, Info >::join_assign(), max_assign(), min_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::neg_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::operator=(), Parma_Polyhedra_Library::operator>>(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), Parma_Polyhedra_Library::MIP_Problem::steepest_edge_float_entering_index(), Parma_Polyhedra_Library::Interval< Boundary, Info >::sub_assign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::wrap_assign().
|
inline |
Definition at line 330 of file Boundary_defs.hh.
References OPEN.
Referenced by add_assign(), div_assign(), mul_assign(), smod_2exp_assign(), sub_assign(), and umod_2exp_assign().
|
inline |
Definition at line 512 of file Boundary_defs.hh.
References adjust_boundary(), Parma_Polyhedra_Library::assign_r(), LOWER, normal_is_open(), round_dir_check(), set_minus_infinity(), set_plus_infinity(), SPECIAL, and special_is_open().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign().
|
inline |
Definition at line 720 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), normal_is_open(), round_dir_check(), set_boundary_infinity(), and set_zero().
Referenced by div_assign_z(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::operator/=().
|
inline |
Definition at line 744 of file Boundary_defs.hh.
References div_assign(), is_boundary_infinity_closed(), OPEN, set_boundary_infinity(), and set_zero().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::div_assign().
|
inline |
Definition at line 362 of file Boundary_defs.hh.
References is_minus_infinity(), is_open(), and is_plus_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::can_be_exactly_joined_to(), Parma_Polyhedra_Library::I_Constraint_Common< I_Constraint< T, Val_Or_Ref_Criteria, extended > >::convert_real(), Parma_Polyhedra_Library::Interval< Boundary, Info >::is_singleton(), Parma_Polyhedra_Library::operator==(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal().
|
inline |
Definition at line 444 of file Boundary_defs.hh.
References lt().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::contains(), Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::strictly_contains().
|
inline |
Definition at line 430 of file Boundary_defs.hh.
References lt().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::can_be_exactly_joined_to(), Parma_Polyhedra_Library::I_Constraint_Common< I_Constraint< T, Val_Or_Ref_Criteria, extended > >::convert_real(), Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::is_disjoint_from(), le(), max_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), Parma_Polyhedra_Library::Interval< Boundary, Info >::simplify_using_context_assign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::strictly_contains().
|
inline |
Definition at line 308 of file Boundary_defs.hh.
References is_boundary_infinity(), is_reverse_infinity(), LOWER, and UPPER.
|
inline |
Definition at line 245 of file Boundary_defs.hh.
References normal_is_boundary_infinity(), and SPECIAL.
Referenced by add_assign(), div_assign(), infinity_sign(), is_boundary_infinity_closed(), is_open(), Parma_Polyhedra_Library::Interval< Boundary, Info >::lower_is_boundary_infinity(), mul_assign(), smod_2exp_assign(), sub_assign(), umod_2exp_assign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::upper_is_boundary_infinity().
|
inline |
Definition at line 322 of file Boundary_defs.hh.
References is_boundary_infinity(), and OPEN.
Referenced by add_assign(), div_assign_z(), mul_assign(), and sub_assign().
|
inline |
Definition at line 197 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::is_minus_infinity(), LOWER, and SPECIAL.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::lower_is_domain_inf().
|
inline |
Definition at line 214 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::is_plus_infinity(), SPECIAL, and UPPER.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::upper_is_domain_sup().
|
inline |
Definition at line 270 of file Boundary_defs.hh.
References LOWER, normal_is_boundary_infinity(), normal_is_reverse_infinity(), and SPECIAL.
Referenced by eq(), lt(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::OK().
|
inline |
Definition at line 93 of file Boundary_defs.hh.
References is_boundary_infinity(), and OPEN.
Referenced by eq(), Parma_Polyhedra_Library::Interval< Boundary, Info >::lower_is_open(), lt(), Parma_Polyhedra_Library::Interval< Boundary, Info >::OK(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::upper_is_open().
|
inline |
Definition at line 286 of file Boundary_defs.hh.
References normal_is_boundary_infinity(), normal_is_reverse_infinity(), SPECIAL, and UPPER.
Referenced by eq(), lt(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::OK().
|
inline |
Definition at line 302 of file Boundary_defs.hh.
References normal_is_reverse_infinity().
Referenced by infinity_sign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::infinity_sign().
|
inline |
Definition at line 437 of file Boundary_defs.hh.
References gt().
Referenced by Parma_Polyhedra_Library::Polyhedron::add_congruence(), Parma_Polyhedra_Library::Polyhedron::add_congruences(), Parma_Polyhedra_Library::Linear_System< Row >::add_universe_rows_and_space_dimensions(), Parma_Polyhedra_Library::Termination_Helpers::all_affine_ranking_functions_PR(), Parma_Polyhedra_Library::Termination_Helpers::all_affine_ranking_functions_PR_original(), Parma_Polyhedra_Library::Pointset_Powerset< PSET >::approximate_partition_aux(), Parma_Polyhedra_Library::Interval< Boundary, Info >::contains(), Parma_Polyhedra_Library::Polyhedron::contains_integer_point(), Parma_Polyhedra_Library::Grid::conversion(), Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign(), Parma_Polyhedra_Library::BD_Shape< T >::frequency(), Parma_Polyhedra_Library::Octagonal_Shape< T >::frequency(), Parma_Polyhedra_Library::Pointset_Powerset< PSET >::linear_partition(), Parma_Polyhedra_Library::Pointset_Powerset< PSET >::linear_partition_aux(), lt(), Parma_Polyhedra_Library::Implementation::Termination::one_affine_ranking_function_MS(), Parma_Polyhedra_Library::Termination_Helpers::one_affine_ranking_function_PR(), Parma_Polyhedra_Library::Termination_Helpers::one_affine_ranking_function_PR_original(), Parma_Polyhedra_Library::Shape_Preserving_Reduction< D1, D2 >::product_reduce(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), Parma_Polyhedra_Library::Polyhedron::refine_with_congruence(), Parma_Polyhedra_Library::Polyhedron::refine_with_congruences(), Parma_Polyhedra_Library::Octagonal_Shape< T >::relation_with(), Parma_Polyhedra_Library::BD_Shape< T >::relation_with(), Parma_Polyhedra_Library::Polyhedron::simplify_using_context_assign(), Parma_Polyhedra_Library::Grid::simplify_using_context_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::strictly_contains(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::wrap_assign().
|
inline |
Definition at line 391 of file Boundary_defs.hh.
References is_minus_infinity(), is_open(), is_plus_infinity(), le(), LOWER, and UPPER.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::can_be_exactly_joined_to(), Parma_Polyhedra_Library::I_Constraint_Common< I_Constraint< T, Val_Or_Ref_Criteria, extended > >::convert_real(), Parma_Polyhedra_Library::Interval< Boundary, Info >::difference_assign(), ge(), gt(), Parma_Polyhedra_Library::Interval< Boundary, Info >::is_disjoint_from(), Parma_Polyhedra_Library::Interval< Boundary, Info >::is_empty(), min_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_existential(), Parma_Polyhedra_Library::Interval< Boundary, Info >::refine_universal(), Parma_Polyhedra_Library::Interval< Boundary, Info >::simplify_using_context_assign(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::strictly_contains().
|
inline |
Definition at line 574 of file Boundary_defs.hh.
References assign(), gt(), and Parma_Polyhedra_Library::V_EQ.
|
inline |
Definition at line 585 of file Boundary_defs.hh.
References assign(), and gt().
|
inline |
Definition at line 550 of file Boundary_defs.hh.
References assign(), lt(), and Parma_Polyhedra_Library::V_EQ.
|
inline |
Definition at line 561 of file Boundary_defs.hh.
References assign(), and lt().
|
inline |
Definition at line 664 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), is_boundary_infinity_closed(), normal_is_open(), round_dir_check(), and set_boundary_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign(), mul_assign_z(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::operator*=().
|
inline |
Definition at line 697 of file Boundary_defs.hh.
References mul_assign(), OPEN, and set_zero().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign().
|
inline |
Definition at line 598 of file Boundary_defs.hh.
References adjust_boundary(), normal_is_open(), round_dir_check(), set_boundary_infinity(), SPECIAL, and special_is_open().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::neg_assign().
|
inline |
Definition at line 231 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::is_minus_infinity(), Parma_Polyhedra_Library::is_plus_infinity(), and LOWER.
Referenced by is_boundary_infinity(), is_minus_infinity(), is_plus_infinity(), and normal_is_open().
|
inline |
Definition at line 81 of file Boundary_defs.hh.
References normal_is_boundary_infinity(), and OPEN.
Referenced by add_assign(), assign(), complement(), div_assign(), mul_assign(), neg_assign(), smod_2exp_assign(), sub_assign(), and umod_2exp_assign().
|
inline |
Definition at line 256 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::is_minus_infinity(), Parma_Polyhedra_Library::is_plus_infinity(), and LOWER.
Referenced by is_minus_infinity(), is_plus_infinity(), and is_reverse_infinity().
|
inline |
Definition at line 56 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::ROUND_STRICT_RELATION.
Referenced by add_assign(), assign(), complement(), div_assign(), mul_assign(), neg_assign(), set_boundary_infinity(), set_minus_infinity(), set_plus_infinity(), set_zero(), smod_2exp_assign(), sub_assign(), and umod_2exp_assign().
|
inline |
Definition at line 176 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::assign_r(), LOWER, Parma_Polyhedra_Library::MINUS_INFINITY, OPEN, Parma_Polyhedra_Library::PLUS_INFINITY, Parma_Polyhedra_Library::result_representable(), round_dir_check(), and special_set_boundary_infinity().
Referenced by add_assign(), assign(), div_assign(), div_assign_z(), mul_assign(), neg_assign(), smod_2exp_assign(), sub_assign(), and umod_2exp_assign().
|
inline |
Definition at line 128 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::assign_r(), LOWER, Parma_Polyhedra_Library::MINUS_INFINITY, OPEN, Parma_Polyhedra_Library::result_relation(), Parma_Polyhedra_Library::result_representable(), round_dir_check(), special_set_boundary_infinity(), and Parma_Polyhedra_Library::VR_EQ.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::assign(), complement(), Parma_Polyhedra_Library::Interval< Boundary, Info >::Interval(), Parma_Polyhedra_Library::operator>>(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::set_infinities().
|
inline |
Definition at line 152 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::assign_r(), OPEN, Parma_Polyhedra_Library::PLUS_INFINITY, Parma_Polyhedra_Library::result_relation(), Parma_Polyhedra_Library::result_representable(), round_dir_check(), special_set_boundary_infinity(), UPPER, and Parma_Polyhedra_Library::VR_EQ.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::assign(), complement(), Parma_Polyhedra_Library::Interval< Boundary, Info >::Interval(), Parma_Polyhedra_Library::operator>>(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::set_infinities().
|
inline |
Definition at line 105 of file Boundary_defs.hh.
References Parma_Polyhedra_Library::assign_r(), LOWER, Parma_Polyhedra_Library::MINUS_INFINITY, OPEN, Parma_Polyhedra_Library::PLUS_INFINITY, PPL_COMPILE_TIME_CHECK, Parma_Polyhedra_Library::result_relation(), Parma_Polyhedra_Library::ROUND_DOWN, Parma_Polyhedra_Library::ROUND_UP, special_set_boundary_infinity(), and Parma_Polyhedra_Library::VR_EQ.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::lower_extend(), Parma_Polyhedra_Library::Interval< Boundary, Info >::upper_extend(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::wrap_assign().
|
inline |
Definition at line 689 of file Boundary_defs.hh.
References adjust_boundary(), Parma_Polyhedra_Library::assign_r(), and round_dir_check().
Referenced by div_assign(), div_assign_z(), and mul_assign_z().
|
inline |
Definition at line 350 of file Boundary_defs.hh.
References LOWER, OPEN, and sgn_b().
Referenced by Parma_Polyhedra_Library::Octagonal_Shape< T >::affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::affine_image(), Parma_Polyhedra_Library::Checked::assign_float_mpq(), Parma_Polyhedra_Library::Checked::assign_float_mpz(), Parma_Polyhedra_Library::Checked::assign_signed_int_mpz(), Parma_Polyhedra_Library::Checked::assign_unsigned_int_mpz(), Parma_Polyhedra_Library::Octagonal_Shape< T >::bounded_affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::bounded_affine_image(), Parma_Polyhedra_Library::Octagonal_Shape< T >::bounded_affine_preimage(), Parma_Polyhedra_Library::BD_Shape< T >::bounded_affine_preimage(), Parma_Polyhedra_Library::Box< ITV >::bounds(), Parma_Polyhedra_Library::Box< ITV >::Box(), Parma_Polyhedra_Library::Checked::classify_mpq(), Parma_Polyhedra_Library::Linear_Expression_Impl< Row >::compare(), Parma_Polyhedra_Library::Polyhedron::constrains(), Parma_Polyhedra_Library::Grid::constrains(), Parma_Polyhedra_Library::Polyhedron::conversion(), Parma_Polyhedra_Library::Checked::div_mpq(), Parma_Polyhedra_Library::Checked::div_mpz(), Parma_Polyhedra_Library::Polyhedron::drop_some_non_integer_points(), Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference(), Parma_Polyhedra_Library::Polyhedron::frequency(), Parma_Polyhedra_Library::Grid::frequency_no_check(), Parma_Polyhedra_Library::Octagonal_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::Box< ITV >::generalized_affine_preimage(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_preimage(), Parma_Polyhedra_Library::Octagonal_Shape< T >::generalized_affine_preimage(), Parma_Polyhedra_Library::Polyhedron::generalized_affine_preimage(), Parma_Polyhedra_Library::MIP_Problem::get_exiting_base_index(), Parma_Polyhedra_Library::Scalar_Products::homogeneous_sign(), Parma_Polyhedra_Library::Checked::idiv_mpq(), Parma_Polyhedra_Library::Checked::idiv_mpz(), Parma_Polyhedra_Library::BD_Shape< T >::incremental_shortest_path_closure_assign(), Parma_Polyhedra_Library::Octagonal_Shape< T >::incremental_strong_closure_assign(), Parma_Polyhedra_Library::interval_relation(), Parma_Polyhedra_Library::Checked::is_int_mpq(), Parma_Polyhedra_Library::Checked::is_minf_mpq(), Parma_Polyhedra_Library::Checked::is_nan_mpq(), Parma_Polyhedra_Library::Checked::is_pinf_mpq(), Parma_Polyhedra_Library::Constraint::is_tautological(), Parma_Polyhedra_Library::DB_Matrix< T >::l_m_distance_assign(), Parma_Polyhedra_Library::Generator::l_m_distance_assign(), Parma_Polyhedra_Library::OR_Matrix< T >::l_m_distance_assign(), Parma_Polyhedra_Library::Box< ITV >::l_m_distance_assign(), Parma_Polyhedra_Library::BD_Shape< T >::max_min(), Parma_Polyhedra_Library::Box< ITV >::max_min(), Parma_Polyhedra_Library::Octagonal_Shape< T >::max_min(), Parma_Polyhedra_Library::Polyhedron::max_min(), Parma_Polyhedra_Library::Polyhedron::modify_according_to_evolution(), Parma_Polyhedra_Library::Dense_Row::normalize(), Parma_Polyhedra_Library::Sparse_Row::normalize(), Parma_Polyhedra_Library::BD_Shape< T >::operator<<(), Parma_Polyhedra_Library::Octagonal_Shape< T >::operator<<(), Parma_Polyhedra_Library::MIP_Problem::parse_constraints(), Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check(), Parma_Polyhedra_Library::Scalar_Products::reduced_sign(), Parma_Polyhedra_Library::Octagonal_Shape< T >::refine(), Parma_Polyhedra_Library::BD_Shape< T >::refine(), Parma_Polyhedra_Library::Box< ITV >::relation_with(), Parma_Polyhedra_Library::Octagonal_Shape< T >::relation_with(), Parma_Polyhedra_Library::BD_Shape< T >::relation_with(), Parma_Polyhedra_Library::Checked::rem_mpq(), Parma_Polyhedra_Library::Checked::rem_mpz(), Parma_Polyhedra_Library::Linear_Expression_Impl< Row >::scalar_product_sign(), sgn_b(), Parma_Polyhedra_Library::Checked::sgn_mp(), Parma_Polyhedra_Library::BD_Shape< T >::shortest_path_closure_assign(), Parma_Polyhedra_Library::Scalar_Products::sign(), Parma_Polyhedra_Library::MIP_Problem::steepest_edge_exact_entering_index(), Parma_Polyhedra_Library::MIP_Problem::steepest_edge_float_entering_index(), Parma_Polyhedra_Library::Octagonal_Shape< T >::strong_closure_assign(), and Parma_Polyhedra_Library::MIP_Problem::textbook_entering_index().
|
inline |
Definition at line 337 of file Boundary_defs.hh.
References LOWER, sgn(), and SPECIAL.
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::div_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::mul_assign(), Parma_Polyhedra_Library::MIP_Problem::parse_constraints(), and sgn().
|
inline |
Definition at line 783 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), normal_is_open(), round_dir_check(), and set_boundary_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::wrap_assign().
|
inline |
Definition at line 75 of file Boundary_defs.hh.
Referenced by assign(), complement(), and neg_assign().
|
inline |
Definition at line 67 of file Boundary_defs.hh.
References SPECIAL, and Parma_Polyhedra_Library::V_EQ.
Referenced by adjust_boundary(), set_boundary_infinity(), set_minus_infinity(), set_plus_infinity(), and set_unbounded().
|
inline |
Definition at line 639 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), is_boundary_infinity_closed(), normal_is_open(), round_dir_check(), and set_boundary_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::operator-=(), Parma_Polyhedra_Library::Interval< Boundary, Info >::sub_assign(), and Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau().
|
inline |
Definition at line 766 of file Boundary_defs.hh.
References adjust_boundary(), boundary_infinity_is_open(), is_boundary_infinity(), normal_is_open(), round_dir_check(), and set_boundary_infinity().
Referenced by Parma_Polyhedra_Library::Interval< Boundary, Info >::wrap_assign().
|
static |
Referenced by adjust_boundary(), boundary_infinity_is_open(), Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::clear_boundary_properties(), div_assign_z(), Parma_Polyhedra_Library::Interval< Boundary, Info >::drop_some_non_integer_points(), is_boundary_infinity_closed(), is_open(), mul_assign_z(), normal_is_open(), Parma_Polyhedra_Library::Interval< Boundary, Info >::remove_inf(), Parma_Polyhedra_Library::Interval< Boundary, Info >::remove_sup(), set_boundary_infinity(), set_minus_infinity(), set_plus_infinity(), set_unbounded(), sgn(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::topological_closure_assign().
|
static |
Referenced by assign(), Parma_Polyhedra_Library::Interval_Info_Bitset< T, Policy >::clear_boundary_properties(), complement(), is_boundary_infinity(), is_domain_inf(), is_domain_sup(), is_minus_infinity(), is_plus_infinity(), Parma_Polyhedra_Library::Interval< Boundary, Info >::lower_constraint(), neg_assign(), Parma_Polyhedra_Library::Interval< Boundary, Info >::OK(), Parma_Polyhedra_Library::operator<<(), sgn_b(), special_set_boundary_infinity(), and Parma_Polyhedra_Library::Interval< Boundary, Info >::upper_constraint().