Module Nativeint


module Nativeint: sig .. end
プロセッサネイティブな整数

このモジュールは nativeint 型の符号付き 32 ビット整数(32 ビットプラットフォームの場合)または符号付き 64 ビット整数(64 ビットプラットフォームの場合)の演算を提供します。 この整数型は C コンパイラの long 整数型とちょうど同じ幅になります。 nativeint 型上の算術演算はすべて、プロセッサの語長に応じて 232 ないしは 264 を法とした剰余を取ります。

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


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