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