barretenberg
Loading...
Searching...
No Matches
permutation_widget.hpp
1#pragma once
2#include "random_widget.hpp"
3
4namespace proof_system::plonk {
5template <typename Field,
6 typename Group,
7 typename Transcript,
8 const size_t num_roots_cut_out_of_vanishing_polynomial = 4>
10 public:
12
13 static Field compute_quotient_evaluation_contribution(typename Transcript::Key*,
14 const Field& alpha_base,
15 const Transcript& transcript,
16 Field& quotient_numerator_eval,
17 const bool idpolys = false);
18
19 static Field append_scalar_multiplication_inputs(typename Transcript::Key*,
20 const Field& alpha_base,
21 const Transcript& transcript);
22};
23
27
28template <size_t program_width, bool idpolys = false, const size_t num_roots_cut_out_of_vanishing_polynomial = 4>
30 public:
34 ProverPermutationWidget& operator=(const ProverPermutationWidget& other);
36
38 const size_t round_number,
39 work_queue& queue) override;
40
42 const transcript::StandardTranscript& transcript) override;
43};
44
45} // namespace proof_system::plonk
46
47#include "./permutation_widget_impl.hpp"
Definition: affine_element.hpp:11
Definition: permutation_widget.hpp:29
void compute_round_commitments(transcript::StandardTranscript &transcript, const size_t round_number, work_queue &queue) override
:
Definition: permutation_widget_impl.hpp:59
barretenberg::fr compute_quotient_contribution(const barretenberg::fr &alpha_base, const transcript::StandardTranscript &transcript) override
Definition: permutation_widget_impl.hpp:341
Definition: random_widget.hpp:16
Definition: permutation_widget.hpp:9
static Field compute_quotient_evaluation_contribution(typename Transcript::Key *, const Field &alpha_base, const Transcript &transcript, Field &quotient_numerator_eval, const bool idpolys=false)
This function computes the part of the quotient polynomial evaluation relevant to PLONK's permutation...
Definition: permutation_widget_impl.hpp:563
Definition: work_queue.hpp:11
Definition: transcript_wrappers.hpp:13
Definition: widget.bench.cpp:13
Definition: proving_key.hpp:38