24 BB_ASSERT(constraint.
inputs.size() % 16 == 0,
"Inputs must be a multiple of 16");
25 BB_ASSERT(constraint.
outputs.size() == constraint.
inputs.size(),
"Outputs must have the same length as inputs");
29 for (
size_t i = 0; i < 16; ++i) {
36 byte.create_range_constraint(8);
45 for (
const auto& output : outputs) {
51 byte.create_range_constraint(8);
59 for (
size_t i = 0; i < constraint.
inputs.size(); i += 16) {
62 to_add = convert_input(
65 converted_inputs.emplace_back(to_add);
69 for (
size_t i = 0; i < constraint.
outputs.size(); i += 16) {
71 converted_outputs.emplace_back(convert_output(outputs));
75 converted_inputs, convert_input(constraint.
iv,
builder), convert_input(constraint.
key,
builder));
77 for (
size_t i = 0; i < output_bytes.size(); ++i) {
78 output_bytes[i].assert_equal(converted_outputs[i]);
#define BB_ASSERT(expression,...)
static field_t from_witness_index(Builder *ctx, uint32_t witness_index)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept