__isl_give isl_aff *isl_aff_gist(__isl_take isl_aff *aff,
__isl_take isl_set *context);
+ __isl_give isl_basic_set *isl_aff_ge_basic_set(
+ __isl_take isl_aff *aff1, __isl_take isl_aff *aff2);
+
+The function C<isl_aff_ge_basic_set> returns a basic set
+containing those elements in the shared space
+of C<aff1> and C<aff2> where C<aff1> is greater than or equal to C<aff2>.
+
An expression can be printed using
#include <isl/aff.h>
__isl_give isl_aff *isl_aff_gist(__isl_take isl_aff *aff,
__isl_take isl_set *context);
+__isl_give isl_basic_set *isl_aff_ge_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
+
__isl_give isl_printer *isl_printer_print_aff(__isl_take isl_printer *p,
__isl_keep isl_aff *aff);
void isl_aff_dump(__isl_keep isl_aff *aff);
#include <isl_aff_private.h>
#include <isl_local_space_private.h>
#include <isl_mat_private.h>
+#include <isl/constraint.h>
#include <isl/seq.h>
+#include <isl/set.h>
__isl_give isl_aff *isl_aff_alloc_vec(__isl_take isl_local_space *ls,
__isl_take isl_vec *v)
isl_set_free(context);
return NULL;
}
+
+/* Return a basic set containing those elements in the shared space
+ * of aff1 and aff2 where aff1 is greater than or equal to aff2.
+ */
+__isl_give isl_basic_set *isl_aff_ge_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2)
+{
+ isl_constraint *ineq;
+
+ aff1 = isl_aff_sub(aff1, aff2);
+ ineq = isl_inequality_from_aff(aff1);
+
+ return isl_basic_set_from_constraint(ineq);
+}