export isl_multi_aff_set_aff
[platform/upstream/isl.git] / doc / user.pod
index f511fbb..593572f 100644 (file)
@@ -1293,6 +1293,8 @@ L<"Piecewise Multiple Quasi Affine Expressions">).
                __isl_take isl_aff_list *list);
        __isl_give isl_basic_map *isl_basic_map_from_multi_aff(
                __isl_take isl_multi_aff *maff)
+       __isl_give isl_map *isl_map_from_multi_aff(
+               __isl_take isl_multi_aff *maff)
        __isl_give isl_set *isl_set_from_pw_multi_aff(
                __isl_take isl_pw_multi_aff *pma);
        __isl_give isl_map *isl_map_from_pw_multi_aff(
@@ -2737,6 +2739,35 @@ Lists can be printed using
                __isl_take isl_printer *p,
                __isl_keep isl_set_list *list);
 
+=head2 Vectors
+
+Vectors can be created, copied and freed using the following functions.
+
+       #include <isl/vec.h>
+       __isl_give isl_vec *isl_vec_alloc(isl_ctx *ctx,
+               unsigned size);
+       __isl_give isl_vec *isl_vec_copy(__isl_keep isl_vec *vec);
+       void isl_vec_free(__isl_take isl_vec *vec);
+
+Note that the elements of a newly created vector may have arbitrary values.
+The elements can be changed and inspected using the following functions.
+
+       isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec);
+       int isl_vec_size(__isl_keep isl_vec *vec);
+       int isl_vec_get_element(__isl_keep isl_vec *vec,
+               int pos, isl_int *v);
+       __isl_give isl_vec *isl_vec_set_element(
+               __isl_take isl_vec *vec, int pos, isl_int v);
+       __isl_give isl_vec *isl_vec_set_element_si(
+               __isl_take isl_vec *vec, int pos, int v);
+       __isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec,
+               isl_int v);
+       __isl_give isl_vec *isl_vec_set_si(__isl_take isl_vec *vec,
+               int v);
+
+C<isl_vec_get_element> will return a negative value if anything went wrong.
+In that case, the value of C<*v> is undefined.
+
 =head2 Matrices
 
 Matrices can be created, copied and freed using the following functions.
@@ -3178,13 +3209,17 @@ following function.
                __isl_take isl_space *space,
                __isl_take isl_aff_list *list);
 
-An empty piecewise multiple quasi affine expression (one with no cells) or
+An empty piecewise multiple quasi affine expression (one with no cells),
+the zero piecewise multiple quasi affine expression (with value zero
+for each output dimension) or
 a piecewise multiple quasi affine expression with a single cell can
 be created using the following functions.
 
        #include <isl/aff.h>
        __isl_give isl_pw_multi_aff *isl_pw_multi_aff_empty(
                __isl_take isl_space *space);
+       __isl_give isl_multi_aff *isl_multi_aff_zero(
+               __isl_take isl_space *space);
        __isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(
                __isl_take isl_set *set,
                __isl_take isl_multi_aff *maff);
@@ -3254,6 +3289,9 @@ The expression can be inspected using
 It can be modified using
 
        #include <isl/aff.h>
+       __isl_give isl_multi_aff *isl_multi_aff_set_aff(
+               __isl_take isl_multi_aff *multi, int pos,
+               __isl_take isl_aff *aff);
        __isl_give isl_multi_aff *isl_multi_aff_set_dim_name(
                __isl_take isl_multi_aff *maff,
                enum isl_dim_type type, unsigned pos, const char *s);