Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
graph_description.test.cpp File Reference

Go to the source code of this file.

Functions

 TEST (boomerang_ultra_circuit_constructor, test_graph_for_arithmetic_gates)
 Test graph description of circuit with arithmetic gates.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_arithmetic_gates_with_shifts)
 Test graph description of Ultra Circuit Builder with arithmetic gates with shifts.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_boolean_gates)
 Test graph description of circuit with boolean gates.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_elliptic_add_gate)
 Test graph description for circuit with one elliptic addition gate.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_elliptic_double_gate)
 Test graph description for circuit with one elliptic double gate.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_elliptic_together)
 Test graph description for circuit with elliptic addition and multiplication gates.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_sort_constraints)
 Test graph description for circuit with 2 sort constraints.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_sort_constraints_with_edges)
 Test graph description for circuit with 2 sorted constraints with edges.
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_with_plookup_accumulators)
 Test graph description for circuit with gates created from plookup accumulators.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_arithmetic_gate)
 Test variable gate counts for variables from arithmetic gates without shifts.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_arithmetic_gate_with_shifts)
 Test variable gate counts for variables in circuit with gates with shifts.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_boolean_gates)
 Test variable gate counts for variables in circuit with boolean gates.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_sorted_constraints)
 Test variable gate counts in circuit with sorted constraints.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_sorted_constraints_with_edges)
 Test variable gate counts for variables in circuit with sorted constraints with edges.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_ecc_add_gates)
 Test variable gate counts for variables in circuit with elliptic addition gates.
 
 TEST (boomerang_ultra_circuit_constructor, test_variables_gates_counts_for_ecc_dbl_gate)
 Test variable gate counts for variables in circuit with elliptic double gates.
 
std::vector< uint32_t > add_variables (UltraCircuitBuilder &circuit_constructor, std::vector< fr > variables)
 
 TEST (boomerang_ultra_circuit_constructor, test_graph_for_range_constraints)
 Test graph description of circuit with range constraints.
 
 TEST (boomerang_ultra_circuit_constructor, composed_range_constraint)
 Test graph description of circuit with decompose function.
 

Function Documentation

◆ add_variables()

std::vector< uint32_t > add_variables ( UltraCircuitBuilder circuit_constructor,
std::vector< fr variables 
)

Definition at line 650 of file graph_description.test.cpp.

◆ TEST() [1/18]

TEST ( boomerang_ultra_circuit_constructor  ,
composed_range_constraint   
)

Test graph description of circuit with decompose function.

This test verifies that:

  • All variables must be in one connected component

Definition at line 686 of file graph_description.test.cpp.

◆ TEST() [2/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_arithmetic_gates   
)

Test graph description of circuit with arithmetic gates.

This test verifies that:

  • The number of connected components equals the number of pairs (i,j), where 0<=i,j<16
  • Each pair creates an isolated component, resulting in 256 total components

Definition at line 23 of file graph_description.test.cpp.

◆ TEST() [3/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_arithmetic_gates_with_shifts   
)

Test graph description of Ultra Circuit Builder with arithmetic gates with shifts.

This test verifies that:

  • When all gates have shifts, they form a single connected component
  • The shift operation connects all variables in the circuit

Definition at line 56 of file graph_description.test.cpp.

◆ TEST() [4/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_boolean_gates   
)

Test graph description of circuit with boolean gates.

This test verifies that:

  • All variables are isolated with boolean gates
  • The number of connected components is 0
  • All variables are in one gate

Definition at line 89 of file graph_description.test.cpp.

◆ TEST() [5/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_elliptic_add_gate   
)

Test graph description for circuit with one elliptic addition gate.

This test verifies that:

  • The circuit forms one connected component containing 6 variables
  • The variables represent the coordinates of three points: (x1,y1), (x2,y2), (x3,y3)
  • Where (x3,y3) is the result of adding (x1,y1) and (x2,y2)

Definition at line 116 of file graph_description.test.cpp.

◆ TEST() [6/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_elliptic_double_gate   
)

Test graph description for circuit with one elliptic double gate.

This test verifies that:

  • The circuit forms one connected component containing 4 variables
  • The variables represent the coordinates of two points: (x1,y1) and (x3,y3)
  • Where (x3,y3) is the result of doubling (x1,y1)

