add isl_set_min
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 18 Jul 2011 14:28:08 +0000 (16:28 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 20 Jul 2011 09:35:44 +0000 (11:35 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/ilp.h
isl_ilp.c

index 76799c1..ef11d92 100644 (file)
@@ -1648,10 +1648,12 @@ per space.
        enum isl_lp_result isl_basic_set_max(
                __isl_keep isl_basic_set *bset,
                __isl_keep isl_aff *obj, isl_int *opt)
+       enum isl_lp_result isl_set_min(__isl_keep isl_set *set,
+               __isl_keep isl_aff *obj, isl_int *opt);
        enum isl_lp_result isl_set_max(__isl_keep isl_set *set,
                __isl_keep isl_aff *obj, isl_int *opt);
 
-Compute the maximum of the integer affine expression C<obj>
+Compute the minimum or maximum of the integer affine expression C<obj>
 over the points in C<set>, returning the result in C<opt>.
 The return value may be one of C<isl_lp_error>,
 C<isl_lp_ok>, C<isl_lp_unbounded> or C<isl_lp_empty>.
index 460aaed..de5ec80 100644 (file)
@@ -22,6 +22,8 @@ enum isl_lp_result isl_basic_set_solve_ilp(struct isl_basic_set *bset, int max,
                                      struct isl_vec **sol_p);
 enum isl_lp_result isl_basic_set_max(__isl_keep isl_basic_set *bset,
        __isl_keep isl_aff *obj, isl_int *opt);
+enum isl_lp_result isl_set_min(__isl_keep isl_set *set,
+       __isl_keep isl_aff *obj, isl_int *opt);
 enum isl_lp_result isl_set_max(__isl_keep isl_set *set,
        __isl_keep isl_aff *obj, isl_int *opt);
 
index 1994a68..542778b 100644 (file)
--- a/isl_ilp.c
+++ b/isl_ilp.c
@@ -477,3 +477,9 @@ enum isl_lp_result isl_set_max(__isl_keep isl_set *set,
 {
        return isl_set_opt(set, 1, obj, opt);
 }
+
+enum isl_lp_result isl_set_min(__isl_keep isl_set *set,
+       __isl_keep isl_aff *obj, isl_int *opt)
+{
+       return isl_set_opt(set, 0, obj, opt);
+}