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

#include <bls12_377_miller_loop.hpp>

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

Public Types

using FieldT = libff::Fr< ppT >
 
using FqkT = libff::Fqk< other_curve< ppT > >
 

Public Member Functions

 bls12_377_ate_compute_f_ell_P (protoboard< FieldT > &pb, const pb_linear_combination< FieldT > &Px, const pb_linear_combination< FieldT > &Py, const bls12_377_ate_ell_coeffs< ppT > &ell_coeffs, const Fp12_2over3over2_variable< FqkT > &f, const Fp12_2over3over2_variable< FqkT > &f_out, const std::string &annotation_prefix)
 
const Fp12_2over3over2_variable< FqkT > & result () const
 
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

Fqe_mul_by_lc_gadget< ppT > _compute_ell_vv_times_Px
 
Fqe_mul_by_lc_gadget< ppT > _compute_ell_vw_times_Py
 
Fp12_2over3over2_mul_by_024_gadget< FqkT_compute_f_mul_ell_P
 

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

Given some current f in Fqk, the pairing parameter P in G1, and the precomputed coefficients for the function of some line function ell(), compute: f * ell(P) Note that this gadget allocates the variable to hold the resulting value of f.

Definition at line 31 of file bls12_377_miller_loop.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ppT >
using libsnark::bls12_377_ate_compute_f_ell_P< ppT >::FieldT = libff::Fr<ppT>

Definition at line 34 of file bls12_377_miller_loop.hpp.

◆ FqkT

template<typename ppT >
using libsnark::bls12_377_ate_compute_f_ell_P< ppT >::FqkT = libff::Fqk<other_curve<ppT> >

Definition at line 35 of file bls12_377_miller_loop.hpp.

Constructor & Destructor Documentation

◆ bls12_377_ate_compute_f_ell_P()

template<typename ppT >
libsnark::bls12_377_ate_compute_f_ell_P< ppT >::bls12_377_ate_compute_f_ell_P ( protoboard< FieldT > &  pb,
const pb_linear_combination< FieldT > &  Px,
const pb_linear_combination< FieldT > &  Py,
const bls12_377_ate_ell_coeffs< ppT > &  ell_coeffs,
const Fp12_2over3over2_variable< FqkT > &  f,
const Fp12_2over3over2_variable< FqkT > &  f_out,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

◆ result()

template<typename ppT >
const Fp12_2over3over2_variable<FqkT>& libsnark::bls12_377_ate_compute_f_ell_P< ppT >::result ( ) const

Member Data Documentation

◆ _compute_ell_vv_times_Px

template<typename ppT >
Fqe_mul_by_lc_gadget<ppT> libsnark::bls12_377_ate_compute_f_ell_P< ppT >::_compute_ell_vv_times_Px

Definition at line 37 of file bls12_377_miller_loop.hpp.

◆ _compute_ell_vw_times_Py

template<typename ppT >
Fqe_mul_by_lc_gadget<ppT> libsnark::bls12_377_ate_compute_f_ell_P< ppT >::_compute_ell_vw_times_Py

Definition at line 38 of file bls12_377_miller_loop.hpp.

◆ _compute_f_mul_ell_P

template<typename ppT >
Fp12_2over3over2_mul_by_024_gadget<FqkT> libsnark::bls12_377_ate_compute_f_ell_P< ppT >::_compute_f_mul_ell_P

Definition at line 39 of file bls12_377_miller_loop.hpp.


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