add isl_obj_pw_qpolynomial_fold
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 8 Mar 2010 21:26:35 +0000 (22:26 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 9 Mar 2010 14:54:42 +0000 (15:54 +0100)
include/isl_obj.h
isl_obj.c

index 18044b8..9f18cef 100644 (file)
@@ -23,6 +23,8 @@ extern struct isl_obj_vtable isl_obj_map_vtable;
 #define isl_obj_map            (&isl_obj_map_vtable)
 extern struct isl_obj_vtable isl_obj_pw_qpolynomial_vtable;
 #define isl_obj_pw_qpolynomial (&isl_obj_pw_qpolynomial_vtable)
+extern struct isl_obj_vtable isl_obj_pw_qpolynomial_fold_vtable;
+#define isl_obj_pw_qpolynomial_fold    (&isl_obj_pw_qpolynomial_fold_vtable)
 struct isl_obj {
        isl_obj_type    type;
        void            *v;
index ccd598f..a3026b6 100644 (file)
--- a/isl_obj.c
+++ b/isl_obj.c
@@ -117,3 +117,32 @@ struct isl_obj_vtable isl_obj_pw_qpolynomial_vtable = {
        isl_obj_pw_qp_print,
        isl_obj_pw_qp_free
 };
+
+static void *isl_obj_pw_qpf_copy(void *v)
+{
+       return isl_pw_qpolynomial_fold_copy((struct isl_pw_qpolynomial_fold *)v);
+}
+
+static void isl_obj_pw_qpf_free(void *v)
+{
+       isl_pw_qpolynomial_fold_free((struct isl_pw_qpolynomial_fold *)v);
+}
+
+static void isl_obj_pw_qpf_print(void *v, FILE *out)
+{
+       isl_pw_qpolynomial_fold_print((struct isl_pw_qpolynomial_fold *)v, out,
+                                       ISL_FORMAT_ISL);
+}
+
+static void *isl_obj_pw_qpf_add(void *v1, void *v2)
+{
+       return isl_pw_qpolynomial_fold_add((struct isl_pw_qpolynomial_fold *)v1,
+                                           (struct isl_pw_qpolynomial_fold *)v2);
+}
+
+struct isl_obj_vtable isl_obj_pw_qpolynomial_fold_vtable = {
+       isl_obj_pw_qpf_copy,
+       isl_obj_pw_qpf_add,
+       isl_obj_pw_qpf_print,
+       isl_obj_pw_qpf_free
+};