aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-05 15:38:43 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-05 15:38:43 +0000
commit38ac6e0eff49662636e8db6ceb5f4badbdc7795a (patch)
tree0a70704700ea171430eb9a4e532168a76603ae43
parent407631d36ce77071556a80d6665cffc7d9a6c94a (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.ml3
-rw-r--r--lib/cArray.mli3
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. *)