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

#include <precomputation.hpp>

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

Public Types

using fqk_type = typename CurveType::pairing::pair_curve_type::pairing::fqk_type
 

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
template<typename FieldType >
 precompute_G1_component (blueprint< FieldType > &bp, const element_g1< CurveType > &P, g1_precomputation< CurveType > &precomp, const typename std::enable_if< fqk_type::arity==4, typename FieldType::value_type >::type &=typename FieldType::value_type())
 
template<typename FieldType >
 precompute_G1_component (blueprint< FieldType > &bp, const element_g1< CurveType > &P, g1_precomputation< CurveType > &precomp, const typename std::enable_if< fqk_type::arity==6, typename FieldType::value_type >::type &=typename FieldType::value_type())
 

Public Attributes

g1_precomputation< CurveType > & precomp
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

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

Component that verifies correct precomputation of the G1 element.

Member Typedef Documentation

◆ fqk_type

template<typename CurveType >
using nil::crypto3::zk::components::precompute_G1_component< CurveType >::fqk_type = typename CurveType::pairing::pair_curve_type::pairing::fqk_type

Constructor & Destructor Documentation

◆ precompute_G1_component() [1/2]

template<typename CurveType >
template<typename FieldType >
nil::crypto3::zk::components::precompute_G1_component< CurveType >::precompute_G1_component ( blueprint< FieldType > &  bp,
const element_g1< CurveType > &  P,
g1_precomputation< CurveType > &  precomp,
const typename std::enable_if< fqk_type::arity==4, typename FieldType::value_type >::type &  = typename FieldType::value_type() 
)
inline

◆ precompute_G1_component() [2/2]

template<typename CurveType >
template<typename FieldType >
nil::crypto3::zk::components::precompute_G1_component< CurveType >::precompute_G1_component ( blueprint< FieldType > &  bp,
const element_g1< CurveType > &  P,
g1_precomputation< CurveType > &  precomp,
const typename std::enable_if< fqk_type::arity==6, typename FieldType::value_type >::type &  = typename FieldType::value_type() 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename CurveType >
void nil::crypto3::zk::components::precompute_G1_component< CurveType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename CurveType >
void nil::crypto3::zk::components::precompute_G1_component< CurveType >::generate_r1cs_witness ( )
inline

Member Data Documentation

◆ bp

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

◆ precomp

template<typename CurveType >
g1_precomputation<CurveType>& nil::crypto3::zk::components::precompute_G1_component< CurveType >::precomp

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