Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
context_stack_impl.hpp
Go to the documentation of this file.
1
// AUTOGENERATED FILE
2
#pragma once
3
4
#include "
barretenberg/vm2/generated/relations/context_stack.hpp
"
5
6
namespace
bb::avm2
{
7
8
template
<
typename
FF_>
9
template
<
typename
ContainerOverSubrelations,
typename
AllEntities>
10
void
context_stackImpl<FF_>::accumulate
(ContainerOverSubrelations& evals,
11
const
AllEntities& in,
12
[[maybe_unused]]
const
RelationParameters<FF_>
&,
13
[[maybe_unused]]
const
FF_& scaling_factor)
14
{
15
using
C
=
ColumnAndShifts
;
16
17
PROFILE_THIS_NAME
(
"accumulate/context_stack"
);
18
19
{
20
using
Accumulator =
typename
std::tuple_element_t<0, ContainerOverSubrelations>
;
21
auto
tmp = in.get(C::context_stack_sel) * (
FF
(1) - in.get(C::context_stack_sel));
22
tmp *= scaling_factor;
23
std::get<0>
(evals) +=
typename
Accumulator::View(tmp);
24
}
25
{
26
using
Accumulator =
typename
std::tuple_element_t<1, ContainerOverSubrelations>
;
27
auto
tmp = (in.get(C::context_stack_context_id) *
28
((
FF
(1) - in.get(C::context_stack_sel)) * (
FF
(1) - in.get(C::context_stack_context_id_inv)) +
29
in.get(C::context_stack_context_id_inv)) -
30
in.get(C::context_stack_sel));
31
tmp *= scaling_factor;
32
std::get<1>
(evals) +=
typename
Accumulator::View(tmp);
33
}
34
}
35
36
}
// namespace bb::avm2
bb::avm2::context_stackImpl::accumulate
static void accumulate(ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &, const FF &scaling_factor)
Definition
context_stack_impl.hpp:10
context_stack.hpp
bb::avm2
Definition
flavor.hpp:472
bb::avm2::Column
Column
Definition
columns.hpp:32
bb::avm2::ColumnAndShifts
ColumnAndShifts
Definition
columns.hpp:35
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
PROFILE_THIS_NAME
#define PROFILE_THIS_NAME(name)
Definition
op_count.hpp:16
bb::RelationParameters
Container for parameters used by the grand product (permutation, lookup) Honk relations.
Definition
relation_parameters.hpp:19
src
barretenberg
vm2
generated
relations
context_stack_impl.hpp
Generated by
1.9.8