|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Lazy edge container for USE_SHORT_MONOMIALS flavors, generic over the lane element type. More...
#include <sumcheck_round.hpp>
Public Types | |
| using | EntityId = typename Flavor::template ProverUnivariates< 2 >::EntityId |
Public Member Functions | |
| LazyExtendedEdges (const Multivariates &multivariates) | |
| void | set_current_edge (const size_t edge_idx) |
| const bb::Univariate< Element, 2 > & | operator[] (const EntityId id) const |
Private Types | |
| using | Cache = std::conditional_t< cache_on_heap, std::vector< bb::Univariate< Element, 2 > >, std::array< bb::Univariate< Element, 2 >, Flavor::NUM_ALL_ENTITIES > > |
Private Attributes | |
| const Multivariates & | multivariates |
| Cache | cache {} |
| size_t | current_edge = 0 |
| std::bitset< Flavor::NUM_ALL_ENTITIES > | materialized |
Static Private Attributes | |
| static constexpr bool | cache_on_heap = IsVectorField<Element> |
Lazy edge container for USE_SHORT_MONOMIALS flavors, generic over the lane element type.
For short-monomial flavors the edge "extension" is the identity (relations consume the degree-1 edge \(\{P_j(\text{edge}), P_j(\text{edge}+1)\}\) directly), so the eager extend_edges copies all NUM_ALL_ENTITIES columns up front, including columns of relations that skip() on this row. This container instead materializes each entity's edge on first access for the current edge, so columns never read by an active relation are never touched. Values are cached in inline storage and returned by reference, so UnivariateView consumers (which alias their operand) stay valid. Relations index exclusively via operator[](EntityId) (verified across the relation set), so the named accessors / get_all of the materialized container are not needed here.
Element is FF (one trace row per edge) or VectorField (the SIMD path), where each entity's edge spans lane_count rows, lane j read from row edge + 2j.
Definition at line 254 of file sumcheck_round.hpp.
|
private |
Definition at line 295 of file sumcheck_round.hpp.
| using bb::SumcheckProverRound< Flavor >::LazyExtendedEdges< Multivariates, Element >::EntityId = typename Flavor::template ProverUnivariates<2>::EntityId |
Definition at line 256 of file sumcheck_round.hpp.
|
inlineexplicit |
Definition at line 258 of file sumcheck_round.hpp.
|
inline |
Definition at line 272 of file sumcheck_round.hpp.
|
inline |
Definition at line 266 of file sumcheck_round.hpp.
|
mutableprivate |
Definition at line 298 of file sumcheck_round.hpp.
|
staticconstexprprivate |
Definition at line 294 of file sumcheck_round.hpp.
|
private |
Definition at line 299 of file sumcheck_round.hpp.
|
mutableprivate |
Definition at line 300 of file sumcheck_round.hpp.
|
private |
Definition at line 289 of file sumcheck_round.hpp.