barretenberg
Loading...
Searching...
No Matches
ecc_msm_relation.hpp
1#pragma once
2#include "barretenberg/relations/relation_types.hpp"
3
4namespace proof_system::honk::sumcheck {
5
37template <typename FF_> class ECCVMMSMRelationImpl {
38 public:
39 using FF = FF_;
40
41 static constexpr std::array<size_t, 36> SUBRELATION_PARTIAL_LENGTHS{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
42 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
43 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 };
44
45 template <typename ContainerOverSubrelations, typename AllEntities, typename Parameters>
46 static void accumulate(ContainerOverSubrelations& accumulator,
47 const AllEntities& in,
48 const Parameters& /* unused */,
49 const FF& scaling_factor);
50};
51
52template <typename FF> using ECCVMMSMRelation = Relation<ECCVMMSMRelationImpl<FF>>;
53
54} // 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
MSM relations that evaluate the Strauss multiscalar multiplication algorithm.
Definition: ecc_msm_relation.hpp:37
static void accumulate(ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &, const FF &scaling_factor)
MSM relations that evaluate the Strauss multiscalar multiplication algorithm.
Definition: ecc_msm_relation.cpp:40