13template <
typename OuterFlavor>
14static void compare_ultra_blocks_and_verification_keys(
22 auto check_eq = [&broke](
auto& p1,
auto& p2,
size_t block_idx,
size_t selector_idx) {
24 for (
size_t idx = 0; idx < p1.size(); idx++) {
25 if (p1[idx] != p2[idx]) {
26 info(
"Mismatch selector ", selector_idx,
" in block ", block_idx,
", at ", idx);
34 for (
auto [block_0, block_1] :
zip_view(blocks[0].
get(), blocks[1].
get())) {
35 BB_ASSERT_EQ(block_0.get_selectors().size(), block_1.get_selectors().size());
36 size_t selector_idx = 0;
37 for (
auto [p_10, p_11] :
zip_view(block_0.get_selectors(), block_1.get_selectors())) {
38 check_eq(p_10, p_11, block_idx, selector_idx);
44 typename OuterFlavor::CommitmentLabels labels;
45 for (
auto [vk_0, vk_1, label] :
46 zip_view(verification_keys[0]->get_all(), verification_keys[1]->get_all(), labels.get_precomputed())) {
49 info(
"Mismatch verification key label: ", label,
" left: ", vk_0,
" right: ", vk_1);
53 BB_ASSERT_EQ(verification_keys[0]->log_circuit_size, verification_keys[1]->log_circuit_size);
54 BB_ASSERT_EQ(verification_keys[0]->num_public_inputs, verification_keys[1]->num_public_inputs);
55 BB_ASSERT_EQ(verification_keys[0]->pub_inputs_offset, verification_keys[1]->pub_inputs_offset);
#define BB_ASSERT_EQ(actual, expected,...)
#define ASSERT(expression,...)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept