Skip to main content

Crate ppl_sys

Crate ppl_sys 

Source

Structs§

__mpz_struct
ppl_Coefficient_tag
ppl_Constraint_System_const_iterator_tag
ppl_Constraint_System_tag
ppl_Constraint_tag
ppl_Generator_System_tag
ppl_Generator_tag
ppl_Linear_Expression_tag
ppl_Polyhedron_tag

Constants§

ppl_enum_Constraint_Type_PPL_CONSTRAINT_TYPE_EQUAL
The constraint is of the form \f$e = 0\f$.
ppl_enum_Constraint_Type_PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL
The constraint is of the form \f$e \geq 0\f$.
ppl_enum_Constraint_Type_PPL_CONSTRAINT_TYPE_GREATER_THAN
The constraint is of the form \f$e > 0\f$.
ppl_enum_Constraint_Type_PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL
The constraint is of the form \f$e \leq 0\f$.
ppl_enum_Constraint_Type_PPL_CONSTRAINT_TYPE_LESS_THAN
The constraint is of the form \f$e < 0\f$.
ppl_enum_Generator_Type_PPL_GENERATOR_TYPE_CLOSURE_POINT
The generator is a closure point.
ppl_enum_Generator_Type_PPL_GENERATOR_TYPE_LINE
The generator is a line.
ppl_enum_Generator_Type_PPL_GENERATOR_TYPE_POINT
The generator is a point.
ppl_enum_Generator_Type_PPL_GENERATOR_TYPE_RAY
The generator is a ray.
ppl_enum_error_code_PPL_ARITHMETIC_OVERFLOW
\hideinitializer An arithmetic overflow occurred and the computation was consequently interrupted. This can only happen in library’s incarnations using bounded integers as coefficients.
ppl_enum_error_code_PPL_ERROR_DOMAIN_ERROR
\hideinitializer A function has been invoked outside its domain of definition.
ppl_enum_error_code_PPL_ERROR_INTERNAL_ERROR
\hideinitializer An internal error that was diagnosed by the PPL itself. This indicates a bug in the PPL.
ppl_enum_error_code_PPL_ERROR_INVALID_ARGUMENT
\hideinitializer A function has been invoked with an invalid argument.
ppl_enum_error_code_PPL_ERROR_LENGTH_ERROR
\hideinitializer The construction of an object that would exceed its maximum permitted size was attempted.
ppl_enum_error_code_PPL_ERROR_LOGIC_ERROR
\hideinitializer The client program attempted to use the PPL in a way that violates its internal logic. This happens, for instance, when the client attempts to use the timeout facilities on a system that does not support them.
ppl_enum_error_code_PPL_ERROR_OUT_OF_MEMORY
\hideinitializer The virtual memory available to the process has been exhausted.
ppl_enum_error_code_PPL_ERROR_UNEXPECTED_ERROR
\hideinitializer A totally unknown, totally unexpected error happened. This indicates a bug in the PPL.
ppl_enum_error_code_PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION
\hideinitializer A standard exception has been raised by the C++ run-time environment. This indicates a bug in the PPL.
ppl_enum_error_code_PPL_STDIO_ERROR
\hideinitializer An error occurred during a C input/output operation. A more precise indication of what went wrong is available via errno.
ppl_enum_error_code_PPL_TIMEOUT_EXCEPTION
\hideinitializer An exception has been raised by the PPL as a timeout previously set by the user has expired.

Functions§

