1 #ifndef __MEMVALUES_HPP_DEFINED__ 2 #define __MEMVALUES_HPP_DEFINED__ 11 #include <boost/python.hpp> 21 typedef std::map<mp_int_t, mp_int_t>
map_t;
35 MemValues(
int addrWidth,
int dataWidth,
const py::object& def_val);
56 py::object
getItem(
const py::object& index)
const;
58 void setItem(
const py::object& index,
const py::object& value);
67 z3::expr
toZ3(z3::context& c)
const;
69 std::string
str()
const;
76 std::ostream&
operator<<(std::ostream& out,
const MemValues& mv);
static z3::solver S_eq
Definition: memvalues.hpp:24
map_t values
Definition: memvalues.hpp:30
mp_int_t getItemInt(const mp_int_t &index) const
py::object getValues() const
void setDefault(const py::object &dv)
py::object getDefault() const
bool eq(const MemValues &mv) const
Definition: memvalues.hpp:61
bool semanticEqual(const MemValues &mv) const
boost::multiprecision::cpp_int mp_int_t
Definition: common.hpp:9
MemValues & operator=(const MemValues &that)
void setItem(const py::object &index, const py::object &value)
NodeType type
Definition: memvalues.hpp:26
Definition: memvalues.hpp:20
Definition: abstraction.hpp:21
py::object getItem(const py::object &index) const
z3::expr toZ3(z3::context &c) const
bool operator==(const MemValues &mv) const
mp_int_t def_value
Definition: memvalues.hpp:29
std::ostream & operator<<(std::ostream &out, const Node &that)
static z3::context c_eq
Definition: memvalues.hpp:23
std::map< mp_int_t, mp_int_t > map_t
Definition: memvalues.hpp:21
mp_int_t MAX_ADDR
Definition: memvalues.hpp:27