add isl_vec_cmp_element
[platform/upstream/isl.git] / doc / user.pod
index f208de3..5468621 100644 (file)
@@ -2075,6 +2075,21 @@ If the set or relation obviously lies on a hyperplane where the given dimension
 has a fixed value, then return that value.
 Otherwise return NaN.
 
+=item * Stride
+
+       int isl_set_dim_residue_class_val(
+               __isl_keep isl_set *set,
+               int pos, __isl_give isl_val **modulo,
+               __isl_give isl_val **residue);
+
+Check if the values of the given set dimension are equal to a fixed
+value modulo some integer value.  If so, assign the modulo to C<*modulo>
+and the fixed value to C<*residue>.  If the given dimension attains only
+a single value, then assign C<0> to C<*modulo> and the fixed value to
+C<*residue>.
+If the dimension does not attain only a single value and if no modulo
+can be found then assign C<1> to C<*modulo> and C<1> to C<*residue>.
+
 =item * Space
 
 To check whether a set is a parameter domain, use this function:
@@ -2682,8 +2697,15 @@ dualization algorithms or skip the elimination step.
 
        __isl_give isl_map *isl_map_fixed_power(
                __isl_take isl_map *map, isl_int exp);
+       __isl_give isl_map *isl_map_fixed_power_val(
+               __isl_take isl_map *map,
+               __isl_take isl_val *exp);
        __isl_give isl_union_map *isl_union_map_fixed_power(
                __isl_take isl_union_map *umap, isl_int exp);
+       __isl_give isl_union_map *
+       isl_union_map_fixed_power_val(
+               __isl_take isl_union_map *umap,
+               __isl_take isl_val *exp);
 
 Compute the given power of C<map>, where C<exp> is assumed to be non-zero.
 If the exponent C<exp> is negative, then the -C<exp> th power of the inverse
@@ -3525,6 +3547,8 @@ The elements can be changed and inspected using the following functions.
                int v);
        __isl_give isl_vec *isl_vec_set_val(
                __isl_take isl_vec *vec, __isl_take isl_val *v);
+       int isl_vec_cmp_element(__isl_keep isl_vec *vec1,
+               __isl_keep isl_vec *vec2, int pos);
        __isl_give isl_vec *isl_vec_fdiv_r(__isl_take isl_vec *vec,
                isl_int m);