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.
1
#include "
barretenberg/honk/composer/permutation_lib.hpp
"
2
#include "
barretenberg/flavor/ultra_flavor.hpp
"
3
#include "
barretenberg/honk/composer/composer_lib.hpp
"
4
#include "
barretenberg/honk/types/circuit_type.hpp
"
5
#include "
barretenberg/srs/global_crs.hpp
"
6
#include <array>
7
#include <gtest/gtest.h>
8
9
using namespace
bb
;
10
11
class
PermutationHelperTests
:
public
::testing::Test {
12
protected
:
13
using
Flavor
=
UltraFlavor
;
14
using
FF
=
typename
Flavor::FF
;
15
Flavor::CircuitBuilder
circuit_constructor
;
16
17
virtual
void
SetUp
()
18
{
19
bb::srs::init_file_crs_factory
(
bb::srs::bb_crs_path
());
20
circuit_constructor
.
add_public_variable
(1024);
21
circuit_constructor
.
add_public_variable
(1025);
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
60
TEST_F
(
PermutationHelperTests
, ComputePermutationMapping)
61
{
62
// TODO(#425) Flesh out these tests
63
}
64
65
TEST_F
(
PermutationHelperTests
, ComputeHonkStyleSigmaLagrangePolynomialsFromMapping)
66
{
67
// TODO(#425) Flesh out these tests
68
}
circuit_type.hpp
PermutationHelperTests
Definition
permutation_lib.test.cpp:11
PermutationHelperTests::SetUp
virtual void SetUp()
Definition
permutation_lib.test.cpp:17
PermutationHelperTests::circuit_constructor
Flavor::CircuitBuilder circuit_constructor
Definition
permutation_lib.test.cpp:15
PermutationHelperTests::FF
typename Flavor::FF FF
Definition
permutation_lib.test.cpp:14
bb::CircuitBuilderBase::add_variable
virtual uint32_t add_variable(const FF &in)
Definition
circuit_builder_base_impl.hpp:83
bb::CircuitBuilderBase::add_public_variable
virtual uint32_t add_public_variable(const FF &in)
Definition
circuit_builder_base_impl.hpp:146
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:42
bb::UltraCircuitBuilder_::create_add_gate
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....
Definition
ultra_circuit_builder.cpp:294
bb::UltraFlavor
Definition
ultra_flavor.hpp:35
bb::UltraFlavor::FF
Curve::ScalarField FF
Definition
ultra_flavor.hpp:39
composer_lib.hpp
global_crs.hpp
bb::srs::bb_crs_path
std::filesystem::path bb_crs_path()
Definition
global_crs.cpp:14
bb::srs::init_file_crs_factory
void init_file_crs_factory(const std::filesystem::path &path)
Definition
global_crs.hpp:14
bb
Entry point for Barretenberg command-line interface.
Definition
acir_format_getters.cpp:6
bb::TEST_F
TEST_F(IPATest, ChallengesAreZero)
Definition
ipa.test.cpp:123
permutation_lib.hpp
Contains various functions that help construct Honk Sigma and Id polynomials.
ultra_flavor.hpp
src
barretenberg
flavor
permutation_lib.test.cpp
Generated by
1.9.8