Module Number.Make

Parameters

Signature

type t
val (+) : t -> t -> t
val (-) : t -> t -> t
val (*) : t -> t -> t Impl.Checked.t
val constant : Impl.Field.t -> t
val one : t
val zero : t
val if_ : Impl.Boolean.var -> then_:t -> else_:t -> t Impl.Checked.t
val min : t -> t -> t Impl.Checked.t
val max : t -> t -> t Impl.Checked.t
val to_var : t -> Impl.Field.Var.t
val of_bits : Impl.Boolean.var list -> t
val to_bits : t -> Impl.Boolean.var list Impl.Checked.t
val div_pow_2 : t -> [ `Two_to_the of int ] -> t Impl.Checked.t
val ceil_div_pow_2 : t -> [ `Two_to_the of int ] -> t Impl.Checked.t
val mul_pow_2 : t -> [ `Two_to_the of int ] -> t Impl.Checked.t
val mod_pow_2 : t -> [ `Two_to_the of int ] -> t Impl.Checked.t
val of_pow_2 : [ `Two_to_the of int ] -> t
val clamp_to_n_bits : t -> int -> t Impl.Checked.t