Module Mpa.Q


module Q: sig  end
Multi-precision rationals.


type t
Abstract type of rationals.

val negone : t
val zero : t
val one : t
val two : t
val is_zero : t -> bool
Parameters:
x : t
val is_one : t -> bool
Parameters:
x : t
val is_negone : t -> bool
Parameters:
x : t
val is_pos : t -> bool
Parameters:
x : t
val is_neg : t -> bool
Parameters:
x : t
val is_nonneg : t -> bool
Parameters:
x : t
val is_nonpos : t -> bool
Parameters:
x : t
val of_int : int -> t
Parameters:
n : int
val of_ints : int -> int -> t
Parameters:
? : int
? : int
val min : t -> t -> t
Parameters:
x : t
y : t
val max : t -> t -> t
Parameters:
x : t
y : t
val add : t -> t -> t
Parameters:
? : t
? : t
val sub : t -> t -> t
Parameters:
? : t
? : t
val minus : t -> t
Parameters:
? : t
val mult : t -> t -> t
Parameters:
? : t
? : t
val div : t -> t -> t
Parameters:
? : t
? : t
val inv : t -> t
Parameters:
? : t
val expt : t -> int -> t
Parameters:
a : t
n : int
val abs : t -> t
Parameters:
q : t
val floor : t -> Mpa.Z.t
Parameters:
x : t
val ceil : t -> Mpa.Z.t
Parameters:
x : t
val frac : t -> t
Parameters:
x : t
val def : t -> t
Parameters:
x : t
val compare : t -> t -> int
Parameters:
? : t
? : t
val equal : t -> t -> bool
Parameters:
? : t
? : t
val lt : t -> t -> bool
Parameters:
x : t
y : t
val le : t -> t -> bool
Parameters:
x : t
y : t
val gt : t -> t -> bool
Parameters:
x : t
y : t
val ge : t -> t -> bool
Parameters:
x : t
y : t

type cmp =
| Equal
| Greater
| Less

val cmp : t -> t -> cmp
Parameters:
x : t
y : t
val denominator : t -> Mpa.Z.t
Parameters:
? : t
val numerator : t -> Mpa.Z.t
Parameters:
? : t
val is_integer : t -> bool
Parameters:
q : t
val to_z : t -> Mpa.Z.t
Parameters:
? : t
val of_z : Mpa.Z.t -> t
Parameters:
? : Mpa.Z.t
val hash : t -> int
Parameters:
q : t
val to_string : t -> string
Parameters:
q : t
exception ZeroDivision
val of_string : string -> t
Parameters:
s : string
val pp : Format.formatter -> t -> unit
Parameters:
fmt : Format.formatter
x : t
module Hash: sig  end