diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/array.ml | 10 | ||||
-rw-r--r-- | stdlib/array.mli | 8 | ||||
-rw-r--r-- | stdlib/obj.ml | 4 | ||||
-rw-r--r-- | stdlib/obj.mli | 4 | ||||
-rw-r--r-- | stdlib/string.ml | 8 | ||||
-rw-r--r-- | stdlib/string.mli | 8 |
6 files changed, 25 insertions, 17 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml index 3089e2f83..d539d76c6 100644 --- a/stdlib/array.ml +++ b/stdlib/array.ml @@ -1,10 +1,13 @@ (* Array operations *) external length : 'a array -> int = "%array_length" -external unsafe_get: 'a array -> int -> 'a = "%array_get" -external unsafe_set: 'a array -> int -> 'a -> unit = "%array_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 get: 'a array -> int -> 'a = "array_get" +external set: 'a array -> int -> 'a -> unit = "array_set" +(***** let get a n = if n < 0 or n >= length a then invalid_arg "Array.get" @@ -14,6 +17,7 @@ let set a n v = if n < 0 or n >= length a then invalid_arg "Array.set" else unsafe_set a n v +*****) let new_matrix sx sy init = let res = new sx [||] in @@ -37,7 +41,7 @@ let append a1 a2 = if l1 = 0 & l2 = 0 then [||] else begin let r = new (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 a1 i) done; + for i = 0 to l2 - 1 do unsafe_set r (i + l1) (unsafe_get a2 i) done; r end diff --git a/stdlib/array.mli b/stdlib/array.mli index 28f1e586d..e0d9983d7 100644 --- a/stdlib/array.mli +++ b/stdlib/array.mli @@ -2,8 +2,8 @@ external length : 'a array -> int = "%array_length" -val get: 'a array -> int -> 'a -val set: 'a array -> int -> 'a -> unit +external get: 'a array -> int -> 'a = "array_get" +external set: 'a array -> int -> 'a -> unit = "array_set" external new: int -> 'a -> 'a array = "make_vect" val new_matrix: int -> int -> 'a -> 'a array array val append: 'a array -> 'a array -> 'a array @@ -17,6 +17,6 @@ val map: ('a -> 'b) -> 'a array -> 'b array val to_list: 'a array -> 'a list val of_list: 'a list -> 'a array -external unsafe_get: 'a array -> int -> 'a = "%array_get" -external unsafe_set: 'a array -> int -> 'a -> unit = "%array_set" +external unsafe_get: 'a array -> int -> 'a = "%array_unsafe_get" +external unsafe_set: 'a array -> int -> 'a -> unit = "%array_unsafe_set" diff --git a/stdlib/obj.ml b/stdlib/obj.ml index b4c131ad4..c31e6c3ab 100644 --- a/stdlib/obj.ml +++ b/stdlib/obj.ml @@ -7,7 +7,7 @@ external magic : 'a -> 'b = "%identity" external is_block : t -> bool = "obj_is_block" external tag : t -> int = "%tagof" external size : t -> int = "%array_length" -external field : t -> int -> t = "%array_get" -external set_field : t -> int -> t -> unit = "%array_set" +external field : t -> int -> t = "%array_unsafe_get" +external set_field : t -> int -> t -> unit = "%array_unsafe_set" external new_block : int -> int -> t = "obj_block" external update : t -> t -> unit = "%update" diff --git a/stdlib/obj.mli b/stdlib/obj.mli index b4c131ad4..c31e6c3ab 100644 --- a/stdlib/obj.mli +++ b/stdlib/obj.mli @@ -7,7 +7,7 @@ external magic : 'a -> 'b = "%identity" external is_block : t -> bool = "obj_is_block" external tag : t -> int = "%tagof" external size : t -> int = "%array_length" -external field : t -> int -> t = "%array_get" -external set_field : t -> int -> t -> unit = "%array_set" +external field : t -> int -> t = "%array_unsafe_get" +external set_field : t -> int -> t -> unit = "%array_unsafe_set" external new_block : int -> int -> t = "obj_block" external update : t -> t -> unit = "%update" diff --git a/stdlib/string.ml b/stdlib/string.ml index 9b88686a6..d26ff55a5 100644 --- a/stdlib/string.ml +++ b/stdlib/string.ml @@ -2,12 +2,15 @@ external length : string -> int = "ml_string_length" external create: int -> string = "create_string" -external unsafe_get : string -> int -> char = "%string_get" -external unsafe_set : string -> int -> char -> unit = "%string_set" +external unsafe_get : string -> int -> char = "%string_unsafe_get" +external unsafe_set : string -> int -> char -> unit = "%string_unsafe_set" +external get : string -> int -> char = "string_get" +external set : string -> int -> char -> unit = "string_set" external unsafe_blit : string -> int -> string -> int -> int -> unit = "blit_string" external unsafe_fill : string -> int -> int -> char -> unit = "fill_string" +(****** let get s n = if n < 0 or n >= length s then invalid_arg "String.get" @@ -17,6 +20,7 @@ let set s n c = if n < 0 or n >= length s then invalid_arg "String.set" else unsafe_set s n c +*******) let make n c = let s = create n in diff --git a/stdlib/string.mli b/stdlib/string.mli index 0a5982db0..ddf2df1bd 100644 --- a/stdlib/string.mli +++ b/stdlib/string.mli @@ -2,8 +2,8 @@ external length : string -> int = "ml_string_length" -val get : string -> int -> char -val set : string -> int -> char -> unit +external get : string -> int -> char = "string_get" +external set : string -> int -> char -> unit = "string_set" external create : int -> string = "create_string" val make : int -> char -> string @@ -17,8 +17,8 @@ val concat : string -> string list -> string val escaped: string -> string -external unsafe_get : string -> int -> char = "%string_get" -external unsafe_set : string -> int -> char -> unit = "%string_set" +external unsafe_get : string -> int -> char = "%string_unsafe_get" +external unsafe_set : string -> int -> char -> unit = "%string_unsafe_set" external unsafe_blit : string -> int -> string -> int -> int -> unit = "blit_string" external unsafe_fill : string -> int -> int -> char -> unit = "fill_string" |