`sig type num = Int of int | Big_int of Big_int.big_int | Ratio of Ratio.ratio val ( +/ ) : Num.num -> Num.num -> Num.num val add_num : Num.num -> Num.num -> Num.num val minus_num : Num.num -> Num.num val ( -/ ) : Num.num -> Num.num -> Num.num val sub_num : Num.num -> Num.num -> Num.num val ( */ ) : Num.num -> Num.num -> Num.num val mult_num : Num.num -> Num.num -> Num.num val square_num : Num.num -> Num.num val ( // ) : Num.num -> Num.num -> Num.num val div_num : Num.num -> Num.num -> Num.num val quo_num : Num.num -> Num.num -> Num.num val mod_num : Num.num -> Num.num -> Num.num val ( **/ ) : Num.num -> Num.num -> Num.num val power_num : Num.num -> Num.num -> Num.num val abs_num : Num.num -> Num.num val succ_num : Num.num -> Num.num val pred_num : Num.num -> Num.num val incr_num : Num.num Pervasives.ref -> unit val decr_num : Num.num Pervasives.ref -> unit val is_integer_num : Num.num -> bool val integer_num : Num.num -> Num.num val floor_num : Num.num -> Num.num val round_num : Num.num -> Num.num val ceiling_num : Num.num -> Num.num val sign_num : Num.num -> int val ( =/ ) : Num.num -> Num.num -> bool val ( </ ) : Num.num -> Num.num -> bool val ( >/ ) : Num.num -> Num.num -> bool val ( <=/ ) : Num.num -> Num.num -> bool val ( >=/ ) : Num.num -> Num.num -> bool val ( <>/ ) : Num.num -> Num.num -> bool val eq_num : Num.num -> Num.num -> bool val lt_num : Num.num -> Num.num -> bool val le_num : Num.num -> Num.num -> bool val gt_num : Num.num -> Num.num -> bool val ge_num : Num.num -> Num.num -> bool val compare_num : Num.num -> Num.num -> int val max_num : Num.num -> Num.num -> Num.num val min_num : Num.num -> Num.num -> Num.num val string_of_num : Num.num -> string val approx_num_fix : int -> Num.num -> string val approx_num_exp : int -> Num.num -> string val num_of_string : string -> Num.num val int_of_num : Num.num -> int val num_of_int : int -> Num.num val nat_of_num : Num.num -> Nat.nat val num_of_nat : Nat.nat -> Num.num val num_of_big_int : Big_int.big_int -> Num.num val big_int_of_num : Num.num -> Big_int.big_int val ratio_of_num : Num.num -> Ratio.ratio val num_of_ratio : Ratio.ratio -> Num.num val float_of_num : Num.num -> float end`