Module Int64


module Int64: sig .. end
64 ビット整数

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

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


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