module Int32:32 ビット整数sig..end
このモジュールは int32 型の符号付き 32 ビット整数の演算を提供します。
組み込みの int 型とは異なり、 int32 型はすべてのプラットフォームでちょうど
32 ビット幅であることが保証されています。
int32 型上の算術演算はすべて 232 を法とした剰余を取ります。
性能についての注意: int32 型の値は int 型の値よりもメモリ空間を多く消費し、一般に算術演算もより低速です。
アプリケーションで正確に 32 ビットの算術が必要な場合にだけ int32 型を使うようにしてください。
val zero : int32val one : int32val minus_one : int32val neg : int32 -> int32val add : int32 -> int32 -> int32val sub : int32 -> int32 -> int32val mul : int32 -> int32 -> int32val div : int32 -> int32 -> int32
val rem : int32 -> int32 -> int32y が 0 でないとき、 Int32.rem x y は次の性質を満たします。
すなわち、 x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y) になります。
y = 0 の場合は Division_by_zero 例外が発生します。val succ : int32 -> int32Int32.succ x は Int32.add x Int32.one になります。val pred : int32 -> int32Int32.pred x は Int32.sub x Int32.one になります。val abs : int32 -> int32val max_int : int32val min_int : int32val logand : int32 -> int32 -> int32val logor : int32 -> int32 -> int32val logxor : int32 -> int32 -> int32val lognot : int32 -> int32val shift_left : int32 -> int -> int32Int32.shift_left x y は x を左に y ビットシフトします。
y < 0 と y >= 32 のときの結果は規定されていません。val shift_right : int32 -> int -> int32Int32.shift_right x y は x を右に y ビットシフトします。
これは算術シフトです。
すなわち、 x の符号ビットを複製して空いたビットを埋めます。
y < 0 と y >= 32 のときの結果は規定されていません。val shift_right_logical : int32 -> int -> int32Int32.shift_right_logical x y は x を右に y ビットシフトします。
これは論理シフトです。
すなわち、 x の符号によらず空いたビットを 0 で埋めます。
y < 0 と y >= 32 のときの結果は規定されていません。val of_int : int -> int32int 型の)整数を 32 ビット整数に変換します。val to_int : int32 -> intint 型の)整数に変換します。
32 ビットプラットフォームでは、引数の 32 ビット整数の 231 を法とした剰余を取ります。
すなわち、最上位ビットは変換により失われます。
64 ビットプラットフォームでは正確に変換が行なわれます。val of_float : float -> int32Int32.min_int, Int32.max_int] の範囲外だった場合の結果は未定義です。val to_float : int32 -> floatval of_string : string -> int320x、 0o、 0b で始まっていた場合には順に十六進、八進、二進で読み込まれます。
与えられた文字列が整数の表現として妥当でない場合や、 int32 で表せる範囲を越えていた場合には Failure "int_of_string" 例外が発生します。val to_string : int32 -> stringval bits_of_float : float -> int32float 値の内部表現を IEEE 754 浮動小数点数「単精度形式」のビットレイアウトで返します。
戻り値の 31 ビット目は float 値の符号を表し、 30 ビット目から 23 ビット目は(バイアスされた)指数部、 22 ビット目から 0 ビット目は仮数部を表します。val float_of_bits : int32 -> floatint32 値が、その float 値の IEEE 754 浮動小数点数「単精度形式」のビットレイアウトであるような浮動小数点数を返します。typet =int32
val compare : t -> t -> int