1 #include <barvinok/polylib.h>
3 #if defined(__cplusplus)
7 struct barvinok_options
;
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
glpk_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
14 struct barvinok_options
*options
);
15 enum order_sign
polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
16 struct barvinok_options
*options
);
17 enum order_sign
PL_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
18 struct barvinok_options
*options
);
19 enum order_sign
cdd_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
20 struct barvinok_options
*options
);
21 enum order_sign
cddf_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
22 struct barvinok_options
*options
);
23 enum order_sign
isl_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
24 struct barvinok_options
*options
);
26 enum lp_result
{ lp_ok
= 0, lp_unbounded
, lp_empty
};
27 enum lp_dir
{ lp_min
, lp_max
};
29 enum lp_result
constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
30 enum lp_dir dir
, Value
*opt
,
31 struct barvinok_options
*options
);
32 enum lp_result
glpk_constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
33 enum lp_dir dir
, Value
*opt
);
34 enum lp_result
PL_constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
35 enum lp_dir dir
, Value
*opt
,
37 enum lp_result
cdd_constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
38 enum lp_dir dir
, Value
*opt
);
39 enum lp_result
cddf_constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
40 enum lp_dir dir
, Value
*opt
);
41 enum lp_result
isl_constraints_opt(Matrix
*C
, Value
*obj
, Value denom
,
42 enum lp_dir dir
, Value
*opt
);
44 enum lp_result
polyhedron_opt(Polyhedron
*P
, Value
*obj
, Value denom
,
45 enum lp_dir dir
, Value
*opt
,
46 struct barvinok_options
*options
);
47 enum lp_result
PL_polyhedron_opt(Polyhedron
*P
, Value
*obj
, Value denom
,
48 enum lp_dir dir
, Value
*opt
);
50 #if defined(__cplusplus)