Plonk_constraint_system.Plonk_constraintThe PLONK constraints.
module T : sig ... endA PLONK constraint (or gate) can be Basic, Poseidon, EC_add_complete, EC_scale, EC_endoscale, or EC_endoscalar.
include module type of struct include T endA PLONK constraint (or gate) can be Basic, Poseidon, EC_add_complete, EC_scale, EC_endoscale, or EC_endoscalar.
type ('v, 'f) t = ( 'v, 'f ) T.t = | Basic of {
} | (* the Poseidon state is an array of states (and states are arrays of size 3). *) | |||||||
| Poseidon of {
} | ||||||||
| EC_add_complete of {
} | ||||||||
| EC_scale of {
} | ||||||||
| EC_endoscale of {
} | ||||||||
| EC_endoscalar of {
} |
val t_of_sexp :
'v 'f. ( Ppx_sexp_conv_lib.Sexp.t -> 'v ) ->
( Ppx_sexp_conv_lib.Sexp.t -> 'f ) ->
Ppx_sexp_conv_lib.Sexp.t ->
( 'v, 'f ) tval sexp_of_t :
'v 'f. ( 'v -> Ppx_sexp_conv_lib.Sexp.t ) ->
( 'f -> Ppx_sexp_conv_lib.Sexp.t ) ->
( 'v, 'f ) t ->
Ppx_sexp_conv_lib.Sexp.tval eval :
(module Snarky_backendless.Field_intf.S with type t = 'f) ->
( 'v -> 'f0 ) ->
( 'v0, 'f1 ) t ->
booleval (module F) get_variable gate checks that gate's polynomial is satisfied by the assignments given by get_variable. Warning: currently only implemented for the Basic gate.