add isl_vec_is_equal
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 23 Jun 2011 08:11:05 +0000 (10:11 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 25 Jun 2011 20:22:20 +0000 (22:22 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/vec.h
isl_vec.c

index 7757acd..f71ab1e 100644 (file)
@@ -40,6 +40,8 @@ void isl_vec_free(struct isl_vec *vec);
 
 isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec);
 
+int isl_vec_is_equal(__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2);
+
 void isl_vec_dump(__isl_keep isl_vec *vec);
 __isl_give isl_printer *isl_printer_print_vec(__isl_take isl_printer *printer,
        __isl_keep isl_vec *vec);
index 9df16a2..606f6fa 100644 (file)
--- a/isl_vec.c
+++ b/isl_vec.c
@@ -134,6 +134,17 @@ void isl_vec_free(struct isl_vec *vec)
        free(vec);
 }
 
+int isl_vec_is_equal(__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2)
+{
+       if (!vec1 || !vec2)
+               return -1;
+
+       if (vec1->size != vec2->size)
+               return 0;
+
+       return isl_seq_eq(vec1->el, vec2->el, vec1->size);
+}
+
 __isl_give isl_printer *isl_printer_print_vec(__isl_take isl_printer *printer,
        __isl_keep isl_vec *vec)
 {