diff options
Diffstat (limited to 'stdlib/array.ml')
-rw-r--r-- | stdlib/array.ml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml index a4270f278a..9b54587847 100644 --- a/stdlib/array.ml +++ b/stdlib/array.ml @@ -30,6 +30,16 @@ external unsafe_blit : external create_float: int -> float array = "caml_make_float_vect" let make_float = create_float +module Floatarray = struct + external create : int -> floatarray = "caml_floatarray_create" + external length : floatarray -> int = "%floatarray_length" + external get : floatarray -> int -> float = "%floatarray_safe_get" + external set : floatarray -> int -> float -> unit = "%floatarray_safe_set" + external unsafe_get : floatarray -> int -> float = "%floatarray_unsafe_get" + external unsafe_set : floatarray -> int -> float -> unit + = "%floatarray_unsafe_set" +end + let init l f = if l = 0 then [||] else if l < 0 then invalid_arg "Array.init" |