Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::simulation::Poseidon2 Class Reference

#include <poseidon2.hpp>

Inheritance diagram for bb::avm2::simulation::Poseidon2:
bb::avm2::simulation::Poseidon2Interface

Public Member Functions

 Poseidon2 (ExecutionIdManagerInterface &execution_id_manager, GreaterThanInterface &gt, EventEmitterInterface< Poseidon2HashEvent > &hash_emitter, EventEmitterInterface< Poseidon2PermutationEvent > &perm_emitter, EventEmitterInterface< Poseidon2PermutationMemoryEvent > &perm_mem_emitter)
 
FF hash (const std::vector< FF > &input) override
 
std::array< FF, 4 > permutation (const std::array< FF, 4 > &input) override
 
void permutation (MemoryInterface &memory, MemoryAddress src_address, MemoryAddress dst_address) override
 
- Public Member Functions inherited from bb::avm2::simulation::Poseidon2Interface
virtual ~Poseidon2Interface ()=default
 

Private Attributes

ExecutionIdManagerInterfaceexecution_id_manager
 
GreaterThanInterfacegt
 
EventEmitterInterface< Poseidon2HashEvent > & hash_events
 
EventEmitterInterface< Poseidon2PermutationEvent > & perm_events
 
EventEmitterInterface< Poseidon2PermutationMemoryEvent > & perm_mem_events
 

Detailed Description

Definition at line 23 of file poseidon2.hpp.

Constructor & Destructor Documentation

◆ Poseidon2()

bb::avm2::simulation::Poseidon2::Poseidon2 ( ExecutionIdManagerInterface execution_id_manager,
GreaterThanInterface gt,
EventEmitterInterface< Poseidon2HashEvent > &  hash_emitter,
EventEmitterInterface< Poseidon2PermutationEvent > &  perm_emitter,
EventEmitterInterface< Poseidon2PermutationMemoryEvent > &  perm_mem_emitter 
)
inline

Definition at line 25 of file poseidon2.hpp.

Member Function Documentation

◆ hash()

FF bb::avm2::simulation::Poseidon2::hash ( const std::vector< FF > &  input)
overridevirtual

Implements bb::avm2::simulation::Poseidon2Interface.

Definition at line 17 of file poseidon2.cpp.

◆ permutation() [1/2]

std::array< FF, 4 > bb::avm2::simulation::Poseidon2::permutation ( const std::array< FF, 4 > &  input)
overridevirtual

Implements bb::avm2::simulation::Poseidon2Interface.

Definition at line 53 of file poseidon2.cpp.

◆ permutation() [2/2]

void bb::avm2::simulation::Poseidon2::permutation ( MemoryInterface memory,
MemoryAddress  src_address,
MemoryAddress  dst_address 
)
overridevirtual

Implements bb::avm2::simulation::Poseidon2Interface.

Definition at line 60 of file poseidon2.cpp.

Member Data Documentation

◆ execution_id_manager

ExecutionIdManagerInterface& bb::avm2::simulation::Poseidon2::execution_id_manager
private

Definition at line 42 of file poseidon2.hpp.

◆ gt

GreaterThanInterface& bb::avm2::simulation::Poseidon2::gt
private

Definition at line 43 of file poseidon2.hpp.

◆ hash_events

EventEmitterInterface<Poseidon2HashEvent>& bb::avm2::simulation::Poseidon2::hash_events
private

Definition at line 44 of file poseidon2.hpp.

◆ perm_events

EventEmitterInterface<Poseidon2PermutationEvent>& bb::avm2::simulation::Poseidon2::perm_events
private

Definition at line 45 of file poseidon2.hpp.

◆ perm_mem_events

EventEmitterInterface<Poseidon2PermutationMemoryEvent>& bb::avm2::simulation::Poseidon2::perm_mem_events
private

Definition at line 46 of file poseidon2.hpp.


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