forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcaml_int32_extern.ml
23 lines (20 loc) · 1.02 KB
/
caml_int32_extern.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
external to_int : int32 -> int = "%int32_to_int"
external add : int32 -> int32 -> int32 = "%int32_add"
external shift_left : int32 -> int -> int32 = "%int32_lsl"
external shift_right_logical : int32 -> int -> int32 = "%int32_lsr"
external shift_right : int32 -> int -> int32 = "%int32_asr"
external logand : int32 -> int32 -> int32 = "%int32_and"
external logxor : int32 -> int32 -> int32 = "%int32_xor"
external logor : int32 -> int32 -> int32 = "%int32_or"
external of_int : int -> int32 = "%int32_of_int"
external mul : int32 -> int32 -> int32 = "%int32_mul"
module Ops = struct
external (+~) : int32 -> int32 -> int32 = "%int32_add"
external (<<~) : int32 -> int -> int32 = "%int32_lsl"
external (>>>~) : int32 -> int -> int32 = "%int32_lsr"
external (>>~) : int32 -> int -> int32 = "%int32_asr"
external (&~) : int32 -> int32 -> int32 = "%int32_and"
external (^~) : int32 -> int32 -> int32 = "%int32_xor"
external (|~) : int32 -> int32 -> int32 = "%int32_or"
external ( *~ ) : int32 -> int32 -> int32 = "%int32_mul"
end