1 (* By default _import is external
*)
2 val c_quot
= _import
"c_quot" private pure
: Int8
.int * Int8
.int -> Int8
.int;
4 (* By default _export is public
*)
5 val sml_quot
= _export
"sml_quot": (Int8
.int * Int8
.int -> Int8
.int) -> unit
;
6 val _
= sml_quot Int8
.quot
8 val call_sml_quot
= _import
"call_sml_quot" public reentrant
: unit
-> unit
;
13 val z
= Int8
.quot (x
, y
)
14 val c_z
= c_quot (x
, y
)
19 val x
: Word8.word = 0wxFF
20 val x
: Int32
.int = Word8.toInt x
22 val y
: Word8.word = 0wx0A
23 val y
: Int32
.int = Word8.toInt y
24 val z
: Int32
.int = Int32
.quot (x
, y
)
25 val z
= Int8
.fromInt z
31 print (concat
[" bad_z = ", Int8
.toString bad_z
, "\n",
32 " z = ", Int8
.toString z
, "\n",
33 " c_z = ", Int8
.toString c_z
, "\n"])
34 val () = call_sml_quot ()