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

Gadget that represents a G2 variable. More...

#include <weierstrass_g2_gadget.hpp>

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

Public Types

typedef libff::Fr< ppT > FieldT
 
typedef libff::Fqe< other_curve< ppT > > FqeT
 
typedef libff::Fqk< other_curve< ppT > > FqkT
 

Public Member Functions

 G2_variable (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 
 G2_variable (protoboard< FieldT > &pb, const libff::G2< other_curve< ppT >> &Q, const std::string &annotation_prefix)
 
 G2_variable (protoboard< FieldT > &pb, const Fqe_variable< ppT > &X, const Fqe_variable< ppT > &Y, const std::string &annotation_prefix)
 
G2_variable operator- () const
 
void generate_r1cs_witness (const libff::G2< other_curve< ppT >> &Q)
 
libff::G2< other_curve< ppT > > get_element () const
 
- Public Member Functions inherited from libsnark::gadget< libff::Fr< ppT > >
 gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix)
 

Static Public Member Functions

static size_t __attribute__ ((noinline)) size_in_bits()
 
static size_t num_variables ()
 

Public Attributes

std::shared_ptr< Fqe_variable< ppT > > X
 
std::shared_ptr< Fqe_variable< ppT > > Y
 
pb_linear_combination_array< FieldTall_vars
 

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< ppT >

Gadget that represents a G2 variable.

Definition at line 31 of file weierstrass_g2_gadget.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ppT >
typedef libff::Fr<ppT> libsnark::G2_variable< ppT >::FieldT

Definition at line 34 of file weierstrass_g2_gadget.hpp.

◆ FqeT

template<typename ppT >
typedef libff::Fqe<other_curve<ppT> > libsnark::G2_variable< ppT >::FqeT

Definition at line 35 of file weierstrass_g2_gadget.hpp.

◆ FqkT

template<typename ppT >
typedef libff::Fqk<other_curve<ppT> > libsnark::G2_variable< ppT >::FqkT

Definition at line 36 of file weierstrass_g2_gadget.hpp.

Constructor & Destructor Documentation

◆ G2_variable() [1/3]

template<typename ppT >
libsnark::G2_variable< ppT >::G2_variable ( protoboard< FieldT > &  pb,
const std::string &  annotation_prefix 
)

◆ G2_variable() [2/3]

template<typename ppT >
libsnark::G2_variable< ppT >::G2_variable ( protoboard< FieldT > &  pb,
const libff::G2< other_curve< ppT >> &  Q,
const std::string &  annotation_prefix 
)

◆ G2_variable() [3/3]

template<typename ppT >
libsnark::G2_variable< ppT >::G2_variable ( protoboard< FieldT > &  pb,
const Fqe_variable< ppT > &  X,
const Fqe_variable< ppT > &  Y,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ __attribute__()

template<typename ppT >
static size_t libsnark::G2_variable< ppT >::__attribute__ ( (noinline)  )
static

◆ generate_r1cs_witness()

template<typename ppT >
void libsnark::G2_variable< ppT >::generate_r1cs_witness ( const libff::G2< other_curve< ppT >> &  Q)

◆ get_element()

template<typename ppT >
libff::G2<other_curve<ppT> > libsnark::G2_variable< ppT >::get_element ( ) const

◆ num_variables()

template<typename ppT >
static size_t libsnark::G2_variable< ppT >::num_variables ( )
static

◆ operator-()

template<typename ppT >
G2_variable libsnark::G2_variable< ppT >::operator- ( ) const

Member Data Documentation

◆ all_vars

template<typename ppT >
pb_linear_combination_array<FieldT> libsnark::G2_variable< ppT >::all_vars

Definition at line 41 of file weierstrass_g2_gadget.hpp.

◆ X

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_variable< ppT >::X

Definition at line 38 of file weierstrass_g2_gadget.hpp.

◆ Y

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_variable< ppT >::Y

Definition at line 39 of file weierstrass_g2_gadget.hpp.


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