sig
  type t = Gmp41.Q.t
  val of_int : int -> Gmp41.Q.t
  val of_ints : int -> int -> Gmp41.Q.t
  val zero : Gmp41.Q.t
  val one : Gmp41.Q.t
  val two : Gmp41.Q.t
  val negone : Gmp41.Q.t
  val add : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val sub : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val minus : Gmp41.Q.t -> Gmp41.Q.t
  val mult : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val div : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val inv : Gmp41.Q.t -> Gmp41.Q.t
  val expt : Gmp41.Q.t -> int -> Gmp41.Q.t
  val floor : Gmp41.Q.t -> Gmp41.Z.t
  val ceil : Gmp41.Q.t -> Gmp41.Z.t
  val compare : Gmp41.Q.t -> Gmp41.Q.t -> int
  val equal : Gmp41.Q.t -> Gmp41.Q.t -> bool
  val is_zero : Gmp41.Q.t -> bool
  val is_one : Gmp41.Q.t -> bool
  val is_negone : Gmp41.Q.t -> bool
  val lt : Gmp41.Q.t -> Gmp41.Q.t -> bool
  val le : Gmp41.Q.t -> Gmp41.Q.t -> bool
  val gt : Gmp41.Q.t -> Gmp41.Q.t -> bool
  val ge : Gmp41.Q.t -> Gmp41.Q.t -> bool
  val is_pos : Gmp41.Q.t -> bool
  val is_neg : Gmp41.Q.t -> bool
  val min : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val max : Gmp41.Q.t -> Gmp41.Q.t -> Gmp41.Q.t
  val abs : Gmp41.Q.t -> Gmp41.Q.t
  type cmp = Equal | Greater | Less
  val cmp : Gmp41.Q.t -> Gmp41.Q.t -> Mpa.Q.cmp
  val denominator : Gmp41.Q.t -> Gmp41.Z.t
  val numerator : Gmp41.Q.t -> Gmp41.Z.t
  val is_integer : Gmp41.Q.t -> bool
  val to_z : Gmp41.Q.t -> Gmp41.Z.t
  val of_z : Gmp41.Z.t -> Gmp41.Q.t
  val hash : '-> int
  val to_string : Gmp41.Q.t -> string
  val of_string : string -> Gmp41.Q.t
  val pp : Format.formatter -> Gmp41.Q.t -> unit
end