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

#include <fp6_2over3_gadgets.hpp>

Inheritance diagram for libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >:
Collaboration graph
[legend]

Public Types

typedef Fp6T::my_Fp FieldT
 
typedef Fp6T::my_Fp2 Fp2T
 

Public Member Functions

 Fp6_2over3_cyclotomic_sqr_gadget (protoboard< FieldT > &pb, const Fp6_2over3_variable< Fp6T > &A, const Fp6_2over3_variable< Fp6T > &result, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< Fp6T::my_Fp >
 gadget (protoboard< Fp6T::my_Fp > &pb, const std::string &annotation_prefix)
 

Public Attributes

Fp6_2over3_variable< Fp6T > A
 
Fp6_2over3_variable< Fp6T > result
 
std::shared_ptr< Fp2_variable< Fp2T > > a
 
std::shared_ptr< Fp2_variable< Fp2T > > b
 
std::shared_ptr< Fp2_variable< Fp2T > > c
 
pb_linear_combination< FieldTasq_c0
 
pb_linear_combination< FieldTasq_c1
 
pb_linear_combination< FieldTbsq_c0
 
pb_linear_combination< FieldTbsq_c1
 
pb_linear_combination< FieldTcsq_c0
 
pb_linear_combination< FieldTcsq_c1
 
std::shared_ptr< Fp2_variable< Fp2T > > asq
 
std::shared_ptr< Fp2_variable< Fp2T > > bsq
 
std::shared_ptr< Fp2_variable< Fp2T > > csq
 
std::shared_ptr< Fp2_sqr_gadget< Fp2T > > compute_asq
 
std::shared_ptr< Fp2_sqr_gadget< Fp2T > > compute_bsq
 
std::shared_ptr< Fp2_sqr_gadget< Fp2T > > compute_csq
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< Fp6T::my_Fp >
protoboard< Fp6T::my_Fp > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename Fp6T>
class libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >

Gadget that creates constraints for Fp6 cyclotomic squaring

Definition at line 183 of file fp6_2over3_gadgets.hpp.

Member Typedef Documentation

◆ FieldT

template<typename Fp6T >
typedef Fp6T::my_Fp libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::FieldT

Definition at line 186 of file fp6_2over3_gadgets.hpp.

◆ Fp2T

template<typename Fp6T >
typedef Fp6T::my_Fp2 libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::Fp2T

Definition at line 187 of file fp6_2over3_gadgets.hpp.

Constructor & Destructor Documentation

◆ Fp6_2over3_cyclotomic_sqr_gadget()

template<typename Fp6T >
libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::Fp6_2over3_cyclotomic_sqr_gadget ( protoboard< FieldT > &  pb,
const Fp6_2over3_variable< Fp6T > &  A,
const Fp6_2over3_variable< Fp6T > &  result,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename Fp6T >
void libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename Fp6T >
void libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::generate_r1cs_witness ( )

Member Data Documentation

◆ A

template<typename Fp6T >
Fp6_2over3_variable<Fp6T> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::A

Definition at line 189 of file fp6_2over3_gadgets.hpp.

◆ a

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::a

Definition at line 192 of file fp6_2over3_gadgets.hpp.

◆ asq

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::asq

Definition at line 205 of file fp6_2over3_gadgets.hpp.

◆ asq_c0

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::asq_c0

Definition at line 196 of file fp6_2over3_gadgets.hpp.

◆ asq_c1

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::asq_c1

Definition at line 197 of file fp6_2over3_gadgets.hpp.

◆ b

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::b

Definition at line 193 of file fp6_2over3_gadgets.hpp.

◆ bsq

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::bsq

Definition at line 206 of file fp6_2over3_gadgets.hpp.

◆ bsq_c0

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::bsq_c0

Definition at line 199 of file fp6_2over3_gadgets.hpp.

◆ bsq_c1

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::bsq_c1

Definition at line 200 of file fp6_2over3_gadgets.hpp.

◆ c

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::c

Definition at line 194 of file fp6_2over3_gadgets.hpp.

◆ compute_asq

template<typename Fp6T >
std::shared_ptr<Fp2_sqr_gadget<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::compute_asq

Definition at line 209 of file fp6_2over3_gadgets.hpp.

◆ compute_bsq

template<typename Fp6T >
std::shared_ptr<Fp2_sqr_gadget<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::compute_bsq

Definition at line 210 of file fp6_2over3_gadgets.hpp.

◆ compute_csq

template<typename Fp6T >
std::shared_ptr<Fp2_sqr_gadget<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::compute_csq

Definition at line 211 of file fp6_2over3_gadgets.hpp.

◆ csq

template<typename Fp6T >
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::csq

Definition at line 207 of file fp6_2over3_gadgets.hpp.

◆ csq_c0

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::csq_c0

Definition at line 202 of file fp6_2over3_gadgets.hpp.

◆ csq_c1

template<typename Fp6T >
pb_linear_combination<FieldT> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::csq_c1

Definition at line 203 of file fp6_2over3_gadgets.hpp.

◆ result

template<typename Fp6T >
Fp6_2over3_variable<Fp6T> libsnark::Fp6_2over3_cyclotomic_sqr_gadget< Fp6T >::result

Definition at line 190 of file fp6_2over3_gadgets.hpp.


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