module Nativeint:プロセッサネイティブな整数sig..end
このモジュールは nativeint 型の符号付き 32 ビット整数(32 ビットプラットフォームの場合)または符号付き 64 ビット整数(64 ビットプラットフォームの場合)の演算を提供します。
この整数型は C コンパイラの long 整数型とちょうど同じ幅になります。
nativeint 型上の算術演算はすべて、プロセッサの語長に応じて 232 ないしは 264 を法とした剰余を取ります。
性能についての注意: nativeint 型の値は int 型の値よりもメモリ空間を多く消費し、一般に算術演算もより低速です。
アプリケーションで int 型よりも高い精度が必要な場合にだけ
nativeint 型を使うようにしてください。
val zero : nativeintval one : nativeintval minus_one : nativeintval neg : nativeint -> nativeintval add : nativeint -> nativeint -> nativeintval sub : nativeint -> nativeint -> nativeintval mul : nativeint -> nativeint -> nativeintval div : nativeint -> nativeint -> nativeint
val rem : nativeint -> nativeint -> nativeinty が 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 -> nativeintNativeint.succ x は Nativeint.add x Nativeint.one になります。val pred : nativeint -> nativeintNativeint.pred x は Nativeint.sub x Nativeint.one になります。val abs : nativeint -> nativeintval size : int32、 64 ビットプラットフォームでは 64 になります。val max_int : nativeintval min_int : nativeintval logand : nativeint -> nativeint -> nativeintval logor : nativeint -> nativeint -> nativeintval logxor : nativeint -> nativeint -> nativeintval lognot : nativeint -> nativeintval shift_left : nativeint -> int -> nativeintNativeint.shift_left x y は x を左に y ビットシフトします。
y < 0 と y >= bitsize のときの結果は規定されていません。
ここで bitsize は 32 ビットプラットフォームでは 32、 64 ビットプラットフォームでは 64 です。val shift_right : nativeint -> int -> nativeintNativeint.shift_right x y は x を右に y ビットシフトします。
これは算術シフトです。
すなわち、 x の符号ビットを複製して空いたビットを埋めます。
y < 0 と y >= bitsize のときの結果は規定されていません。val shift_right_logical : nativeint -> int -> nativeintNativeint.shift_right_logical x y は x を右に y ビットシフトします。
これは論理シフトです。
すなわち、 x の符号によらず空いたビットを 0 で埋めます。
y < 0 と y >= bitsize のときの結果は規定されていません。val of_int : int -> nativeintint 型の)整数をネイティブ整数に変換します。val to_int : nativeint -> intnativeint 型の)ネイティブ整数を(int 型の)整数に変換します。
上位ビットは変換により失われます。val of_float : float -> nativeintNativeint.min_int, Nativeint.max_int] の範囲外だった場合の結果は未定義です。val to_float : nativeint -> floatval of_int32 : int32 -> nativeintint32 型の) 32 ビット整数をネイティブ整数に変換します。val to_int32 : nativeint -> int32int32 型の) 32 ビット整数に変換します。
64 ビットプラットフォームでは、引数のネイティブ整数の 232 を法とした剰余を取ります。
すなわち、上位 32 ビットが失われます。
32 ビットプラットフォームでは、変換は正確に行なわれます。val of_string : string -> nativeint0x、 0o、 0b で始まっていた場合には順に十六進、八進、二進で読み込まれます。
与えられた文字列が整数の表現として妥当でない場合や、 nativeint で表せる範囲を越えていた場合には Failure "int_of_string" 例外が発生します。val to_string : nativeint -> stringtypet =nativeint
val compare : t -> t -> int