barretenberg
Loading...
Searching...
No Matches
ecc_wnaf_relation.hpp
1#pragma once
2#include "barretenberg/relations/relation_types.hpp"
3
4namespace proof_system::honk::sumcheck {
34template <typename FF_> class ECCVMWnafRelationImpl {
35 public:
36 using FF = FF_;
37
38 static constexpr std::array<size_t, 21> SUBRELATION_PARTIAL_LENGTHS{
39 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
40 };
41
42 template <typename ContainerOverSubrelations, typename AllEntities, typename Parameters>
43 static void accumulate(ContainerOverSubrelations& accumulator,
44 const AllEntities& in,
45 const Parameters& /* unused */,
46 const FF& scaling_factor);
47};
48
49template <typename FF> using ECCVMWnafRelation = Relation<ECCVMWnafRelationImpl<FF>>;
50
51} // namespace proof_system::honk::sumcheck
The templates defined herein facilitate sharing the relation arithmetic between the prover and the ve...
Definition: relation_types.hpp:121
ECCVMWnafRelationImpl evaluates relations that convert scalar multipliers into 4-bit WNAF slices.
Definition: ecc_wnaf_relation.hpp:34
static void accumulate(ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &, const FF &scaling_factor)
ECCVMWnafRelationImpl evaluates relations that convert scalar multipliers into 4-bit WNAF slices.
Definition: ecc_wnaf_relation.cpp:39