From: Sven Verdoolaege Date: Sat, 6 Apr 2013 12:44:53 +0000 (+0200) Subject: add isl_term_get_coefficient_val X-Git-Tag: isl-0.12~77 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f614eb1fb63dec83cf73c787f796c6a634f9fce;p=platform%2Fupstream%2Fisl.git add isl_term_get_coefficient_val Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index e76e451..07b0480 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -4707,6 +4707,8 @@ these functions isl_int *n); void isl_term_get_den(__isl_keep isl_term *term, isl_int *d); + __isl_give isl_val *isl_term_get_coefficient_val( + __isl_keep isl_term *term); int isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos); __isl_give isl_aff *isl_term_get_div( diff --git a/include/isl/polynomial.h b/include/isl/polynomial.h index 6354c60..d355670 100644 --- a/include/isl/polynomial.h +++ b/include/isl/polynomial.h @@ -10,6 +10,7 @@ #include #include #include +#include #if defined(__cplusplus) extern "C" { @@ -106,6 +107,7 @@ void isl_term_free(__isl_take isl_term *term); unsigned isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type); void isl_term_get_num(__isl_keep isl_term *term, isl_int *n); void isl_term_get_den(__isl_keep isl_term *term, isl_int *d); +__isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term); int isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos); __isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos); diff --git a/isl_polynomial.c b/isl_polynomial.c index 2dfdd0f..bb33ed6 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -24,6 +24,7 @@ #include #include #include +#include #include static unsigned pos(__isl_keep isl_space *dim, enum isl_dim_type type) @@ -3563,6 +3564,17 @@ void isl_term_get_den(__isl_keep isl_term *term, isl_int *d) isl_int_set(*d, term->d); } +/* Return the coefficient of the term "term". + */ +__isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term) +{ + if (!term) + return NULL; + + return isl_val_rat_from_isl_int(isl_term_get_ctx(term), + term->n, term->d); +} + int isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos) {