Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::GateRow< FF, NUM_WIRES > Struct Template Reference

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

#include <execution_trace_block.hpp>

Public Member Functions

bool operator== (const GateRow &other) const =default
 

Public Attributes

std::array< uint32_t, NUM_WIRES > wires {}
 
FF q_m {}
 
FF q_c {}
 
FF q_1 {}
 
FF q_2 {}
 
FF q_3 {}
 
FF q_4 {}
 
FF q_5 {}
 
GateKind gate_kind = GateKind::None
 
FF gate_value {}
 

Detailed Description

template<typename FF, size_t NUM_WIRES>
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).

Row-major storage: each gate is one contiguous append into one vector, instead of scattered appends into per-column vectors (4 wires + 7 selectors + one vector per owned gate kind). All gate creation paths either activate a single owned kind or leave every owned kind zero, so (gate_kind, gate_value) captures the full gate-selector row.

Definition at line 74 of file execution_trace_block.hpp.

Member Function Documentation

◆ operator==()

template<typename FF , size_t NUM_WIRES>
bool bb::GateRow< FF, NUM_WIRES >::operator== ( const GateRow< FF, NUM_WIRES > &  other) const
default

Member Data Documentation

◆ gate_kind

template<typename FF , size_t NUM_WIRES>
GateKind bb::GateRow< FF, NUM_WIRES >::gate_kind = GateKind::None

Definition at line 83 of file execution_trace_block.hpp.

◆ gate_value

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::gate_value {}

Definition at line 84 of file execution_trace_block.hpp.

◆ q_1

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_1 {}

Definition at line 78 of file execution_trace_block.hpp.

◆ q_2

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_2 {}

Definition at line 79 of file execution_trace_block.hpp.

◆ q_3

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_3 {}

Definition at line 80 of file execution_trace_block.hpp.

◆ q_4

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_4 {}

Definition at line 81 of file execution_trace_block.hpp.

◆ q_5

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_5 {}

Definition at line 82 of file execution_trace_block.hpp.

◆ q_c

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_c {}

Definition at line 77 of file execution_trace_block.hpp.

◆ q_m

template<typename FF , size_t NUM_WIRES>
FF bb::GateRow< FF, NUM_WIRES >::q_m {}

Definition at line 76 of file execution_trace_block.hpp.

◆ wires

template<typename FF , size_t NUM_WIRES>
std::array<uint32_t, NUM_WIRES> bb::GateRow< FF, NUM_WIRES >::wires {}

Definition at line 75 of file execution_trace_block.hpp.


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