Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
to_radix.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <utility>
5#include <vector>
6
15
16namespace bb::avm2::simulation {
17
18class ToRadix : public ToRadixInterface {
19 public:
29
30 std::pair<std::vector<uint8_t>, /* truncated */ bool> to_le_radix(const FF& value,
31 uint32_t num_limbs,
32 uint32_t radix) override;
33 std::pair<std::vector<bool>, /* truncated */ bool> to_le_bits(const FF& value, uint32_t num_limbs) override;
35 const FF& value,
36 uint32_t radix,
37 uint32_t num_limbs,
38 bool is_output_bits,
39 MemoryAddress dst_addr) override;
40
41 private:
46};
47
48} // namespace bb::avm2::simulation
EventEmitterInterface< ToRadixMemoryEvent > & memory_events
Definition to_radix.hpp:45
EventEmitterInterface< ToRadixEvent > & events
Definition to_radix.hpp:44
GreaterThanInterface & gt
Definition to_radix.hpp:43
std::pair< std::vector< bool >, bool > to_le_bits(const FF &value, uint32_t num_limbs) override
Performs a little endian radix decomposition of a field element into bits. This emits a ToRadixEvent.
Definition to_radix.cpp:67
std::pair< std::vector< uint8_t >, bool > to_le_radix(const FF &value, uint32_t num_limbs, uint32_t radix) override
Performs a little endian radix decomposition of a field element into limbs. This emits a ToRadixEvent...
Definition to_radix.cpp:22
void to_be_radix(MemoryInterface &memory, const FF &value, uint32_t radix, uint32_t num_limbs, bool is_output_bits, MemoryAddress dst_addr) override
Performs a big endian radix decomposition of a field element into limbs. This directly emits a ToRadi...
Definition to_radix.cpp:102
ExecutionIdManagerInterface & execution_id_manager
Definition to_radix.hpp:42
ToRadix(ExecutionIdManagerInterface &execution_id_manager, GreaterThanInterface &gt, EventEmitterInterface< ToRadixEvent > &event_emitter, EventEmitterInterface< ToRadixMemoryEvent > &memory_event_emitter)
Definition to_radix.hpp:20
EventEmitter< DataCopyEvent > event_emitter
uint32_t dst_addr
AVM range check gadget for witness generation.
AvmFlavorSettings::FF FF
Definition field.hpp:10
uint32_t MemoryAddress
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13