add isl_constraint_get_constant_val
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 13 Apr 2013 11:03:56 +0000 (13:03 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 28 May 2013 16:22:23 +0000 (18:22 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/constraint.h
isl_constraint.c

index dea020b..d84cc07 100644 (file)
@@ -1793,6 +1793,8 @@ the following functions.
                enum isl_dim_type type, unsigned pos);
        void isl_constraint_get_constant(
                __isl_keep isl_constraint *constraint, isl_int *v);
+       __isl_give isl_val *isl_constraint_get_constant_val(
+               __isl_keep isl_constraint *constraint);
        void isl_constraint_get_coefficient(
                __isl_keep isl_constraint *constraint,
                enum isl_dim_type type, int pos, isl_int *v);
index 0515e91..d5c4d71 100644 (file)
@@ -84,6 +84,8 @@ const char *isl_constraint_get_dim_name(__isl_keep isl_constraint *constraint,
        enum isl_dim_type type, unsigned pos);
 void isl_constraint_get_constant(__isl_keep isl_constraint *constraint,
        isl_int *v);
+__isl_give isl_val *isl_constraint_get_constant_val(
+       __isl_keep isl_constraint *constraint);
 void isl_constraint_get_coefficient(__isl_keep isl_constraint *constraint,
        enum isl_dim_type type, int pos, isl_int *v);
 __isl_give isl_constraint *isl_constraint_set_constant(
index d72a6fe..ddbd1be 100644 (file)
@@ -16,6 +16,7 @@
 #include <isl/seq.h>
 #include <isl_aff_private.h>
 #include <isl_local_space_private.h>
+#include <isl_val_private.h>
 
 #undef BASE
 #define BASE constraint
@@ -408,6 +409,20 @@ void isl_constraint_get_constant(struct isl_constraint *constraint, isl_int *v)
        isl_int_set(*v, constraint->v->el[0]);
 }
 
+/* Return the constant term of "constraint".
+ */
+__isl_give isl_val *isl_constraint_get_constant_val(
+       __isl_keep isl_constraint *constraint)
+{
+       isl_ctx *ctx;
+
+       if (!constraint)
+               return NULL;
+
+       ctx = isl_constraint_get_ctx(constraint);
+       return isl_val_int_from_isl_int(ctx, constraint->v->el[0]);
+}
+
 void isl_constraint_get_coefficient(struct isl_constraint *constraint,
        enum isl_dim_type type, int pos, isl_int *v)
 {