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

#include <trace_container.hpp>

Inheritance diagram for bb::avm2::tracegen::TraceContainer:
bb::avm2::tracegen::TestTraceContainer

Classes

struct  ColumnInterval
 
struct  SparseColumn
 

Public Member Functions

 TraceContainer ()
 
const FFget (Column col, uint32_t row) const
 
template<size_t N>
auto get_multiple (const std::array< ColumnAndShifts, N > &cols, uint32_t row) const
 
const FFget_column_or_shift (ColumnAndShifts col, uint32_t row) const
 
void set (Column col, uint32_t row, const FF &value)
 
void set (uint32_t row, std::span< const std::pair< Column, FF > > values)
 
void reserve_column (Column col, size_t size)
 
void visit_column (Column col, const std::function< void(uint32_t, const FF &)> &visitor) const
 
uint32_t get_column_rows (Column col) const
 
uint32_t get_num_rows () const
 
uint32_t get_num_witness_rows () const
 
void invert_columns (std::span< const Column > cols)
 
void clear_column (Column col)
 

Static Public Member Functions

static constexpr size_t num_columns ()
 

Static Public Attributes

static constexpr uint32_t INTERVAL_SIZE = 1u << 11
 
static constexpr size_t NUM_SHARDS = MAX_AVM_TRACE_SIZE / INTERVAL_SIZE
 

Private Member Functions

void invert_column (Column col)
 

Static Private Member Functions

static ColumnIntervalget_or_create_shard (SparseColumn &column_data, size_t shard_idx)
 

Private Attributes

std::unique_ptr< std::array< SparseColumn, NUM_COLUMNS_WITHOUT_SHIFTS > > trace
 

Detailed Description

Definition at line 52 of file trace_container.hpp.

Constructor & Destructor Documentation

◆ TraceContainer()

bb::avm2::tracegen::TraceContainer::TraceContainer ( )

Definition at line 20 of file trace_container.cpp.

Member Function Documentation

◆ clear_column()

void bb::avm2::tracegen::TraceContainer::clear_column ( Column  col)

Definition at line 192 of file trace_container.cpp.

◆ get()

const FF & bb::avm2::tracegen::TraceContainer::get ( Column  col,
uint32_t  row 
) const

Definition at line 24 of file trace_container.cpp.

◆ get_column_or_shift()

const FF & bb::avm2::tracegen::TraceContainer::get_column_or_shift ( ColumnAndShifts  col,
uint32_t  row 
) const

Definition at line 38 of file trace_container.cpp.

◆ get_column_rows()

uint32_t bb::avm2::tracegen::TraceContainer::get_column_rows ( Column  col) const

Definition at line 107 of file trace_container.cpp.

◆ get_multiple()

template<size_t N>
auto bb::avm2::tracegen::TraceContainer::get_multiple ( const std::array< ColumnAndShifts, N > &  cols,
uint32_t  row 
) const
inline

Definition at line 70 of file trace_container.hpp.

◆ get_num_rows()

uint32_t bb::avm2::tracegen::TraceContainer::get_num_rows ( ) const

Definition at line 139 of file trace_container.cpp.

◆ get_num_witness_rows()

uint32_t bb::avm2::tracegen::TraceContainer::get_num_witness_rows ( ) const

Definition at line 130 of file trace_container.cpp.

◆ get_or_create_shard()

TraceContainer::ColumnInterval & bb::avm2::tracegen::TraceContainer::get_or_create_shard ( SparseColumn column_data,
size_t  shard_idx 
)
staticprivate

Definition at line 46 of file trace_container.cpp.

◆ invert_column()

void bb::avm2::tracegen::TraceContainer::invert_column ( Column  col)
private

Definition at line 173 of file trace_container.cpp.

◆ invert_columns()

void bb::avm2::tracegen::TraceContainer::invert_columns ( std::span< const Column cols)

Definition at line 166 of file trace_container.cpp.

◆ num_columns()

static constexpr size_t bb::avm2::tracegen::TraceContainer::num_columns ( )
inlinestaticconstexpr

Definition at line 94 of file trace_container.hpp.

◆ reserve_column()

void bb::avm2::tracegen::TraceContainer::reserve_column ( Column  col,
size_t  size 
)

Definition at line 93 of file trace_container.cpp.

◆ set() [1/2]

void bb::avm2::tracegen::TraceContainer::set ( Column  col,
uint32_t  row,
const FF value 
)

Definition at line 65 of file trace_container.cpp.

◆ set() [2/2]

void bb::avm2::tracegen::TraceContainer::set ( uint32_t  row,
std::span< const std::pair< Column, FF > >  values 
)

Definition at line 86 of file trace_container.cpp.

◆ visit_column()

void bb::avm2::tracegen::TraceContainer::visit_column ( Column  col,
const std::function< void(uint32_t, const FF &)> &  visitor 
) const

Definition at line 148 of file trace_container.cpp.

Member Data Documentation

◆ INTERVAL_SIZE

constexpr uint32_t bb::avm2::tracegen::TraceContainer::INTERVAL_SIZE = 1u << 11
staticconstexpr

Definition at line 61 of file trace_container.hpp.

◆ NUM_SHARDS

constexpr size_t bb::avm2::tracegen::TraceContainer::NUM_SHARDS = MAX_AVM_TRACE_SIZE / INTERVAL_SIZE
staticconstexpr

Definition at line 64 of file trace_container.hpp.

◆ trace

std::unique_ptr<std::array<SparseColumn, NUM_COLUMNS_WITHOUT_SHIFTS> > bb::avm2::tracegen::TraceContainer::trace
private

Definition at line 145 of file trace_container.hpp.


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