9#include <gtest/gtest.h>
32 static std::vector<std::string>
get_labels() {
return {
"None",
"Input",
"Output" }; }
42 switch (invalid_witness_target) {
45 witness_values[constraint.
state[0].index] +=
bb::fr(1);
55 return { constraint, witness_values };
64 witness_values.emplace_back(
bb::fr(0));
73 auto input_indices = add_to_witness_and_track_indices<State, 4>(witness_values, input_state);
74 auto output_indices = add_to_witness_and_track_indices<State, 4>(witness_values, output_state);
82 .result = { output_indices[0], output_indices[1], output_indices[2], output_indices[3] },
87template <
class Builder>
93using BuilderTypes = testing::Types<UltraCircuitBuilder, MegaCircuitBuilder>;
100 TestFixture::template test_vk_independence<Flavor>();
106 [[maybe_unused]] std::vector<std::string> _ = TestFixture::test_tampering();
#define BB_DISABLE_ASSERTS()
static void SetUpTestSuite()
static void generate_constraints(Poseidon2Constraint &poseidon2_constraint, WitnessVector &witness_values)
Generate valid Poseidon2 constraint with correct witness values.
static ProgramMetadata generate_metadata()
static std::pair< AcirConstraint, WitnessVector > invalidate_witness(Poseidon2Constraint constraint, WitnessVector witness_values, const InvalidWitness::Target &invalid_witness_target)
Applies the Poseidon2 permutation function from https://eprint.iacr.org/2023/323.
static constexpr State permutation(const State &input)
Native form of Poseidon2 permutation from https://eprint.iacr.org/2023/323.
std::array< FF, t > State
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
TYPED_TEST_SUITE(BoomerangRecursiveVerifierTest, Flavors)
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
TYPED_TEST(ShpleminiTest, CorrectnessOfMultivariateClaimBatching)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
::testing::Types< UltraCircuitBuilder, MegaCircuitBuilder > BuilderTypes
static std::vector< Target > get_all()
static std::vector< std::string > get_labels()