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

#include <fp3.hpp>

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

Public Types

using data_type = std::array< underlying_type, 3 >
 
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_fp3 doubled () const
 
constexpr element_fp3 ()
 
constexpr element_fp3 (const data_type &in_data)
 
constexpr element_fp3 (const element_fp3 &B)
 
template<typename Number1 , typename Number2 , typename Number3 >
constexpr element_fp3 (const Number1 &in_data0, const Number2 &in_data1, const Number3 &in_data2)
 
constexpr element_fp3 (const underlying_type &in_data0, const underlying_type &in_data1, const underlying_type &in_data2)
 
template<typename PowerType >
constexpr element_fp3 Frobenius_map (const PowerType &pwr) const
 
constexpr element_fp3 inversed () const
 
constexpr bool is_one () const
 
constexpr bool is_square () const
 
constexpr bool is_zero () const
 
constexpr bool operator!= (const element_fp3 &B) const
 
constexpr element_fp3 operator* (const element_fp3 &B) const
 
constexpr element_fp3 operator+ (const element_fp3 &B) const
 
constexpr element_fp3operator+= (const element_fp3 &B)
 
constexpr element_fp3 operator- () const
 
constexpr element_fp3 operator- (const element_fp3 &B) const
 
constexpr element_fp3operator-= (const element_fp3 &B)
 
constexpr element_fp3operator= (const element_fp3 &B)
 
constexpr bool operator== (const element_fp3 &B) const
 
template<typename PowerType >
constexpr element_fp3 pow (const PowerType &pwr) const
 
constexpr element_fp3 sqrt () const
 
constexpr element_fp3 squared () const
 

Static Public Member Functions

constexpr static element_fp3 one ()
 
constexpr static element_fp3 zero ()
 

Public Attributes

data_type data
 

Static Public Attributes

constexpr static non_residue_type non_residue = policy_type::non_residue
 

Member Typedef Documentation

◆ data_type

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

◆ field_type

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

◆ non_residue_type

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

◆ underlying_type

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

Constructor & Destructor Documentation

◆ element_fp3() [1/5]

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

◆ element_fp3() [2/5]

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

◆ element_fp3() [3/5]

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

◆ element_fp3() [4/5]

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

◆ element_fp3() [5/5]

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

Member Function Documentation

◆ doubled()

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

◆ Frobenius_map()

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

◆ inversed()

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

◆ is_one()

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

◆ is_square()

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

◆ is_zero()

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

◆ one()

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

◆ operator!=()

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

◆ operator*()

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-() [1/2]

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

◆ operator-() [2/2]

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

◆ operator-=()

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

◆ operator=()

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

◆ operator==()

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

◆ pow()

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

◆ sqrt()

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

◆ squared()

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

◆ zero()

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

Member Data Documentation

◆ data

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

◆ non_residue

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

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