temporarily add isl_val_get_num_isl_int
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 28 May 2013 12:12:55 +0000 (14:12 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 28 May 2013 18:42:49 +0000 (20:42 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/val_int.h
isl_val.c

index ee8ce0c..1e46faf 100644 (file)
@@ -522,13 +522,15 @@ C<GMP> values using the following functions.
 
 =head3 Conversion from C<isl_int>
 
-The following function is only temporarily available to ease
-the transition from C<isl_int> to C<isl_val>.  It will be removed
+The following functions are only temporarily available to ease
+the transition from C<isl_int> to C<isl_val>.  They will be removed
 in the next release.
 
        #include <isl/val_int.h>
        __isl_give isl_val *isl_val_int_from_isl_int(isl_ctx *ctx,
                isl_int n);
+       int isl_val_get_num_isl_int(__isl_keep isl_val *v,
+               isl_int *n);
 
 =head2 Integers (obsolescent)
 
index 3f8bc20..521d5a6 100644 (file)
@@ -5,5 +5,6 @@
 #include <isl/val.h>
 
 __isl_give isl_val *isl_val_int_from_isl_int(isl_ctx *ctx, isl_int n);
+int isl_val_get_num_isl_int(__isl_keep isl_val *v, isl_int *n);
 
 #endif
index c61b4ad..dca3228 100644 (file)
--- a/isl_val.c
+++ b/isl_val.c
@@ -284,6 +284,21 @@ long isl_val_get_num_si(__isl_keep isl_val *v)
        return isl_int_get_si(v->n);
 }
 
+/* Extract the numerator of a rational value "v" as an isl_int.
+ *
+ * If "v" is not a rational value, then the result is undefined.
+ */
+int isl_val_get_num_isl_int(__isl_keep isl_val *v, isl_int *n)
+{
+       if (!v)
+               return -1;
+       if (!isl_val_is_rat(v))
+               isl_die(isl_val_get_ctx(v), isl_error_invalid,
+                       "expecting rational value", return -1);
+       isl_int_set(*n, v->n);
+       return 0;
+}
+
 /* Extract the denominator of a rational value "v" as an integer.
  *
  * If "v" is not a rational value, then the result is undefined.