Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ecc_transcript_msm_transition_short_relation.hpp
Go to the documentation of this file.
1
// === AUDIT STATUS ===
2
// internal: { status: Planned, auditors: [], commit: }
3
// external_1: { status: not started, auditors: [], commit: }
4
// external_2: { status: not started, auditors: [], commit: }
5
// =====================
6
7
#pragma once
8
9
#include "
barretenberg/relations/ecc_vm/ecc_short_monomial_relation_utils.hpp
"
10
#include "
barretenberg/relations/ecc_vm/ecc_transcript_relation.hpp
"
11
#include "
barretenberg/relations/relation_types.hpp
"
12
13
namespace
bb
{
14
28
template
<
typename
FF_>
class
ECCVMTranscriptMsmTransitionShortRelationImpl
{
29
public
:
30
using
FF
= FF_;
31
32
// Local subrelation indices; map in order onto base transcript subrelations 27..31.
33
enum
SubrelationIndex
:
size_t
{
34
OFFSET_GENERATOR_X
= 0,
35
OFFSET_GENERATOR_Y
= 1,
36
MSM_INFINITY_X_DIFF
= 2,
37
MSM_INFINITY_Y_SUM
= 3,
38
MSM_INFINITY_INVERSE
= 4,
39
NUM_SUBRELATIONS
,
40
};
41
42
static
constexpr
std::array<size_t, 5>
SUBRELATION_PARTIAL_LENGTHS
{
43
6,
// OFFSET_GENERATOR_X (deg 5)
44
6,
// OFFSET_GENERATOR_Y (deg 5)
45
4,
// MSM_INFINITY_X_DIFF (deg 3)
46
4,
// MSM_INFINITY_Y_SUM (deg 3)
47
5,
// MSM_INFINITY_INVERSE (deg 4)
48
};
49
static_assert
(
NUM_SUBRELATIONS
==
SUBRELATION_PARTIAL_LENGTHS
.size());
50
54
template
<
typename
AllEntities>
inline
static
bool
skip
(
const
AllEntities& in)
55
{
56
return
in.transcript_msm_transition.is_zero();
57
}
58
59
template
<
typename
ContainerOverSubrelations,
typename
AllEntities,
typename
Parameters>
60
static
void
accumulate
(ContainerOverSubrelations& accumulator,
61
const
AllEntities& in,
62
const
Parameters& params,
63
const
FF
& scaling_factor);
64
};
65
66
template
<
typename
FF>
67
using
ECCVMTranscriptMsmTransitionShortRelation
=
Relation<ECCVMTranscriptMsmTransitionShortRelationImpl<FF>
>;
68
69
}
// namespace bb
bb::ECCVMTranscriptMsmTransitionShortRelationImpl
The msm_transition-gated tail of the ECCVM transcript relation, split out for prover-side skipping.
Definition
ecc_transcript_msm_transition_short_relation.hpp:28
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::SubrelationIndex
SubrelationIndex
Definition
ecc_transcript_msm_transition_short_relation.hpp:33
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::NUM_SUBRELATIONS
@ NUM_SUBRELATIONS
Definition
ecc_transcript_msm_transition_short_relation.hpp:39
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::MSM_INFINITY_INVERSE
@ MSM_INFINITY_INVERSE
Definition
ecc_transcript_msm_transition_short_relation.hpp:38
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::MSM_INFINITY_Y_SUM
@ MSM_INFINITY_Y_SUM
Definition
ecc_transcript_msm_transition_short_relation.hpp:37
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::MSM_INFINITY_X_DIFF
@ MSM_INFINITY_X_DIFF
Definition
ecc_transcript_msm_transition_short_relation.hpp:36
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::OFFSET_GENERATOR_Y
@ OFFSET_GENERATOR_Y
Definition
ecc_transcript_msm_transition_short_relation.hpp:35
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::OFFSET_GENERATOR_X
@ OFFSET_GENERATOR_X
Definition
ecc_transcript_msm_transition_short_relation.hpp:34
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::SUBRELATION_PARTIAL_LENGTHS
static constexpr std::array< size_t, 5 > SUBRELATION_PARTIAL_LENGTHS
Definition
ecc_transcript_msm_transition_short_relation.hpp:42
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::accumulate
static void accumulate(ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters ¶ms, const FF &scaling_factor)
Definition
ecc_transcript_msm_transition_short_relation_impl.hpp:17
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::FF
FF_ FF
Definition
ecc_transcript_msm_transition_short_relation.hpp:30
bb::ECCVMTranscriptMsmTransitionShortRelationImpl::skip
static bool skip(const AllEntities &in)
Skip when msm_transition vanishes on both rows of the edge-pair — every subrelation here is gated by ...
Definition
ecc_transcript_msm_transition_short_relation.hpp:54
bb::Relation
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
Definition
relation_types.hpp:96
ecc_short_monomial_relation_utils.hpp
ecc_transcript_relation.hpp
bb
Entry point for Barretenberg command-line interface.
Definition
api.hpp:5
relation_types.hpp
bb::field< bb::Bn254FrParams >
src
barretenberg
relations
ecc_vm
ecc_transcript_msm_transition_short_relation.hpp
Generated by
1.9.8