Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Types | Public Member Functions | Public Attributes | List of all members
libsnark::G2_variable_selector_gadget< ppT > Class Template Reference

#include <weierstrass_g2_gadget.hpp>

Inheritance diagram for libsnark::G2_variable_selector_gadget< ppT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::G2_variable_selector_gadget< ppT >:
Collaboration graph
[legend]

Public Types

using Field = libff::Fr< ppT >
 

Public Member Functions

 G2_variable_selector_gadget (protoboard< Field > &pb, const pb_linear_combination< Field > &selector, const G2_variable< ppT > &zero_case, const G2_variable< ppT > &one_case, const G2_variable< ppT > &result, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< libff::Fr< ppT > >
 gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix)
 

Public Attributes

const pb_linear_combination< Fieldselector
 
const G2_variable< ppT > zero_case
 
const G2_variable< ppT > one_case
 
G2_variable< ppT > result
 
Fqe_mul_by_lc_gadget< ppT > mul_select_X
 
Fqe_mul_by_lc_gadget< ppT > mul_select_Y
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< libff::Fr< ppT > >
protoboard< libff::Fr< ppT > > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename ppT>
class libsnark::G2_variable_selector_gadget< ppT >

Depending on the value of a selector variable (which must be 0 or 1), choose between two G2_variable objects (zero_case and one_case),

Definition at line 71 of file weierstrass_g2_gadget.hpp.

Member Typedef Documentation

◆ Field

template<typename ppT >
using libsnark::G2_variable_selector_gadget< ppT >::Field = libff::Fr<ppT>

Definition at line 74 of file weierstrass_g2_gadget.hpp.

Constructor & Destructor Documentation

◆ G2_variable_selector_gadget()

template<typename ppT >
libsnark::G2_variable_selector_gadget< ppT >::G2_variable_selector_gadget ( protoboard< Field > &  pb,
const pb_linear_combination< Field > &  selector,
const G2_variable< ppT > &  zero_case,
const G2_variable< ppT > &  one_case,
const G2_variable< ppT > &  result,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename ppT >
void libsnark::G2_variable_selector_gadget< ppT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename ppT >
void libsnark::G2_variable_selector_gadget< ppT >::generate_r1cs_witness ( )

Member Data Documentation

◆ mul_select_X

template<typename ppT >
Fqe_mul_by_lc_gadget<ppT> libsnark::G2_variable_selector_gadget< ppT >::mul_select_X

Definition at line 80 of file weierstrass_g2_gadget.hpp.

◆ mul_select_Y

template<typename ppT >
Fqe_mul_by_lc_gadget<ppT> libsnark::G2_variable_selector_gadget< ppT >::mul_select_Y

Definition at line 81 of file weierstrass_g2_gadget.hpp.

◆ one_case

template<typename ppT >
const G2_variable<ppT> libsnark::G2_variable_selector_gadget< ppT >::one_case

Definition at line 78 of file weierstrass_g2_gadget.hpp.

◆ result

template<typename ppT >
G2_variable<ppT> libsnark::G2_variable_selector_gadget< ppT >::result

Definition at line 79 of file weierstrass_g2_gadget.hpp.

◆ selector

template<typename ppT >
const pb_linear_combination<Field> libsnark::G2_variable_selector_gadget< ppT >::selector

Definition at line 76 of file weierstrass_g2_gadget.hpp.

◆ zero_case

template<typename ppT >
const G2_variable<ppT> libsnark::G2_variable_selector_gadget< ppT >::zero_case

Definition at line 77 of file weierstrass_g2_gadget.hpp.


The documentation for this class was generated from the following file: