Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
execution_trace_block.hpp File Reference
#include "barretenberg/common/assert.hpp"
#include "barretenberg/common/constexpr_utils.hpp"
#include "barretenberg/common/mem.hpp"
#include "barretenberg/common/ref_array.hpp"
#include "barretenberg/common/ref_vector.hpp"
#include "barretenberg/common/serialize.hpp"
#include "barretenberg/common/throw_or_abort.hpp"
#include <bit>
#include <cstddef>
#include <cstring>
#include <utility>

Go to the source code of this file.

Classes

struct  bb::GateRow< FF, NUM_WIRES >
 One gate: its wire indices, the non-gate selectors present on every block (see NON_GATE_SELECTORS), and the single active gate selector (kind + value; at most one gate kind is active per row). More...
 
struct  bb::GateTile< FF, NUM_WIRES >
 
struct  bb::NonGateSelectorField< FF, NUM_WIRES >
 The (GateRow field, GateTile field) pair of one non-gate selector. More...
 
class  bb::Selector< FF >
 Read (and targeted-write) interface over one selector column. More...
 
class  bb::SelectorColumn< FF, NUM_WIRES >
 Column view over one non-gate selector field of the row-major gate storage. More...
 
class  bb::GateSelectorColumn< FF, NUM_WIRES >
 Column view over the gate selector of one kind in the row-major gate storage: rows whose gate_kind matches read their gate_value, all other rows read zero. More...
 
class  bb::WireColumn< FF, NUM_WIRES >
 Mutable view over one wire column of the row-major gate storage. More...
 
class  bb::WireColumn< FF, NUM_WIRES >::const_iterator
 
class  bb::ExecutionTraceBlock< FF, NUM_WIRES_ >
 Row-major storage for the gates of one execution trace block: one vector of GateRow. Column accessors (wires, q_m..q_5, gate selectors) return persistent views into the rows. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Enumerations

enum class  bb::GateKind : uint8_t {
  bb::None = 0 , bb::BusRead , bb::Lookup , bb::Arith ,
  bb::BilinearBatchedEq , bb::DeltaRange , bb::Elliptic , bb::Memory ,
  bb::Nnf , bb::Poseidon2Ext , bb::Poseidon2Int , bb::Poseidon2ExtInitial ,
  bb::Poseidon2QuadInt , bb::Poseidon2QuadIntTerminal , bb::Poseidon2TransitionEntry
}
 Tag identifying which gate selector a block owns. Used by cross-block readers to decide whether (block, idx) returns the block's value or zero. More...
 

Functions

template<typename FF , size_t NUM_WIRES>
FF bb::read_gate_selector (const ExecutionTraceBlock< FF, NUM_WIRES > &block, GateKind kind, size_t idx)
 Gate-selector value at (block, idx) for kind, returning zero if the block does not own this kind or the row's active kind differs. Use at cross-block read sites where the caller iterates blocks of unknown kind.
 

Variables

template<typename FF , size_t NUM_WIRES>
constexpr std::array bb::NON_GATE_SELECTORS