28template <
typename Builder>
32 result.reserve(witness_indices.size());
33 for (
const auto& idx : witness_indices) {
50 for (
auto&
field : fields) {
55 result.
write(byte_to_append);
72 std::vector<uint32_t> indices;
75 indices.emplace_back(witness.size());
76 witness.emplace_back(input.x);
77 indices.emplace_back(witness.size());
78 witness.emplace_back(input.y);
79 indices.emplace_back(witness.size());
80 witness.emplace_back(input.is_point_at_infinity() ?
bb::fr(1) :
bb::fr(0));
83 indices.reserve(input.size());
84 auto witness_idx =
static_cast<uint32_t
>(witness.size());
85 for (
const auto&
value : input) {
87 indices.push_back(witness_idx++);
99 uint32_t
index =
static_cast<uint32_t
>(witness.size());
100 witness.emplace_back(input);
108template <
typename T,
size_t N>
113 std::ranges::copy(tracked_indices, indices.begin());
121template <
typename Builder>
Represents a dynamic array of bytes in-circuit.
byte_array & write(byte_array const &other)
Appends the contents of another byte_array (other) to the end of this one.
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
General class for prime fields see Prime field documentation["field documentation"] for general imple...