49 vinfo(
"Translator circuit size: ", circuit.num_gates());
52 "The Translator circuit size has exceeded the fixed upper bound");
58 auto& wire_poly = wires[wire_idx];
59 const auto& wire = circuit.wires[wire_idx];
60 for (size_t i = 0; i < circuit.num_gates(); i++) {
61 if (i >= wire_poly.start_index() && i < wire_poly.end_index()) {
62 wire_poly.at(i) = circuit.get_variable(wire[i]);
64 BB_ASSERT_EQ(circuit.get_variable(wire[i]), 0);
72 auto& wire = wires[idx];
73 for (
size_t i = wire.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; i < wire.end_index(); i++) {
109 const size_t max_value = (1 << Flavor::MICRO_LIMB_BITS) - 1;
112 for (
size_t idx : chunk.
range(Flavor::SORTED_STEPS_COUNT)) {
113 inner_array[idx] = max_value - Flavor::SORT_STEP * idx;
120 return sorted_elements;
123 void compute_lagrange_polynomials();
125 void compute_extra_range_constraint_numerator();
127 void compute_translator_range_constraint_ordered_polynomials();
129 void compute_concatenated_polynomials();
131 void split_concatenated_random_coefficients_to_ordered();
#define BB_ASSERT_LTE(left, right,...)
#define BB_BENCH_NAME(name)
A container for the prover polynomials handles.
The proving key is responsible for storing the polynomials used by the prover.
static constexpr size_t MINI_CIRCUIT_SIZE
static constexpr size_t NUM_OP_QUEUE_WIRES
TranslatorCircuitBuilder CircuitBuilder
static constexpr size_t CONCATENATION_GROUP_SIZE
static constexpr size_t NUM_MASKED_ROWS_END
bb::Polynomial< FF > Polynomial
void compute_concatenated_polynomials()
Construct a set of polynomials that are the result of concatenating a group of polynomials into one....
static std::array< size_t, Flavor::SORTED_STEPS_COUNT > get_sorted_steps()
Create the array of steps inserted in each ordered range constraint to ensure they respect the approp...
static constexpr size_t mini_circuit_dyadic_size
void compute_extra_range_constraint_numerator()
Compute the extra numerator for the grand product polynomial.
static constexpr size_t dyadic_circuit_size_without_masking
void compute_translator_range_constraint_ordered_polynomials()
Compute denominator polynomials for Translator's range constraint permutation.
static constexpr size_t dyadic_circuit_size
TranslatorProvingKey(const Circuit &circuit)
typename Flavor::ProverPolynomials ProverPolynomials
std::shared_ptr< ProvingKey > proving_key
static constexpr size_t dyadic_mini_circuit_size_without_masking
typename Flavor::ProvingKey ProvingKey
TranslatorProvingKey()=default
typename Flavor::Polynomial Polynomial
void compute_lagrange_polynomials()
Constructs all Lagrange precomputed polynomials required for Translator relations....
typename Flavor::CircuitBuilder Circuit
Entry point for Barretenberg command-line interface.
void parallel_for(size_t num_iterations, const std::function< void(size_t)> &func)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
auto range(size_t size, size_t offset=0) const
static field random_element(numeric::RNG *engine=nullptr) noexcept