Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
cdg Namespace Reference

Classes

struct  ConnectedComponent
 
struct  KeyEquals
 
struct  KeyHasher
 
class  StaticAnalyzer_
 

Typedefs

using KeyPair = std::pair< uint32_t, const void * >
 
using UltraStaticAnalyzer = StaticAnalyzer_< bb::fr, bb::UltraCircuitBuilder >
 
using MegaStaticAnalyzer = StaticAnalyzer_< bb::fr, bb::MegaCircuitBuilder >
 
using StaticAnalyzer = UltraStaticAnalyzer
 

Typedef Documentation

◆ KeyPair

using cdg::KeyPair = typedef std::pair<uint32_t, const void*>

We've added a new feature to the static analyzer that tracks which gates contain each variable. This is helpful for removing false-positive variables from the analyzer by using gate selectors combined with additional knowledge about variables (e.g., tau or range tags).

This information is stored in an unordered map with keys of type std::pair<uint32_t, const void*>, where:

  • uint32_t represents the real variable index
  • const void* is a pointer to the block containing the variable (used as a unique block identifier)

Since std::unordered_map doesn't provide default hash and equality functions for std::pair keys, we've implemented these ourselves. Our approach is based on the hash_combine function from the Boost library, which efficiently combines hashes of the two elements in the pair.

Definition at line 33 of file graph.hpp.

◆ MegaStaticAnalyzer

Definition at line 189 of file graph.hpp.

◆ StaticAnalyzer

Definition at line 190 of file graph.hpp.

◆ UltraStaticAnalyzer