nil::crypto3::zk::components::element_fp4< Fp4T > Struct Template Reference

#include <element_fp4.hpp>

+ Inheritance diagram for nil::crypto3::zk::components::element_fp4< Fp4T >:
+ Collaboration diagram for nil::crypto3::zk::components::element_fp4< Fp4T >:

Public Types

using base_field_type = typename field_type::base_field_type
 
using data_type = std::array< underlying_element_type, field_type::arity/underlying_field_type::arity >
 
using field_type = Fp4T
 
using underlying_element_type = element_fp2< underlying_field_type >
 
using underlying_field_type = typename field_type::underlying_field_type
 

Public Member Functions

 element_fp4 (blueprint< base_field_type > &bp)
 
 element_fp4 (blueprint< base_field_type > &bp, const typename field_type::value_type &el)
 
 element_fp4 (blueprint< base_field_type > &bp, const underlying_element_type &in_data0, const underlying_element_type &in_data1)
 
void evaluate () const
 
element_fp4< field_typeFrobenius_map (const std::size_t power) const
 
void generate_r1cs_equals_const_constraints (const typename field_type::value_type &el)
 
void generate_r1cs_witness (const typename field_type::value_type &el)
 
field_type::value_type get_element ()
 

Public Attributes

data_type data
 

Protected Attributes

blueprint< Fp4T::base_field_type > & bp
 

Detailed Description

template<typename Fp4T>
struct nil::crypto3::zk::components::element_fp4< Fp4T >

Component that represents an Fp4 element.

Member Typedef Documentation

◆ base_field_type

template<typename Fp4T >
using nil::crypto3::zk::components::element_fp4< Fp4T >::base_field_type = typename field_type::base_field_type

◆ data_type

template<typename Fp4T >
using nil::crypto3::zk::components::element_fp4< Fp4T >::data_type = std::array<underlying_element_type, field_type::arity / underlying_field_type::arity>

◆ field_type

template<typename Fp4T >
using nil::crypto3::zk::components::element_fp4< Fp4T >::field_type = Fp4T

◆ underlying_element_type

◆ underlying_field_type

template<typename Fp4T >
using nil::crypto3::zk::components::element_fp4< Fp4T >::underlying_field_type = typename field_type::underlying_field_type

Constructor & Destructor Documentation

◆ element_fp4() [1/3]

template<typename Fp4T >
nil::crypto3::zk::components::element_fp4< Fp4T >::element_fp4 ( blueprint< base_field_type > &  bp)
inline

◆ element_fp4() [2/3]

template<typename Fp4T >
nil::crypto3::zk::components::element_fp4< Fp4T >::element_fp4 ( blueprint< base_field_type > &  bp,
const typename field_type::value_type &  el 
)
inline

◆ element_fp4() [3/3]

template<typename Fp4T >
nil::crypto3::zk::components::element_fp4< Fp4T >::element_fp4 ( blueprint< base_field_type > &  bp,
const underlying_element_type in_data0,
const underlying_element_type in_data1 
)
inline

Member Function Documentation

◆ evaluate()

template<typename Fp4T >
void nil::crypto3::zk::components::element_fp4< Fp4T >::evaluate ( ) const
inline

◆ Frobenius_map()

template<typename Fp4T >
element_fp4<field_type> nil::crypto3::zk::components::element_fp4< Fp4T >::Frobenius_map ( const std::size_t  power) const
inline

◆ generate_r1cs_equals_const_constraints()

template<typename Fp4T >
void nil::crypto3::zk::components::element_fp4< Fp4T >::generate_r1cs_equals_const_constraints ( const typename field_type::value_type &  el)
inline

◆ generate_r1cs_witness()

template<typename Fp4T >
void nil::crypto3::zk::components::element_fp4< Fp4T >::generate_r1cs_witness ( const typename field_type::value_type &  el)
inline

◆ get_element()

template<typename Fp4T >
field_type::value_type nil::crypto3::zk::components::element_fp4< Fp4T >::get_element ( )
inline

Member Data Documentation

◆ bp

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

◆ data

template<typename Fp4T >
data_type nil::crypto3::zk::components::element_fp4< Fp4T >::data

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