Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
StdlibPoseidon2< Builder > Class Template Reference
Inheritance diagram for StdlibPoseidon2< Builder >:

Static Public Member Functions

static field_ct w_hex (Builder &builder, const char *hex)
 
static field_ct w_u64 (Builder &builder, uint64_t v)
 
static std::size_t gate_count (std::size_t N)
 
static void test_hash (size_t num_inputs)
 Call poseidon2 on a vector of inputs.
 
static void test_hash_repeated_pairs (size_t num_inputs)
 Call poseidon2 on two inputs repeatedly.
 
static void test_hash_zeros (size_t num_inputs)
 
static void test_hash_constants ()
 
static void test_padding_collisions ()
 
static void test_against_independent_values ()
 

Private Types

using _curve = stdlib::bn254< Builder >
 
using byte_array_ct = typename _curve::byte_array_ct
 
using field_ct = typename _curve::ScalarField
 
using witness_ct = typename _curve::witness_ct
 
using public_witness_ct = typename _curve::public_witness_ct
 
using poseidon2 = typename stdlib::poseidon2< Builder >
 
using native_poseidon2 = crypto::Poseidon2< crypto::Poseidon2Bn254ScalarFieldParams >
 

Detailed Description

template<typename Builder>
class StdlibPoseidon2< Builder >

Definition at line 13 of file poseidon2.test.cpp.

Member Typedef Documentation

◆ _curve

template<typename Builder >
using StdlibPoseidon2< Builder >::_curve = stdlib::bn254<Builder>
private

Definition at line 14 of file poseidon2.test.cpp.

◆ byte_array_ct

template<typename Builder >
using StdlibPoseidon2< Builder >::byte_array_ct = typename _curve::byte_array_ct
private

Definition at line 16 of file poseidon2.test.cpp.

◆ field_ct

template<typename Builder >
using StdlibPoseidon2< Builder >::field_ct = typename _curve::ScalarField
private

Definition at line 17 of file poseidon2.test.cpp.

◆ native_poseidon2

◆ poseidon2

template<typename Builder >
using StdlibPoseidon2< Builder >::poseidon2 = typename stdlib::poseidon2<Builder>
private

Definition at line 20 of file poseidon2.test.cpp.

◆ public_witness_ct

template<typename Builder >
using StdlibPoseidon2< Builder >::public_witness_ct = typename _curve::public_witness_ct
private

Definition at line 19 of file poseidon2.test.cpp.

◆ witness_ct

template<typename Builder >
using StdlibPoseidon2< Builder >::witness_ct = typename _curve::witness_ct
private

Definition at line 18 of file poseidon2.test.cpp.

Member Function Documentation

◆ gate_count()

template<typename Builder >
static std::size_t StdlibPoseidon2< Builder >::gate_count ( std::size_t  N)
inlinestatic

Definition at line 27 of file poseidon2.test.cpp.

◆ test_against_independent_values()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_against_independent_values ( )
inlinestatic

Definition at line 167 of file poseidon2.test.cpp.

◆ test_hash()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_hash ( size_t  num_inputs)
inlinestatic

Call poseidon2 on a vector of inputs.

Parameters
num_inputs

Definition at line 50 of file poseidon2.test.cpp.

◆ test_hash_constants()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_hash_constants ( )
inlinestatic

Definition at line 122 of file poseidon2.test.cpp.

◆ test_hash_repeated_pairs()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_hash_repeated_pairs ( size_t  num_inputs)
inlinestatic

Call poseidon2 on two inputs repeatedly.

Parameters
num_inputs

Definition at line 80 of file poseidon2.test.cpp.

◆ test_hash_zeros()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_hash_zeros ( size_t  num_inputs)
inlinestatic

Definition at line 103 of file poseidon2.test.cpp.

◆ test_padding_collisions()

template<typename Builder >
static void StdlibPoseidon2< Builder >::test_padding_collisions ( )
inlinestatic

Definition at line 142 of file poseidon2.test.cpp.

◆ w_hex()

template<typename Builder >
static field_ct StdlibPoseidon2< Builder >::w_hex ( Builder builder,
const char *  hex 
)
inlinestatic

Definition at line 24 of file poseidon2.test.cpp.

◆ w_u64()

template<typename Builder >
static field_ct StdlibPoseidon2< Builder >::w_u64 ( Builder builder,
uint64_t  v 
)
inlinestatic

Definition at line 25 of file poseidon2.test.cpp.


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