2 #include <barvinok/options.h>
3 #include <barvinok/util.h>
8 enum order_sign
glpk_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
9 struct barvinok_options
*options
)
14 enum lp_result
glpk_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
15 Value
*min
, Value
*max
,
16 struct barvinok_options
*options
)
22 #ifndef HAVE_LIBCDDGMP
23 enum order_sign
cdd_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
24 struct barvinok_options
*options
)
29 enum order_sign
cddf_polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
30 struct barvinok_options
*options
)
35 enum lp_result
cdd_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
36 Value
*min
, Value
*max
,
37 struct barvinok_options
*options
)
42 enum lp_result
cddf_polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
43 Value
*min
, Value
*max
,
44 struct barvinok_options
*options
)
50 enum order_sign
polyhedron_affine_sign(Polyhedron
*D
, Matrix
*T
,
51 struct barvinok_options
*options
)
53 if (options
->lp_solver
== BV_LP_POLYLIB
)
54 return PL_polyhedron_affine_sign(D
, T
, options
);
55 else if (options
->lp_solver
== BV_LP_GLPK
)
56 return glpk_polyhedron_affine_sign(D
, T
, options
);
57 else if (options
->lp_solver
== BV_LP_CDD
)
58 return cdd_polyhedron_affine_sign(D
, T
, options
);
59 else if (options
->lp_solver
== BV_LP_CDDF
)
60 return cddf_polyhedron_affine_sign(D
, T
, options
);
65 enum lp_result
polyhedron_range(Polyhedron
*D
, Value
*obj
, Value denom
,
66 Value
*min
, Value
*max
,
67 struct barvinok_options
*options
)
69 if (options
->lp_solver
== BV_LP_POLYLIB
)
70 return PL_polyhedron_range(D
, obj
, denom
, min
, max
, options
);
71 else if (options
->lp_solver
== BV_LP_GLPK
)
72 return glpk_polyhedron_range(D
, obj
, denom
, min
, max
, options
);
73 else if (options
->lp_solver
== BV_LP_CDD
)
74 return cdd_polyhedron_range(D
, obj
, denom
, min
, max
, options
);
75 else if (options
->lp_solver
== BV_LP_CDDF
)
76 return cddf_polyhedron_range(D
, obj
, denom
, min
, max
, options
);