module Ppl_ocaml_globals: sig .. end
exception PPL_arithmetic_overflow of string
exception PPL_timeout_exception
exception PPL_internal_error of string
exception PPL_unknown_standard_exception of string
exception PPL_unexpected_error of string
type 
type 
type 
type 
type 
type 
type 
| | | Is_Disjoint | 
| | | Strictly_Intersects | 
| | | Is_Included | 
| | | Saturates | 
type 
| | | Is_Disjoint | 
| | | Strictly_Intersects | 
| | | Is_Included | 
type linear_expression * linear_expression *
       Gmp.Z.t 
type linear_constraint list 
type linear_generator list 
type linear_grid_generator list 
type linear_congruence list 
type 
| | | Less_Than_RS | 
| | | Less_Or_Equal_RS | 
| | | Equal_RS | 
| | | Greater_Than_RS | 
| | | Greater_Or_Equal_RS | 
type 
| | | Overflow_Wraps | 
| | | Overflow_Undefined | 
| | | Overflow_Impossible | 
type 
| | | Unsigned | 
| | | Signed_2_Complement | 
type 
| | | Bits_8 | 
| | | Bits_16 | 
| | | Bits_32 | 
| | | Bits_64 | 
| | | Bits_128 | 
type 
| | | Polynomial_Complexity | 
| | | Simplex_Complexity | 
| | | Any_Complexity | 
type 
| | | Minimization | 
| | | Maximization | 
type 
| | | Unfeasible_Mip_Problem | 
| | | Unbounded_Mip_Problem | 
| | | Optimized_Mip_Problem | 
type 
type 
| | | Pricing_Steepest_Edge_Float | 
| | | Pricing_Steepest_Edge_Exact | 
| | | Pricing_Textbook | 
type 
| | | Unfeasible_Pip_Problem | 
| | | Optimized_Pip_Problem | 
type 
| | | Cutting_Strategy | 
| | | Pivot_Row_Strategy | 
type 
| | | Cutting_Strategy_First | 
| | | Cutting_Strategy_Deepest | 
| | | Cutting_Strategy_All | 
| | | Pivot_Row_Strategy_First | 
| | | Pivot_Row_Strategy_Max_Column | 
val ppl_version_major : unit -> int
val ppl_version_minor : unit -> int
val ppl_version_revision : unit -> int
val ppl_version_beta : unit -> int
val ppl_version : unit -> string
val ppl_banner : unit -> string
val ppl_io_wrap_string : string -> int -> int -> int -> string
val ppl_max_space_dimension : unit -> int
val ppl_Coefficient_bits : unit -> int
val ppl_Coefficient_is_bounded : unit -> bool
val ppl_Coefficient_max : unit -> Gmp.Z.t
val ppl_Coefficient_min : unit -> Gmp.Z.t
val ppl_Linear_Expression_is_zero : linear_expression -> bool
val ppl_Linear_Expression_all_homogeneous_terms_are_zero : linear_expression -> bool
val ppl_set_rounding_for_PPL : unit -> unit
val ppl_restore_pre_PPL_rounding : unit -> unit
val ppl_irrational_precision : unit -> int
val ppl_set_irrational_precision : int -> unit
val ppl_set_timeout : int -> unit
val ppl_reset_timeout : unit -> unit
val ppl_set_deterministic_timeout : int -> int -> unit
val ppl_reset_deterministic_timeout : unit -> unit
type 
val ppl_new_MIP_Problem_from_space_dimension : int -> mip_problem
val ppl_new_MIP_Problem : int ->
       constraint_system ->
       linear_expression ->
       optimization_mode -> mip_problem
