7template <
typename OuterFlavor>
8static void compare_ultra_blocks_and_verification_keys(
16 auto check_eq = [&broke](
auto& p1,
auto& p2,
size_t block_idx,
size_t selector_idx) {
18 for (
size_t idx = 0; idx < p1.size(); idx++) {
19 if (p1[idx] != p2[idx]) {
20 info(
"Mismatch selector ", selector_idx,
" in block ", block_idx,
", at ", idx);
28 for (
auto [block_0, block_1] :
zip_view(blocks[0].
get(), blocks[1].
get())) {
29 BB_ASSERT_EQ(block_0.get_selectors().size(), block_1.get_selectors().size());
30 size_t selector_idx = 0;
31 for (
auto [p_10, p_11] :
zip_view(block_0.get_selectors(), block_1.get_selectors())) {
32 check_eq(p_10, p_11, block_idx, selector_idx);
38 typename OuterFlavor::CommitmentLabels labels;
39 for (
auto [vk_0, vk_1, label] :
40 zip_view(verification_keys[0]->get_all(), verification_keys[1]->get_all(), labels.get_precomputed())) {
43 info(
"Mismatch verification key label: ", label,
" left: ", vk_0,
" right: ", vk_1);
47 BB_ASSERT_EQ(verification_keys[0]->log_circuit_size, verification_keys[1]->log_circuit_size);
48 BB_ASSERT_EQ(verification_keys[0]->num_public_inputs, verification_keys[1]->num_public_inputs);
49 BB_ASSERT_EQ(verification_keys[0]->pub_inputs_offset, verification_keys[1]->pub_inputs_offset);
#define BB_ASSERT(expression,...)
#define BB_ASSERT_EQ(actual, expected,...)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept