sig
  type t = int
  val compare : CCInt.t -> CCInt.t -> int
  val equal : CCInt.t -> CCInt.t -> bool
  val hash : CCInt.t -> int
  val sign : CCInt.t -> int
  val neg : CCInt.t -> CCInt.t
  val pow : CCInt.t -> CCInt.t -> CCInt.t
  val floor_div : CCInt.t -> CCInt.t -> CCInt.t
  val rem : CCInt.t -> CCInt.t -> CCInt.t
  type 'a printer = Format.formatter -> '-> unit
  type 'a random_gen = Random.State.t -> 'a
  type 'a sequence = ('-> unit) -> unit
  val random : int -> CCInt.t CCInt.random_gen
  val random_small : CCInt.t CCInt.random_gen
  val random_range : int -> int -> CCInt.t CCInt.random_gen
  val pp : CCInt.t CCInt.printer
  val to_string : CCInt.t -> string
  val of_string : string -> CCInt.t option
  val pp_binary : CCInt.t CCInt.printer
  val to_string_binary : CCInt.t -> string
  val min : CCInt.t -> CCInt.t -> CCInt.t
  val max : CCInt.t -> CCInt.t -> CCInt.t
  val range_by : step:CCInt.t -> CCInt.t -> CCInt.t -> CCInt.t CCInt.sequence
  val range : CCInt.t -> CCInt.t -> CCInt.t CCInt.sequence
  val range' : CCInt.t -> CCInt.t -> CCInt.t CCInt.sequence
  module Infix :
    sig
      val ( = ) : CCInt.t -> CCInt.t -> bool
      val ( <> ) : CCInt.t -> CCInt.t -> bool
      val ( < ) : CCInt.t -> CCInt.t -> bool
      val ( > ) : CCInt.t -> CCInt.t -> bool
      val ( <= ) : CCInt.t -> CCInt.t -> bool
      val ( >= ) : CCInt.t -> CCInt.t -> bool
      val ( -- ) : CCInt.t -> CCInt.t -> CCInt.t CCInt.sequence
      val ( --^ ) : CCInt.t -> CCInt.t -> CCInt.t CCInt.sequence
    end
  val ( = ) : t -> t -> bool
  val ( <> ) : t -> t -> bool
  val ( < ) : t -> t -> bool
  val ( > ) : t -> t -> bool
  val ( <= ) : t -> t -> bool
  val ( >= ) : t -> t -> bool
  val ( -- ) : t -> t -> t sequence
  val ( --^ ) : t -> t -> t sequence
end