nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds > Class Template Reference

#include <poseidon.hpp>

+ Collaboration diagram for nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >:

Public Types

typedef policy_type::block_type block_type
 
typedef policy_type::state_type state_type
 
typedef policy_type::word_type word_type
 

Static Public Member Functions

static void process_block (state_type &state, const block_type &block)
 

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 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
 

Protected Types

typedef detail::poseidon_functions< FieldType, Arity, PartRounds > policy_type
 

Member Typedef Documentation

◆ block_type

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::block_type nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::block_type

◆ policy_type

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef detail::poseidon_functions<FieldType, Arity, PartRounds> nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::policy_type
protected

◆ state_type

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::state_type nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::state_type

◆ word_type

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
typedef policy_type::word_type nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::word_type

Member Function Documentation

◆ process_block()

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
static void nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::process_block ( state_type state,
const block_type block 
)
inlinestatic

Member Data Documentation

◆ block_bits

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constexpr static const std::size_t nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::block_bits = policy_type::block_bits
staticconstexpr

◆ block_words

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constexpr static const std::size_t nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::block_words = policy_type::block_words
staticconstexpr

◆ state_bits

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constexpr static const std::size_t nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::state_bits = policy_type::state_bits
staticconstexpr

◆ state_words

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constexpr static const std::size_t nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::state_words = policy_type::state_words
staticconstexpr

◆ word_bits

template<typename FieldType , std::size_t Arity, std::size_t PartRounds>
constexpr static const std::size_t nil::crypto3::hashes::poseidon_compressor< FieldType, Arity, PartRounds >::word_bits = policy_type::word_bits
staticconstexpr

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