re-export isl_multi_aff_range_map as isl_space_range_map_multi_aff
authorSven Verdoolaege <sven@cerebras.net>
Thu, 12 Nov 2020 15:56:03 +0000 (12 16:56 +0100)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Mon, 18 Jan 2021 16:12:15 +0000 (18 17:12 +0100)
In the bindings, it can be more convenient to use a method
on the space in which the (unwrapped) domain of the object lives than
to call a named constructor with the space as argument.

Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
doc/user.pod
include/isl/aff.h
isl_aff.c

index 414bd33..5c3d4a2 100644 (file)
@@ -3125,6 +3125,8 @@ projection operations in L</"Unary Operations">.
                __isl_take isl_space *space);
        __isl_give isl_multi_aff *isl_multi_aff_range_map(
                __isl_take isl_space *space);
+       __isl_give isl_multi_aff *isl_space_range_map_multi_aff(
+               __isl_take isl_space *space);
        __isl_give isl_multi_aff *isl_multi_aff_project_out_map(
                __isl_take isl_space *space,
                enum isl_dim_type type,
@@ -3132,6 +3134,8 @@ projection operations in L</"Unary Operations">.
 
 C<isl_multi_aff_domain_map> and C<isl_space_domain_map_multi_aff> perform
 the same operation.
+Similarly
+for the pair C<isl_multi_aff_range_map> and C<isl_space_range_map_multi_aff>.
 
 A multiple expression can be created from a single
 base expression using the following functions.
index 501f7a9..8d1b574 100644 (file)
@@ -502,6 +502,9 @@ __isl_give isl_multi_aff *isl_space_domain_map_multi_aff(
        __isl_take isl_space *space);
 __isl_export
 __isl_give isl_multi_aff *isl_multi_aff_range_map(__isl_take isl_space *space);
+__isl_export
+__isl_give isl_multi_aff *isl_space_range_map_multi_aff(
+       __isl_take isl_space *space);
 __isl_give isl_multi_aff *isl_multi_aff_project_out_map(
        __isl_take isl_space *space, enum isl_dim_type type,
        unsigned first, unsigned n);
index 1182fdb..a80c737 100644 (file)
--- a/isl_aff.c
+++ b/isl_aff.c
@@ -4124,6 +4124,15 @@ error:
        return NULL;
 }
 
+/* This function performs the same operation as isl_multi_aff_range_map,
+ * but is considered as a function on an isl_space when exported.
+ */
+__isl_give isl_multi_aff *isl_space_range_map_multi_aff(
+       __isl_take isl_space *space)
+{
+       return isl_multi_aff_range_map(space);
+}
+
 /* Given a map space, return an isl_pw_multi_aff that maps a wrapped copy
  * of the space to its domain.
  */