add isl_obj_val
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 6 Apr 2013 13:09:59 +0000 (15:09 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 28 May 2013 18:42:48 +0000 (20:42 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/obj.h
isl_obj.c

index 3f26c0a..cb4b2f5 100644 (file)
@@ -23,6 +23,8 @@ extern struct isl_obj_vtable isl_obj_none_vtable;
 #define isl_obj_none           (&isl_obj_none_vtable)
 extern struct isl_obj_vtable isl_obj_int_vtable;
 #define isl_obj_int            (&isl_obj_int_vtable)
+extern struct isl_obj_vtable isl_obj_val_vtable;
+#define isl_obj_val            (&isl_obj_val_vtable)
 extern struct isl_obj_vtable isl_obj_set_vtable;
 #define isl_obj_set            (&isl_obj_set_vtable)
 extern struct isl_obj_vtable isl_obj_union_set_vtable;
index 6fc6cbd..7eba671 100644 (file)
--- a/isl_obj.c
+++ b/isl_obj.c
@@ -164,6 +164,34 @@ struct isl_obj_vtable isl_obj_int_vtable = {
        isl_obj_int_free
 };
 
+static void *isl_obj_val_copy(void *v)
+{
+       return isl_val_copy((isl_val *)v);
+}
+
+static void isl_obj_val_free(void *v)
+{
+       isl_val_free((isl_val *)v);
+}
+
+static __isl_give isl_printer *isl_obj_val_print(__isl_take isl_printer *p,
+       void *v)
+{
+       return isl_printer_print_val(p, (isl_val *)v);
+}
+
+static void *isl_obj_val_add(void *v1, void *v2)
+{
+       return isl_val_add((isl_val *) v1, (isl_val *) v2);
+}
+
+struct isl_obj_vtable isl_obj_val_vtable = {
+       isl_obj_val_copy,
+       isl_obj_val_add,
+       isl_obj_val_print,
+       isl_obj_val_free
+};
+
 static void *isl_obj_map_copy(void *v)
 {
        return isl_map_copy((struct isl_map *)v);