Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
graph_description_blake3s.test.cpp
Go to the documentation of this file.
6#include "graph.hpp"
7#include <gtest/gtest.h>
8
9using namespace bb;
10using namespace cdg;
11
15
29TEST(boomerang_stdlib_blake3s, test_single_block_plookup)
30{
31 auto builder = UltraBuilder();
32 std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01";
33 std::vector<uint8_t> input_v(input.begin(), input.end());
34 byte_array_plookup input_arr(&builder, input_v);
36 std::vector<uint8_t> expected = blake3::blake3s(input_v);
38 auto connected_components = graph.find_connected_components();
39 EXPECT_EQ(connected_components.size(), 1);
40 auto variables_in_one_gate = graph.show_variables_in_one_gate(builder);
41 EXPECT_EQ(variables_in_one_gate.size(), 0);
42}
43
50TEST(boomerang_stdlib_blake3s, test_double_block_plookup)
51{
52 auto builder = UltraBuilder();
53 std::string input = "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789";
54 std::vector<uint8_t> input_v(input.begin(), input.end());
55
56 byte_array_plookup input_arr(&builder, input_v);
58
59 std::vector<uint8_t> expected = blake3::blake3s(input_v);
60
62 auto connected_components = graph.find_connected_components();
63 EXPECT_EQ(connected_components.size(), 1);
64 auto variables_in_one_gate = graph.show_variables_in_one_gate(builder);
65 EXPECT_EQ(variables_in_one_gate.size(), 0);
66}
static byte_array_ct hash(const byte_array_ct &input)
Definition blake3s.cpp:183
Represents a dynamic array of bytes in-circuit.
std::unordered_set< uint32_t > show_variables_in_one_gate(bb::UltraCircuitBuilder &ultra_circuit_builder)
this method returns a final set of variables that were in one gate
Definition graph.cpp:1190
std::vector< std::vector< uint32_t > > find_connected_components()
this methond finds all connected components in the graph described by adjacency lists
Definition graph.cpp:794
AluTraceBuilder builder
Definition alu.test.cpp:123
TEST(boomerang_stdlib_blake3s, test_single_block_plookup)
Test graph description for blake3s hash with different block sizes.
UltraCircuitBuilder UltraBuilder
Entry point for Barretenberg command-line interface.
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
std::vector< uint8_t > blake3s(std::vector< uint8_t > const &input)
Definition graph.cpp:11
StaticAnalyzer_< bb::fr > StaticAnalyzer
Definition graph.hpp:201