barretenberg
Loading...
Searching...
No Matches
translator_gen_perm_sort_relation.hpp
1#pragma once
2#include "barretenberg/relations/relation_types.hpp"
3
4namespace proof_system {
5
6template <typename FF_> class GoblinTranslatorGenPermSortRelationImpl {
7 public:
8 using FF = FF_;
9
10 // 1 + polynomial degree of this relation
11 static constexpr size_t RELATION_LENGTH = 6; // degree((lagrange_last-1) * D(D - 1)(D - 2)(D - 3)) = 5
12
13 static constexpr std::array<size_t, 10> SUBRELATION_PARTIAL_LENGTHS{
14 6, // ordered_range_constraints_0 step in {0,1,2,3} subrelation
15 6, // ordered_range_constraints_1 step in {0,1,2,3} subrelation
16 6, // ordered_range_constraints_2 step in {0,1,2,3} subrelation
17 6, // ordered_range_constraints_3 step in {0,1,2,3} subrelation
18 6, // ordered_range_constraints_4 step in {0,1,2,3} subrelation
19 3, // ordered_range_constraints_0 ends with defined maximum value subrelation
20 3, // ordered_range_constraints_1 ends with defined maximum value subrelation
21 3, // ordered_range_constraints_2 ends with defined maximum value subrelation
22 3, // ordered_range_constraints_3 ends with defined maximum value subrelation
23 3 // ordered_range_constraints_4 ends with defined maximum value subrelation
24
25 };
26
39 template <typename ContainerOverSubrelations, typename AllEntities, typename Parameters>
40 static void accumulate(ContainerOverSubrelations& accumulators,
41 const AllEntities& in,
42 const Parameters&,
43 const FF& scaling_factor);
44};
45
46template <typename FF>
48
49} // namespace proof_system
Definition: translator_gen_perm_sort_relation.hpp:6
static void accumulate(ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters &, const FF &scaling_factor)
Expression for the generalized permutation sort relation.
Definition: translator_gen_perm_sort_relation.cpp:20
The templates defined herein facilitate sharing the relation arithmetic between the prover and the ve...
Definition: relation_types.hpp:121