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

#include <fp.hpp>

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

Public Types

using data_type = modular_type
 
typedef policy_type::field_type field_type
 
typedef policy_type::integral_type integral_type
 
typedef policy_type::modular_backend modular_backend
 
typedef policy_type::modular_params_type modular_params_type
 
typedef policy_type::modular_type modular_type
 

Public Member Functions

constexpr element_fp _2z_add_3x ()
 
constexpr element_fp doubled () const
 
constexpr element_fp ()
 
constexpr element_fp (const data_type &data)
 
constexpr element_fp (const element_fp &B)
 
template<typename Number , typename std::enable_if<(multiprecision::is_number< Number >::value &&!multiprecision::is_modular_number< Number >::value)||std::is_integral< Number >::value, bool >::type = true>
constexpr element_fp (const Number &data)
 
constexpr element_fp inversed () const
 
constexpr bool is_one () const
 
constexpr bool is_square () const
 
constexpr bool is_zero () const
 
constexpr bool operator!= (const element_fp &B) const
 
constexpr element_fp operator* (const element_fp &B) const
 
constexpr element_fpoperator*= (const element_fp &B)
 
constexpr element_fp operator+ (const element_fp &B) const
 
constexpr element_fpoperator++ ()
 
constexpr element_fp operator++ (int)
 
constexpr element_fpoperator+= (const element_fp &B)
 
constexpr element_fp operator- () const
 
constexpr element_fp operator- (const element_fp &B) const
 
constexpr element_fpoperator-- ()
 
constexpr element_fp operator-- (int)
 
constexpr element_fpoperator-= (const element_fp &B)
 
constexpr element_fp operator/ (const element_fp &B) const
 
constexpr element_fpoperator/= (const element_fp &B)
 
constexpr bool operator< (const element_fp &B) const
 
constexpr bool operator<= (const element_fp &B) const
 
constexpr element_fpoperator= (const element_fp &B)
 
constexpr bool operator== (const element_fp &B) const
 
constexpr bool operator> (const element_fp &B) const
 
constexpr bool operator>= (const element_fp &B) const
 
template<typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr element_fp pow (const multiprecision::number< Backend, ExpressionTemplates > &pwr) const
 
template<typename PowerType , typename = typename std::enable_if<boost::is_integral<PowerType>::value>::type>
constexpr element_fp pow (const PowerType pwr) const
 
constexpr element_fp sqrt () const
 
constexpr element_fp squared () const
 

Static Public Member Functions

constexpr static element_fp one ()
 
constexpr static element_fp zero ()
 

Public Attributes

data_type data
 

Static Public Attributes

constexpr static const integral_type modulus = policy_type::modulus
 
constexpr static const modular_params_type modulus_params = policy_type::modulus_params
 

Member Typedef Documentation

◆ data_type

template<typename FieldParams >
using nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::data_type = modular_type

◆ field_type

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

◆ integral_type

template<typename FieldParams >
typedef policy_type::integral_type nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::integral_type

◆ modular_backend

template<typename FieldParams >
typedef policy_type::modular_backend nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::modular_backend

◆ modular_params_type

template<typename FieldParams >
typedef policy_type::modular_params_type nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::modular_params_type

◆ modular_type

template<typename FieldParams >
typedef policy_type::modular_type nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::modular_type

Constructor & Destructor Documentation

◆ element_fp() [1/4]

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

◆ element_fp() [2/4]

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

◆ element_fp() [3/4]

template<typename FieldParams >
template<typename Number , typename std::enable_if<(multiprecision::is_number< Number >::value &&!multiprecision::is_modular_number< Number >::value)||std::is_integral< Number >::value, bool >::type = true>
constexpr nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::element_fp ( const Number &  data)
inlineconstexpr

◆ element_fp() [4/4]

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

Member Function Documentation

◆ _2z_add_3x()

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

◆ doubled()

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

◆ inversed()

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

◆ is_one()

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

◆ is_square()

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

◆ is_zero()

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

◆ one()

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

◆ operator!=()

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

◆ operator*()

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

◆ operator*=()

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

◆ operator+()

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

◆ operator++() [1/2]

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

◆ operator++() [2/2]

template<typename FieldParams >
constexpr element_fp nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::operator++ ( int  )
inlineconstexpr

◆ operator+=()

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

◆ operator-() [1/2]

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

◆ operator-() [2/2]

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

◆ operator--() [1/2]

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

◆ operator--() [2/2]

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

◆ operator-=()

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

◆ operator/()

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

◆ operator/=()

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

◆ operator<()

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

◆ operator<=()

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

◆ operator=()

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

◆ operator==()

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

◆ operator>()

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

◆ operator>=()

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

◆ pow() [1/2]

template<typename FieldParams >
template<typename Backend , multiprecision::expression_template_option ExpressionTemplates>
constexpr element_fp nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::pow ( const multiprecision::number< Backend, ExpressionTemplates > &  pwr) const
inlineconstexpr

◆ pow() [2/2]

template<typename FieldParams >
template<typename PowerType , typename = typename std::enable_if<boost::is_integral<PowerType>::value>::type>
constexpr element_fp nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::pow ( const PowerType  pwr) const
inlineconstexpr

◆ sqrt()

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

◆ squared()

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

◆ zero()

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

Member Data Documentation

◆ data

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

◆ modulus

template<typename FieldParams >
constexpr element_fp< FieldParams >::integral_type const nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::modulus = policy_type::modulus
staticconstexpr

◆ modulus_params

template<typename FieldParams >
constexpr element_fp< FieldParams >::modular_params_type const nil::crypto3::algebra::fields::detail::element_fp< FieldParams >::modulus_params = policy_type::modulus_params
staticconstexpr

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