From 76e7252ad78150a397db2a384ec482ca4e14ab1e Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sat, 6 Apr 2013 15:09:59 +0200 Subject: [PATCH] add isl_obj_val Signed-off-by: Sven Verdoolaege --- include/isl/obj.h | 2 ++ isl_obj.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/include/isl/obj.h b/include/isl/obj.h index 3f26c0a..cb4b2f5 100644 --- a/include/isl/obj.h +++ b/include/isl/obj.h @@ -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; diff --git a/isl_obj.c b/isl_obj.c index 6fc6cbd..7eba671 100644 --- 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); -- 2.7.4