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, size_t >
 
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, size_t>

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, size_t>, where:

  • uint32_t represents the real variable index
  • size_t represents the index of the UltraTraceBlock in the reference array of TraceBlocks contained within the Ultra Circuit Builder

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 27 of file graph.hpp.

◆ MegaStaticAnalyzer

Definition at line 183 of file graph.hpp.

◆ StaticAnalyzer

Definition at line 184 of file graph.hpp.

◆ UltraStaticAnalyzer