Module Int32


module Int32: sig .. end
32 ビット整数

このモジュールは int32 型の符号付き 32 ビット整数の演算を提供します。 組み込みの int 型とは異なり、 int32 型はすべてのプラットフォームでちょうど 32 ビット幅であることが保証されています。 int32 型上の算術演算はすべて 232 を法とした剰余を取ります。

性能についての注意: int32 型の値は int 型の値よりもメモリ空間を多く消費し、一般に算術演算もより低速です。 アプリケーションで正確に 32 ビットの算術が必要な場合にだけ int32 型を使うようにしてください。


val zero : int32
32 ビット整数の 0。
val one : int32
32 ビット整数の 1。
val minus_one : int32
32 ビット整数の -1。
val neg : int32 -> int32
単項の符号反転。
val add : int32 -> int32 -> int32
加算。
val sub : int32 -> int32 -> int32
減算。
val mul : int32 -> int32 -> int32
乗算。
val div : int32 -> int32 -> int32
整数の除算。第二引数が 0 のときは Division_by_zero 例外が発生します。 この関数は (/) と同じく、実数の商を 0 方向に丸めます。
val rem : int32 -> int32 -> int32
整数の余り。 y が 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 -> int32
後者関数。 Int32.succ xInt32.add x Int32.one になります。
val pred : int32 -> int32
前者関数。 Int32.pred xInt32.sub x Int32.one になります。
val abs : int32 -> int32
引数の絶対値を返します。
val max_int : int32
32 ビット整数で表せる最大の整数、 231 - 1 です。
val min_int : int32
32 ビット整数で表せる最小の整数、 - 231 です。
val logand : int32 -> int32 -> int32
ビットごとの論理積。
val logor : int32 -> int32 -> int32
ビットごとの論理和。
val logxor : int32 -> int32 -> int32
ビットごとの排他的論理和。
val lognot : int32 -> int32
ビットごとの論理否定。
val shift_left : int32 -> int -> int32
Int32.shift_left x yx を左に y ビットシフトします。 y < 0y >= 32 のときの結果は規定されていません。
val shift_right : int32 -> int -> int32
Int32.shift_right x yx を右に y ビットシフトします。 これは算術シフトです。 すなわち、 x の符号ビットを複製して空いたビットを埋めます。 y < 0y >= 32 のときの結果は規定されていません。
val shift_right_logical : int32 -> int -> int32
Int32.shift_right_logical x yx を右に y ビットシフトします。 これは論理シフトです。 すなわち、 x の符号によらず空いたビットを 0 で埋めます。 y < 0y >= 32 のときの結果は規定されていません。
val of_int : int -> int32
与えられた(int 型の)整数を 32 ビット整数に変換します。
val to_int : int32 -> int
与えられた 32 ビット整数を(int 型の)整数に変換します。 32 ビットプラットフォームでは、引数の 32 ビット整数の 231 を法とした剰余を取ります。 すなわち、最上位ビットは変換により失われます。 64 ビットプラットフォームでは正確に変換が行なわれます。
val of_float : float -> int32
与えられた浮動小数点数を 32 ビット整数に変換します。 仮数部は切り捨てられます(0 に向かって切り捨てます)。 変換後の数が [Int32.min_int, Int32.max_int] の範囲外だった場合の結果は未定義です。
val to_float : int32 -> float
与えられた 32 ビット整数を浮動小数点数に変換します。
val of_string : string -> int32
与えられた文字列を 32 ビット整数に変換します。 文字列は十進(デフォルト)、または文字列が 0x0o0b で始まっていた場合には順に十六進、八進、二進で読み込まれます。 与えられた文字列が整数の表現として妥当でない場合や、 int32 で表せる範囲を越えていた場合には Failure "int_of_string" 例外が発生します。
val to_string : int32 -> string
引数の符号付き十進数としての文字列表現を返します。
val bits_of_float : float -> int32
与えられた float 値の内部表現を IEEE 754 浮動小数点数「単精度形式」のビットレイアウトで返します。 戻り値の 31 ビット目は float 値の符号を表し、 30 ビット目から 23 ビット目は(バイアスされた)指数部、 22 ビット目から 0 ビット目は仮数部を表します。
val float_of_bits : int32 -> float
与えらたれ int32 値が、その float 値の IEEE 754 浮動小数点数「単精度形式」のビットレイアウトであるような浮動小数点数を返します。
type t = int32 
32 ビット整数値の型の別名。
val compare : t -> t -> int
compare と同じ仕様の 32 ビット整数の比較関数です。 型 t に加えてこの関数があることにより、 Int32 モジュールを Set.MakeMap.Make といったファンクタに渡すことができるようになっています。