|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#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 |