sig
  type _decimal = Num.num
  type _integer = Big_int.big_int
  val _decimal_zero : Decimal._decimal
  val _decimal_one : Decimal._decimal
  val _decimal_two : Decimal._decimal
  val _decimal_ten : Decimal._decimal
  val _decimal_onehalf : Decimal._decimal
  val _decimal_of_float : float -> Decimal._decimal
  val _decimal_of_string : string -> Decimal._decimal
  val _string_of_decimal : Decimal._decimal -> string
  val _decimal_string_of_decimal : Decimal._decimal -> string
  val _float_of_decimal : Decimal._decimal -> float
  val _string_of_float : float -> string
  val _decimal_eq : Decimal._decimal -> Decimal._decimal -> bool
  val _decimal_lt : Decimal._decimal -> Decimal._decimal -> bool
  val _decimal_le : Decimal._decimal -> Decimal._decimal -> bool
  val _decimal_gt : Decimal._decimal -> Decimal._decimal -> bool
  val _decimal_ge : Decimal._decimal -> Decimal._decimal -> bool
  val _decimal_add : Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_sub : Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_mult :
    Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_div : Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_idiv :
    Decimal._decimal -> Decimal._decimal -> Decimal._integer
  val _decimal_power :
    Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_mod : Decimal._decimal -> Decimal._decimal -> Decimal._decimal
  val _decimal_unary_minus : Decimal._decimal -> Decimal._decimal
  val _decimal_floor : Decimal._decimal -> Decimal._decimal
  val _decimal_ceil : Decimal._decimal -> Decimal._decimal
  val _float_idiv : float -> float -> Decimal._integer
  val _float_mod : float -> float -> float
  val _decimal_of_integer : Decimal._integer -> Decimal._decimal
  val _decimal_of_int : int -> Decimal._decimal
  val _int_of_decimal : Decimal._decimal -> int
  val _integer_zero : Decimal._integer
  val _integer_one : Decimal._integer
  val _integer_long_max : Decimal._integer
  val _integer_unsigned_long_max : Decimal._integer
  val _integer_long_min : Decimal._integer
  val _integer_int_max : Decimal._integer
  val _integer_unsigned_int_max : Decimal._integer
  val _integer_int_min : Decimal._integer
  val _integer_short_max : Decimal._integer
  val _integer_unsigned_short_max : Decimal._integer
  val _integer_short_min : Decimal._integer
  val _integer_byte_max : Decimal._integer
  val _integer_unsigned_byte_max : Decimal._integer
  val _integer_byte_min : Decimal._integer
  val _integer_of_string : string -> Decimal._integer
  val _string_of_integer : Decimal._integer -> string
  val _integer_eq : Decimal._integer -> Decimal._integer -> bool
  val _integer_lt : Decimal._integer -> Decimal._integer -> bool
  val _integer_le : Decimal._integer -> Decimal._integer -> bool
  val _integer_gt : Decimal._integer -> Decimal._integer -> bool
  val _integer_ge : Decimal._integer -> Decimal._integer -> bool
  val _integer_add : Decimal._integer -> Decimal._integer -> Decimal._integer
  val _integer_sub : Decimal._integer -> Decimal._integer -> Decimal._integer
  val _integer_mult :
    Decimal._integer -> Decimal._integer -> Decimal._integer
  val _integer_div : Decimal._integer -> Decimal._integer -> Decimal._decimal
  val _integer_idiv :
    Decimal._integer -> Decimal._integer -> Decimal._integer
  val _integer_mod : Decimal._integer -> Decimal._integer -> Decimal._integer
  val _integer_unary_minus : Decimal._integer -> Decimal._integer
  val _integer_of_decimal : Decimal._decimal -> Decimal._integer
  val _float_of_integer : Decimal._integer -> float
  val is_nan : float -> bool
  val _cast_decimal_to_integer : Decimal._decimal -> Decimal._integer
  val _cast_float_to_integer : float -> Decimal._integer
  val _cast_double_to_float : float -> float
  val _cast_double_to_decimal : float -> Decimal._decimal
  val _integer_of_int : int -> Decimal._integer
  val _int_of_integer : Decimal._integer -> int
end