include module type of struct include Z end
val of_int32 : int32 -> t
val of_int64 : int64 -> t
val of_nativeint : nativeint -> t
val of_int32_unsigned : int32 -> t
val of_int64_unsigned : int64 -> t
val of_nativeint_unsigned : nativeint -> t
val of_float : float -> t
val of_string : string -> t
val of_substring : string -> pos:int -> len:int -> t
val of_string_base : int -> string -> t
val of_substring_base : int -> string -> pos:int -> len:int -> t
val div_rem : t -> t -> t * t
val ediv_rem : t -> t -> t * t
val divexact : t -> t -> t
val divisible : t -> t -> bool
val congruent : t -> t -> t -> bool
val shift_left : t -> int -> t
val shift_right : t -> int -> t
val shift_right_trunc : t -> int -> t
val trailing_zeros : t -> int
val testbit : t -> int -> bool
val hamdist : t -> t -> int
val to_int32 : t -> int32
val to_int64 : t -> int64
val to_nativeint : t -> nativeint
val to_int32_unsigned : t -> int32
val to_int64_unsigned : t -> int64
val to_nativeint_unsigned : t -> nativeint
val to_float : t -> float
val to_string : t -> string
val fits_int32 : t -> bool
val fits_int64 : t -> bool
val fits_nativeint : t -> bool
val fits_int32_unsigned : t -> bool
val fits_int64_unsigned : t -> bool
val fits_nativeint_unsigned : t -> bool
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 compare : t -> t -> int
val equal : t -> t -> bool
val gcdext : t -> t -> t * t * t
val powm : t -> t -> t -> t
val powm_sec : t -> t -> t -> t
val probab_prime : t -> int -> int
val jacobi : t -> t -> int
val legendre : t -> t -> int
val kronecker : t -> t -> int
val remove : t -> t -> t * int
val facM : int -> int -> t
val sqrt_rem : t -> t * t
val rootrem : t -> int -> t * t
val perfect_power : t -> bool
val perfect_square : t -> bool
val to_bits : t -> string
val of_bits : string -> t
val random_int : ?rng:Stdlib.Random.State.t -> t -> t
val random_bits : ?rng:Stdlib.Random.State.t -> int -> t
val random_int_gen : fill:(bytes -> int -> int -> unit) -> t -> t
val random_bits_gen : fill:(bytes -> int -> int -> unit) -> int -> t
val (lsl) : t -> int -> t
val (asr) : t -> int -> t
module Compare = Z.Compare
val round_to_float : t -> bool -> float