Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
permutation_lib.hpp File Reference

Contains various functions that help construct Honk Sigma and Id polynomials. More...

#include "barretenberg/common/ref_span.hpp"
#include "barretenberg/common/ref_vector.hpp"
#include "barretenberg/ecc/curves/bn254/fr.hpp"
#include "barretenberg/flavor/flavor.hpp"
#include "barretenberg/polynomials/polynomial.hpp"
#include "barretenberg/polynomials/iterate_over_domain.hpp"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <initializer_list>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  bb::cycle_node
 cycle_node represents the idx of a value of the circuit. It will belong to a CyclicPermutation, such that all nodes in a CyclicPermutation must have the value. The total number of constraints is always <2^32 since that is the type used to represent variables, so we can save space by using a type smaller than size_t. More...
 
struct  bb::permutation_subgroup_element
 Permutations subgroup element structure is used to hold data necessary to construct permutation polynomials. More...
 
struct  bb::Mapping
 Stores permutation mapping data for a single wire column. More...
 
struct  bb::PermutationMapping< NUM_WIRES, generalized >
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Typedefs

using bb::CyclicPermutation = std::vector< cycle_node >
 

Functions

template<typename Flavor >
void bb::compute_permutation_argument_polynomials (const typename Flavor::CircuitBuilder &circuit, typename Flavor::ProverPolynomials &polynomials, const std::vector< CyclicPermutation > &copy_cycles, ActiveRegionData &active_region_data)
 Compute Honk style generalized permutation sigmas and ids and add to proving_key.
 

Detailed Description

Contains various functions that help construct Honk Sigma and Id polynomials.

It is structured to reuse similar components in Honk

Definition in file permutation_lib.hpp.