nil::crypto3::zk::components::element_g2< CurveType > Class Template Reference

#include <element_g2.hpp>

+ Inheritance diagram for nil::crypto3::zk::components::element_g2< CurveType >:
+ Collaboration diagram for nil::crypto3::zk::components::element_g2< CurveType >:

Public Member Functions

 element_g2 (blueprint< field_type > &bp)
 
 element_g2 (blueprint< field_type > &bp, const typename CurveType::pairing::pair_curve_type::template g2_type<>::value_type &Q)
 
void generate_r1cs_witness (const typename CurveType::pairing::pair_curve_type::template g2_type<>::value_type &Q)
 

Static Public Member Functions

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

Public Attributes

blueprint_linear_combination_vector< field_type > all_vars
 
std::shared_ptr< typename component_policy::Fqe_variable_type > X
 
std::shared_ptr< typename component_policy::Fqe_variable_type > Y
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

template<typename CurveType>
class nil::crypto3::zk::components::element_g2< CurveType >

Component that represents a G2 element.

Constructor & Destructor Documentation

◆ element_g2() [1/2]

template<typename CurveType >
nil::crypto3::zk::components::element_g2< CurveType >::element_g2 ( blueprint< field_type > &  bp)
inline

◆ element_g2() [2/2]

template<typename CurveType >
nil::crypto3::zk::components::element_g2< CurveType >::element_g2 ( blueprint< field_type > &  bp,
const typename CurveType::pairing::pair_curve_type::template g2_type<>::value_type &  Q 
)
inline

Member Function Documentation

◆ __attribute__()

template<typename CurveType >
static std::size_t nil::crypto3::zk::components::element_g2< CurveType >::__attribute__ ( (noinline)  )
inlinestatic

◆ generate_r1cs_witness()

template<typename CurveType >
void nil::crypto3::zk::components::element_g2< CurveType >::generate_r1cs_witness ( const typename CurveType::pairing::pair_curve_type::template g2_type<>::value_type &  Q)
inline

◆ num_variables()

template<typename CurveType >
static std::size_t nil::crypto3::zk::components::element_g2< CurveType >::num_variables ( )
inlinestatic

Member Data Documentation

◆ all_vars

template<typename CurveType >
blueprint_linear_combination_vector<field_type> nil::crypto3::zk::components::element_g2< CurveType >::all_vars

◆ bp

blueprint<CurveType::scalar_field_type >& nil::crypto3::zk::components::component< CurveType::scalar_field_type >::bp
protectedinherited

◆ X

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2< CurveType >::X

◆ Y

template<typename CurveType >
std::shared_ptr<typename component_policy::Fqe_variable_type> nil::crypto3::zk::components::element_g2< CurveType >::Y

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