From 3b8a00ab56de51d59cc14ef548929403365269e8 Mon Sep 17 00:00:00 2001 From: herbelin Date: Tue, 12 Sep 2006 08:11:57 +0000 Subject: Ajout array_distinct git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9130 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/util.ml | 11 +++++++++++ lib/util.mli | 1 + 2 files changed, 12 insertions(+) (limited to 'lib') diff --git a/lib/util.ml b/lib/util.ml index e18d13cb60..ed39934103 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -651,6 +651,17 @@ let array_fold_map2' f v1 v2 e = in (v',!e') +let array_distinct v = + try + for i=0 to Array.length v-1 do + for j=i+1 to Array.length v-1 do + if v.(i)=v.(j) then raise Exit + done + done; + true + with Exit -> + false + (* Matrices *) let matrix_transpose mat = diff --git a/lib/util.mli b/lib/util.mli index 52cd24127c..7e6c3316f2 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -175,6 +175,7 @@ val array_map_left_pair : ('a -> 'b) -> 'a array -> ('c -> 'd) -> 'c array -> val array_fold_map' : ('a -> 'c -> 'b * 'c) -> 'a array -> 'c -> 'b array * 'c val array_fold_map2' : ('a -> 'b -> 'c -> 'd * 'c) -> 'a array -> 'b array -> 'c -> 'd array * 'c +val array_distinct : 'a array -> bool (*s Matrices *) -- cgit v1.2.3