sig
type t = Mpqf.t
val pp : Format.formatter -> QQ.t -> unit
val show : QQ.t -> string
val compare : QQ.t -> QQ.t -> int
val equal : QQ.t -> QQ.t -> bool
val leq : QQ.t -> QQ.t -> bool
val lt : QQ.t -> QQ.t -> bool
val hash : QQ.t -> int
val add : QQ.t -> QQ.t -> QQ.t
val mul : QQ.t -> QQ.t -> QQ.t
val div : QQ.t -> QQ.t -> QQ.t
val idiv : QQ.t -> QQ.t -> ZZ.t
val modulo : QQ.t -> QQ.t -> QQ.t
val gcd : QQ.t -> QQ.t -> QQ.t
val lcm : QQ.t -> QQ.t -> QQ.t
val zero : QQ.t
val one : QQ.t
val negate : QQ.t -> QQ.t
val inverse : QQ.t -> QQ.t
val floor : QQ.t -> ZZ.t
val ceiling : QQ.t -> ZZ.t
val sub : QQ.t -> QQ.t -> QQ.t
val exp : QQ.t -> int -> QQ.t
val numerator : QQ.t -> ZZ.t
val denominator : QQ.t -> ZZ.t
val to_zz : QQ.t -> ZZ.t option
val to_zzfrac : QQ.t -> ZZ.t * ZZ.t
val to_float : QQ.t -> float
val to_int : QQ.t -> int option
val of_string : string -> QQ.t
val of_int : int -> QQ.t
val of_zz : ZZ.t -> QQ.t
val of_frac : int -> int -> QQ.t
val of_zzfrac : ZZ.t -> ZZ.t -> QQ.t
val of_float : float -> QQ.t
val min : QQ.t -> QQ.t -> QQ.t
val max : QQ.t -> QQ.t -> QQ.t
val abs : QQ.t -> QQ.t
val nudge : ?accuracy:int -> QQ.t -> QQ.t * QQ.t
val nudge_up : ?accuracy:int -> QQ.t -> QQ.t
val nudge_down : ?accuracy:int -> QQ.t -> QQ.t
end