include module type of struct include Q end
type t = Q.t = {
num : Z.t;
den : Z.t;
}
val make : Z.t -> Z.t -> t
val of_int32 : int32 -> t
val of_int64 : int64 -> t
val of_nativeint : nativeint -> t
val of_ints : int -> int -> t
val of_float : float -> t
val of_string : string -> t
type kind = Q.kind =
| ZERO
| INF
| MINF
| UNDEF
| NZERO
val equal : t -> t -> bool
val to_int32 : t -> int32
val to_int64 : t -> int64
val to_nativeint : t -> nativeint
val to_string : t -> string
val to_float : t -> float
val mul_2exp : t -> int -> t
val div_2exp : t -> int -> t
val output : Stdlib.out_channel -> t -> unit
val sprint : unit -> t -> string
val bprint : Stdlib.Buffer.t -> t -> unit
val pp_print : Stdlib.Format.formatter -> t -> unit
val (lsl) : t -> int -> t
val (asr) : t -> int -> t
val (//) : int -> int -> t
val (///) : Z.t -> Z.t -> t
val (<=) : t -> t -> bool
val (>=) : t -> t -> bool
val (<>) : t -> t -> bool
val compare : t -> t -> int
val t_of_sexp : NS__.NS0.Sexp.t -> t
val sexp_of_t : t -> NS__.NS0.Sexp.t
val pp : Stdlib.Format.formatter -> t -> unit