Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
permutation_lib.test.cpp
Go to the documentation of this file.
6#include <array>
7#include <gtest/gtest.h>
8
9using namespace bb;
10
11class PermutationHelperTests : public ::testing::Test {
12 protected:
14 using FF = typename Flavor::FF;
16
17 virtual void SetUp()
18 {
22
23 uint32_t v_1 = circuit_constructor.add_variable(16 + 1);
24 uint32_t v_2 = circuit_constructor.add_variable(16 + 2);
25 uint32_t v_3 = circuit_constructor.add_variable(16 + 3);
26 uint32_t v_4 = circuit_constructor.add_variable(16 + 4);
27 uint32_t v_5 = circuit_constructor.add_variable(16 + 5);
28 uint32_t v_6 = circuit_constructor.add_variable(16 + 6);
29 uint32_t v_7 = circuit_constructor.add_variable(16 + 7);
30 uint32_t v_8 = circuit_constructor.add_variable(16 + 8);
31 uint32_t v_9 = circuit_constructor.add_variable(16 + 9);
32 uint32_t v_10 = circuit_constructor.add_variable(16 + 10);
33 uint32_t v_11 = circuit_constructor.add_variable(16 + 11);
34 uint32_t v_12 = circuit_constructor.add_variable(16 + 12);
35
36 circuit_constructor.create_add_gate({ v_1, v_5, v_9, 0, 0, 0, 0 });
37 circuit_constructor.create_add_gate({ v_2, v_6, v_10, 0, 0, 0, 0 });
38 circuit_constructor.create_add_gate({ v_3, v_7, v_11, 0, 0, 0, 0 });
39 circuit_constructor.create_add_gate({ v_4, v_8, v_12, 0, 0, 0, 0 });
40
41 /* Execution trace:
42 w_l w_r w_o
43 ------------------------------
44 pub1_idx | pub1_idx | 0 <-- public inputs
45 pub2_idx | pub2_idx | 0 <-/
46 zero_idx | zero_idx | zero_idx <-- fix witness for 0
47 one_idx | zero_idx | zero_idx <-- fix witness for 1
48 one_idx | one_idx | one_idx <-- ensure nonzero selectors... TODO(Cody): redundant now
49 v_1 | v_5 | v_9
50 v_2 | v_6 | v_10
51 v_3 | v_7 | v_11
52 v_4 | v_8 | v_12
53
54 */
55
56 // construct_selector_polynomials<Flavor>(circuit_constructor, proving_key.get());
57 }
58};
59
60TEST_F(PermutationHelperTests, ComputePermutationMapping)
61{
62 // TODO(#425) Flesh out these tests
63}
64
65TEST_F(PermutationHelperTests, ComputeHonkStyleSigmaLagrangePolynomialsFromMapping)
66{
67 // TODO(#425) Flesh out these tests
68}
Flavor::CircuitBuilder circuit_constructor
virtual uint32_t add_variable(const FF &in)
virtual uint32_t add_public_variable(const FF &in)
void create_add_gate(const add_triple_< FF > &in) override
Create an addition gate, where in.a * in.a_scaling + in.b * in.b_scaling + in.c * in....
Curve::ScalarField FF
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
TEST_F(IPATest, ChallengesAreZero)
Definition ipa.test.cpp:123
Contains various functions that help construct Honk Sigma and Id polynomials.