ppl_Coefficient_is_bounded
\relates ppl_Coefficient_tag \brief Returns a positive integer if coefficients are bounded; returns 0 otherwise.
ppl_Coefficient_to_mpz_t
\relates ppl_Coefficient_tag \brief Sets the value of the GMP integer \p z to the value of \p c.
ppl_Constraint_System_begin
\relates ppl_Constraint_System_tag \brief Assigns to \p cit a const iterator “pointing” to the beginning of the constraint system \p cs.
ppl_Constraint_System_const_iterator_dereference
\relates ppl_Constraint_System_const_iterator_tag \brief Dereference \p cit writing a const handle to the resulting constraint at address \p pc.
ppl_Constraint_System_const_iterator_equal_test
\relates ppl_Constraint_System_const_iterator_tag \brief Returns a positive integer if the iterators corresponding to \p x and \p y are equal; returns 0 if they are different.
ppl_Constraint_System_const_iterator_increment
\relates ppl_Constraint_System_const_iterator_tag \brief Increment \p cit so that it “points” to the next constraint.
ppl_Constraint_System_end
\relates ppl_Constraint_System_tag \brief Assigns to \p cit a const iterator “pointing” past the end of the constraint system \p cs.
ppl_Constraint_coefficient
\relates ppl_Constraint_tag \brief Copies into \p n the coefficient of variable \p var in constraint \p c.
ppl_Constraint_inhomogeneous_term
\relates ppl_Constraint_tag \brief Copies into \p n the inhomogeneous term of constraint \p c.
ppl_Constraint_type
\relates ppl_Constraint_tag \brief Returns the type of constraint \p c.
ppl_Generator_System_insert_Generator
\relates ppl_Generator_System_tag \brief Inserts a copy of the generator \p g into \p gs; the space dimension is increased, if necessary.
ppl_Generator_coefficient
\relates ppl_Generator_tag \brief Copies into \p n the coefficient of variable \p var in generator \p g.
ppl_Generator_divisor
\relates ppl_Generator_tag \brief If \p g is a point or a closure point assigns its divisor to \p n.
ppl_Generator_type
\relates ppl_Generator_tag \brief Returns the type of generator \p g.
ppl_Linear_Expression_add_to_coefficient
\relates ppl_Linear_Expression_tag \brief Adds \p n to the coefficient of variable \p var in the linear expression \p le. The space dimension is set to be the maximum between \p var + 1 and the old space dimension.
ppl_Linear_Expression_add_to_inhomogeneous
\relates ppl_Linear_Expression_tag \brief Adds \p n to the inhomogeneous term of the linear expression \p le.
ppl_Polyhedron_get_minimized_constraints
\relates ppl_Polyhedron_tag
ppl_assign_Coefficient_from_mpz_t
\relates ppl_Coefficient_tag \brief Assign to \p dst the value given by the GMP integer \p z.
ppl_delete_Coefficient
\relates ppl_Coefficient_tag \brief Invalidates the handle \p c: this makes sure the corresponding resources will eventually be released.
ppl_delete_Constraint_System_const_iterator
\relates ppl_Constraint_System_const_iterator_tag \brief Invalidates the handle \p cit: this makes sure the corresponding resources will eventually be released.
ppl_delete_Generator
\relates ppl_Generator_tag \brief Invalidates the handle \p g: this makes sure the corresponding resources will eventually be released.
ppl_delete_Generator_System
\relates ppl_Generator_System_tag \brief Invalidates the handle \p gs: this makes sure the corresponding resources will eventually be released.
ppl_delete_Linear_Expression
\relates ppl_Linear_Expression_tag \brief Invalidates the handle \p le: this makes sure the corresponding resources will eventually be released.
ppl_delete_Polyhedron
\relates ppl_Polyhedron_tag
ppl_finalize
\brief Finalizes the Parma Polyhedra Library. This function must be called after any other function.
ppl_initialize
\brief Initializes the Parma Polyhedra Library. This function must be called before any other function.
ppl_new_C_Polyhedron_from_Generator_System
\relates ppl_Polyhedron_tag
ppl_new_C_Polyhedron_recycle_Generator_System
\relates ppl_Polyhedron_tag
ppl_new_Coefficient
\relates ppl_Coefficient_tag \brief Creates a new coefficient with value 0 and writes a handle for the newly created coefficient at address \p pc.
ppl_new_Constraint_System_const_iterator
\relates ppl_Constraint_System_const_iterator_tag \brief Builds a new `const iterator’ and writes a handle to it at address \p pcit.
ppl_new_Generator
\relates ppl_Generator_tag \brief Creates a new generator of direction \p le and type \p t. If the generator to be created is a point or a closure point, the divisor \p d is applied to \p le. For other types of generators \p d is simply disregarded. A handle for the new generator is written at address \p pg. The space dimension of the new generator is equal to the space dimension of \p le.
ppl_new_Generator_System
\relates ppl_Generator_System_tag \brief Builds an empty system of generators and writes a handle to it at address \p pgs.
ppl_new_Linear_Expression_with_dimension
\relates ppl_Linear_Expression_tag \brief Creates a new linear expression corresponding to the constant 0 in a d-dimensional space; writes a handle for the new linear expression at address \p ple.
ppl_thread_finalize
\brief Performs thread specific finalization for the Parma Polyhedra Library.
ppl_thread_initialize
\brief Performs thread specific initialization for the Parma Polyhedra Library.

Type Aliases§

mp_limb_t
mpz_t
ppl_Coefficient_t
\interface ppl_Coefficient_tag \brief Types and functions for coefficients.
ppl_Constraint_System_const_iterator_t
\interface ppl_Constraint_System_const_iterator_tag \brief Types and functions for iterating on constraint systems.
ppl_Generator_System_t
\interface ppl_Generator_System_tag \brief Types and functions for generator systems.
ppl_Generator_t
\interface ppl_Generator_tag \brief Types and functions for generators.
ppl_Linear_Expression_t
\interface ppl_Linear_Expression_tag \brief Types and functions for linear expressions.
ppl_Polyhedron_t
ppl_const_Coefficient_t
\interface ppl_Coefficient_tag \brief Types and functions for coefficients.
ppl_const_Constraint_System_const_iterator_t
\interface ppl_Constraint_System_const_iterator_tag \brief Types and functions for iterating on constraint systems.
ppl_const_Constraint_System_t
\interface ppl_Constraint_System_tag \brief Types and functions for constraint systems.
ppl_const_Constraint_t
\interface ppl_Constraint_tag \brief Types and functions for constraints.
ppl_const_Generator_System_t
\interface ppl_Generator_System_tag \brief Types and functions for generator systems.
ppl_const_Generator_t
\interface ppl_Generator_tag \brief Types and functions for generators.
ppl_const_Linear_Expression_t
\interface ppl_Linear_Expression_tag \brief Types and functions for linear expressions.
ppl_const_Polyhedron_t
ppl_dimension_type
\brief An unsigned integral type for representing space dimensions.
ppl_enum_Constraint_Type
\brief \ingroup Datatypes Describes the relations represented by a constraint.
ppl_enum_Generator_Type
\brief \ingroup Datatypes Describes the different kinds of generators.
ppl_enum_error_code
\brief Defines the error codes that any function may return.