diff options
Diffstat (limited to 'stdlib/obj.ml')
-rw-r--r-- | stdlib/obj.ml | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/stdlib/obj.ml b/stdlib/obj.ml index 35b3925ae4..6c5f4f9e01 100644 --- a/stdlib/obj.ml +++ b/stdlib/obj.ml @@ -28,11 +28,12 @@ external size : t -> int = "%obj_size" external reachable_words : t -> int = "caml_obj_reachable_words" external field : t -> int -> t = "%obj_field" external set_field : t -> int -> t -> unit = "%obj_set_field" -external array_get: 'a array -> int -> 'a = "%array_safe_get" -external array_set: 'a array -> int -> 'a -> unit = "%array_safe_set" -let [@inline always] double_field x i = array_get (obj x : float array) i +external floatarray_get : floatarray -> int -> float = "caml_floatarray_get" +external floatarray_set : + floatarray -> int -> float -> unit = "caml_floatarray_set" +let [@inline always] double_field x i = floatarray_get (obj x : floatarray) i let [@inline always] set_double_field x i v = - array_set (obj x : float array) i v + floatarray_set (obj x : floatarray) i v external new_block : int -> int -> t = "caml_obj_block" external dup : t -> t = "caml_obj_dup" external truncate : t -> int -> unit = "caml_obj_truncate" |