Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
libsnark
relations
ram_computations
memory
memory_interface.hpp
Go to the documentation of this file.
1
12
#ifndef MEMORY_INTERFACE_HPP_
13
#define MEMORY_INTERFACE_HPP_
14
15
#include <cstddef>
16
#include <map>
17
#include <vector>
18
19
namespace
libsnark
20
{
21
25
typedef
std::map<size_t, size_t>
memory_contents
;
26
37
class
memory_interface
38
{
39
public
:
40
size_t
num_addresses
;
41
size_t
value_size
;
42
43
memory_interface
(
const
size_t
num_addresses
,
const
size_t
value_size
)
44
:
num_addresses
(
num_addresses
),
value_size
(
value_size
)
45
{
46
}
47
memory_interface
(
48
const
size_t
num_addresses
,
49
const
size_t
value_size
,
50
const
std::vector<size_t> &contents_as_vector);
51
memory_interface
(
52
const
size_t
num_addresses
,
53
const
size_t
value_size
,
54
const
memory_contents
&contents);
55
56
virtual
size_t
get_value
(
const
size_t
address)
const
= 0;
57
virtual
void
set_value
(
const
size_t
address,
const
size_t
value) = 0;
58
};
59
60
}
// namespace libsnark
61
62
#endif // MEMORY_INTERFACE_HPP_
libsnark::memory_interface::memory_interface
memory_interface(const size_t num_addresses, const size_t value_size)
Definition:
memory_interface.hpp:43
libsnark
Definition:
accumulation_vector.hpp:18
libsnark::memory_interface::value_size
size_t value_size
Definition:
memory_interface.hpp:41
libsnark::memory_contents
std::map< size_t, size_t > memory_contents
Definition:
memory_interface.hpp:25
libsnark::memory_interface::num_addresses
size_t num_addresses
Definition:
memory_interface.hpp:40
libsnark::memory_interface::set_value
virtual void set_value(const size_t address, const size_t value)=0
libsnark::memory_interface
Definition:
memory_interface.hpp:37
libsnark::memory_interface::get_value
virtual size_t get_value(const size_t address) const =0
Generated on Wed Jan 25 2023 11:05:58 for Clearmatics Libsnark by
1.8.17