Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
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
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
+a piecewise multiple quasi affine expression with a single cell (with
+either a universe or a specified domain) can
be created using the following functions.
#include <isl/aff.h>
be created using the following functions.
#include <isl/aff.h>
__isl_take isl_space *space);
__isl_give isl_multi_aff *isl_multi_aff_zero(
__isl_take isl_space *space);
__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_from_multi_aff(
+ __isl_take isl_multi_aff *ma);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(
__isl_take isl_set *set,
__isl_take isl_multi_aff *maff);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(
__isl_take isl_set *set,
__isl_take isl_multi_aff *maff);
const char *str);
void isl_multi_aff_dump(__isl_keep isl_multi_aff *maff);
const char *str);
void isl_multi_aff_dump(__isl_keep isl_multi_aff *maff);
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_from_multi_aff(
+ __isl_take isl_multi_aff *ma);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(__isl_take isl_set *set,
__isl_take isl_multi_aff *maff);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_copy(
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(__isl_take isl_set *set,
__isl_take isl_multi_aff *maff);
__isl_give isl_pw_multi_aff *isl_pw_multi_aff_copy(
+/* Create an isl_pw_multi_aff with the given isl_multi_aff on a universe
+ * domain.
+ */
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_from_multi_aff(
+ __isl_take isl_multi_aff *ma)
+{
+ isl_set *dom = isl_set_universe(isl_multi_aff_get_domain_space(ma));
+ return isl_pw_multi_aff_alloc(dom, ma);
+}
+
__isl_give isl_multi_aff *isl_multi_aff_add(__isl_take isl_multi_aff *maff1,
__isl_take isl_multi_aff *maff2)
{
__isl_give isl_multi_aff *isl_multi_aff_add(__isl_take isl_multi_aff *maff1,
__isl_take isl_multi_aff *maff2)
{