Module Field_extensions.F6

Parameters

module Fq : Intf.S with type 'a A.t = 'a and type 'a Base.t_ = 'a
module Fq2 : Intf.S_with_primitive_element with module Impl = Fq.Impl and type 'a A.t = 'a * 'a and type 'a Base.t_ = 'a Fq.t_
module Fq3 : sig ... end
module Params : sig ... end

Signature

module Impl : sig ... end
module Base : sig ... end
module A : sig ... end
type 'a t_ = 'a Base.t_ A.t
val to_list : 'a t_ -> 'a list
val map_ : 'a t_ -> f:( 'a -> 'b ) -> 'b t_
val map2_ : 'a t_ -> 'b t_ -> f:( 'a -> 'b -> 'c ) -> 'c t_
module Unchecked : sig ... end
type t = Base.t A.t
val typ : ( t, Unchecked.t ) Impl.Typ.t
val constant : Unchecked.t -> t
val to_constant : t -> Unchecked.t option
val scale : t -> Impl.Field.t -> t
val mul_field : t -> Impl.Field.Var.t -> t Impl.Checked.t
val assert_r1cs : t -> t -> t -> unit Impl.Checked.t
val (+) : t -> t -> t
val (-) : t -> t -> t
val negate : t -> t
val if_ : Impl.Boolean.var -> then_:t -> else_:t -> t Impl.Checked.t
val real_part : 'a t_ -> 'a
val assert_square : t -> t -> unit Impl.Checked.t
val assert_equal : t -> t -> unit Impl.Checked.t
val (*) : t -> t -> t Impl.Checked.t
val square : t -> t Impl.Checked.t
val div_unsafe : t -> t -> t Impl.Checked.t
val inv_exn : t -> t Impl.Checked.t
val zero : t
val one : t
val mul_by_primitive_element : t -> t
val unitary_inverse : t -> t
val fq_mul_by_non_residue : Fq.t -> Fq.t
val special_mul : (Fq3.t * Fq3.t) -> (Fq3.t * Fq3.t) -> (Fq3.t * Fq3.t) Impl.Checked.t
val assert_special_mul : t -> t -> ((Impl.Field.Var.t * Fq.t * Fq.t) * Fq3.t) -> unit Impl.Checked.t
val special_div_unsafe : t -> t -> t Impl.Checked.t
val special_div : t -> t -> t Impl.Checked.t