Classes | |
| struct | float_ieee754_single |
| struct | float_ieee754_double |
| struct | float_intel_double_extended |
| struct | float_ieee754_quad |
| class | Float |
| struct | Checked_Number_Transparent_Policy |
| struct | Checked_Number_Default_Policy |
| struct | Extended_Number_Policy |
| struct | Native_Checked_From_Wrapper |
| struct | Native_Checked_From_Wrapper< Checked_Number< T, P > > |
| struct | Native_Checked_To_Wrapper |
| struct | Native_Checked_To_Wrapper< Checked_Number< T, P > > |
| class | Checked_Number |
| A wrapper for numeric types implementing a given policy. More... | |
| struct | Coefficient_traits_template< GMP_Integer > |
| Coefficient traits specialization for unbounded integers. More... | |
| struct | Coefficient_traits_template |
| Coefficient traits. More... | |
| struct | Minus_Infinity |
| struct | Plus_Infinity |
| struct | Not_A_Number |
| class | Init |
| Class for initialization and finalization. More... | |
| class | Coefficient_free_list_element |
| A node of the list of available coefficients. More... | |
| class | Temp_Coefficient_Holder |
| class | Throwable |
| User objects the PPL can throw. More... | |
| struct | From_Bounding_Box |
| A tag class. More... | |
| struct | From_Covering_Box |
| A tag class. More... | |
| class | Row_Impl_Handler |
| The handler of the actual Row implementation. More... | |
| class | Row |
| A finite sequence of coefficients. More... | |
| class | Matrix |
| A 2-dimensional matrix of coefficients. More... | |
| class | Linear_Row |
| The base class for linear expressions, constraints and generators. More... | |
| class | Linear_System |
| The base class for systems of constraints and generators. More... | |
| class | Saturation_Row |
| A row of a saturation matrix. More... | |
| class | Saturation_Matrix |
| A saturation matrix. More... | |
| class | Variable |
| A dimension of the vector space. More... | |
| class | Linear_Expression |
| A linear expression. More... | |
| class | Constraint |
| A linear equality or inequality. More... | |
| class | Congruence |
| A linear congruence. More... | |
| class | Generator |
| A line, ray, point or closure point. More... | |
| class | Grid_Generator |
| A line, parameter or point. More... | |
| class | Constraint_System |
| A system of constraints. More... | |
| class | Congruence_System |
| A system of congruences. More... | |
| class | Generator_System |
| A system of generators. More... | |
| class | Grid_Generator_System |
| A system of grid generators. More... | |
| class | Scalar_Products |
| A class implementing various scalar product functions. More... | |
| class | Topology_Adjusted_Scalar_Product_Sign |
| Scalar product sign function object depending on topology. More... | |
| class | Polyhedron |
| The base class for convex polyhedra. More... | |
| class | Grid |
| A grid. More... | |
| class | Poly_Con_Relation |
| The relation between a polyhedron and a constraint. More... | |
| class | Poly_Gen_Relation |
| The relation between a polyhedron and a generator. More... | |
| class | Boundary |
| An extended rational bound of an interval. More... | |
| class | LBoundary |
| The lower bound of an extended rational interval. More... | |
| class | UBoundary |
| The upper bound of an extended rational interval. More... | |
| class | Interval |
| A interval over the set of rational numbers. More... | |
| class | Bounding_Box |
| A not necessarily closed bounding-box. More... | |
| class | C_Polyhedron |
| A closed convex polyhedron. More... | |
| class | NNC_Polyhedron |
| A not necessarily closed convex polyhedron. More... | |
| class | Widening_Function |
| Wraps a widening method into a function object. More... | |
| class | Limited_Widening_Function |
| Wraps a limited widening method into a function object. More... | |
| class | BHRZ03_Certificate |
| The convergence certificate for the BHRZ03 widening operator. More... | |
| class | H79_Certificate |
| A convergence certificate for the H79 widening operator. More... | |
| class | Grid_Certificate |
| The convergence certificate for the Grid widening operator. More... | |
| class | Determinate |
| Wraps a PPL class into a determinate constraint system interface. More... | |
| class | Powerset |
| The powerset construction on a base-level domain. More... | |
| class | Polyhedra_Powerset |
| The powerset construction instantiated on PPL polyhedra. More... | |
| class | LP_Problem |
| A Linear Programming problem. More... | |
| class | DB_Row_Impl_Handler |
| The handler of the actual DB_Row implementation. More... | |
| class | DB_Row |
| The base class for the single rows of matrices. More... | |
| class | DB_Matrix |
| The base class for the square matrices. More... | |
| struct | maybe_assign_struct |
| struct | maybe_assign_struct< Type, Type > |
| struct | Rectilinear_Distance_Specialization |
| struct | Euclidean_Distance_Specialization |
| struct | L_Infinity_Distance_Specialization |
| class | BD_Shape |
| A bounded difference shape. More... | |
| class | GMP_Integer |
| Unbounded integers as provided by the GMP library. More... | |
Namespaces | |
| namespace | Checked |
| Types and functions implementing checked numbers. | |
| namespace | Implementation |
| Implementation related data and functions. | |
| namespace | IO_Operators |
| All input/output operators are confined to this namespace. | |
Typedefs | |
| typedef Checked::Check_Overflow_Policy | Default_To_Policy |
| typedef Checked_Number_Transparent_Policy | Default_From_Policy |
| typedef mpz_class | GMP_Integer |
| typedef COEFFICIENT_TYPE | Coefficient |
| An alias for easily naming the type of PPL coefficients. | |
| typedef Coefficient_traits_template < Coefficient > | Coefficient_traits |
| An alias for easily naming the coefficient traits. | |
| typedef size_t | dimension_type |
| An unsigned integral type for representing space dimensions. | |
| typedef size_t | memory_size_type |
| An unsigned integral type for representing memory size in bytes. | |
| typedef std::set< Variable, Variable::Compare > | Variables_Set |
| An std::set containing variables in increasing order of dimension index. | |
| typedef Checked_Number < mpq_class, Extended_Number_Policy > | ERational |
Enumerations | |
| enum | Degenerate_Element { UNIVERSE, EMPTY } |
| Kinds of degenerate abstract elements. More... | |
| enum | Relation_Symbol { LESS_THAN, LESS_THAN_OR_EQUAL, EQUAL, GREATER_THAN_OR_EQUAL, GREATER_THAN } |
| Relation symbols. More... | |
| enum | Complexity_Class { POLYNOMIAL_COMPLEXITY, SIMPLEX_COMPLEXITY, ANY_COMPLEXITY } |
| Complexity pseudo-classes. More... | |
| enum | Optimization_Mode { MINIMIZATION, MAXIMIZATION } |
| Possible optimization modes. More... | |
| enum | Topology { NECESSARILY_CLOSED = 0, NOT_NECESSARILY_CLOSED = 1 } |
| Kinds of polyhedra domains. More... | |
| enum | LP_Problem_Status { UNFEASIBLE_LP_PROBLEM, UNBOUNDED_LP_PROBLEM, OPTIMIZED_LP_PROBLEM } |
| Possible outcomes of the LP_Problem solver. More... | |
Functions | |
| unsigned | version_major () |
| Returns the major number of the PPL version. | |
| unsigned | version_minor () |
| Returns the minor number of the PPL version. | |
| unsigned | version_revision () |
| Returns the revision number of the PPL version. | |
| unsigned | version_beta () |
| Returns the beta number of the PPL version. | |
| const char * | version () |
| Returns a character string containing the PPL version. | |
| const char * | banner () |
| Returns a character string containing the PPL banner. | |
| template<typename T, typename Policy> | |
| bool | is_not_a_number (const Checked_Number< T, Policy > &x) |
| template<typename T, typename Policy> | |
| bool | is_minus_infinity (const Checked_Number< T, Policy > &x) |
| template<typename T, typename Policy> | |
| bool | is_plus_infinity (const Checked_Number< T, Policy > &x) |
| template<typename To> | |
| Result | assign_r (To &to, const Minus_Infinity &x, Rounding_Dir dir) |
| template<typename To> | |
| Result | assign_r (To &to, const Plus_Infinity &x, Rounding_Dir dir) |
| template<typename To> | |
| Result | assign_r (To &to, const Not_A_Number &x, Rounding_Dir dir) |
| template<typename To> | |
| Result | assign_r (To &to, const char *x, Rounding_Dir dir) |
| template<typename To, typename To_Policy> | |
| Result | assign_r (To &to, char *x, Rounding_Dir dir) |
| void | throw_result_exception (Result r) |
| template<typename T> | |
| T | plus_infinity () |
| template<typename T> | |
| T | minus_infinity () |
| template<typename T> | |
| T | not_a_number () |
| Rounding_Dir | rounding_dir (Rounding_Dir dir) |
| Result | check_result (Result r, Rounding_Dir dir) |
| COND (PPL_SUPPORTED_FLOAT, DEF_CTOR(float)) COND(PPL_SUPPORTED_DOUBLE | |
| DEF_CTOR (double)) COND(PPL_SUPPORTED_LONG_DOUBLE | |
| DEF_CTOR (long double)) template< typename T | |
| template<typename T> | |
| bool | is_minus_infinity (const T &x) |
| template<typename T> | |
| bool | is_plus_infinity (const T &x) |
| template<typename T> | |
| bool | is_not_a_number (const T &x) |
| template<typename T> | |
| bool | is_integer (const T &x) |
| template<typename T, typename Policy> | |
| void | exact_div_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
| void | neg_assign (GMP_Integer &x) |
| void | neg_assign (GMP_Integer &x, const GMP_Integer &y) |
| void | gcd_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z) |
| void | gcdext_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z, GMP_Integer &s, GMP_Integer &t) |
| void | lcm_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z) |
| void | add_mul_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z) |
| void | sub_mul_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z) |
| void | exact_div_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z) |
| void | sqrt_assign (GMP_Integer &x, const GMP_Integer &y) |
| int | cmp (const GMP_Integer &x, const GMP_Integer &y) |
| const mpz_class & | raw_value (const GMP_Integer &x) |
| mpz_class & | raw_value (GMP_Integer &x) |
| memory_size_type | external_memory_in_bytes (const GMP_Integer &x) |
| memory_size_type | total_memory_in_bytes (const GMP_Integer &x) |
| Coefficient_traits::const_reference | Coefficient_zero () |
| Coefficient_traits::const_reference | Coefficient_one () |
| signed_limits (signed char, SCHAR) | |
| signed_limits (short, SHRT) | |
| signed_limits (int, INT) | |
| signed_limits (long, LONG) | |
| signed_limits (long long, LLONG) | |
| unsigned_limits (unsigned char, UCHAR) | |
| unsigned_limits (unsigned short, USHRT) | |
| unsigned_limits (unsigned int, UINT) | |
| unsigned_limits (unsigned long, ULONG) | |
| unsigned_limits (unsigned long long, ULLONG) | |
| unsigned | rational_sqrt_precision_parameter () |
| Returns the precision parameter used for rational square root calculations. | |
| void | set_rational_sqrt_precision_parameter (const unsigned p) |
| Sets the precision parameter used for rational square root calculations. | |
| dimension_type | not_a_dimension () |
| Returns a value that does not designate a valid dimension. | |
| Coefficient & | get_tmp_Coefficient () |
| void | release_tmp_Coefficient (Coefficient &i) |
| dimension_type | compute_capacity (dimension_type requested_size, dimension_type maximum_size) |
| Speculative allocation function. | |
| void | normalize2 (Coefficient_traits::const_reference x, Coefficient_traits::const_reference y, Coefficient &nx, Coefficient &ny) |
If is the GCD of x and y, the values of x and y divided by are assigned to nx and ny, respectively. | |
| template<typename T> | |
| T | low_bits_mask (unsigned n) |
Returns a mask for the lowest n bits,. | |
| void | maybe_abandon () |
| TRACE (using std::endl) | |
| TRACE (using std::cerr) | |
| PPL_OUTPUT_TEMPLATE_DEFINITIONS (PH, Polyhedra_Powerset< PH >) | |
| PPL_OUTPUT_TEMPLATE_DEFINITIONS (T, DB_Matrix< T >) | |
| template<typename To, typename From> | |
| Result | maybe_assign (const To *&top, To &tmp, const From &from, Rounding_Dir dir) |
Assigns to top a pointer to a location that holds the conversion, according to dir, of from to type To. When necessary, and only when necessary, the variable tmp is used to hold the result of conversion. | |
| bool | extract_bounded_difference (const Constraint &c, const dimension_type c_space_dim, dimension_type &c_num_vars, dimension_type &c_first_var, dimension_type &c_second_var, Coefficient &c_coeff) |
Decodes the constraint c as a bounded difference. | |
| void | compute_leader_indices (const std::vector< dimension_type > &predecessor, std::vector< dimension_type > &indices) |
| Extracts leader indices from the predecessor relation. | |
| template<typename T> | |
| bool | operator== (const BD_Shape< T > &x, const BD_Shape< T > &y) |
| template<typename T> | |
| bool | operator!= (const BD_Shape< T > &x, const BD_Shape< T > &y) |
| PPL_OUTPUT_TEMPLATE_DEFINITIONS (T, BD_Shape< T >) | |
Variables | |
| Minus_Infinity | MINUS_INFINITY |
| Plus_Infinity | PLUS_INFINITY |
| Not_A_Number | NOT_A_NUMBER |
| Coefficient_free_list_element * | Coefficient_free_list_first = 0 |
| const Throwable *volatile | abandon_expensive_computations = 0 |
| A pointer to an exception object. | |
Definition at line 142 of file Checked_Number.defs.hh.
Definition at line 141 of file Checked_Number.defs.hh.
| typedef Checked_Number<mpq_class, Extended_Number_Policy> Parma_Polyhedra_Library::ERational |
Definition at line 34 of file Interval.defs.hh.
| typedef mpz_class Parma_Polyhedra_Library::GMP_Integer |
Definition at line 29 of file GMP_Integer.types.hh.
| void Parma_Polyhedra_Library::add_mul_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z | |||
| ) | [related] |
Definition at line 58 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Constraint_System::affine_preimage(), Parma_Polyhedra_Library::Congruence_System::affine_preimage(), Parma_Polyhedra_Library::Scalar_Products::assign(), Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign(), Parma_Polyhedra_Library::Scalar_Products::reduced_assign(), and Parma_Polyhedra_Library::LP_Problem::steepest_edge().
| Result Parma_Polyhedra_Library::assign_r | ( | To & | to, | |
| char * | x, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
| Result Parma_Polyhedra_Library::assign_r | ( | To & | to, | |
| const char * | x, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
Definition at line 357 of file Checked_Number.inlines.hh.
References check_result(), and rounding_dir().
00357 { 00358 std::istringstream s(x); 00359 return check_result(Checked::input<typename Native_Checked_To_Wrapper<To>::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), s, rounding_dir(dir)), dir); 00360 }
| Result Parma_Polyhedra_Library::assign_r | ( | To & | to, | |
| const Not_A_Number & | x, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
Definition at line 351 of file Checked_Number.inlines.hh.
References check_result(), and rounding_dir().
00351 { 00352 return check_result(Checked::assign<typename Native_Checked_To_Wrapper<To>::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), x, rounding_dir(dir)), dir); 00353 }
| Result Parma_Polyhedra_Library::assign_r | ( | To & | to, | |
| const Plus_Infinity & | x, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
Definition at line 346 of file Checked_Number.inlines.hh.
References check_result(), and rounding_dir().
00346 { 00347 return check_result(Checked::assign<typename Native_Checked_To_Wrapper<To>::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), x, rounding_dir(dir)), dir); 00348 }
| Result Parma_Polyhedra_Library::assign_r | ( | To & | to, | |
| const Minus_Infinity & | x, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
Definition at line 341 of file Checked_Number.inlines.hh.
References check_result(), and rounding_dir().
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::add_space_dimensions_and_project(), Parma_Polyhedra_Library::BD_Shape< T >::affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::CC76_extrapolation_assign(), Parma_Polyhedra_Library::BD_Shape< T >::deduce_u_minus_v_bounds(), Parma_Polyhedra_Library::BD_Shape< T >::deduce_v_minus_u_bounds(), Parma_Polyhedra_Library::BD_Shape< T >::div_round_up(), Parma_Polyhedra_Library::BD_Shape< T >::euclidean_distance_assign(), Parma_Polyhedra_Library::maybe_assign_struct< To, From >::function(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_preimage(), Parma_Polyhedra_Library::BD_Shape< T >::l_infinity_distance_assign(), Parma_Polyhedra_Library::DB_Matrix< T >::l_m_distance_assign(), Parma_Polyhedra_Library::Bounding_Box::lower_upper_bound(), Parma_Polyhedra_Library::Polyhedron::max_min(), Parma_Polyhedra_Library::BD_Shape< T >::numer_denom(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::operator=(), Parma_Polyhedra_Library::Bounding_Box::raise_lower_bound(), Parma_Polyhedra_Library::BD_Shape< T >::rectilinear_distance_assign(), Parma_Polyhedra_Library::BD_Shape< T >::shortest_path_closure_assign(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
00341 { 00342 return check_result(Checked::assign<typename Native_Checked_To_Wrapper<To>::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), x, rounding_dir(dir)), dir); 00343 }
| const char * Parma_Polyhedra_Library::banner | ( | ) |
Returns a character string containing the PPL banner.
The banner provides information about the PPL version, the licensing, the lack of any warranty whatsoever, the C++ compiler used to build the library, where to report bugs and where to look for further information.
Definition at line 81 of file version.cc.
References banner_string.
Referenced by ppl_banner().
00081 { 00082 return banner_string; 00083 }
| Result Parma_Polyhedra_Library::check_result | ( | Result | r, | |
| Rounding_Dir | dir | |||
| ) | [inline] |
Definition at line 44 of file Checked_Number.inlines.hh.
Referenced by assign_r(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::Checked_Number(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::input(), and Parma_Polyhedra_Library::Checked_Number< T, Policy >::output().
00044 { 00045 if (dir == ROUND_NOT_NEEDED && !is_special(r)) { 00046 #ifdef DEBUG_ROUND_NOT_NEEDED 00047 // FIXME: this is wrong. If an overflow happens the Result may be 00048 // V_LT or V_GT. What's the better way to cope with that? 00049 assert(r == V_EQ); 00050 #else 00051 return V_EQ; 00052 #endif 00053 } 00054 return r; 00055 }
| int Parma_Polyhedra_Library::cmp | ( | const GMP_Integer & | x, | |
| const GMP_Integer & | y | |||
| ) | [related] |
| Coefficient_traits::const_reference Parma_Polyhedra_Library::Coefficient_one | ( | ) | [inline] |
Definition at line 35 of file Coefficient.inlines.hh.
Referenced by Parma_Polyhedra_Library::Constraint::epsilon_leq_one(), Parma_Polyhedra_Library::Constraint::zero_dim_false(), Parma_Polyhedra_Library::Congruence::zero_dim_false(), and Parma_Polyhedra_Library::Constraint::zero_dim_positivity().
00035 { 00036 static Coefficient o(1); 00037 return o; 00038 }
| Coefficient_traits::const_reference Parma_Polyhedra_Library::Coefficient_zero | ( | ) | [inline] |
Definition at line 29 of file Coefficient.inlines.hh.
Referenced by Parma_Polyhedra_Library::Linear_Expression::coefficient(), Parma_Polyhedra_Library::Polyhedron::conversion(), Parma_Polyhedra_Library::Constraint::operator<<(), Parma_Polyhedra_Library::Congruence::operator<<(), and Parma_Polyhedra_Library::Linear_Expression::zero().
00029 { 00030 static Coefficient z(0); 00031 return z; 00032 }
| dimension_type Parma_Polyhedra_Library::compute_capacity | ( | dimension_type | requested_size, | |
| dimension_type | maximum_size | |||
| ) | [inline] |
Speculative allocation function.
| requested_size | The number of elements we need. | |
| maximum_size | The maximum number of elements to be allocated. It is assumed to be no less than requested_size. |
maximum_size.
Definition at line 48 of file globals.inlines.hh.
Referenced by Parma_Polyhedra_Library::Linear_System::add_pending_row(), Parma_Polyhedra_Library::Matrix::add_recycled_row(), Parma_Polyhedra_Library::Saturation_Matrix::add_row(), Parma_Polyhedra_Library::Matrix::add_zero_columns(), Parma_Polyhedra_Library::Matrix::add_zero_rows(), Parma_Polyhedra_Library::Matrix::add_zero_rows_and_columns(), Parma_Polyhedra_Library::DB_Row< T >::DB_Row(), Parma_Polyhedra_Library::DB_Matrix< T >::grow(), Parma_Polyhedra_Library::Linear_System::merge_rows_assign(), Parma_Polyhedra_Library::Matrix::operator=(), Parma_Polyhedra_Library::DB_Matrix< T >::operator=(), Parma_Polyhedra_Library::Saturation_Matrix::resize(), Parma_Polyhedra_Library::Matrix::resize_no_copy(), Parma_Polyhedra_Library::DB_Matrix< T >::resize_no_copy(), and Parma_Polyhedra_Library::Row::Row().
00049 { 00050 assert(requested_size <= maximum_size); 00051 // Speculation factor 2. 00052 return (requested_size < maximum_size / 2) 00053 ? 2*(requested_size + 1) 00054 : maximum_size; 00055 // Speculation factor 1.5. 00056 // return (maximum_size - requested_size > requested_size/2) 00057 // ? requested_size + requested_size/2 + 1 00058 // : maximum_size; 00059 }
| void Parma_Polyhedra_Library::compute_leader_indices | ( | const std::vector< dimension_type > & | predecessor, | |
| std::vector< dimension_type > & | indices | |||
| ) | [related] |
Extracts leader indices from the predecessor relation.
| Parma_Polyhedra_Library::COND | ( | PPL_SUPPORTED_FLOAT | , | |
| DEF_CTOR(float) | ||||
| ) |
| Parma_Polyhedra_Library::DEF_CTOR | ( | long | double | ) |
| Parma_Polyhedra_Library::DEF_CTOR | ( | double | ) |
| void Parma_Polyhedra_Library::exact_div_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z | |||
| ) | [related] |
Definition at line 68 of file GMP_Integer.inlines.hh.
00068 { 00069 assert(y % z == 0); 00070 mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t()); 00071 }
| void Parma_Polyhedra_Library::exact_div_assign | ( | Checked_Number< T, Policy > & | x, | |
| const Checked_Number< T, Policy > & | y, | |||
| const Checked_Number< T, Policy > & | z | |||
| ) | [related] |
Definition at line 716 of file Checked_Number.inlines.hh.
Referenced by Parma_Polyhedra_Library::LP_Problem::compute_generator(), Parma_Polyhedra_Library::Grid::get_covering_box(), Parma_Polyhedra_Library::LP_Problem::get_exiting_base_index(), Parma_Polyhedra_Library::Generator::is_matching_closure_point(), Parma_Polyhedra_Library::Grid::max_min(), Parma_Polyhedra_Library::Row::normalize(), Parma_Polyhedra_Library::Grid::shrink_bounding_box(), and Parma_Polyhedra_Library::LP_Problem::steepest_edge().
| memory_size_type Parma_Polyhedra_Library::external_memory_in_bytes | ( | const GMP_Integer & | x | ) | [related] |
| bool Parma_Polyhedra_Library::extract_bounded_difference | ( | const Constraint & | c, | |
| const dimension_type | c_space_dim, | |||
| dimension_type & | c_num_vars, | |||
| dimension_type & | c_first_var, | |||
| dimension_type & | c_second_var, | |||
| Coefficient & | c_coeff | |||
| ) | [related] |
Decodes the constraint c as a bounded difference.
true if the constraint c is a bounded difference; false otherwise.| c | The constraint to be decoded. | |
| c_space_dim | The space dimension of the constraint c (it is assumed to match the actual space dimension of c). | |
| c_num_vars | If true is returned, then it will be set to the number of variables having a non-zero coefficient. The only legal values will therefore be 0, 1 and 2. | |
| c_first_var | If true is returned and if c_num_vars is not set to 0, then it will be set to the index of the first variable having a non-zero coefficient in c. | |
| c_second_var | If true is returned and if c_num_vars is set to 2, then it will be set to the index of the second variable having a non-zero coefficient in c. | |
| c_coeff | If true is returned and if c_num_vars is not set to 0, then it will be set to the value of the first non-zero coefficient in c. |
| void Parma_Polyhedra_Library::gcd_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z | |||
| ) | [related] |
Definition at line 39 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::conversion(), Parma_Polyhedra_Library::Grid::get_covering_box(), Parma_Polyhedra_Library::Grid::Grid(), Parma_Polyhedra_Library::Generator::is_matching_closure_point(), Parma_Polyhedra_Library::Grid::max_min(), Parma_Polyhedra_Library::Row::normalize(), Parma_Polyhedra_Library::Grid::reduce_congruence_with_equality(), Parma_Polyhedra_Library::Grid::reduce_equality_with_equality(), Parma_Polyhedra_Library::Grid::reduce_line_with_line(), Parma_Polyhedra_Library::Grid::reduce_parameter_with_line(), Parma_Polyhedra_Library::Grid::relation_with(), and Parma_Polyhedra_Library::Grid::shrink_bounding_box().
| void Parma_Polyhedra_Library::gcdext_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z, | |||
| GMP_Integer & | s, | |||
| GMP_Integer & | t | |||
| ) | [related] |
Definition at line 44 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::reduce_pc_with_pc().
00046 { 00047 mpz_gcdext(x.get_mpz_t(), 00048 s.get_mpz_t(), t.get_mpz_t(), 00049 y.get_mpz_t(), z.get_mpz_t()); 00050 }
| Coefficient& Parma_Polyhedra_Library::get_tmp_Coefficient | ( | ) | [inline] |
Definition at line 63 of file globals.defs.hh.
References Coefficient_free_list_first, Parma_Polyhedra_Library::Coefficient_free_list_element::integer(), and Parma_Polyhedra_Library::Coefficient_free_list_element::next().
00063 { 00064 Coefficient* p; 00065 if (Coefficient_free_list_first != 0) { 00066 p = &Coefficient_free_list_first->integer(); 00067 Coefficient_free_list_first = Coefficient_free_list_first->next(); 00068 } 00069 else 00070 p = reinterpret_cast<Coefficient*>(new Coefficient_free_list_element()); 00071 return *p; 00072 }
| bool Parma_Polyhedra_Library::is_integer | ( | const T & | x | ) | [inline] |
Definition at line 258 of file Checked_Number.inlines.hh.
References raw_value().
00258 { 00259 return Checked::is_int<typename Native_Checked_From_Wrapper<T>::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x)); 00260 }
| bool Parma_Polyhedra_Library::is_minus_infinity | ( | const T & | x | ) | [inline] |
Definition at line 240 of file Checked_Number.inlines.hh.
References raw_value().
Referenced by extended_rational_term().
00240 { 00241 return Checked::is_minf<typename Native_Checked_From_Wrapper<T>::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x)); 00242 }
| bool Parma_Polyhedra_Library::is_minus_infinity | ( | const Checked_Number< T, Policy > & | x | ) | [inline] |
Definition at line 315 of file Checked_Number.inlines.hh.
References Parma_Polyhedra_Library::Checked_Number< T, Policy >::raw_value().
Referenced by Parma_Polyhedra_Library::Bounding_Box::get_lower_bound(), Parma_Polyhedra_Library::Bounding_Box::get_upper_bound(), Parma_Polyhedra_Library::BD_Shape< T >::numer_denom(), Parma_Polyhedra_Library::BD_Shape< T >::OK(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
| bool Parma_Polyhedra_Library::is_not_a_number | ( | const T & | x | ) | [inline] |
Definition at line 252 of file Checked_Number.inlines.hh.
References raw_value().
00252 { 00253 return Checked::is_nan<typename Native_Checked_From_Wrapper<T>::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x)); 00254 }
| bool Parma_Polyhedra_Library::is_not_a_number | ( | const Checked_Number< T, Policy > & | x | ) | [inline] |
Definition at line 309 of file Checked_Number.inlines.hh.
References Parma_Polyhedra_Library::Checked_Number< T, Policy >::raw_value().
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::numer_denom(), and Parma_Polyhedra_Library::DB_Row< T >::OK().
| bool Parma_Polyhedra_Library::is_plus_infinity | ( | const T & | x | ) | [inline] |
Definition at line 246 of file Checked_Number.inlines.hh.
References raw_value().
Referenced by extended_rational_term().
00246 { 00247 return Checked::is_pinf<typename Native_Checked_From_Wrapper<T>::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x)); 00248 }
| bool Parma_Polyhedra_Library::is_plus_infinity | ( | const Checked_Number< T, Policy > & | x | ) | [inline] |
Definition at line 321 of file Checked_Number.inlines.hh.
References Parma_Polyhedra_Library::Checked_Number< T, Policy >::raw_value().
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::CC76_narrowing_assign(), Parma_Polyhedra_Library::BD_Shape< T >::constraints(), Parma_Polyhedra_Library::BD_Shape< T >::deduce_u_minus_v_bounds(), Parma_Polyhedra_Library::BD_Shape< T >::deduce_v_minus_u_bounds(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_preimage(), Parma_Polyhedra_Library::Bounding_Box::get_lower_bound(), Parma_Polyhedra_Library::Bounding_Box::get_upper_bound(), Parma_Polyhedra_Library::BD_Shape< T >::is_shortest_path_reduced(), Parma_Polyhedra_Library::BD_Shape< T >::is_universe(), Parma_Polyhedra_Library::DB_Matrix< T >::l_m_distance_assign(), Parma_Polyhedra_Library::BD_Shape< T >::minimized_constraints(), Parma_Polyhedra_Library::BD_Shape< T >::numer_denom(), Parma_Polyhedra_Library::BD_Shape< T >::OK(), Parma_Polyhedra_Library::BD_Shape< T >::relation_with(), Parma_Polyhedra_Library::BD_Shape< T >::shortest_path_closure_assign(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
| void Parma_Polyhedra_Library::lcm_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z | |||
| ) | [related] |
Definition at line 53 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::LP_Problem::compute_generator(), Parma_Polyhedra_Library::Grid::conversion(), Parma_Polyhedra_Library::LP_Problem::get_exiting_base_index(), Parma_Polyhedra_Library::Grid::normalize_divisors(), Parma_Polyhedra_Library::Congruence_System::normalize_moduli(), and Parma_Polyhedra_Library::LP_Problem::steepest_edge().
| T Parma_Polyhedra_Library::low_bits_mask | ( | unsigned | n | ) | [inline] |
Returns a mask for the lowest n bits,.
Definition at line 73 of file globals.inlines.hh.
00073 { 00074 assert(n < unsigned(std::numeric_limits<T>::digits)); 00075 return n == 0 ? 0 : ~(~(T(0u)) << n); 00076 }
| void Parma_Polyhedra_Library::maybe_abandon | ( | ) | [related] |
Definition at line 42 of file globals.inlines.hh.
References abandon_expensive_computations.
Referenced by Parma_Polyhedra_Library::Polyhedron::conversion().
00042 { 00043 if (const Throwable* p = abandon_expensive_computations) 00044 p->throw_me(); 00045 }
| Result Parma_Polyhedra_Library::maybe_assign | ( | const To *& | top, | |
| To & | tmp, | |||
| const From & | from, | |||
| Rounding_Dir | dir | |||
| ) | [inline] |
Assigns to top a pointer to a location that holds the conversion, according to dir, of from to type To. When necessary, and only when necessary, the variable tmp is used to hold the result of conversion.
Definition at line 459 of file DB_Matrix.inlines.hh.
Referenced by Parma_Polyhedra_Library::DB_Matrix< T >::l_m_distance_assign().
| T Parma_Polyhedra_Library::minus_infinity | ( | ) | [inline] |
Definition at line 808 of file Checked_Number.inlines.hh.
References MINUS_INFINITY.
00808 { 00809 return MINUS_INFINITY; 00810 }
| void Parma_Polyhedra_Library::neg_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y | |||
| ) | [related] |
Definition at line 34 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Linear_System::back_substitute().
| void Parma_Polyhedra_Library::neg_assign | ( | GMP_Integer & | x | ) | [related] |
Definition at line 29 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::affine_image(), Parma_Polyhedra_Library::Grid::affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::affine_image(), Parma_Polyhedra_Library::Polyhedron::affine_preimage(), Parma_Polyhedra_Library::Grid::affine_preimage(), Parma_Polyhedra_Library::Polyhedron::conversion(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_preimage(), Parma_Polyhedra_Library::Grid_Generator::negate(), Parma_Polyhedra_Library::Congruence::negate(), Parma_Polyhedra_Library::Row::normalize(), Parma_Polyhedra_Library::Grid_Generator::operator<<(), Parma_Polyhedra_Library::Constraint::operator<<(), Parma_Polyhedra_Library::Congruence::operator<<(), Parma_Polyhedra_Library::Grid_Generator::point(), Parma_Polyhedra_Library::LP_Problem::prepare_first_phase(), Parma_Polyhedra_Library::Grid::reduce_congruence_with_equality(), Parma_Polyhedra_Library::Grid::reduce_parameter_with_line(), Parma_Polyhedra_Library::LP_Problem::second_phase(), Parma_Polyhedra_Library::Linear_Row::sign_normalize(), and Parma_Polyhedra_Library::Congruence::sign_normalize().
| void Parma_Polyhedra_Library::normalize2 | ( | Coefficient_traits::const_reference | x, | |
| Coefficient_traits::const_reference | y, | |||
| Coefficient & | nx, | |||
| Coefficient & | ny | |||
| ) | [inline] |
If
is the GCD of x and y, the values of x and y divided by
are assigned to nx and ny, respectively.
x and nx may be the same object and likewise for y and ny. Any other aliasing results in undefined behavior. Definition at line 62 of file globals.inlines.hh.
References Parma_Polyhedra_Library::Checked_Number< T, Policy >::exact_div_assign(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::gcd_assign(), and TEMP_INTEGER.
Referenced by Parma_Polyhedra_Library::Polyhedron::conversion(), Parma_Polyhedra_Library::LP_Problem::evaluate_objective_function(), Parma_Polyhedra_Library::LP_Problem::linear_combine(), and Parma_Polyhedra_Library::Linear_Row::linear_combine().
00064 { 00065 TEMP_INTEGER(gcd); 00066 gcd_assign(gcd, x, y); 00067 exact_div_assign(nx, x, gcd); 00068 exact_div_assign(ny, y, gcd); 00069 }
| dimension_type Parma_Polyhedra_Library::not_a_dimension | ( | ) | [inline] |
Returns a value that does not designate a valid dimension.
Definition at line 33 of file globals.inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::map_space_dimensions(), Parma_Polyhedra_Library::Grid::map_space_dimensions(), Parma_Polyhedra_Library::Variable::max_space_dimension(), and ppl_not_a_dimension().
| T Parma_Polyhedra_Library::not_a_number | ( | ) | [inline] |
Definition at line 814 of file Checked_Number.inlines.hh.
References NOT_A_NUMBER.
00814 { 00815 return NOT_A_NUMBER; 00816 }
| bool Parma_Polyhedra_Library::operator!= | ( | const BD_Shape< T > & | x, | |
| const BD_Shape< T > & | y | |||
| ) | [related] |
Definition at line 309 of file BD_Shape.inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid_Generator_System::const_iterator::operator!=().
| bool Parma_Polyhedra_Library::operator== | ( | const BD_Shape< T > & | x, | |
| const BD_Shape< T > & | y | |||
| ) | [related] |
Definition at line 279 of file BD_Shape.inlines.hh.
References Parma_Polyhedra_Library::BD_Shape< T >::dbm, Parma_Polyhedra_Library::BD_Shape< T >::marked_empty(), Parma_Polyhedra_Library::BD_Shape< T >::shortest_path_closure_assign(), and Parma_Polyhedra_Library::BD_Shape< T >::space_dimension().
Referenced by Parma_Polyhedra_Library::Grid_Generator_System::const_iterator::operator==().
00279 { 00280 const dimension_type x_space_dim = x.space_dimension(); 00281 // Dimension-compatibility check. 00282 if (x_space_dim != y.space_dimension()) 00283 return false; 00284 00285 // Zero-dim BDSs are equal if and only if they are both empty or universe. 00286 if (x_space_dim == 0) 00287 if (x.marked_empty()) 00288 return y.marked_empty(); 00289 else 00290 return !y.marked_empty(); 00291 00292 // The exact equivalence test requires shortest-path closure. 00293 x.shortest_path_closure_assign(); 00294 y.shortest_path_closure_assign(); 00295 00296 // If one of two BDSs is empty, then they are equal 00297 // if and only if the other BDS is empty too. 00298 if (x.marked_empty()) 00299 return y.marked_empty(); 00300 if (y.marked_empty()) 00301 return false; 00302 // Check for syntactic equivalence of the two (shortest-path closed) 00303 // systems of bounded differences. 00304 return x.dbm == y.dbm; 00305 }
| T Parma_Polyhedra_Library::plus_infinity | ( | ) | [inline] |
Definition at line 802 of file Checked_Number.inlines.hh.
References PLUS_INFINITY.
00802 { 00803 return PLUS_INFINITY; 00804 }
| Parma_Polyhedra_Library::PPL_OUTPUT_TEMPLATE_DEFINITIONS | ( | T | , | |
| BD_Shape< T > | ||||
| ) |
| Parma_Polyhedra_Library::PPL_OUTPUT_TEMPLATE_DEFINITIONS | ( | T | , | |
| DB_Matrix< T > | ||||
| ) |
| Parma_Polyhedra_Library::PPL_OUTPUT_TEMPLATE_DEFINITIONS | ( | PH | , | |
| Polyhedra_Powerset< PH > | ||||
| ) |
| unsigned Parma_Polyhedra_Library::rational_sqrt_precision_parameter | ( | ) | [inline] |
Returns the precision parameter used for rational square root calculations.
Definition at line 390 of file checked_mpq.inlines.hh.
References Parma_Polyhedra_Library::Checked::rational_sqrt_precision_parameter.
00390 { 00391 return Checked::rational_sqrt_precision_parameter; 00392 }
| mpz_class& Parma_Polyhedra_Library::raw_value | ( | GMP_Integer & | x | ) | [related] |
Definition at line 89 of file GMP_Integer.inlines.hh.
Referenced by is_integer(), is_minus_infinity(), is_not_a_number(), and is_plus_infinity().
| const mpz_class& Parma_Polyhedra_Library::raw_value | ( | const GMP_Integer & | x | ) | [related] |
Definition at line 84 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Bounding_Box::get_lower_bound(), Parma_Polyhedra_Library::Bounding_Box::get_upper_bound(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
| void Parma_Polyhedra_Library::release_tmp_Coefficient | ( | Coefficient & | i | ) | [inline] |
Definition at line 75 of file globals.defs.hh.
References Coefficient_free_list_first, and Parma_Polyhedra_Library::Coefficient_free_list_element::next().
Referenced by Parma_Polyhedra_Library::Temp_Coefficient_Holder::~Temp_Coefficient_Holder().
00075 { 00076 Coefficient_free_list_element& e 00077 = reinterpret_cast<Coefficient_free_list_element&>(i); 00078 e.next() = Coefficient_free_list_first; 00079 Coefficient_free_list_first = &e; 00080 }
| Rounding_Dir Parma_Polyhedra_Library::rounding_dir | ( | Rounding_Dir | dir | ) | [inline] |
Definition at line 32 of file Checked_Number.inlines.hh.
Referenced by assign_r(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::Checked_Number(), Parma_Polyhedra_Library::Checked_Number< T, Policy >::input(), and Parma_Polyhedra_Library::Checked_Number< T, Policy >::output().
00032 { 00033 if (dir == ROUND_NOT_NEEDED) { 00034 #ifdef DEBUG_ROUND_NOT_NEEDED 00035 return ROUND_DIRECT; 00036 #else 00037 return ROUND_IGNORE; 00038 #endif 00039 } 00040 return dir; 00041 }
| void Parma_Polyhedra_Library::set_rational_sqrt_precision_parameter | ( | const unsigned | p | ) | [inline] |
Sets the precision parameter used for rational square root calculations.
If p is less than or equal to INT_MAX, sets the precision parameter used for rational square root calculations to p.
| std::invalid_argument | Thrown if p is greater than INT_MAX. |
Definition at line 403 of file checked_mpq.inlines.hh.
References Parma_Polyhedra_Library::Checked::rational_sqrt_precision_parameter.
Referenced by Parma_Polyhedra_Library::Init::Init().
00403 { 00404 if (p <= INT_MAX) 00405 Checked::rational_sqrt_precision_parameter = p; 00406 else 00407 throw std::invalid_argument("PPL::set_rational_sqrt_precision_parameter(p)" 00408 " with p > INT_MAX"); 00409 }
| Parma_Polyhedra_Library::signed_limits | ( | long | long, | |
| LLONG | ||||
| ) |
| Parma_Polyhedra_Library::signed_limits | ( | long | , | |
| LONG | ||||
| ) |
| Parma_Polyhedra_Library::signed_limits | ( | int | , | |
| INT | ||||
| ) |
| Parma_Polyhedra_Library::signed_limits | ( | short | , | |
| SHRT | ||||
| ) |
| Parma_Polyhedra_Library::signed_limits | ( | signed | char, | |
| SCHAR | ||||
| ) |
| void Parma_Polyhedra_Library::sqrt_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y | |||
| ) | [related] |
| void Parma_Polyhedra_Library::sub_mul_assign | ( | GMP_Integer & | x, | |
| const GMP_Integer & | y, | |||
| const GMP_Integer & | z | |||
| ) | [related] |
Definition at line 63 of file GMP_Integer.inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::BHRZ03_evolving_rays(), Parma_Polyhedra_Library::LP_Problem::compute_generator(), Parma_Polyhedra_Library::Polyhedron::conversion(), Parma_Polyhedra_Library::LP_Problem::linear_combine(), and Parma_Polyhedra_Library::Linear_Row::linear_combine().
| void Parma_Polyhedra_Library::throw_result_exception | ( | Result | r | ) |
Definition at line 33 of file Checked_Number.cc.
Referenced by Parma_Polyhedra_Library::Extended_Number_Policy::handle_result(), and Parma_Polyhedra_Library::Checked_Number_Default_Policy::handle_result().
00033 { 00034 switch (r) { 00035 case V_LT: 00036 throw std::logic_error("Exact result is less than computed one."); 00037 case V_LE: 00038 throw std::logic_error("Exact result is less than or equal to " 00039 "computed one."); 00040 case V_GT: 00041 throw std::logic_error("Exact result is greater than computed one."); 00042 case V_GE: 00043 throw std::logic_error("Exact result is greater than or equal to " 00044 "computed one."); 00045 case V_NE: 00046 throw std::logic_error("Exact result is less than or greater than " 00047 "computed one."); 00048 case V_LGE: 00049 throw std::logic_error("Exact result is less than, greater than or " 00050 "equal to computed one."); 00051 case VC_MINUS_INFINITY: 00052 throw std::overflow_error("Minus infinity."); 00053 case V_NEG_OVERFLOW: 00054 throw std::overflow_error("Negative overflow."); 00055 case V_UNKNOWN_NEG_OVERFLOW: 00056 throw std::overflow_error("Unknown result due to negative overflow."); 00057 case VC_PLUS_INFINITY: 00058 throw std::overflow_error("Plus infinity."); 00059 case V_POS_OVERFLOW: 00060 throw std::overflow_error("Positive overflow."); 00061 case V_UNKNOWN_POS_OVERFLOW: 00062 throw std::overflow_error("Unknown result due to positive overflow."); 00063 case V_CVT_STR_UNK: 00064 throw std::domain_error("Invalid numeric string."); 00065 case V_DIV_ZERO: 00066 throw std::domain_error("Division by zero."); 00067 case V_INF_ADD_INF: 00068 throw std::domain_error("Infinities addition."); 00069 case V_INF_DIV_INF: 00070 throw std::domain_error("Infinities division."); 00071 case V_INF_MOD: 00072 throw std::domain_error("Remainder of division of infinity."); 00073 case V_INF_MUL_ZERO: 00074 throw std::domain_error("Multiplication of infinity and zero."); 00075 case V_INF_SUB_INF: 00076 throw std::domain_error("Subtraction of infinities."); 00077 case V_MOD_ZERO: 00078 throw std::domain_error("Remainder of division by zero."); 00079 case V_SQRT_NEG: 00080 throw std::domain_error("Square root of negative number."); 00081 case V_UNORD_COMP: 00082 throw std::domain_error("Unordered comparison."); 00083 default: 00084 throw std::logic_error("Unexpected result."); 00085 } 00086 }
| memory_size_type Parma_Polyhedra_Library::total_memory_in_bytes | ( | const GMP_Integer & | x | ) | [related] |
Definition at line 99 of file GMP_Integer.inlines.hh.
References external_memory_in_bytes().
00099 { 00100 return sizeof(x) + external_memory_in_bytes(x); 00101 }
| Parma_Polyhedra_Library::TRACE | ( | using std::cerr | ) |
| Parma_Polyhedra_Library::TRACE | ( | using std::endl | ) |
Referenced by Parma_Polyhedra_Library::Grid::conversion(), Parma_Polyhedra_Library::Grid::reduce_congruence_with_equality(), Parma_Polyhedra_Library::Grid::reduce_equality_with_equality(), Parma_Polyhedra_Library::Grid::reduce_line_with_line(), Parma_Polyhedra_Library::Grid::reduce_parameter_with_line(), Parma_Polyhedra_Library::Grid::reduce_pc_with_pc(), and Parma_Polyhedra_Library::Grid::simplify().
| Parma_Polyhedra_Library::unsigned_limits | ( | unsigned long | long, | |
| ULLONG | ||||
| ) |
| Parma_Polyhedra_Library::unsigned_limits | ( | unsigned | long, | |
| ULONG | ||||
| ) |
| Parma_Polyhedra_Library::unsigned_limits | ( | unsigned | int, | |
| UINT | ||||
| ) |
| Parma_Polyhedra_Library::unsigned_limits | ( | unsigned | short, | |
| USHRT | ||||
| ) |
| Parma_Polyhedra_Library::unsigned_limits | ( | unsigned | char, | |
| UCHAR | ||||
| ) |
| const char * Parma_Polyhedra_Library::version | ( | ) |
Returns a character string containing the PPL version.
Definition at line 76 of file version.cc.
References version_string.
Referenced by ppl_version().
00076 { 00077 return version_string; 00078 }
| unsigned Parma_Polyhedra_Library::version_beta | ( | ) |
Returns the beta number of the PPL version.
Definition at line 71 of file version.cc.
References PPL_VERSION_BETA.
Referenced by ppl_version_beta().
00071 { 00072 return PPL_VERSION_BETA; 00073 }
| unsigned Parma_Polyhedra_Library::version_major | ( | ) |
Returns the major number of the PPL version.
Definition at line 56 of file version.cc.
References PPL_VERSION_MAJOR.
Referenced by ppl_version_major().
00056 { 00057 return PPL_VERSION_MAJOR; 00058 }
| unsigned Parma_Polyhedra_Library::version_minor | ( | ) |
Returns the minor number of the PPL version.
Definition at line 61 of file version.cc.
References PPL_VERSION_MINOR.
Referenced by ppl_version_minor().
00061 { 00062 return PPL_VERSION_MINOR; 00063 }
| unsigned Parma_Polyhedra_Library::version_revision | ( | ) |
Returns the revision number of the PPL version.
Definition at line 66 of file version.cc.
References PPL_VERSION_REVISION.
Referenced by ppl_version_revision().
00066 { 00067 return PPL_VERSION_REVISION; 00068 }
Definition at line 31 of file globals.cc.
Referenced by get_tmp_Coefficient(), and release_tmp_Coefficient().
Definition at line 28 of file Checked_Number.cc.
Referenced by Parma_Polyhedra_Library::Bounding_Box::CC76_widening_assign(), Parma_Polyhedra_Library::Checked::input_generic(), Parma_Polyhedra_Library::Checked::input_mpq(), minus_infinity(), Parma_Polyhedra_Library::Interval::set_empty(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
Definition at line 29 of file Checked_Number.cc.
Referenced by Parma_Polyhedra_Library::BD_Shape< T >::BD_Shape(), Parma_Polyhedra_Library::BD_Shape< T >::BHMZ05_widening_assign(), Parma_Polyhedra_Library::BD_Shape< T >::CC76_extrapolation_assign(), Parma_Polyhedra_Library::Bounding_Box::CC76_widening_assign(), Parma_Polyhedra_Library::BD_Shape< T >::euclidean_distance_assign(), Parma_Polyhedra_Library::DB_Row_Impl_Handler< T >::Impl::expand_within_capacity(), Parma_Polyhedra_Library::BD_Shape< T >::forget_all_dbm_constraints(), Parma_Polyhedra_Library::BD_Shape< T >::forget_binary_dbm_constraints(), Parma_Polyhedra_Library::BD_Shape< T >::generalized_affine_image(), Parma_Polyhedra_Library::Checked::input_generic(), Parma_Polyhedra_Library::Checked::input_mpq(), Parma_Polyhedra_Library::BD_Shape< T >::l_infinity_distance_assign(), Parma_Polyhedra_Library::DB_Matrix< T >::l_m_distance_assign(), plus_infinity(), Parma_Polyhedra_Library::BD_Shape< T >::rectilinear_distance_assign(), Parma_Polyhedra_Library::Interval::set_empty(), Parma_Polyhedra_Library::BD_Shape< T >::shortest_path_closure_assign(), and Parma_Polyhedra_Library::Polyhedron::shrink_bounding_box().
1.5.6