53 const size_t num_gates = circuit.
num_gates();
61 auto wire_refs = values.get_wires();
73 auto shifted_refs = shifted_base.get_all();
74 if (row_idx + 1 < num_gates) {
76 for (
size_t j = 0; j < 80; j++) {
93 const size_t num_without_mask = (num_gates > end_masking_rows) ? (num_gates - end_masking_rows) : num_gates;
96 const bool in_end_random_range = (row_idx >= num_without_mask);
97 const bool in_processing_range = (row_idx >=
RESULT_ROW && row_idx < num_without_mask);
98 const bool is_even = (row_idx % 2 == 0);
100 values.lagrange_mini_masking =
Fr(in_start_random_range || in_end_random_range ? 1 : 0);
101 values.lagrange_even_in_minicircuit =
Fr(in_processing_range && is_even ? 1 : 0);
102 values.lagrange_odd_in_minicircuit =
Fr(in_processing_range && !is_even ? 1 : 0);
103 values.lagrange_result_row =
Fr(row_idx ==
RESULT_ROW ? 1 : 0);
104 values.lagrange_last_in_minicircuit =
Fr(num_without_mask > 0 && row_idx == num_without_mask - 1 ? 1 : 0);
117 for (
size_t i = 0; i < circuit.
num_gates(); ++i) {
120 if (!check_relation<OpcodeConstraint>(values, params)) {
121 info(
"TranslatorCircuitChecker: Failed TranslatorOpcodeConstraintRelation at row = ", i);
124 if (!check_relation<AccumulatorTransfer>(values, params)) {
125 info(
"TranslatorCircuitChecker: Failed TranslatorAccumulatorTransferRelation at row = ", i);
128 if (!check_relation<Decomposition>(values, params)) {
129 info(
"TranslatorCircuitChecker: Failed TranslatorDecompositionRelation at row = ", i);
132 if (!check_relation<NonNativeField>(values, params)) {
133 info(
"TranslatorCircuitChecker: Failed TranslatorNonNativeFieldRelation at row = ", i);
#define BB_ASSERT_GT(left, right,...)
#define BB_ASSERT_LT(left, right,...)
FF get_variable(const uint32_t index) const
Get the value of the variable v_{index}.
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
TranslatorCircuitBuilder creates a circuit that evaluates the correctness of the evaluation of EccOpQ...
static std::array< Fr, NUM_BINARY_LIMBS > split_fq_into_limbs(const Fq &base)
A small function to transform a native element Fq into its bigfield representation in Fr scalars.
std::array< std::vector< uint32_t >, NUM_WIRES > wires
static constexpr size_t RESULT_ROW
static void populate_values(const Builder &circuit, AllValues &values, size_t row_idx)
Populate an AllValues struct for a single row of the circuit.
static Params compute_relation_params(const Builder &circuit)
Build the RelationParameters from the circuit's public inputs.
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
Represents polynomials shifted by 1 or their evaluations, defined relative to WireToBeShiftedEntities...
static constexpr size_t RANDOMNESS_START
static constexpr size_t NUM_MASKED_ROWS_END
Entry point for Barretenberg command-line interface.
Container for parameters used by the grand product (permutation, lookup) Honk relations.
std::array< std::array< T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR+NUM_NATIVE_LIMBS_IN_GOBLIN_TRANSLATOR >, NUM_CHALLENGE_POWERS_IN_GOBLIN_TRANSLATOR > batching_challenge_v
std::array< T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR > accumulated_result
std::array< T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR+NUM_NATIVE_LIMBS_IN_GOBLIN_TRANSLATOR > evaluation_input_x