summaryrefslogtreecommitdiff
path: root/stdlib/array.ml
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/array.ml')
-rw-r--r--stdlib/array.ml14
1 files changed, 14 insertions, 0 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml
index 3662b9f1da..77a458ff54 100644
--- a/stdlib/array.ml
+++ b/stdlib/array.ml
@@ -134,6 +134,20 @@ let fold_right f a x =
done;
!r
+let exists p a =
+ let f = ref false in
+ for i = 0 to length a - 1 do
+ f := !f || p (unsafe_get a i)
+ done;
+ !f
+
+let for_all p a =
+ let f = ref true in
+ for i = 0 to length a - 1 do
+ f := !f && p (unsafe_get a i)
+ done;
+ !f
+
exception Bottom of int;;
let sort cmp a =
let maxson l i =