1 #include <barvinok/polylib.h>
3 #if defined(__cplusplus)
9 enum order_sign
{ order_lt
, order_le
, order_eq
, order_ge
, order_gt
, order_unknown
,
12 /* Returns the sign of the affine function specified by T on the polyhedron D */
13 enum order_sign
polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
14 struct barvinok_options
*options
);
15 enum order_sign
PL_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
16 struct barvinok_options
*options
);
17 enum order_sign
cdd_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
18 struct barvinok_options
*options
);
19 enum order_sign
cddf_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
20 struct barvinok_options
*options
);
22 enum lp_result
{ lp_ok
= 0, lp_unbounded
, lp_empty
};
24 /* Computes min and max of obj/denom over D, with min rounded up
25 * and max rounded down to an integer. obj has D->Dimension+1
26 * elements, with the constant term in position D->Dimension.
28 enum lp_result
polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
29 Value
*min
, Value
*max
,
30 struct barvinok_options
*options
);
31 enum lp_result
PL_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
32 Value
*min
, Value
*max
,
33 struct barvinok_options
*options
);
34 enum lp_result
glpk_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
35 Value
*min
, Value
*max
,
36 struct barvinok_options
*options
);
37 enum lp_result
cdd_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
38 Value
*min
, Value
*max
,
39 struct barvinok_options
*options
);
40 enum lp_result
cddf_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
41 Value
*min
, Value
*max
,
42 struct barvinok_options
*options
);
43 #if defined(__cplusplus)