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

#include <bls12_377_precomputation.hpp>

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

Public Types

typedef libff::Fq< other_curve< ppT > > FqT
 
typedef libff::Fqe< other_curve< ppT > > FqeT
 

Public Member Functions

 bls12_377_ate_dbl_gadget (protoboard< FqT > &pb, const bls12_377_G2_proj< ppT > &R, const bls12_377_G2_proj< ppT > &out_R, const bls12_377_ate_ell_coeffs< ppT > &coeffs, 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

bls12_377_G2_proj< ppT > _in_R
 
bls12_377_G2_proj< ppT > _out_R
 
bls12_377_ate_ell_coeffs< ppT > _out_coeffs
 
Fqe_mul_gadget< ppT > _compute_A
 
Fqe_sqr_gadget< ppT > _compute_B
 
Fqe_sqr_gadget< ppT > _compute_C
 
Fqe_sqr_gadget< ppT > _compute_Y_plus_Z_squared
 
Fqe_sqr_gadget< ppT > _compute_J
 
Fqe_mul_gadget< ppT > _check_out_Rx
 
Fqe_sqr_gadget< ppT > _compute_E_squared
 
Fqe_sqr_gadget< ppT > _compute_G_squared
 
Fqe_mul_gadget< ppT > _check_out_Rz
 

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

Gadget that relates some "current" bls12_377_G2_proj value in_R with the result of the doubling step, that is some bls12_377_G2_proj out_R and the bls12_377_ate_ell_coeffs holding the coefficients of the tangent at in_R. Note that the output variables are allocated by this gadget.

Definition at line 120 of file bls12_377_precomputation.hpp.

Member Typedef Documentation

◆ FqeT

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

Definition at line 124 of file bls12_377_precomputation.hpp.

◆ FqT

template<typename ppT >
typedef libff::Fq<other_curve<ppT> > libsnark::bls12_377_ate_dbl_gadget< ppT >::FqT

Definition at line 123 of file bls12_377_precomputation.hpp.

Constructor & Destructor Documentation

◆ bls12_377_ate_dbl_gadget()

template<typename ppT >
libsnark::bls12_377_ate_dbl_gadget< ppT >::bls12_377_ate_dbl_gadget ( protoboard< FqT > &  pb,
const bls12_377_G2_proj< ppT > &  R,
const bls12_377_G2_proj< ppT > &  out_R,
const bls12_377_ate_ell_coeffs< ppT > &  coeffs,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ _check_out_Rx

template<typename ppT >
Fqe_mul_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_check_out_Rx

Definition at line 166 of file bls12_377_precomputation.hpp.

◆ _check_out_Rz

template<typename ppT >
Fqe_mul_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_check_out_Rz

Definition at line 174 of file bls12_377_precomputation.hpp.

◆ _compute_A

template<typename ppT >
Fqe_mul_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_A

Definition at line 136 of file bls12_377_precomputation.hpp.

◆ _compute_B

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_B

Definition at line 139 of file bls12_377_precomputation.hpp.

◆ _compute_C

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_C

Definition at line 142 of file bls12_377_precomputation.hpp.

◆ _compute_E_squared

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_E_squared

Definition at line 170 of file bls12_377_precomputation.hpp.

◆ _compute_G_squared

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_G_squared

Definition at line 171 of file bls12_377_precomputation.hpp.

◆ _compute_J

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_J

Definition at line 163 of file bls12_377_precomputation.hpp.

◆ _compute_Y_plus_Z_squared

template<typename ppT >
Fqe_sqr_gadget<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_compute_Y_plus_Z_squared

Definition at line 154 of file bls12_377_precomputation.hpp.

◆ _in_R

template<typename ppT >
bls12_377_G2_proj<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_in_R

Definition at line 126 of file bls12_377_precomputation.hpp.

◆ _out_coeffs

template<typename ppT >
bls12_377_ate_ell_coeffs<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_out_coeffs

Definition at line 128 of file bls12_377_precomputation.hpp.

◆ _out_R

template<typename ppT >
bls12_377_G2_proj<ppT> libsnark::bls12_377_ate_dbl_gadget< ppT >::_out_R

Definition at line 127 of file bls12_377_precomputation.hpp.


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