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

#include <element_g1.hpp>

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

Public Member Functions

 element_g1_doubled (blueprint< underlying_field_type > &bp, const element_g1< CurveType > &A, const element_g1< CurveType > &B)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Public Attributes

element_g1< CurveType > A
 
element_g1< CurveType > B
 
blueprint_variable< underlying_field_type > lambda
 
blueprint_variable< underlying_field_type > Xsquared
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

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

Component that creates constraints for G1 doubling.

Constructor & Destructor Documentation

◆ element_g1_doubled()

template<typename CurveType >
nil::crypto3::zk::components::element_g1_doubled< CurveType >::element_g1_doubled ( blueprint< underlying_field_type > &  bp,
const element_g1< CurveType > &  A,
const element_g1< CurveType > &  B 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ A

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_doubled< CurveType >::A

◆ B

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_doubled< CurveType >::B

◆ bp

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

◆ lambda

template<typename CurveType >
blueprint_variable<underlying_field_type> nil::crypto3::zk::components::element_g1_doubled< CurveType >::lambda

◆ Xsquared

template<typename CurveType >
blueprint_variable<underlying_field_type> nil::crypto3::zk::components::element_g1_doubled< CurveType >::Xsquared

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