sig
  type ratio
  val create_ratio : Integers.big_int -> Integers.big_int -> Rationals.ratio
  val create_normalized_ratio :
    Integers.big_int -> Integers.big_int -> Rationals.ratio
  val sign_ratio : Rationals.ratio -> int
  val abs_ratio : Rationals.ratio -> Rationals.ratio
  val floor_ratio : Rationals.ratio -> Integers.big_int
  val ceiling_ratio : Rationals.ratio -> Integers.big_int
  val integer_ratio : Rationals.ratio -> Integers.big_int
  val round_ratio : Rationals.ratio -> Integers.big_int
  val normalize_ratio : Rationals.ratio -> Rationals.ratio
  val is_integer_ratio : Rationals.ratio -> bool
  val numerator_ratio : Rationals.ratio -> Integers.big_int
  val denominator_ratio : Rationals.ratio -> Integers.big_int
  val null_denominator : Rationals.ratio -> bool
  val add_int_ratio : int -> Rationals.ratio -> Rationals.ratio
  val add_big_int_ratio :
    Integers.big_int -> Rationals.ratio -> Rationals.ratio
  val add_ratio : Rationals.ratio -> Rationals.ratio -> Rationals.ratio
  val minus_ratio : Rationals.ratio -> Rationals.ratio
  val sub_ratio : Rationals.ratio -> Rationals.ratio -> Rationals.ratio
  val report_sign_ratio :
    Rationals.ratio -> Integers.big_int -> Integers.big_int
  val mult_ratio : Rationals.ratio -> Rationals.ratio -> Rationals.ratio
  val mult_int_ratio : int -> Rationals.ratio -> Rationals.ratio
  val mult_big_int_ratio :
    Integers.big_int -> Rationals.ratio -> Rationals.ratio
  val div_ratio : Rationals.ratio -> Rationals.ratio -> Rationals.ratio
  val div_int_ratio : int -> Rationals.ratio -> Rationals.ratio
  val div_ratio_int : Rationals.ratio -> int -> Rationals.ratio
  val div_big_int_ratio :
    Integers.big_int -> Rationals.ratio -> Rationals.ratio
  val div_ratio_big_int :
    Rationals.ratio -> Integers.big_int -> Rationals.ratio
  val eq_ratio : Rationals.ratio -> Rationals.ratio -> bool
  val eq_big_int_ratio : Integers.big_int -> Rationals.ratio -> bool
  val compare_ratio : Rationals.ratio -> Rationals.ratio -> int
  val compare_big_int_ratio : Integers.big_int -> Rationals.ratio -> int
  val int_of_ratio : Rationals.ratio -> int
  val ratio_of_int : int -> Rationals.ratio
  val big_int_of_ratio : Rationals.ratio -> Integers.big_int
  val ratio_of_big_int : Integers.big_int -> Rationals.ratio
  val float_of_ratio : Rationals.ratio -> float
  val string_of_ratio : Rationals.ratio -> string
  val ratio_of_string : string -> Rationals.ratio
  val approx_ratio_fix : int -> Rationals.ratio -> string
  val approx_ratio_exp : int -> Rationals.ratio -> string
end