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(
#include <isl/union_set_type.h>
#include <isl/aff_type.h>
#include <isl/polynomial_type.h>
+#include <isl/val.h>
#if defined(__cplusplus)
extern "C" {
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);
#include <isl_range.h>
#include <isl_local_space_private.h>
#include <isl_aff_private.h>
+#include <isl_val_private.h>
#include <isl_config.h>
static unsigned pos(__isl_keep isl_space *dim, enum isl_dim_type type)
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)
{