From 6639cb8e774827a32d8fbe269a5743701fcbe722 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Tue, 14 Jun 2016 14:07:30 +0200 Subject: [PATCH] update implem of `CCVector.equal`; add a random test --- src/core/CCVector.ml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/CCVector.ml b/src/core/CCVector.ml index 480334e5..40296609 100644 --- a/src/core/CCVector.ml +++ b/src/core/CCVector.ml @@ -247,9 +247,7 @@ let equal eq v1 v2 = && let n = v1.size in let rec check i = - if i = n - then true - else eq (get v1 i) (get v2 i) && check (i+1) + i = n || (eq (get v1 i) (get v2 i) && check (i+1)) in check 0 @@ -260,6 +258,11 @@ let equal eq v1 v2 = not (equal (=) (return 42) (create ())) *) +(*$Q + Q.(let g = list_of_size Gen.(0--10) small_int in pair g g) (fun (l1,l2) -> \ + equal (=) (of_list l1) (of_list l2) = (l1=l2)) +*) + let compare cmp v1 v2 = let n = min v1.size v2.size in let rec check i =