From e07ba8f410f6f34714fbaf0f767486412046f046 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 12 Apr 2013 13:52:49 +0200 Subject: [PATCH] add isl_aff_get_denominator_val Signed-off-by: Sven Verdoolaege --- doc/user.pod | 2 ++ include/isl/aff.h | 1 + isl_aff.c | 13 +++++++++++++ 3 files changed, 16 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 637e9b1c..40a5393e 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3632,6 +3632,8 @@ The expression can be inspected using enum isl_dim_type type, int pos); int isl_aff_get_denominator(__isl_keep isl_aff *aff, isl_int *v); + __isl_give isl_val *isl_aff_get_denominator_val( + __isl_keep isl_aff *aff); __isl_give isl_aff *isl_aff_get_div( __isl_keep isl_aff *aff, int pos); diff --git a/include/isl/aff.h b/include/isl/aff.h index 1f10e7ae..f15ee667 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -43,6 +43,7 @@ int isl_aff_get_coefficient(__isl_keep isl_aff *aff, __isl_give isl_val *isl_aff_get_coefficient_val(__isl_keep isl_aff *aff, enum isl_dim_type type, int pos); int isl_aff_get_denominator(__isl_keep isl_aff *aff, isl_int *v); +__isl_give isl_val *isl_aff_get_denominator_val(__isl_keep isl_aff *aff); __isl_give isl_aff *isl_aff_set_constant(__isl_take isl_aff *aff, isl_int v); __isl_give isl_aff *isl_aff_set_constant_si(__isl_take isl_aff *aff, int v); __isl_give isl_aff *isl_aff_set_constant_val(__isl_take isl_aff *aff, diff --git a/isl_aff.c b/isl_aff.c index 8313286d..45fa93e9 100644 --- a/isl_aff.c +++ b/isl_aff.c @@ -409,6 +409,19 @@ int isl_aff_get_denominator(__isl_keep isl_aff *aff, isl_int *v) return 0; } +/* Return the common denominator of "aff". + */ +__isl_give isl_val *isl_aff_get_denominator_val(__isl_keep isl_aff *aff) +{ + isl_ctx *ctx; + + if (!aff) + return NULL; + + ctx = isl_aff_get_ctx(aff); + return isl_val_int_from_isl_int(ctx, aff->v->el[0]); +} + int isl_aff_get_constant(__isl_keep isl_aff *aff, isl_int *v) { if (!aff) -- 2.11.4.GIT