Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
alu_trace.hpp
Go to the documentation of this file.
1#pragma once
2
8
9namespace bb::avm2::tracegen {
10
11class AluTraceBuilder final {
12 public:
16
18
19 private:
20 static constexpr size_t NUM_TAGS = static_cast<size_t>(MemoryTag::MAX) + 1;
21 // Precomputed inverses for tag values.
22 std::array<FF, NUM_TAGS> tag_inverses;
24 FF get_tag_diff_inverse(const MemoryTag a_tag, const MemoryTag b_tag) const;
26};
27
28} // namespace bb::avm2::tracegen
std::vector< std::pair< Column, FF > > get_tag_error_columns(const simulation::AluEvent &event) const
std::vector< std::pair< Column, FF > > get_operation_specific_columns(const simulation::AluEvent &event) const
Definition alu_trace.cpp:37
static constexpr size_t NUM_TAGS
Definition alu_trace.hpp:20
static const InteractionDefinition interactions
Definition alu_trace.hpp:17
void process(const simulation::EventEmitterInterface< simulation::AluEvent >::Container &events, TraceContainer &trace)
FF get_tag_diff_inverse(const MemoryTag a_tag, const MemoryTag b_tag) const
Definition alu_trace.cpp:28
std::array< FF, NUM_TAGS > tag_inverses
Definition alu_trace.hpp:22
TestTraceContainer trace
AvmFlavorSettings::FF FF
Definition field.hpp:10
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
simulation::PublicDataTreeReadWriteEvent event