From 6025a565a2581b8dab0b9002cc492d89ffbd6fdd Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sat, 13 Apr 2013 13:03:56 +0200 Subject: [PATCH] add isl_constraint_get_constant_val Signed-off-by: Sven Verdoolaege --- doc/user.pod | 2 ++ include/isl/constraint.h | 2 ++ isl_constraint.c | 15 +++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index dea020b..d84cc07 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -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); diff --git a/include/isl/constraint.h b/include/isl/constraint.h index 0515e91..d5c4d71 100644 --- a/include/isl/constraint.h +++ b/include/isl/constraint.h @@ -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( diff --git a/isl_constraint.c b/isl_constraint.c index d72a6fe..ddbd1be 100644 --- a/isl_constraint.c +++ b/isl_constraint.c @@ -16,6 +16,7 @@ #include #include #include +#include #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) { -- 2.7.4