Definition at line 151 of file graph_description.test.cpp.

◆ TEST() [7/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_elliptic_together   
)

Test graph description for circuit with elliptic addition and multiplication gates.

This test verifies that:

  • The circuit forms 2 connected components
  • First component contains: x1, y1, x2, y2, x3, y3, x4, y4
  • Second component contains: x5, y5, x6, y6, x7, y7, x8, y8
  • Each component represents a separate elliptic curve operation sequence

Definition at line 183 of file graph_description.test.cpp.

◆ TEST() [8/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_range_constraints   
)

Test graph description of circuit with range constraints.

This test verifies that:

  • All variables must be in one connected component

Definition at line 666 of file graph_description.test.cpp.

◆ TEST() [9/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_sort_constraints   
)

Test graph description for circuit with 2 sort constraints.

This test verifies that:

  • The circuit forms 2 connected components
  • First component contains: a_idx, b_idx, c_idx, d_idx
  • Second component contains: e_idx, f_idx, g_idx, h_idx
  • Each sort constraint creates its own connected component

Definition at line 240 of file graph_description.test.cpp.

◆ TEST() [10/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_for_sort_constraints_with_edges   
)

Test graph description for circuit with 2 sorted constraints with edges.

This test verifies that:

  • The circuit forms 2 connected components
  • First component contains: a_idx through h_idx
  • Second component contains: a1_idx through h1_idx
  • Each sort constraint with edges creates its own connected component

Definition at line 280 of file graph_description.test.cpp.

◆ TEST() [11/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_graph_with_plookup_accumulators   
)

Test graph description for circuit with gates created from plookup accumulators.

This test verifies that:

  • The circuit forms one connected component
  • Plookup accumulator gates connect all variables in the circuit

Definition at line 337 of file graph_description.test.cpp.

◆ TEST() [12/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_arithmetic_gate   
)

Test variable gate counts for variables from arithmetic gates without shifts.

This test verifies that:

  • Each variable (except index 0) appears in exactly one gate
  • Variables with index 0 appear in no gates

Definition at line 368 of file graph_description.test.cpp.

◆ TEST() [13/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_arithmetic_gate_with_shifts   
)

Test variable gate counts for variables in circuit with gates with shifts.

This test verifies that:

  • Variables with index == 0 mod 4 and index != 4 have gate count == 2
  • All other variables (except index 0) have gate count == 1
  • Variables with index 0 have gate count == 0

Definition at line 404 of file graph_description.test.cpp.

◆ TEST() [14/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_boolean_gates   
)

Test variable gate counts for variables in circuit with boolean gates.

This test verifies that:

  • All variables (except index 0) have gate count == 1
  • Variables with index 0 have gate count == 0

Definition at line 443 of file graph_description.test.cpp.

◆ TEST() [15/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_ecc_add_gates   
)

Test variable gate counts for variables in circuit with elliptic addition gates.

This test verifies that:

  • All variables in the connected component have gate count == 1
  • The component contains the 6 variables representing the coordinates of the points

Definition at line 580 of file graph_description.test.cpp.

◆ TEST() [16/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_ecc_dbl_gate   
)

Test variable gate counts for variables in circuit with elliptic double gates.

This test verifies that:

  • All variables in the connected component have gate count == 1
  • The component contains the 4 variables representing the coordinates of the point

Definition at line 621 of file graph_description.test.cpp.

◆ TEST() [17/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_sorted_constraints   
)

Test variable gate counts in circuit with sorted constraints.

This test verifies that:

  • All variables in both connected components have gate count == 1
  • Each sort constraint creates a separate component with consistent gate counts

Definition at line 469 of file graph_description.test.cpp.

◆ TEST() [18/18]

TEST ( boomerang_ultra_circuit_constructor  ,
test_variables_gates_counts_for_sorted_constraints_with_edges   
)

Test variable gate counts for variables in circuit with sorted constraints with edges.

This test verifies that:

  • All variables in both connected components have gate count == 1
  • Each sort constraint with edges creates a separate component with consistent gate counts

Definition at line 515 of file graph_description.test.cpp.