nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds > Struct Template Reference
#include <poseidon_functions.hpp>
Collaboration diagram for nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >:
Public Types | |
typedef policy_type::block_type | block_type |
typedef poseidon_constants_operator< FieldType, Arity, PartRounds > | constants_operator_policy_type |
typedef field_type::value_type | element_type |
typedef FieldType | field_type |
typedef poseidon_policy< field_type, Arity, PartRounds > | policy_type |
typedef policy_type::state_type | state_type |
typedef constants_operator_policy_type::state_vector_type | state_vector_type |
typedef policy_type::word_type | word_type |
Static Public Member Functions | |
static constants_operator_policy_type | get_policy_constant_operator () |
static void | permute (state_type &A) |
static void | permute_optimized (state_type &A) |
Static Public Attributes | |
constexpr static const std::size_t | block_bits = policy_type::block_bits |
constexpr static const std::size_t | block_words = policy_type::block_words |
constexpr static const std::size_t | full_rounds = policy_type::full_rounds |
constexpr static const std::size_t | half_full_rounds = policy_type::half_full_rounds |
constexpr static const std::size_t | part_rounds = policy_type::part_rounds |
static const constants_operator_policy_type | policy_constants_operator |
constexpr static const std::size_t | state_bits = policy_type::state_bits |
constexpr static const std::size_t | state_words = policy_type::state_words |
constexpr static const std::size_t | word_bits = policy_type::word_bits |
Member Typedef Documentation
◆ block_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::block_type nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::block_type |
◆ constants_operator_policy_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef poseidon_constants_operator<FieldType, Arity, PartRounds> nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::constants_operator_policy_type |
◆ element_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef field_type::value_type nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::element_type |
◆ field_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef FieldType nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::field_type |
◆ policy_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef poseidon_policy<field_type, Arity, PartRounds> nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::policy_type |
◆ state_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::state_type nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::state_type |
◆ state_vector_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef constants_operator_policy_type::state_vector_type nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::state_vector_type |
◆ word_type
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::word_type nil::crypto3::hashes::detail::poseidon_functions< FieldType, Arity, PartRounds >::word_type |
Member Function Documentation
◆ get_policy_constant_operator()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlinestatic |
◆ permute()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlinestatic |
◆ permute_optimized()
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlinestatic |
Member Data Documentation
◆ block_bits
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ block_words
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ full_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ half_full_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ part_rounds
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ policy_constants_operator
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
inlinestatic |
Initial value:
=
static constants_operator_policy_type get_policy_constant_operator()
Definition: poseidon_functions.hpp:50
◆ state_bits
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ state_words
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
◆ word_bits
template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
|
staticconstexpr |
The documentation for this struct was generated from the following file: