Module Field_extensions.F4

Parameters

module Fq2 : Intf.S_with_primitive_element with type 'a A.t = 'a * 'a and type 'a Base.t_ = 'a
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 special_mul : t -> t -> t Impl.Checked.t
val special_div : t -> t -> t Impl.Checked.t
val cyclotomic_square : (Fq2.t * Fq2.t) -> (Fq2.t * Fq2.t) Fq2.Impl.Checked.t