sig
  type t
  val to_mpz : Mpzf.t -> Mpz.t
  val of_mpz : Mpz.t -> Mpzf.t
  val mpz : Mpzf.t -> Mpz.t
  val mpzf : Mpz.t -> Mpzf.t
  val print : Format.formatter -> Mpzf.t -> unit
  val of_string : string -> Mpzf.t
  val of_float : float -> Mpzf.t
  val of_int : int -> Mpzf.t
  val to_string : Mpzf.t -> string
  val to_float : Mpzf.t -> float
  val add : Mpzf.t -> Mpzf.t -> Mpzf.t
  val add_int : Mpzf.t -> int -> Mpzf.t
  val sub : Mpzf.t -> Mpzf.t -> Mpzf.t
  val sub_int : Mpzf.t -> int -> Mpzf.t
  val mul : Mpzf.t -> Mpzf.t -> Mpzf.t
  val mul_int : Mpzf.t -> int -> Mpzf.t
  val cdiv_q : Mpzf.t -> Mpzf.t -> Mpzf.t
  val cdiv_r : Mpzf.t -> Mpzf.t -> Mpzf.t
  val cdiv_qr : Mpzf.t -> Mpzf.t -> Mpzf.t * Mpzf.t
  val fdiv_q : Mpzf.t -> Mpzf.t -> Mpzf.t
  val fdiv_r : Mpzf.t -> Mpzf.t -> Mpzf.t
  val fdiv_qr : Mpzf.t -> Mpzf.t -> Mpzf.t * Mpzf.t
  val tdiv_q : Mpzf.t -> Mpzf.t -> Mpzf.t
  val tdiv_r : Mpzf.t -> Mpzf.t -> Mpzf.t
  val tdiv_qr : Mpzf.t -> Mpzf.t -> Mpzf.t * Mpzf.t
  val divexact : Mpzf.t -> Mpzf.t -> Mpzf.t
  val gmod : Mpzf.t -> Mpzf.t -> Mpzf.t
  val gcd : Mpzf.t -> Mpzf.t -> Mpzf.t
  val lcm : Mpzf.t -> Mpzf.t -> Mpzf.t
  val neg : Mpzf.t -> Mpzf.t
  val abs : Mpzf.t -> Mpzf.t
  val cmp : Mpzf.t -> Mpzf.t -> int
  val cmp_int : Mpzf.t -> int -> int
  val sgn : Mpzf.t -> int
end