module Big_int: sig end
big_int
型の巨大整数とは、任意サイズの符号付き整数です。
type big_int
val zero_big_int : big_int
val unit_big_int : big_int
Arithmetic operations
|
val minus_big_int : big_int -> big_int
val abs_big_int : big_int -> big_int
val add_big_int : big_int -> big_int -> big_int
val succ_big_int : big_int -> big_int
val add_int_big_int : int -> big_int -> big_int
val sub_big_int : big_int -> big_int -> big_int
val pred_big_int : big_int -> big_int
val mult_big_int : big_int -> big_int -> big_int
val mult_int_big_int : int -> big_int -> big_int
val square_big_int : big_int -> big_int
val sqrt_big_int : big_int -> big_int
sqrt_big_int a
a
の平方根を返します。つまり r * r <= a
を満たす巨大整数 r
のうち最大のものを返します。
a
が負だったら Invalid_argument
を返します。val quomod_big_int : big_int -> big_int -> big_int * big_int
(q,r) = quomod_big_int a b
ならば、a = q * b + r
かつ 0 <= r < |b|
が成り立ちます。
割る数が 0 だったら例外 Division_by_zero
を発生します。val div_big_int : big_int -> big_int -> big_int
q
of quomod_big_int
の結果の 1 つ目と同じです。val mod_big_int : big_int -> big_int -> big_int
q
of quomod_big_int
の結果の 2 つ目と同じです。val gcd_big_int : big_int -> big_int -> big_int
val power_int_positive_int : int -> int -> big_int
val power_big_int_positive_int : big_int -> int -> big_int
val power_int_positive_big_int : int -> big_int -> big_int
val power_big_int_positive_big_int : big_int -> big_int -> big_int
a
の整数を第二引数 b
の整数乗したものを返します。結果は常に巨大整数ですが、関数によって a
や b
は通常の整数もとれます。b
が負だったら例外 Invalid_argument
を発生します。
Comparisons and tests
|
val sign_big_int : big_int -> int
0
を、正なら 1
を、負なら -1
を返します。val compare_big_int : big_int -> big_int -> int
compare_big_int a b
は a
と b
が等しければ 0
を、a
が b
より大きければ 1
を、a
が b
より小さければ -1
を返します。val eq_big_int : big_int -> big_int -> bool
val le_big_int : big_int -> big_int -> bool
val ge_big_int : big_int -> big_int -> bool
val lt_big_int : big_int -> big_int -> bool
val gt_big_int : big_int -> big_int -> bool
val max_big_int : big_int -> big_int -> big_int
val min_big_int : big_int -> big_int -> big_int
val num_digits_big_int : big_int -> int
Conversions to and from strings
|
val string_of_big_int : big_int -> string
val big_int_of_string : string -> big_int
-
or +
と、それに続く数字がいくつかで構成されます。
Conversions to and from other numerical types
|
val big_int_of_int : int -> big_int
val is_int_big_int : big_int -> bool
int
型) で精度を落とさずに表せるかどうか判定します。32 ビットプラットフォームでは is_int_big_int a
は a
が 230 から 230-1 までのときに限り true
を返します。64 ビットプラットフォームでは is_int_big_int a
は a
が -262 から 262-1 までのときに限り true
を返します。val int_of_big_int : big_int -> int
int
型) に変換します。
巨大整数が通常の整数で表せなかったら例外 Failure "int_of_big_int"
を発生します。val float_of_big_int : big_int -> float