aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorherbelin2008-05-24 12:17:20 +0000
committerherbelin2008-05-24 12:17:20 +0000
commitebf38f04cad3c4abbb779c3c40c1ba6d69bc0f71 (patch)
treec64292d4f8533f12a9dcdc3babe11d6df290d48d /lib
parent311373891569f2c44db11d481fa6663876e784fa (diff)
Ajout de la possibilité d'utiliser fix/cofix dans les notations.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10981 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib')
-rw-r--r--lib/util.ml5
-rw-r--r--lib/util.mli1
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index af99e2b233..26be66cb9e 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -1056,6 +1056,11 @@ else
let v' = Array.map (fun x -> let (y,e) = f x !e' in e' := e; y) v in
(v',!e')
+let array_fold_map f e v =
+ let e' = ref e in
+ let v' = Array.map (fun x -> let (e,y) = f !e' x in e' := e; y) v in
+ (!e',v')
+
let array_fold_map2' f v1 v2 e =
let e' = ref e in
let v' =
diff --git a/lib/util.mli b/lib/util.mli
index 17a7af1973..0cbd2fa0e6 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -208,6 +208,7 @@ val array_map_left_pair : ('a -> 'b) -> 'a array -> ('c -> 'd) -> 'c array ->
'b array * 'd array
val array_iter2 : ('a -> 'b -> unit) -> 'a array -> 'b array -> unit
val array_fold_map' : ('a -> 'c -> 'b * 'c) -> 'a array -> 'c -> 'b array * 'c
+val array_fold_map : ('a -> 'b -> 'a * 'c) -> 'a -> 'b array -> 'a * 'c array
val array_fold_map2' :
('a -> 'b -> 'c -> 'd * 'c) -> 'a array -> 'b array -> 'c -> 'd array * 'c
val array_distinct : 'a array -> bool