module Num:任意精度の数値演算sig
..end
num
型の数は任意精度の実数に、特別な要素として 1/0
(無限大)と 0/0
(未定義)を加えたものです。
type
num =
| |
Int of |
| |
Big_int of |
| |
Ratio of |
val (+/) : num -> num -> num
Num.add_num
と同じです。val add_num : num -> num -> num
val minus_num : num -> num
val (-/) : num -> num -> num
Num.sub_num
と同じです。val sub_num : num -> num -> num
val ( */ ) : num -> num -> num
Num.mult_num
と同じです。val mult_num : num -> num -> num
val square_num : num -> num
val (//) : num -> num -> num
Num.div_num
と同じです。val div_num : num -> num -> num
val quo_num : num -> num -> num
val mod_num : num -> num -> num
val ( **/ ) : num -> num -> num
Num.power_num
と同じです。val power_num : num -> num -> num
val abs_num : num -> num
val succ_num : num -> num
succ n
は n + 1
になります。val pred_num : num -> num
pred n
は n - 1
になります。val incr_num : num ref -> unit
r
を数へのリファレンスとしたとき、 incr r
は r := !r + 1
になります。val decr_num : num ref -> unit
r
を数へのリファレンスとしたとき、 decr r
は r := !r - 1
になります。val is_integer_num : num -> bool
val integer_num : num -> num
integer_num
は n
に最も近い整数を返します。ふたつの整数の中間にある場合には 0 に向って丸めます。val floor_num : num -> num
floor_num n
は n
以下の最大の整数を返します。val round_num : num -> num
integer_num
は n
に最も近い整数を返します。ふたつの整数の中間にある場合には 0 に向って丸めます。val ceiling_num : num -> num
ceiling_num n
は n
以上の最小の整数を返します。val sign_num : num -> int
-1
、 0
、 1
を返します。val (=/) : num -> num -> bool
val (</) : num -> num -> bool
val (>/) : num -> num -> bool
val (<=/) : num -> num -> bool
val (>=/) : num -> num -> bool
val (<>/) : num -> num -> bool
val eq_num : num -> num -> bool
val lt_num : num -> num -> bool
val le_num : num -> num -> bool
val gt_num : num -> num -> bool
val ge_num : num -> num -> bool
val compare_num : num -> num -> int
-1
、 0
、 1
を返します。val max_num : num -> num -> num
val min_num : num -> num -> num
val string_of_num : num -> string
val approx_num_fix : int -> num -> string
Num.approx_num_exp
を参照してください。val approx_num_exp : int -> num -> string
Num.approx_num_fix
は十進表記を使い、第一引数は小数点の後に続く数字の個数になります。
approx_num_exp
は科学(指数)表記を使い、第一引数は仮数部の数字の個数になります。val num_of_string : string -> num
val int_of_num : num -> int
val num_of_int : int -> num
val nat_of_num : num -> Nat.nat
val num_of_nat : Nat.nat -> num
val num_of_big_int : Big_int.big_int -> num
val big_int_of_num : num -> Big_int.big_int
val ratio_of_num : num -> Ratio.ratio
val num_of_ratio : Ratio.ratio -> num
val float_of_num : num -> float