00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef PPL_globals_types_hh
00014 #define PPL_globals_types_hh 1
00015
00016 #include <cstddef>
00017
00018 namespace Parma_Polyhedra_Library {
00019
00021
00022 typedef size_t dimension_type;
00023
00025
00026 typedef size_t memory_size_type;
00027
00029
00030 enum Degenerate_Element {
00032 UNIVERSE,
00034 EMPTY
00035 };
00036
00038
00039
00040 enum Relation_Symbol {
00042 EQUAL = 1,
00044 LESS_THAN = 2,
00046 LESS_OR_EQUAL = LESS_THAN | EQUAL,
00048 GREATER_THAN = 4,
00050 GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
00052 NOT_EQUAL = LESS_THAN | GREATER_THAN
00053 };
00054
00056
00057 enum Complexity_Class {
00059 POLYNOMIAL_COMPLEXITY,
00061 SIMPLEX_COMPLEXITY,
00063 ANY_COMPLEXITY
00064 };
00065
00067
00068 enum Optimization_Mode {
00070 MINIMIZATION,
00072 MAXIMIZATION
00073 };
00074
00081 enum Bounded_Integer_Type_Width {
00083 BITS_8 = 8,
00084
00086 BITS_16 = 16,
00087
00089 BITS_32 = 32,
00090
00092 BITS_64 = 64,
00093
00095 BITS_128 = 128
00096 };
00097
00104 enum Bounded_Integer_Type_Representation {
00106 UNSIGNED,
00107
00112 SIGNED_2_COMPLEMENT
00113 };
00114
00121 enum Bounded_Integer_Type_Overflow {
00128 OVERFLOW_WRAPS,
00129
00143 OVERFLOW_UNDEFINED,
00144
00153 OVERFLOW_IMPOSSIBLE
00154 };
00155
00156 struct Weightwatch_Traits;
00157
00158 }
00159
00160 #endif // !defined(PPL_globals_types_hh)