2#include "../circuit_builders/circuit_builders_fwd.hpp"
3#include "../field/field.hpp"
17 ram_table(
const std::vector<field_pt>& table_entries);
30 size_t size()
const {
return _length; }
32 Builder* get_context()
const {
return _context; }
34 bool check_indices_initialized()
const
36 if (_all_entries_written_to_with_constant_index) {
43 for (
auto i : _index_initialized) {
46 _all_entries_written_to_with_constant_index = init;
47 return _all_entries_written_to_with_constant_index;
51 std::vector<field_pt> _raw_entries;
52 mutable std::vector<bool> _index_initialized;
54 mutable size_t _ram_id = 0;
55 mutable bool _ram_table_generated_in_builder =
false;
56 mutable bool _all_entries_written_to_with_constant_index =
false;
57 mutable Builder* _context =
nullptr;
Definition: standard_circuit_builder.hpp:12
Definition: ram_table.hpp:10
void initialize_table() const
internal method, is used to call Builder methods that will generate RAM table.
Definition: ram_table.cpp:67
field_pt read(const field_pt &index) const
Read a field element from the RAM table at an index value.
Definition: ram_table.cpp:175
ram_table & operator=(const ram_table &other)
Copy assignment operator.
Definition: ram_table.cpp:136
void write(const field_pt &index, const field_pt &value)
Write a field element from the RAM table at an index value.
Definition: ram_table.cpp:212
Definition: widget.bench.cpp:13