Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
gate_patterns.hpp File Reference
#include <cstddef>
#include <cstdint>
#include <functional>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  bb::gate_patterns::Selectors
 Selector values read from a gate. More...
 
struct  bb::gate_patterns::WireSpec
 
struct  bb::gate_patterns::GatePattern
 Pattern defining which wires are constrained by a gate type. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::gate_patterns
 
namespace  bb::gate_patterns::nnf_helpers
 
namespace  bb::gate_patterns::memory_helpers
 

Typedefs

using bb::gate_patterns::Predicate = std::function< bool(const Selectors &)>
 

Enumerations

enum class  bb::gate_patterns::Wire : uint8_t {
  bb::gate_patterns::W_L , bb::gate_patterns::W_R , bb::gate_patterns::W_O , bb::gate_patterns::W_4 ,
  bb::gate_patterns::W_L_SHIFT , bb::gate_patterns::W_R_SHIFT , bb::gate_patterns::W_O_SHIFT , bb::gate_patterns::W_4_SHIFT
}
 

Functions

bool bb::gate_patterns::nnf_helpers::is_limb_accum_2 (const Selectors &sel)
 
bool bb::gate_patterns::nnf_helpers::is_product_3 (const Selectors &sel)
 
bool bb::gate_patterns::memory_helpers::is_timestamp_check (const Selectors &sel)
 
bool bb::gate_patterns::memory_helpers::is_rom_consistency (const Selectors &sel)
 
bool bb::gate_patterns::memory_helpers::is_ram_consistency (const Selectors &sel)
 
template<typename Block , typename GateSelectorColumn >
Selectors bb::gate_patterns::read_selectors (Block &block, size_t gate_index, const GateSelectorColumn &gate_selector_column)
 
template<typename Block >
uint32_t bb::gate_patterns::get_wire (Block &block, size_t gate_index, Wire wire)
 
bool bb::gate_patterns::is_shifted (Wire wire)
 
template<typename Block >
std::vector< uint32_t > bb::gate_patterns::extract_wires (Block &block, size_t gate_index, const GatePattern &pattern, const Selectors &selectors)
 

Variables

const GatePattern bb::gate_patterns::ARITHMETIC
 
const GatePattern bb::gate_patterns::ELLIPTIC
 
const GatePattern bb::gate_patterns::NON_NATIVE_FIELD
 
const GatePattern bb::gate_patterns::MEMORY
 
const GatePattern bb::gate_patterns::LOOKUP
 
const GatePattern bb::gate_patterns::DELTA_RANGE
 
const GatePattern bb::gate_patterns::POSEIDON2_INTERNAL
 
const GatePattern bb::gate_patterns::POSEIDON2_EXTERNAL
 
const GatePattern bb::gate_patterns::DATABUS