1#include <gtest/gtest.h>
3#include "../bool/bool.hpp"
4#include "../circuit_builders/circuit_builders.hpp"
11#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
13#define STDLIB_TYPE_ALIASES \
14 using Builder = TypeParam; \
15 using witness_ct = stdlib::witness_t<Builder>; \
16 using field_ct = stdlib::field_t<Builder>; \
17 using bool_ct = stdlib::bool_t<Builder>; \
18 using public_witness_ct = stdlib::public_witness_t<Builder>;
27template <
class Builder>
class LogicTest :
public testing::Test {};
81 for (
size_t i = 8; i < 248; i += 8) {
85 EXPECT_EQ(result,
true);
114 EXPECT_EQ(result,
true);
138 auto right_chunk =
uint256_t(3221225475);
146 EXPECT_EQ(result,
false);
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
virtual uint256_t get_random_uint256()=0
bb::fr get_value() const
Given a := *this, compute its value given by a.v * a.mul + a.add.
static field_pt create_logic_constraint(field_pt &a, field_pt &b, size_t num_bits, bool is_xor_gate, const std::function< std::pair< uint256_t, uint256_t >(uint256_t, uint256_t, size_t)> &get_chunk=[](uint256_t left, uint256_t right, size_t chunk_size) { uint256_t left_chunk=left &((uint256_t(1)<< chunk_size) - 1);uint256_t right_chunk=right &((uint256_t(1)<< chunk_size) - 1);return std::make_pair(left_chunk, right_chunk);})
A logical AND or XOR over a variable number of bits.
Contains all the headers required to adequately compile the types defined in circuit_builders_fwd....
ECCVMCircuitBuilder Builder
bn254::witness_ct witness_ct
#define STDLIB_TYPE_ALIASES
RNG & get_debug_randomness(bool reset, std::uint_fast64_t seed)
Entry point for Barretenberg command-line interface.
TYPED_TEST_SUITE(ShpleminiTest, TestSettings)
TYPED_TEST(ShpleminiTest, CorrectnessOfMultivariateClaimBatching)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
testing::Types< bb::UltraCircuitBuilder > CircuitTypes