nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType > Class Template Reference

#include <element_fp6_2over3.hpp>

+ Inheritance diagram for nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >:
+ Collaboration diagram for nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >:

Public Member Functions

 element_fp6_2over3_mul (blueprint< base_field_type > &bp, const element_fp6_2over3< field_type > &A, const element_fp6_2over3< field_type > &B, const element_fp6_2over3< field_type > &result)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Public Attributes

element_fp6_2over3< field_type > A
 
std::shared_ptr< underlying_element_typeAc0_plus_Ac1
 
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c0
 
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c1
 
blueprint_linear_combination< base_field_type > Ac0_plus_Ac1_c2
 
element_fp6_2over3< field_type > B
 
std::shared_ptr< underlying_element_typeBc0_plus_Bc1
 
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c0
 
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c1
 
blueprint_linear_combination< base_field_type > Bc0_plus_Bc1_c2
 
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_result_c1
 
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_v0
 
std::shared_ptr< element_fp3_mul< underlying_field_type > > compute_v1
 
element_fp6_2over3< field_type > result
 
std::shared_ptr< underlying_element_typeresult_c1_plus_v0_plus_v1
 
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c0
 
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c1
 
blueprint_linear_combination< base_field_type > result_c1_plus_v0_plus_v1_c2
 
std::shared_ptr< underlying_element_typev0
 
blueprint_linear_combination< base_field_type > v0_c0
 
blueprint_linear_combination< base_field_type > v0_c1
 
blueprint_linear_combination< base_field_type > v0_c2
 
std::shared_ptr< underlying_element_typev1
 

Protected Attributes

blueprint< FieldType > & bp
 

Detailed Description

template<typename FieldType>
class nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >

Component that creates constraints for Fp6 multiplication.

Constructor & Destructor Documentation

◆ element_fp6_2over3_mul()

template<typename FieldType >
nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::element_fp6_2over3_mul ( blueprint< base_field_type > &  bp,
const element_fp6_2over3< field_type > &  A,
const element_fp6_2over3< field_type > &  B,
const element_fp6_2over3< field_type > &  result 
)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldType >
void nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename FieldType >
void nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::generate_r1cs_witness ( )
inline

Member Data Documentation

◆ A

template<typename FieldType >
element_fp6_2over3<field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::A

◆ Ac0_plus_Ac1

template<typename FieldType >
std::shared_ptr<underlying_element_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Ac0_plus_Ac1

◆ Ac0_plus_Ac1_c0

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Ac0_plus_Ac1_c0

◆ Ac0_plus_Ac1_c1

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Ac0_plus_Ac1_c1

◆ Ac0_plus_Ac1_c2

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Ac0_plus_Ac1_c2

◆ B

template<typename FieldType >
element_fp6_2over3<field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::B

◆ Bc0_plus_Bc1

template<typename FieldType >
std::shared_ptr<underlying_element_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Bc0_plus_Bc1

◆ Bc0_plus_Bc1_c0

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Bc0_plus_Bc1_c0

◆ Bc0_plus_Bc1_c1

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Bc0_plus_Bc1_c1

◆ Bc0_plus_Bc1_c2

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::Bc0_plus_Bc1_c2

◆ bp

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

◆ compute_result_c1

template<typename FieldType >
std::shared_ptr<element_fp3_mul<underlying_field_type> > nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::compute_result_c1

◆ compute_v0

template<typename FieldType >
std::shared_ptr<element_fp3_mul<underlying_field_type> > nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::compute_v0

◆ compute_v1

template<typename FieldType >
std::shared_ptr<element_fp3_mul<underlying_field_type> > nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::compute_v1

◆ result

template<typename FieldType >
element_fp6_2over3<field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::result

◆ result_c1_plus_v0_plus_v1

template<typename FieldType >
std::shared_ptr<underlying_element_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::result_c1_plus_v0_plus_v1

◆ result_c1_plus_v0_plus_v1_c0

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::result_c1_plus_v0_plus_v1_c0

◆ result_c1_plus_v0_plus_v1_c1

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::result_c1_plus_v0_plus_v1_c1

◆ result_c1_plus_v0_plus_v1_c2

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::result_c1_plus_v0_plus_v1_c2

◆ v0

template<typename FieldType >
std::shared_ptr<underlying_element_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::v0

◆ v0_c0

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::v0_c0

◆ v0_c1

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::v0_c1

◆ v0_c2

template<typename FieldType >
blueprint_linear_combination<base_field_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::v0_c2

◆ v1

template<typename FieldType >
std::shared_ptr<underlying_element_type> nil::crypto3::zk::components::element_fp6_2over3_mul< FieldType >::v1

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