diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2001-08-28 14:47:48 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2001-08-28 14:47:48 +0000 |
commit | ddd99c7e5d2f0f8e7364e8521fa7e8308999344e (patch) | |
tree | 3c0158d035a52c0cf185c08c3288c3c76d6718d0 /byterun/array.c | |
parent | c345611817d76ccc3bbd02db1f942774220739f9 (diff) | |
download | ocaml-ddd99c7e5d2f0f8e7364e8521fa7e8308999344e.tar.gz |
Chargement dynamique de primitives C
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3677 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/array.c')
-rw-r--r-- | byterun/array.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/byterun/array.c b/byterun/array.c index cec8b91725..5c87c7ddb6 100644 --- a/byterun/array.c +++ b/byterun/array.c @@ -22,14 +22,14 @@ #ifndef NATIVE_CODE -value array_get_addr(value array, value index) /* ML */ +CAMLprim value array_get_addr(value array, value index) { long idx = Long_val(index); if (idx < 0 || idx >= Wosize_val(array)) invalid_argument("Array.get"); return Field(array, idx); } -value array_get_float(value array, value index) /* ML */ +CAMLprim value array_get_float(value array, value index) { long idx = Long_val(index); double d; @@ -47,7 +47,7 @@ value array_get_float(value array, value index) /* ML */ return res; } -value array_get(value array, value index) /* ML */ +CAMLprim value array_get(value array, value index) { if (Tag_val(array) == Double_array_tag) return array_get_float(array, index); @@ -55,7 +55,7 @@ value array_get(value array, value index) /* ML */ return array_get_addr(array, index); } -value array_set_addr(value array, value index, value newval) /* ML */ +CAMLprim value array_set_addr(value array, value index, value newval) { long idx = Long_val(index); if (idx < 0 || idx >= Wosize_val(array)) invalid_argument("Array.set"); @@ -63,7 +63,7 @@ value array_set_addr(value array, value index, value newval) /* ML */ return Val_unit; } -value array_set_float(value array, value index, value newval) /* ML */ +CAMLprim value array_set_float(value array, value index, value newval) { long idx = Long_val(index); if (idx < 0 || idx >= Wosize_val(array) / Double_wosize) @@ -72,7 +72,7 @@ value array_set_float(value array, value index, value newval) /* ML */ return Val_unit; } -value array_set(value array, value index, value newval) /* ML */ +CAMLprim value array_set(value array, value index, value newval) { if (Tag_val(array) == Double_array_tag) return array_set_float(array, index, newval); @@ -80,7 +80,7 @@ value array_set(value array, value index, value newval) /* ML */ return array_set_addr(array, index, newval); } -value array_unsafe_get_float(value array, value index) /* ML */ +CAMLprim value array_unsafe_get_float(value array, value index) { double d; value res; @@ -95,7 +95,7 @@ value array_unsafe_get_float(value array, value index) /* ML */ return res; } -value array_unsafe_get(value array, value index) /* ML */ +CAMLprim value array_unsafe_get(value array, value index) { if (Tag_val(array) == Double_array_tag) return array_unsafe_get_float(array, index); @@ -103,20 +103,20 @@ value array_unsafe_get(value array, value index) /* ML */ return Field(array, Long_val(index)); } -value array_unsafe_set_addr(value array, value index, value newval) /* ML */ +CAMLprim value array_unsafe_set_addr(value array, value index, value newval) { long idx = Long_val(index); Modify(&Field(array, idx), newval); return Val_unit; } -value array_unsafe_set_float(value array, value index, value newval) /* ML */ +CAMLprim value array_unsafe_set_float(value array, value index, value newval) { Store_double_field(array, Long_val(index), Double_val(newval)); return Val_unit; } -value array_unsafe_set(value array, value index, value newval) /* ML */ +CAMLprim value array_unsafe_set(value array, value index, value newval) { if (Tag_val(array) == Double_array_tag) return array_unsafe_set_float(array, index, newval); @@ -126,7 +126,7 @@ value array_unsafe_set(value array, value index, value newval) /* ML */ #endif -value make_vect(value len, value init) /* ML */ +CAMLprim value make_vect(value len, value init) { CAMLparam2 (len, init); CAMLlocal1 (res); @@ -168,7 +168,7 @@ value make_vect(value len, value init) /* ML */ CAMLreturn (res); } -value make_array(value init) /* ML */ +CAMLprim value make_array(value init) { CAMLparam1 (init); mlsize_t wsize, size, i; |