sig
module type Int_type =
sig
type t
type tref
val name : unit -> string
val add :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val sub :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val mul :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val quo :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val modulo :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val quomod :
Numerix.Int_type.t ->
Numerix.Int_type.t -> Numerix.Int_type.t * Numerix.Int_type.t
val abs : Numerix.Int_type.t -> Numerix.Int_type.t
val neg : Numerix.Int_type.t -> Numerix.Int_type.t
val sqr : Numerix.Int_type.t -> Numerix.Int_type.t
val sqrt : Numerix.Int_type.t -> Numerix.Int_type.t
val powmod :
Numerix.Int_type.t ->
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val add_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val sub_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val mul_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val quo_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val quomod_in :
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val abs_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> unit
val neg_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> unit
val sqr_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> unit
val sqrt_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> unit
val powmod_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val make_ref : Numerix.Int_type.t -> Numerix.Int_type.tref
val copy_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> unit
val copy_out : Numerix.Int_type.tref -> Numerix.Int_type.t
val look : Numerix.Int_type.tref -> Numerix.Int_type.t
val add_1 : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val sub_1 : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val mul_1 : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val quo_1 : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val mod_1 : Numerix.Int_type.t -> int -> int
val quomod_1 : Numerix.Int_type.t -> int -> Numerix.Int_type.t * int
val pow : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val root : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val fact : int -> Numerix.Int_type.t
val shr : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val shl : Numerix.Int_type.t -> int -> Numerix.Int_type.t
val split :
Numerix.Int_type.t -> int -> Numerix.Int_type.t * Numerix.Int_type.t
val join :
Numerix.Int_type.t -> Numerix.Int_type.t -> int -> Numerix.Int_type.t
val add_1_in :
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val sub_1_in :
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val mul_1_in :
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val quomod_1_in :
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> int
val pow_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val root_in :
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val fact_in : Numerix.Int_type.tref -> int -> unit
val shl_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val shr_in : Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val split_in :
Numerix.Int_type.tref ->
Numerix.Int_type.tref -> Numerix.Int_type.t -> int -> unit
val join_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> int -> unit
val gcd :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val gcd_ex :
Numerix.Int_type.t ->
Numerix.Int_type.t ->
Numerix.Int_type.t * Numerix.Int_type.t * Numerix.Int_type.t
val cfrac :
Numerix.Int_type.t ->
Numerix.Int_type.t ->
Numerix.Int_type.t * Numerix.Int_type.t * Numerix.Int_type.t *
Numerix.Int_type.t * Numerix.Int_type.t
val gcd_in :
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val gcd_ex_in :
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val cfrac_in :
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.tref ->
Numerix.Int_type.t -> Numerix.Int_type.t -> unit
val eq : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val neq : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val inf : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val infeq : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val sup : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val supeq : Numerix.Int_type.t -> Numerix.Int_type.t -> bool
val cmp : Numerix.Int_type.t -> Numerix.Int_type.t -> int
val eq_1 : Numerix.Int_type.t -> int -> bool
val neq_1 : Numerix.Int_type.t -> int -> bool
val inf_1 : Numerix.Int_type.t -> int -> bool
val infeq_1 : Numerix.Int_type.t -> int -> bool
val sup_1 : Numerix.Int_type.t -> int -> bool
val supeq_1 : Numerix.Int_type.t -> int -> bool
val cmp_1 : Numerix.Int_type.t -> int -> int
val sgn : Numerix.Int_type.t -> int
val max :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val min :
Numerix.Int_type.t -> Numerix.Int_type.t -> Numerix.Int_type.t
val nbits : Numerix.Int_type.t -> int
val lowbits : Numerix.Int_type.t -> int
val highbits : Numerix.Int_type.t -> int
val nth_bit : Numerix.Int_type.t -> int -> bool
val nth_word : Numerix.Int_type.t -> int -> int
val random_bits : int -> Numerix.Int_type.t
val of_int : int -> Numerix.Int_type.t
val int_of : Numerix.Int_type.t -> int
val string_of : Numerix.Int_type.t -> string
val of_string : string -> Numerix.Int_type.t
val toplevel_print : Numerix.Int_type.t -> unit
end
module Infixes :
functor (E : Int_type) ->
sig
val ( + ) : E.t -> E.t -> E.t
val ( - ) : E.t -> E.t -> E.t
val ( * ) : E.t -> E.t -> E.t
val ( / ) : E.t -> E.t -> E.t
val ( % ) : E.t -> E.t -> E.t
val ( /% ) : E.t -> E.t -> E.t * E.t
val ( << ) : E.t -> int -> E.t
val ( >> ) : E.t -> int -> E.t
val ( ** ) : E.t -> int -> E.t
val ( +. ) : E.t -> int -> E.t
val ( -. ) : E.t -> int -> E.t
val ( *. ) : E.t -> int -> E.t
val ( /. ) : E.t -> int -> E.t
val ( %. ) : E.t -> int -> int
val ( /%. ) : E.t -> int -> E.t * int
val ( +! ) : int -> int -> int
val ( -! ) : int -> int -> int
val ( *! ) : int -> int -> int
val ( /! ) : int -> int -> int
val ( %! ) : int -> int -> int
val ( =. ) : E.t -> int -> bool
val ( <>. ) : E.t -> int -> bool
val ( <. ) : E.t -> int -> bool
val ( <=. ) : E.t -> int -> bool
val ( >. ) : E.t -> int -> bool
val ( >=. ) : E.t -> int -> bool
val ( =! ) : 'a -> 'a -> bool
val ( <>! ) : 'a -> 'a -> bool
val ( <! ) : 'a -> 'a -> bool
val ( <=! ) : 'a -> 'a -> bool
val ( >! ) : 'a -> 'a -> bool
val ( >=! ) : 'a -> 'a -> bool
val ( ~~ ) : E.tref -> E.t
end
module Big : Int_type
module Slong : Int_type
module Clong : Int_type
module Dlong : Int_type
module Gmp : Int_type
external chrono : string -> unit = "chrono"
module type Main_type = sig val main : string list -> unit end
module Start :
functor (Main : functor (E : Int_type) -> Main_type) ->
sig val start : unit -> unit end
end