doc: document gist operations
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 11 Jun 2010 18:53:54 +0000 (20:53 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 11 Jun 2010 18:53:54 +0000 (20:53 +0200)
doc/user.pod
include/isl_set.h

index 2833ef9..a66b29c 100644 (file)
@@ -1073,6 +1073,25 @@ the same (number of) parameters.
                __isl_take isl_map *map1,
                __isl_take isl_map *map2);
 
+=item * Simplification
+
+       __isl_give isl_basic_set *isl_basic_set_gist(
+               __isl_take isl_basic_set *bset,
+               __isl_take isl_basic_set *context);
+       __isl_give isl_set *isl_set_gist(__isl_take isl_set *set,
+               __isl_take isl_set *context);
+       __isl_give isl_basic_map *isl_basic_map_gist(
+               __isl_take isl_basic_map *bmap,
+               __isl_take isl_basic_map *context);
+       __isl_give isl_map *isl_map_gist(__isl_take isl_map *map,
+               __isl_take isl_map *context);
+
+The gist operation returns a set or relation that has the
+same intersection with the context as the input set or relation.
+Any implicit equality in the intersection is made explicit in the result,
+while all inequalities that are redundant with respect to the intersection
+are removed.
+
 =back
 
 =head3 Lexicographic Optimization
@@ -1424,6 +1443,15 @@ are returned in C<*n> and C<*d>, respectively.
                __isl_take isl_pw_qpolynomial *pwpq,
                __isl_take isl_set *set);
 
+       __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist(
+               __isl_take isl_pw_qpolynomial *pwqp,
+               __isl_take isl_set *context);
+
+The gist operation applies the gist operation to each of
+the cells in the domain of the input piecewise quasipolynomial.
+In future, the operation will also exploit the context
+to simplify the quasipolynomials associated to each cell.
+
 =head2 Dependence Analysis
 
 C<isl> contains specialized functionality for performing
index 735ca58..945f97d 100644 (file)
@@ -299,8 +299,8 @@ int isl_set_fast_dim_has_fixed_lower_bound(struct isl_set *set,
 int isl_set_dim_is_bounded(__isl_keep isl_set *set,
        enum isl_dim_type type, unsigned pos);
 
-struct isl_basic_set *isl_basic_set_gist(struct isl_basic_set *bset,
-                                               struct isl_basic_set *context);
+__isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset,
+                                           __isl_take isl_basic_set *context);
 __isl_give isl_set *isl_set_gist_basic_set(__isl_take isl_set *set,
        __isl_take isl_basic_set *context);
 __isl_give isl_set *isl_set_gist(__isl_take isl_set *set,