diff options
author | 2013-03-05 15:38:43 +0000 | |
---|---|---|
committer | 2013-03-05 15:38:43 +0000 | |
commit | 38ac6e0eff49662636e8db6ceb5f4badbdc7795a (patch) | |
tree | 0a70704700ea171430eb9a4e532168a76603ae43 | |
parent | 407631d36ce77071556a80d6665cffc7d9a6c94a (diff) |
Missing primitive in CArray
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16259 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | lib/cArray.ml | 3 | ||||
-rw-r--r-- | lib/cArray.mli | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/cArray.ml b/lib/cArray.ml index 7ffdeb6a1..05c8cc87c 100644 --- a/lib/cArray.ml +++ b/lib/cArray.ml @@ -41,6 +41,7 @@ sig include S val compare : ('a -> 'a -> int) -> 'a array -> 'a array -> int val equal : ('a -> 'a -> bool) -> 'a array -> 'a array -> bool + val is_empty : 'a array -> bool val exists : ('a -> bool) -> 'a array -> bool val for_all : ('a -> bool) -> 'a array -> bool val for_all2 : ('a -> 'b -> bool) -> 'a array -> 'b array -> bool @@ -108,6 +109,8 @@ let equal cmp t1 t2 = (i = Array.length t1) || (cmp t1.(i) t2.(i) && aux (i + 1)) in aux 0 +let is_empty array = (Array.length array) = 0 + let exists f v = let rec exrec = function | -1 -> false diff --git a/lib/cArray.mli b/lib/cArray.mli index ed8a1e94c..0e0be1dfd 100644 --- a/lib/cArray.mli +++ b/lib/cArray.mli @@ -47,6 +47,9 @@ sig val equal : ('a -> 'a -> bool) -> 'a array -> 'a array -> bool (** Lift equality to array type. *) + val is_empty : 'a array -> bool + (** True whenever the array is empty. *) + val exists : ('a -> bool) -> 'a array -> bool (** As [List.exists] but on arrays. *) |