diff options
Diffstat (limited to 'stdlib/array.ml')
-rw-r--r-- | stdlib/array.ml | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml index a3c8779f0..f3867c84f 100644 --- a/stdlib/array.ml +++ b/stdlib/array.ml @@ -18,19 +18,19 @@ external get: 'a array -> int -> 'a = "%array_safe_get" external set: 'a array -> int -> 'a -> unit = "%array_safe_set" external unsafe_get: 'a array -> int -> 'a = "%array_unsafe_get" external unsafe_set: 'a array -> int -> 'a -> unit = "%array_unsafe_set" -external new: int -> 'a -> 'a array = "make_vect" +external create: int -> 'a -> 'a array = "make_vect" -let new_matrix sx sy init = - let res = new sx [||] in +let create_matrix sx sy init = + let res = create sx [||] in for x = 0 to pred sx do - unsafe_set res x (new sy init) + unsafe_set res x (create sy init) done; res let copy a = let l = length a in if l = 0 then [||] else begin - let r = new l (unsafe_get a 0) in + let r = create l (unsafe_get a 0) in for i = 1 to l-1 do unsafe_set r i (unsafe_get a i) done; @@ -40,7 +40,7 @@ let copy a = let append a1 a2 = let l1 = length a1 and l2 = length a2 in if l1 = 0 & l2 = 0 then [||] else begin - let r = new (l1 + l2) (unsafe_get (if l1 > 0 then a1 else a2) 0) in + let r = create (l1 + l2) (unsafe_get (if l1 > 0 then a1 else a2) 0) in for i = 0 to l1 - 1 do unsafe_set r i (unsafe_get a1 i) done; for i = 0 to l2 - 1 do unsafe_set r (i + l1) (unsafe_get a2 i) done; r @@ -48,7 +48,7 @@ let append a1 a2 = let concat_aux init al = let size = List.fold_left (fun sz a -> sz + length a) 0 al in - let res = new size init in + let res = create size init in let pos = ref 0 in List.iter (fun a -> @@ -70,7 +70,7 @@ let sub a ofs len = if ofs < 0 or len < 0 or ofs + len > length a then invalid_arg "Array.sub" else if len = 0 then [||] else begin - let r = new len (unsafe_get a ofs) in + let r = create len (unsafe_get a ofs) in for i = 1 to len - 1 do unsafe_set r i (unsafe_get a (ofs + i)) done; r end @@ -95,7 +95,7 @@ let iter f a = let map f a = let l = length a in if l = 0 then [||] else begin - let r = new l (f(unsafe_get a 0)) in + let r = create l (f(unsafe_get a 0)) in for i = 1 to l - 1 do unsafe_set r i (f(unsafe_get a i)) done; @@ -111,7 +111,7 @@ let to_list a = let of_list = function [] -> [||] | hd::tl -> - let a = new (List.length tl + 1) hd in + let a = create (List.length tl + 1) hd in let rec fill i = function [] -> a | hd::tl -> unsafe_set a i hd; fill (i+1) tl in |