sig
  type 'a tt = 'Mpq.tt
  type t = Mpq.f Mpqf.tt
  val to_mpq : Mpqf.t -> 'Mpq.tt
  val of_mpq : 'Mpq.tt -> Mpqf.t
  val _mpq : Mpqf.t -> Mpq.t
  val _mpqf : Mpq.t -> Mpqf.t
  val print : Format.formatter -> 'Mpqf.tt -> unit
  val of_string : string -> Mpqf.t
  val of_float : float -> Mpqf.t
  val of_int : int -> Mpqf.t
  val of_frac : int -> int -> Mpqf.t
  val of_mpz : 'Mpz.tt -> Mpqf.t
  val of_mpz2 : 'Mpz.tt -> 'Mpz.tt -> Mpqf.t
  val to_string : 'Mpqf.tt -> string
  val to_float : 'Mpqf.tt -> float
  val to_mpzf2 : 'Mpqf.tt -> Mpzf.t * Mpzf.t
  val add : 'Mpqf.tt -> 'Mpqf.tt -> Mpqf.t
  val sub : 'Mpqf.tt -> 'Mpqf.tt -> Mpqf.t
  val mul : 'Mpqf.tt -> 'Mpqf.tt -> Mpqf.t
  val div : 'Mpqf.tt -> 'Mpqf.tt -> Mpqf.t
  val neg : 'Mpqf.tt -> Mpqf.t
  val abs : 'Mpqf.tt -> Mpqf.t
  val inv : 'Mpqf.tt -> Mpqf.t
  val equal : 'Mpqf.tt -> 'Mpqf.tt -> bool
  val cmp : 'Mpqf.tt -> 'Mpqf.tt -> int
  val cmp_int : 'Mpqf.tt -> int -> int
  val cmp_frac : 'Mpqf.tt -> int -> int -> int
  val sgn : 'Mpqf.tt -> int
  val get_num : Mpqf.t -> Mpzf.t
  val get_den : Mpqf.t -> Mpzf.t
end