Module type Euclid.Rat


module type Rat = sig  end
The argument signature of the functor Euclid.Make May only be instantiated with a structure isomorphic to the rationals.


type q
Rationals.

val eq : q -> q -> bool
Equality.
Parameters:
? : q
? : q
val (+) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
Addition.
Parameters:
? : Euclid.Rat.q
? : Euclid.Rat.q
val zero : q
Neutral element of addition.
val inv : q -> q
Inverse of Addition.
Parameters:
? : q
val (*) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
Multiplication.
Parameters:
? : Euclid.Rat.q
? : Euclid.Rat.q
val one : q
val (/) : Euclid.Rat.q -> Euclid.Rat.q -> Euclid.Rat.q
Inverse of Multiplication.
Parameters:
? : Euclid.Rat.q
? : Euclid.Rat.q
val floor : q -> q
Floor function on rationals.
Parameters:
? : q
val is_int : q -> bool
Integer test of a rational.
Parameters:
? : q