add isl_basic_set_box_from_points
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 17 Nov 2010 14:59:27 +0000 (15:59 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 17 Nov 2010 16:00:32 +0000 (17:00 +0100)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl_set.h
isl_point.c

index 69e962b..75cb914 100644 (file)
@@ -1713,11 +1713,16 @@ Points can be copied or freed using
 
 A singleton set can be created from a point using
 
+       __isl_give isl_basic_set *isl_basic_set_from_point(
+               __isl_take isl_point *pnt);
        __isl_give isl_set *isl_set_from_point(
                __isl_take isl_point *pnt);
 
 and a box can be created from two opposite extremal points using
 
+       __isl_give isl_basic_set *isl_basic_set_box_from_points(
+               __isl_take isl_point *pnt1,
+               __isl_take isl_point *pnt2);
        __isl_give isl_set *isl_set_box_from_points(
                __isl_take isl_point *pnt1,
                __isl_take isl_point *pnt2);
index 5e81b19..fe133fa 100644 (file)
@@ -354,7 +354,10 @@ int isl_set_foreach_point(__isl_keep isl_set *set,
 int isl_set_count(__isl_keep isl_set *set, isl_int *count);
 int isl_set_count_upto(__isl_keep isl_set *set, isl_int max, isl_int *count);
 
+__isl_give isl_basic_set *isl_basic_set_from_point(__isl_take isl_point *pnt);
 __isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt);
+__isl_give isl_basic_set *isl_basic_set_box_from_points(
+       __isl_take isl_point *pnt1, __isl_take isl_point *pnt2);
 __isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
        __isl_take isl_point *pnt2);
 
index 1833572..58d09fd 100644 (file)
@@ -320,7 +320,7 @@ int isl_set_contains_point(__isl_keep isl_set *set, __isl_keep isl_point *point)
        return isl_map_contains_point((isl_map *)set, point);
 }
 
-__isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt)
+__isl_give isl_basic_set *isl_basic_set_from_point(__isl_take isl_point *pnt)
 {
        isl_basic_set *bset;
        isl_basic_set *model;
@@ -330,11 +330,18 @@ __isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt)
        bset = isl_basic_set_from_underlying_set(bset, model);
        isl_point_free(pnt);
 
+       return bset;
+}
+
+__isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt)
+{
+       isl_basic_set *bset;
+       bset = isl_basic_set_from_point(pnt);
        return isl_set_from_basic_set(bset);
 }
 
-__isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
-       __isl_take isl_point *pnt2)
+__isl_give isl_basic_set *isl_basic_set_box_from_points(
+       __isl_take isl_point *pnt1, __isl_take isl_point *pnt2)
 {
        isl_basic_set *bset;
        unsigned total;
@@ -355,17 +362,17 @@ __isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
                isl_point_free(pnt1);
                isl_point_free(pnt2);
                isl_int_clear(t);
-               return isl_set_empty(dim);
+               return isl_basic_set_empty(dim);
        }
        if (isl_point_is_void(pnt1)) {
                isl_point_free(pnt1);
                isl_int_clear(t);
-               return isl_set_from_point(pnt2);
+               return isl_basic_set_from_point(pnt2);
        }
        if (isl_point_is_void(pnt2)) {
                isl_point_free(pnt2);
                isl_int_clear(t);
-               return isl_set_from_point(pnt1);
+               return isl_basic_set_from_point(pnt1);
        }
 
        total = isl_dim_total(pnt1->dim);
@@ -409,7 +416,7 @@ __isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
 
        isl_int_clear(t);
 
-       return isl_set_from_basic_set(bset);
+       return bset;
 error:
        isl_point_free(pnt1);
        isl_point_free(pnt2);
@@ -417,6 +424,14 @@ error:
        return NULL;
 }
 
+__isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
+       __isl_take isl_point *pnt2)
+{
+       isl_basic_set *bset;
+       bset = isl_basic_set_box_from_points(pnt1, pnt2);
+       return isl_set_from_basic_set(bset);
+}
+
 void isl_point_print(__isl_keep isl_point *pnt, FILE *out)
 {
        int i;