add functions for setting isl_divs
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 4 Feb 2009 14:47:14 +0000 (15:47 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 4 Feb 2009 14:47:14 +0000 (15:47 +0100)
include/isl_div.h
isl_div.c

index 98d5762..7d699d7 100644 (file)
@@ -23,6 +23,10 @@ void isl_div_get_constant(struct isl_div *div, isl_int *v);
 void isl_div_get_denominator(struct isl_div *div, isl_int *v);
 void isl_div_get_coefficient(struct isl_div *div,
        enum isl_dim_type type, int pos, isl_int *v);
+void isl_div_set_constant(struct isl_div *div, isl_int v);
+void isl_div_set_denominator(struct isl_div *div, isl_int v);
+void isl_div_set_coefficient(struct isl_div *div,
+       enum isl_dim_type type, int pos, isl_int v);
 
 #if defined(__cplusplus)
 }
index 141bec9..a15cda8 100644 (file)
--- a/isl_div.c
+++ b/isl_div.c
@@ -99,3 +99,27 @@ void isl_div_get_coefficient(struct isl_div *div,
        isl_assert(div->ctx, pos < n(div, type), return);
        isl_int_set(*v, div->line[0][offset(div, type) + pos]);
 }
+
+void isl_div_set_constant(struct isl_div *div, isl_int v)
+{
+       if (!div)
+               return;
+       isl_int_set(div->line[0][1], v);
+}
+
+void isl_div_set_denominator(struct isl_div *div, isl_int v)
+{
+       if (!div)
+               return;
+       isl_int_set(div->line[0][0], v);
+}
+
+void isl_div_set_coefficient(struct isl_div *div,
+       enum isl_dim_type type, int pos, isl_int v)
+{
+       if (!div)
+               return;
+
+       isl_assert(div->ctx, pos < n(div, type), return);
+       isl_int_set(div->line[0][offset(div, type) + pos], v);
+}