Tezos_raw_protocol_023_PtSeouLo.Tez_reprInternal representation of the Tez currency. Behaves mostly like a natural number where number 1 represents 1/1,000,000 Tez (1 micro-Tez or mutez). It's protected from ever becoming negative and overflowing by special arithmetic functions, which fail in case something undesired would happen. When divided, it's always rounded down to 1 mutez.
Internally encoded as int64, which may be relevant to guard against overflow errors.
t is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty.
type Tezos_protocol_environment_023_PtSeouLo.Error_monad.error += | Addition_overflow of t * t| Subtraction_underflow of t * t| Multiplication_overflow of t * Tezos_protocol_environment_023_PtSeouLo.Z.t| Negative_multiplicator of t * Tezos_protocol_environment_023_PtSeouLo.Z.t| Invalid_divisor of t * Tezos_protocol_environment_023_PtSeouLo.Z.tval zero : tval one_mutez : tval one_cent : tval fifty_cents : tval one : tval max_mutez : tval (-?) : 
  t ->
  t ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultval (+?) : 
  t ->
  t ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultval (*?) : 
  t ->
  int64 ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultval (/?) : 
  t ->
  int64 ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultval mul_ratio : 
  rounding:[ `Down | `Up ] ->
  t ->
  num:int64 ->
  den:int64 ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultmul_ratio ~rounding tez ~num ~den returns tez * num / den without failing when tez * num overflows. rounding controls the rounding of the division.
val mul_ratio_z : 
  rounding:[ `Down | `Up ] ->
  t ->
  num:Tezos_protocol_environment_023_PtSeouLo.Z.t ->
  den:Tezos_protocol_environment_023_PtSeouLo.Z.t ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultmul_ratio_z is the same as mul_ratio, but takes Z.t as arguments
val mul_q : 
  rounding:[ `Down | `Up ] ->
  t ->
  Tezos_protocol_environment_023_PtSeouLo.Q.t ->
  t Tezos_protocol_environment_023_PtSeouLo.Error_monad.tzresultmul_q is the same as mul_ratio_z, but takes a Q.t as an argument
val mul_percentage : rounding:[ `Down | `Up ] -> t -> Percentage.t -> tmul_percentage tez percentage returns tez * percentage / 100. No errors can happen.
val to_mutez : t -> int64val of_mutez : int64 -> t optionof_mutez n (micro tez) is None if n is negative
val of_mutez_exn : int64 -> tof_mutez_exn n fails if n is negative. It should only be used at toplevel for constants.
val encoding : t Tezos_protocol_environment_023_PtSeouLo.Data_encoding.tval balance_update_encoding : 
  [ `Credited of t | `Debited of t ]
    Tezos_protocol_environment_023_PtSeouLo.Data_encoding.tinclude Tezos_protocol_environment_023_PtSeouLo.Compare.S with type t := tval pp : Tezos_protocol_environment_023_PtSeouLo.Format.formatter -> t -> unitval of_string : string -> t optionval to_string : t -> string