Module Int64


module Int64: sig  end
64 ビット整数です。

このモジュールでは符号付き 64 ビット整数の型 int64 を処理できます。組み込みの int 型とは異なり、int64 型はプラットフォームを問わず 64 ビットの幅を持つことが保証されています。int64 に関する算術処理は 264 を法とする演算になります。

パフォーマンスについて: int64 型の値は int 型の値に比べて多くのメモリを必要とし、また int64 の算術処理は一般に int より遅くなります。int64 は 64 ビットの算術演算が必要なときだけ使用してください。


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 を発生します。Pervasives.(/) の仕様のように、実数商は 0 方向に丸められます。
val rem : int64 -> int64 -> int64
整数剰余。y が 0 でない場合、Int64.rem x y の結果は Int64.zero <= Int64.rem x y < Int64.abs y かつ x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y) という特性を持ちます。y = 0 である場合は、Int64.rem x y は例外 Division_by_zero を発生します。
val succ : int64 -> int64
1 加算。Int64.succ xInt64.add x Int64.one です。
val pred : int64 -> int64
1 減算。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 < 0 または y >= 64 のとき結果は規定されていません。
val shift_right : int64 -> int -> int64
Int64.shift_right x yx を右に y ビットシフトします。 これは算術シフトです。新しく空いた上位ビットには x の符号ビットが複製され挿入されます。 y < 0 または y >= 64 のとき結果は規定されていません。
val shift_right_logical : int64 -> int -> int64
Int64.shift_right_logical x yx を右に y ビットシフトします。 これは論理シフトです。新しく空いた上位ビットには x の符号ではなく常に 0 が入ります。 y < 0 または y >= 64 のとき結果は規定されていません。
val of_int : int -> int64
与えられた整数 (int 型) を 64 ビット整数 (int64 型) に変換します。
val to_int : int64 -> int
64 ビット整数 (int64 型) を整数 (int 型) に変換します。64 ビットプラットフォームでは、263 を法とした数を返します。つまり変換によって最上位ビットを失います。32 ビットプラットフォームでは、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
native 整数を 64 ビット整数 (int64 型) に変換します。
val to_nativeint : int64 -> nativeint
64 ビット整数 (int64 型) を native 整数に変換します。32 ビットプラットフォームでは、232 を法とした数に変換されます。64 ビットプラットフォームでは、変換による情報損失はありません。
val of_string : string -> int64
文字列を 64 ビット整数に変換します。文字列は (デフォルトで) 10 進として解釈されます。文字列が 0x0o0b で始まっている場合はそれぞれ 16 進、8 進、2 進として解釈されます。 文字列が整数を表す文字列として不正であった場合は、例外 Failure "int_of_string" が発生します。
val to_string : int64 -> string
引数を符号付き 10 進文字列表記したものを返します。
val format : string -> int64 -> string
Int64.format fmt n は 64 ビット整数 n を、fmt で指定されたフォーマットで文字列表示して返します。 fmtPrintf 方式のフォーマットで、変換指定 %d%i%u%x%X%o のどれかになります。この関数は推奨されていません。代わりに Printf.sprintf%Lx フォーマットを使用してください。
val bits_of_float : float -> int64
浮動小数点小数を IEEE 754 浮動小数点 double フォーマットビットレイアウトに従った内部形式を返します。63 ビット目は float の符号ビットを表し、62 ビット目から 52 ビット目までが (バイアス付き) 指数部、51 ビット目から 0 ビット目までが仮数部を表します。
val float_of_bits : int64 -> float
int64 で与えられた IEEE 754 浮動小数点 double フォーマットビットレイアウトの内部形式を持つ浮動小数点小数を返します。

type t = int64
64 ビット整数型の別名です。

val compare : t -> t -> int
64 ビット整数の比較関数です。Pervasives.compare の仕様と同じです。型 t とこの関数 compare を使ってモジュール String を functor Set.MakeMap.Make の引数として渡すことができます。