external ( -^ ) : int64 -> int64 -> int64 = "%int64_sub"
external ( *^ ) : int64 -> int64 -> int64 = "%int64_mul"
external ( /^ ) : int64 -> int64 -> int64 = "%int64_div"
- external ( <<^ ) : int64 -> int -> int64 = "%int64_lsl"
- external ( >>^ ) : int64 -> int -> int64 = "%int64_lsr"
+ external ( %^ ) : int64 -> int64 -> int64 = "%int64_mod"
+ external ( <^< ) : int64 -> int -> int64 = "%int64_lsl"
+ external ( >^> ) : int64 -> int -> int64 = "%int64_lsr"
+ external ( &^ ) : int64 -> int64 -> int64 = "%int64_and"
+ external ( |^ ) : int64 -> int64 -> int64 = "%int64_or"
+ external ( ^^ ) : int64 -> int64 -> int64 = "%int64_xor"
external ( ~^ ) : int -> int64 = "%int64_of_int"
let ( ~^~ ) i = Int64.neg (Int64.of_int i)
end