From 0e16d544d510de3f8d3a35593f90cb9eeea24e5f Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Sun, 20 Oct 2013 21:17:09 +0200 Subject: [PATCH] replace array functions by loops --- sequence.ml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/sequence.ml b/sequence.ml index b6a4f85..784c546 100644 --- a/sequence.ml +++ b/sequence.ml @@ -435,16 +435,23 @@ let to_array seq = a end -let of_array a = from_iter (fun k -> Array.iter k a) +let of_array a = + fun k -> + for i = 0 to Array.length a - 1 do + k (Array.unsafe_get a i) + done let of_array_i a = - let seq k = - for i = 0 to Array.length a - 1 do k (i, a.(i)) done - in from_iter seq + fun k -> + for i = 0 to Array.length a - 1 do + k (i, Array.unsafe_get a i) + done let of_array2 a = fun k -> - for i = 0 to Array.length a - 1 do k i a.(i) done + for i = 0 to Array.length a - 1 do + k i (Array.unsafe_get a i) + done (** [array_slice a i j] Sequence of elements whose indexes range from [i] to [j] *)