val ppl_MIP_Problem_space_dimension : mip_problem -> int
val ppl_MIP_Problem_integer_space_dimensions : mip_problem -> int list
val ppl_MIP_Problem_constraints : mip_problem -> constraint_system
val ppl_MIP_Problem_add_space_dimensions_and_embed : mip_problem -> int -> unit
val ppl_MIP_Problem_add_to_integer_space_dimensions : mip_problem -> int list -> unit
val ppl_MIP_Problem_add_constraint : mip_problem -> linear_constraint -> unit
val ppl_MIP_Problem_add_constraints : mip_problem -> constraint_system -> unit
val ppl_MIP_Problem_set_objective_function : mip_problem -> linear_expression -> unit
val ppl_MIP_Problem_is_satisfiable : mip_problem -> bool
val ppl_MIP_Problem_solve : mip_problem -> mip_problem_status
val ppl_MIP_Problem_optimization_mode : mip_problem -> optimization_mode
val ppl_MIP_Problem_feasible_point : mip_problem -> linear_generator
val ppl_MIP_Problem_optimizing_point : mip_problem -> linear_generator
val ppl_MIP_Problem_objective_function : mip_problem -> linear_expression
val ppl_MIP_Problem_optimal_value : mip_problem -> Gmp.Z.t * Gmp.Z.t
val ppl_MIP_Problem_evaluate_objective_function : mip_problem ->
       linear_generator -> Gmp.Z.t * Gmp.Z.t
val ppl_MIP_Problem_OK : mip_problem -> bool
val ppl_MIP_Problem_clear : mip_problem -> unit
val ppl_MIP_Problem_set_optimization_mode : mip_problem -> optimization_mode -> unit
val ppl_MIP_Problem_set_control_parameter : mip_problem ->
       control_parameter_value -> unit
val ppl_MIP_Problem_get_control_parameter : mip_problem ->
       control_parameter_name ->
       control_parameter_value
val ppl_MIP_Problem_swap : mip_problem -> mip_problem -> unit
val ppl_MIP_Problem_ascii_dump : mip_problem -> string
type 
type 
type linear_expression * Gmp.Z.t 
val ppl_new_PIP_Problem_from_space_dimension : int -> pip_problem
val ppl_new_PIP_Problem : int ->
       constraint_system ->
       int list -> pip_problem
val ppl_PIP_Problem_space_dimension : pip_problem -> int
val ppl_PIP_Problem_parameter_space_dimensions : pip_problem -> int list
val ppl_PIP_Problem_constraints : pip_problem -> constraint_system
val ppl_PIP_Problem_add_space_dimensions_and_embed : pip_problem -> int -> int -> unit
val ppl_PIP_Problem_add_to_parameter_space_dimensions : pip_problem -> int list -> unit
val ppl_PIP_Problem_add_constraint : pip_problem -> linear_constraint -> unit
val ppl_PIP_Problem_add_constraints : pip_problem -> constraint_system -> unit
val ppl_PIP_Problem_is_satisfiable : pip_problem -> bool
val ppl_PIP_Problem_solve : pip_problem -> pip_problem_status
val ppl_PIP_Problem_solution : pip_problem -> pip_tree_node
val ppl_PIP_Problem_optimizing_solution : pip_problem -> pip_tree_node
val ppl_PIP_Problem_get_big_parameter_dimension : pip_problem -> int
val ppl_PIP_Problem_set_big_parameter_dimension : pip_problem -> int -> unit
val ppl_PIP_Problem_has_big_parameter_dimension : pip_problem -> bool
val ppl_PIP_Problem_OK : pip_problem -> bool
val ppl_PIP_Problem_clear : pip_problem -> unit
val ppl_PIP_Problem_set_control_parameter : pip_problem ->
       pip_problem_control_parameter_value -> unit
val ppl_PIP_Problem_get_control_parameter : pip_problem ->
       pip_problem_control_parameter_name ->
       pip_problem_control_parameter_value
val ppl_PIP_Problem_swap : pip_problem -> pip_problem -> unit
val ppl_PIP_Problem_ascii_dump : pip_problem -> string
val ppl_PIP_Tree_Node_constraints : pip_tree_node -> constraint_system
val ppl_PIP_Tree_Node_artificials : pip_tree_node ->
       artificial_parameter list
val ppl_PIP_Tree_Node_ascii_dump : pip_tree_node -> string
val ppl_PIP_Tree_Node_OK : pip_tree_node -> bool
val ppl_PIP_Tree_Node_is_bottom : pip_tree_node -> bool
val ppl_PIP_Tree_Node_is_solution : pip_tree_node -> bool
val ppl_PIP_Tree_Node_parametric_values : pip_tree_node -> int -> linear_expression
val ppl_PIP_Tree_Node_is_decision : pip_tree_node -> bool
val ppl_PIP_Tree_Node_true_child : pip_tree_node -> pip_tree_node
val ppl_PIP_Tree_Node_false_child : pip_tree_node -> pip_tree_node