2#include "barretenberg/ecc/curves/bn254/fr.hpp"
5namespace proof_system {
14 static constexpr int NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR = 4;
15 static constexpr int NUM_NATIVE_LIMBS_IN_GOBLIN_TRANSLATOR = 1;
16 static constexpr int NUM_CHALLENGE_POWERS_IN_GOBLIN_TRANSLATOR = 4;
20 T public_input_delta = T(0);
21 T lookup_grand_product_delta = T(0);
26 T eccvm_set_permutation_delta = T(0);
27 std::array<T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR> accumulated_result = {
28 T(0), T(0), T(0), T(0)
30 std::array<T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR + NUM_NATIVE_LIMBS_IN_GOBLIN_TRANSLATOR> evaluation_input_x = {
31 T(0), T(0), T(0), T(0), T(0)
33 std::array<std::array<T, NUM_BINARY_LIMBS_IN_GOBLIN_TRANSLATOR + NUM_NATIVE_LIMBS_IN_GOBLIN_TRANSLATOR>,
34 NUM_CHALLENGE_POWERS_IN_GOBLIN_TRANSLATOR>
35 batching_challenge_v = { { { T(0), T(0), T(0), T(0), T(0) },
36 { T(0), T(0), T(0), T(0), T(0) },
37 { T(0), T(0), T(0), T(0), T(0) },
38 { T(0), T(0), T(0), T(0), T(0) } } };
40 static constexpr int NUM_TO_FOLD = 5;
41 std::array<std::reference_wrapper<T>, NUM_TO_FOLD> to_fold = {
42 eta, beta, gamma, public_input_delta, lookup_grand_product_delta
48 result.eta = T::random_element();
49 result.beta_sqr = result.beta * result.beta;
50 result.beta_cube = result.beta_sqr * result.beta;
51 result.beta = T::random_element();
52 result.gamma = T::random_element();
53 result.public_input_delta = T::random_element();
54 result.lookup_grand_product_delta = T::random_element();
55 result.eccvm_set_permutation_delta = result.gamma * (result.gamma + result.beta_sqr) *
56 (result.gamma + result.beta_sqr + result.beta_sqr) *
57 (result.gamma + result.beta_sqr + result.beta_sqr + result.beta_sqr);
58 result.accumulated_result = {
59 T::random_element(), T::random_element(), T::random_element(), T::random_element()
62 result.evaluation_input_x = {
63 T::random_element(), T::random_element(), T::random_element(), T::random_element(), T::random_element()
65 result.batching_challenge_v = {
66 std::array{ T::random_element(),
70 T::random_element() },
71 { T::random_element(), T::random_element(), T::random_element(), T::random_element(), T::random_element() },
72 { T::random_element(), T::random_element(), T::random_element(), T::random_element(), T::random_element() },
73 { T::random_element(), T::random_element(), T::random_element(), T::random_element(), T::random_element() },
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Definition: relation_parameters.hpp:12