`sig type big_int = Big_int.big_int val zero : BatBig_int.big_int val one : BatBig_int.big_int val neg : BatBig_int.big_int -> BatBig_int.big_int val succ : BatBig_int.big_int -> BatBig_int.big_int val pred : BatBig_int.big_int -> BatBig_int.big_int val abs : BatBig_int.big_int -> BatBig_int.big_int val add : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val sub : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val mul : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val div : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val modulo : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val pow : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int type t = BatBig_int.big_int val ( + ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t val ( - ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t val ( * ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t val ( / ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t val ( ** ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t val add_int_big_int : int -> BatBig_int.big_int -> BatBig_int.big_int val square_big_int : BatBig_int.big_int -> BatBig_int.big_int val sqrt_big_int : BatBig_int.big_int -> BatBig_int.big_int val quomod_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int * BatBig_int.big_int val power_int_positive_int : int -> int -> BatBig_int.big_int val power_big_int_positive_int : BatBig_int.big_int -> int -> BatBig_int.big_int val power_int_positive_big_int : int -> BatBig_int.big_int -> BatBig_int.big_int val power_big_int_positive_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val operations : BatBig_int.t BatNumber.numeric val ( -- ) : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int BatEnum.t val ( --- ) : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int BatEnum.t val compare : BatBig_int.big_int -> BatBig_int.big_int -> int val ord : BatBig_int.big_int -> BatBig_int.big_int -> BatOrd.order val equal : BatBig_int.big_int -> BatBig_int.big_int -> bool val sign_big_int : BatBig_int.big_int -> int val compare_big_int : BatBig_int.big_int -> BatBig_int.big_int -> int val eq_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool val le_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool val ge_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool val lt_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool val gt_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool val max_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val min_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val num_digits_big_int : BatBig_int.big_int -> int val num_bits_big_int : BatBig_int.big_int -> int val to_string : BatBig_int.big_int -> string val string_of_big_int : BatBig_int.big_int -> string val of_string : string -> BatBig_int.big_int val big_int_of_string : string -> BatBig_int.big_int val to_string_in_binary : BatBig_int.big_int -> string val to_string_in_octal : BatBig_int.big_int -> string val to_string_in_hexa : BatBig_int.big_int -> string val to_string_in_base : int -> BatBig_int.big_int -> string val to_string_in_custom_base : string -> int -> BatBig_int.big_int -> string val big_int_base_default_symbols : string val of_int : int -> BatBig_int.big_int val big_int_of_int : int -> BatBig_int.big_int val is_int_big_int : BatBig_int.big_int -> bool val to_int : BatBig_int.big_int -> int val int_of_big_int : BatBig_int.big_int -> int val big_int_of_int32 : int32 -> BatBig_int.big_int val big_int_of_nativeint : nativeint -> BatBig_int.big_int val big_int_of_int64 : int64 -> BatBig_int.big_int val int32_of_big_int : BatBig_int.big_int -> int32 val nativeint_of_big_int : BatBig_int.big_int -> nativeint val int64_of_big_int : BatBig_int.big_int -> int64 val float_of_big_int : BatBig_int.big_int -> float val of_float : float -> BatBig_int.big_int val to_float : BatBig_int.big_int -> float val and_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val or_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val xor_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val shift_left_big_int : BatBig_int.big_int -> int -> BatBig_int.big_int val shift_right_big_int : BatBig_int.big_int -> int -> BatBig_int.big_int val shift_right_towards_zero_big_int : BatBig_int.big_int -> int -> BatBig_int.big_int val extract_big_int : BatBig_int.big_int -> int -> int -> BatBig_int.big_int module Infix : sig type bat__infix_t = t val ( + ) : bat__infix_t -> bat__infix_t -> bat__infix_t val ( - ) : bat__infix_t -> bat__infix_t -> bat__infix_t val ( * ) : bat__infix_t -> bat__infix_t -> bat__infix_t val ( / ) : bat__infix_t -> bat__infix_t -> bat__infix_t val ( ** ) : bat__infix_t -> bat__infix_t -> bat__infix_t val ( -- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t val ( --- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t end module Compare : sig type bat__compare_t = t val ( <> ) : bat__compare_t -> bat__compare_t -> bool val ( >= ) : bat__compare_t -> bat__compare_t -> bool val ( <= ) : bat__compare_t -> bat__compare_t -> bool val ( > ) : bat__compare_t -> bat__compare_t -> bool val ( < ) : bat__compare_t -> bat__compare_t -> bool val ( = ) : bat__compare_t -> bat__compare_t -> bool end val nat_of_big_int : BatBig_int.big_int -> Nat.nat val big_int_of_nat : Nat.nat -> BatBig_int.big_int val base_power_big_int : int -> int -> BatBig_int.big_int -> BatBig_int.big_int val sys_big_int_of_string : string -> int -> int -> BatBig_int.big_int val round_futur_last_digit : string -> int -> int -> bool val approx_big_int : int -> BatBig_int.big_int -> string val round_big_int_to_float : BatBig_int.big_int -> bool -> float val zero_big_int : BatBig_int.big_int val unit_big_int : BatBig_int.big_int val minus_big_int : BatBig_int.big_int -> BatBig_int.big_int val abs_big_int : BatBig_int.big_int -> BatBig_int.big_int val add_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val succ_big_int : BatBig_int.big_int -> BatBig_int.big_int val sub_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val pred_big_int : BatBig_int.big_int -> BatBig_int.big_int val mult_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val mult_int_big_int : int -> BatBig_int.big_int -> BatBig_int.big_int val div_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val mod_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val gcd_big_int : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int val print : 'a BatIO.output -> BatBig_int.t -> unit end`