Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
logderivative_library.hpp File Reference
#include "barretenberg/common/constexpr_utils.hpp"
#include "barretenberg/common/thread.hpp"
#include "barretenberg/common/tuple.hpp"
#include <span>
#include <typeinfo>

Go to the source code of this file.

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Functions

template<typename FF , typename Relation , typename Polynomials , bool UseMultithreading = false>
void bb::compute_logderivative_inverse (Polynomials &polynomials, auto &relation_parameters, const size_t circuit_size)
 Compute the inverse polynomial I(X) required for logderivative lookups

  • details Inverse may be defined in terms of its values on X_i = 0,1,...,n-1 as Z_perm[0] = 1 and for i = 1:n-1 1 1 Inverse[i] = ∏ -----------------------— * ∏' -----------------------— relation::read_term(j) relation::write_term(j)

 
template<typename FF , typename Relation , typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
void bb::accumulate_logderivative_lookup_subrelation_contributions (ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &params, const FF &scaling_factor)
 Compute generic log-derivative lookup subrelation accumulation.
 
template<typename FF , typename Relation , typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
void bb::accumulate_logderivative_permutation_subrelation_contributions (ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &params, const FF &scaling_factor)
 Compute generic log-derivative set permutation subrelation accumulation.