Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF_ > Class Template Reference

#include <translator_shiftable_first_coeff_zero_short_relation.hpp>

Public Types

using FF = FF_
 

Static Public Member Functions

template<typename AllEntities >
static bool skip (const AllEntities &in)
 Returns true if the contribution from all subrelations for the provided inputs is identically zero.
 
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
static void accumulate (ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters &, const FF &scaling_factor)
 Anchors the first coefficient of the shiftable ordered_range_constraints polynomials to zero.
 

Static Public Attributes

static constexpr size_t RELATION_LENGTH = 3
 
static constexpr std::array< size_t, 5 > SUBRELATION_PARTIAL_LENGTHS
 

Detailed Description

template<typename FF_>
class bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF_ >

Definition at line 13 of file translator_shiftable_first_coeff_zero_short_relation.hpp.

Member Typedef Documentation

◆ FF

Member Function Documentation

◆ accumulate()

template<typename FF >
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
void bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF >::accumulate ( ContainerOverSubrelations &  accumulators,
const AllEntities in,
const Parameters &  ,
const FF scaling_factor 
)
static

Anchors the first coefficient of the shiftable ordered_range_constraints polynomials to zero.

Anchors ordered_range_constraints_i[0] = 0 for each of the 5 sorted range-check wires (short-monomial form).

Short-monomial counterpart of TranslatorShiftableFirstCoeffZeroRelation: pins ordered_range_constraints_i[0] = 0, making explicit the lower-endpoint invariant that the Gemini/Shplemini shift mechanic already enforces. See the long relation for the full rationale.

Parameters
evalstransformed to evals + C(in(X)...)*scaling_factor
inan std::array containing the fully extended Univariate edges.
parameterscontains beta, gamma, and public_input_delta, ....
scaling_factoroptional term to scale the evaluation before adding to evals.
evalstransformed to evals + C(in(X)...)*scaling_factor
inan std::array containing the fully extended Univariate edges.
parameterscontains beta, gamma, and public_input_delta, ....
scaling_factoroptional term to scale the evaluation before adding to evals.

Definition at line 22 of file translator_shiftable_first_coeff_zero_short_relation_impl.hpp.

◆ skip()

template<typename FF_ >
template<typename AllEntities >
static bool bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF_ >::skip ( const AllEntities in)
inlinestatic

Returns true if the contribution from all subrelations for the provided inputs is identically zero.

Every subrelation carries a lagrange_first factor, so on any edge where lagrange_first is identically zero all five contributions are the zero polynomial. lagrange_first is nonzero only on the first row, so this skips the degree-2 products on essentially every edge. This tests the actual edge values (not a selector), so it is sound in every sumcheck round.

Definition at line 37 of file translator_shiftable_first_coeff_zero_short_relation.hpp.

Member Data Documentation

◆ RELATION_LENGTH

template<typename FF_ >
constexpr size_t bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF_ >::RELATION_LENGTH = 3
staticconstexpr

◆ SUBRELATION_PARTIAL_LENGTHS

template<typename FF_ >
constexpr std::array<size_t, 5> bb::TranslatorShiftableFirstCoeffZeroShortRelationImpl< FF_ >::SUBRELATION_PARTIAL_LENGTHS
staticconstexpr
Initial value:
{
3,
3,
3,
3,
3
}

Definition at line 21 of file translator_shiftable_first_coeff_zero_short_relation.hpp.


The documentation for this class was generated from the following files: