add isl_set_from_point
[platform/upstream/isl.git] / include / isl_set.h
index 1884c4d..1f71275 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "isl_map.h"
 #include "isl_list.h"
+#include <isl_point.h>
 
 #if defined(__cplusplus)
 extern "C" {
@@ -205,6 +206,7 @@ void isl_set_free(__isl_take isl_set *set);
 struct isl_set *isl_set_dup(struct isl_set *set);
 __isl_give isl_set *isl_set_from_basic_set(__isl_take isl_basic_set *bset);
 __isl_give isl_basic_set *isl_set_sample(__isl_take isl_set *set);
+__isl_give isl_point *isl_set_sample_point(__isl_take isl_set *set);
 __isl_give isl_set *isl_set_detect_equalities(__isl_take isl_set *set);
 __isl_give isl_basic_set *isl_set_affine_hull(__isl_take isl_set *set);
 __isl_give isl_basic_set *isl_set_convex_hull(__isl_take isl_set *set);
@@ -223,6 +225,7 @@ __isl_give isl_set *isl_set_intersect(
 __isl_give isl_set *isl_set_subtract(
                __isl_take isl_set *set1,
                __isl_take isl_set *set2);
+__isl_give isl_set *isl_set_complement(__isl_take isl_set *set);
 __isl_give isl_set *isl_set_apply(
                __isl_take isl_set *set,
                __isl_take isl_map *map);
@@ -236,6 +239,9 @@ __isl_give isl_basic_set *isl_basic_set_add(__isl_take isl_basic_set *bset,
                enum isl_dim_type type, unsigned n);
 __isl_give isl_set *isl_set_add(__isl_take isl_set *set,
                enum isl_dim_type type, unsigned n);
+__isl_give isl_set *isl_set_move(__isl_take isl_set *set,
+       enum isl_dim_type dst_type, unsigned dst_pos,
+       enum isl_dim_type src_type, unsigned src_pos, unsigned n);
 __isl_give isl_basic_set *isl_basic_set_project_out(
                __isl_take isl_basic_set *bset,
                enum isl_dim_type type, unsigned first, unsigned n);
@@ -255,11 +261,13 @@ struct isl_set *isl_set_remove_divs(struct isl_set *set);
 void isl_set_dump(__isl_keep isl_set *set, FILE *out, int indent);
 struct isl_set *isl_set_swap_vars(struct isl_set *set, unsigned n);
 int isl_set_fast_is_empty(__isl_keep isl_set *set);
+int isl_set_fast_is_universe(__isl_keep isl_set *set);
 int isl_set_is_empty(__isl_keep isl_set *set);
 int isl_set_is_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 int isl_set_is_strict_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2);
 
+__isl_give isl_set *isl_set_make_disjoint(__isl_take isl_set *set);
 struct isl_set *isl_basic_set_compute_divs(struct isl_basic_set *bset);
 __isl_give isl_set *isl_set_compute_divs(__isl_take isl_set *set);
 __isl_give isl_set *isl_set_align_divs(__isl_take isl_set *set);
@@ -296,6 +304,14 @@ int isl_set_dim_is_unique(struct isl_set *set, unsigned dim);
 int isl_set_foreach_basic_set(__isl_keep isl_set *set,
        int (*fn)(__isl_take isl_basic_set *bset, void *user), void *user);
 
+int isl_set_foreach_point(__isl_keep isl_set *set,
+       int (*fn)(__isl_take isl_point *pnt, void *user), void *user);
+int isl_set_count(__isl_keep isl_set *set, isl_int *count);
+
+__isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt);
+__isl_give isl_set *isl_set_box_from_points(__isl_take isl_point *pnt1,
+       __isl_take isl_point *pnt2);
+
 int isl_set_size(__isl_keep isl_set *set);
 
 #if defined(__cplusplus)