Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
relation_types.hpp File Reference
#include "barretenberg/ecc/curves/bn254/fr.hpp"
#include "nested_containers.hpp"
#include <algorithm>

Go to the source code of this file.

Classes

class  bb::Relation< RelationImpl >
 A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribution of a given relation to the corresponding accumulator. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Concepts

concept  IsField
 
concept  bb::HasSubrelationLinearlyIndependentMember
 
concept  bb::HasParameterLengthAdjustmentsMember
 
concept  bb::isSkippable
 The templates defined herein facilitate sharing the relation arithmetic between the prover and the verifier.
 
concept  bb::isRowSkippable
 Check if the flavor has a static skip method to determine if accumulation of all relations can be skipped for a given row.
 

Typedefs

template<typename Params , typename View >
using bb::GetParameterView = std::conditional_t< IsField< typename Params::DataType >, typename Params::DataType, View >
 A type to optionally extract a view of a relation parameter in a relation.
 

Functions

template<typename Relation , size_t subrelation_index>
constexpr bool bb::subrelation_is_linearly_independent ()
 Check whether a given subrelation is linearly independent from the other subrelations.
 
template<typename RelationImpl >
consteval std::array< size_t, RelationImpl::SUBRELATION_PARTIAL_LENGTHS.size()> bb::compute_total_subrelation_lengths ()
 Compute the total subrelation lengths, i.e., the lengths when regarding the challenges as variables.
 
template<size_t NUM_KEYS, size_t NUM_SUBRELATIONS>
consteval std::array< size_t, NUM_SUBRELATIONS > bb::compute_composed_subrelation_partial_lengths (std::array< size_t, NUM_SUBRELATIONS > SUBRELATION_PARTIAL_LENGTHS)
 Get the subrelation accumulators for the Protogalaxy combiner calculation.