signature Num = sig type num val ( +~ ) : num -> num -> num val add_num : num -> num -> num val minus_num : num -> num val ( -~ ) : num -> num -> num val sub_num : num -> num -> num val ( *~ ) : num -> num -> num val mult_num : num -> num -> num val square_num : num -> num val ( /~ ) : num -> num -> num val div_num : num -> num -> num val quo_num : num -> num -> num val mod_num : num -> num -> num val ( **~ ) : num -> num -> num val power_num : num -> num -> num val abs_num : num -> num val succ_num : num -> num val pred_num : num -> num val incr_num : num ref -> unit val decr_num : num ref -> unit val is_integer_num : num -> bool val integer_num : num -> num val floor_num : num -> num val round_num : num -> num val ceiling_num : num -> num val sign_num : num -> int 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 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 val approx_num_exp : int -> num -> string val num_of_string : string -> num val int_of_num : num -> int val num_of_int : int -> num val num_of_big_int : Big_int.big_int -> num val big_int_of_num : num -> Big_int.big_int val real_of_num : num -> real end