nil::crypto3::algebra::fields::detail::element_fp2< FieldParams > Struct Template Reference

#include <fp2.hpp>

+ Collaboration diagram for nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >:

Public Types

using data_type = std::array< underlying_type, 2 >
 
typedef policy_type::field_type field_type
 
typedef policy_type::non_residue_type non_residue_type
 
typedef policy_type::underlying_type underlying_type
 

Public Member Functions

constexpr element_fp2 _2z_add_3x ()
 
constexpr element_fp2 divBy2 () const
 
constexpr element_fp2 divBy4 () const
 
constexpr element_fp2 doubled () const
 
constexpr element_fp2 ()
 
constexpr element_fp2 (const data_type &in_data)
 
constexpr element_fp2 (const element_fp2 &B)
 
template<typename Number1 , typename Number2 >
constexpr element_fp2 (const Number1 &in_data0, const Number2 &in_data1)
 
constexpr element_fp2 (const underlying_type &in_data0, const underlying_type &in_data1)
 
template<typename PowerType >
constexpr element_fp2 Frobenius_map (const PowerType &pwr) const
 
constexpr element_fp2 inversed () const
 
constexpr bool is_one () const
 
constexpr bool is_square () const
 
constexpr bool is_zero () const
 
constexpr element_fp2 mul_Fp_0 (const underlying_type &b)
 
constexpr element_fp2 mul_Fp_1 (const underlying_type &y_b)
 
constexpr element_fp2 mul_x ()
 
element_fp2 mul_xi ()
 
constexpr bool operator!= (const element_fp2 &B) const
 
constexpr element_fp2 operator* (const element_fp2 &B) const
 
constexpr element_fp2operator*= (const element_fp2 &B)
 
constexpr element_fp2 operator+ (const element_fp2 &B) const
 
constexpr element_fp2operator+= (const element_fp2 &B)
 
constexpr element_fp2 operator- () const
 
constexpr element_fp2 operator- (const element_fp2 &B) const
 
constexpr element_fp2operator-= (const element_fp2 &B)
 
constexpr element_fp2 operator/ (const element_fp2 &B) const
 
constexpr element_fp2operator= (const element_fp2 &B)
 
constexpr bool operator== (const element_fp2 &B) const
 
template<typename PowerType >
constexpr element_fp2 pow (const PowerType &pwr) const
 
constexpr element_fp2 sqrt () const
 
constexpr element_fp2 squared () const
 

Static Public Member Functions

constexpr static element_fp2 one ()
 
constexpr static element_fp2 zero ()
 

Public Attributes

data_type data
 

Static Public Attributes

constexpr static const non_residue_type non_residue = policy_type::non_residue
 

Member Typedef Documentation

◆ data_type

template<typename FieldParams >
using nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::data_type = std::array<underlying_type, 2>

◆ field_type

template<typename FieldParams >
typedef policy_type::field_type nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::field_type

◆ non_residue_type

template<typename FieldParams >
typedef policy_type::non_residue_type nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::non_residue_type

◆ underlying_type

template<typename FieldParams >
typedef policy_type::underlying_type nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::underlying_type

Constructor & Destructor Documentation

◆ element_fp2() [1/5]

template<typename FieldParams >
constexpr nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::element_fp2 ( )
inlineconstexpr

◆ element_fp2() [2/5]

template<typename FieldParams >
template<typename Number1 , typename Number2 >
constexpr nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::element_fp2 ( const Number1 &  in_data0,
const Number2 &  in_data1 
)
inlineconstexpr

◆ element_fp2() [3/5]

template<typename FieldParams >
constexpr nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::element_fp2 ( const data_type in_data)
inlineconstexpr

◆ element_fp2() [4/5]

template<typename FieldParams >
constexpr nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::element_fp2 ( const underlying_type in_data0,
const underlying_type in_data1 
)
inlineconstexpr

◆ element_fp2() [5/5]

template<typename FieldParams >
constexpr nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::element_fp2 ( const element_fp2< FieldParams > &  B)
inlineconstexpr

Member Function Documentation

◆ _2z_add_3x()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::_2z_add_3x ( )
inlineconstexpr

◆ divBy2()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::divBy2 ( ) const
inlineconstexpr

◆ divBy4()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::divBy4 ( ) const
inlineconstexpr

◆ doubled()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::doubled ( ) const
inlineconstexpr

◆ Frobenius_map()

template<typename FieldParams >
template<typename PowerType >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::Frobenius_map ( const PowerType &  pwr) const
inlineconstexpr

◆ inversed()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::inversed ( ) const
inlineconstexpr

◆ is_one()

template<typename FieldParams >
constexpr bool nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::is_one ( ) const
inlineconstexpr

◆ is_square()

template<typename FieldParams >
constexpr bool nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::is_square ( ) const
inlineconstexpr

◆ is_zero()

template<typename FieldParams >
constexpr bool nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::is_zero ( ) const
inlineconstexpr

◆ mul_Fp_0()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::mul_Fp_0 ( const underlying_type b)
inlineconstexpr

◆ mul_Fp_1()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::mul_Fp_1 ( const underlying_type y_b)
inlineconstexpr

◆ mul_x()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::mul_x ( )
inlineconstexpr

◆ mul_xi()

template<typename FieldParams >
element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::mul_xi ( )
inline

◆ one()

template<typename FieldParams >
constexpr static element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::one ( )
inlinestaticconstexpr

◆ operator!=()

template<typename FieldParams >
constexpr bool nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator!= ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ operator*()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator* ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ operator*=()

template<typename FieldParams >
constexpr element_fp2& nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator*= ( const element_fp2< FieldParams > &  B)
inlineconstexpr

◆ operator+()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator+ ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ operator+=()

template<typename FieldParams >
constexpr element_fp2& nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator+= ( const element_fp2< FieldParams > &  B)
inlineconstexpr

◆ operator-() [1/2]

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator- ( ) const
inlineconstexpr

◆ operator-() [2/2]

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator- ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ operator-=()

template<typename FieldParams >
constexpr element_fp2& nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator-= ( const element_fp2< FieldParams > &  B)
inlineconstexpr

◆ operator/()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator/ ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ operator=()

template<typename FieldParams >
constexpr element_fp2& nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator= ( const element_fp2< FieldParams > &  B)
inlineconstexpr

◆ operator==()

template<typename FieldParams >
constexpr bool nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::operator== ( const element_fp2< FieldParams > &  B) const
inlineconstexpr

◆ pow()

template<typename FieldParams >
template<typename PowerType >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::pow ( const PowerType &  pwr) const
inlineconstexpr

◆ sqrt()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::sqrt ( ) const
inlineconstexpr

◆ squared()

template<typename FieldParams >
constexpr element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::squared ( ) const
inlineconstexpr

◆ zero()

template<typename FieldParams >
constexpr static element_fp2 nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::zero ( )
inlinestaticconstexpr

Member Data Documentation

◆ data

template<typename FieldParams >
data_type nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::data

◆ non_residue

template<typename FieldParams >
constexpr const element_fp2< FieldParams >::non_residue_type nil::crypto3::algebra::fields::detail::element_fp2< FieldParams >::non_residue = policy_type::non_residue
staticconstexpr

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