module Mpq:GMP multiprecision rationalssig..end
type t
set, add, ...) the first parameter of type t is an out-parameter and holds the result when the function returns. For instance, add x y z adds the values of y and z and stores the result in x.
These functions are as efficient as their C counterpart: they do not imply additional memory allocation, unlike the corresponding functions in the module Mpqf.
val canonicalize : t -> unitval print : Format.formatter -> t -> unitval init : unit -> tval set : t -> t -> unitval set_z : t -> Mpz.t -> unitval set_si : t -> int -> int -> unitval _set_str : t -> string -> int -> unitval set_str : t -> string -> base:int -> unitval swap : t -> t -> unitval init_set : t -> tval init_set_z : Mpz.t -> tval init_set_si : int -> int -> tval init_set_str : string -> base:int -> tval init_set_d : float -> tval get_d : t -> floatval set_d : t -> float -> unitval get_z : Mpz.t -> t -> unitval _get_str : int -> t -> stringval get_str : base:int -> t -> stringval to_string : t -> stringval to_float : t -> floatval of_string : string -> tval of_float : float -> tval of_int : int -> tval of_frac : int -> int -> tval of_mpz : Mpz.t -> tval of_mpz2 : Mpz.t -> Mpz.t -> tval add : t -> t -> t -> unitval sub : t -> t -> t -> unitval mul : t -> t -> t -> unitval mul_2exp : t -> t -> int -> unitval div : t -> t -> t -> unitval div_2exp : t -> t -> int -> unitval neg : t -> t -> unitval abs : t -> t -> unitval inv : t -> t -> unitval cmp : t -> t -> intval cmp_si : t -> int -> int -> intval sgn : t -> intval equal : t -> t -> boolval get_num : Mpz.t -> t -> unitval get_den : Mpz.t -> t -> unitval set_num : t -> Mpz.t -> unitval set_den : t -> Mpz.t -> unit