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

#include <element_g1.hpp>

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

Public Member Functions

 element_g1_conditional_add (blueprint< scalar_field_type > &bp, blueprint_variable< scalar_field_type > a, blueprint_variable< scalar_field_type > d, const element_g1< CurveType > &P1, const element_g1< CurveType > &P2, const element_g1< CurveType > &P1pP2, blueprint_variable< scalar_field_type > canAdd)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Public Attributes

blueprint_variable< scalar_field_type > a
 
blueprint_variable< scalar_field_type > canAdd
 
blueprint_variable< scalar_field_type > d
 
std::shared_ptr< element_g1_add< CurveType > > el_add
 
blueprint_variable< scalar_field_type > not_canAdd
 
element_g1< CurveType > P1
 
element_g1< CurveType > P1pP2
 
element_g1< CurveType > P2
 
element_g1< CurveType > P_toAdd
 
blueprint_variable< scalar_field_type > Y_intermediate_toAdd1
 
blueprint_variable< scalar_field_type > Y_intermediate_toAdd2
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Detailed Description

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

Component that creates constraints for the validity of a G1 element.

Constructor & Destructor Documentation

◆ element_g1_conditional_add()

template<typename CurveType >
nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::element_g1_conditional_add ( blueprint< scalar_field_type > &  bp,
blueprint_variable< scalar_field_type >  a,
blueprint_variable< scalar_field_type >  d,
const element_g1< CurveType > &  P1,
const element_g1< CurveType > &  P2,
const element_g1< CurveType > &  P1pP2,
blueprint_variable< scalar_field_type >  canAdd 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ a

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::a

◆ bp

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

◆ canAdd

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::canAdd

◆ d

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::d

◆ el_add

template<typename CurveType >
std::shared_ptr<element_g1_add<CurveType> > nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::el_add

◆ not_canAdd

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::not_canAdd

◆ P1

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::P1

◆ P1pP2

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::P1pP2

◆ P2

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::P2

◆ P_toAdd

template<typename CurveType >
element_g1<CurveType> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::P_toAdd

◆ Y_intermediate_toAdd1

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::Y_intermediate_toAdd1

◆ Y_intermediate_toAdd2

template<typename CurveType >
blueprint_variable<scalar_field_type> nil::crypto3::zk::components::element_g1_conditional_add< CurveType >::Y_intermediate_toAdd2

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