diff options
Diffstat (limited to 'py/map.h')
-rw-r--r-- | py/map.h | 45 |
1 files changed, 26 insertions, 19 deletions
@@ -1,30 +1,37 @@ typedef enum { - MAP_QSTR, - MAP_PY_OBJ, -} py_map_kind_t; + MP_MAP_QSTR, + MP_MAP_OBJ, +} mp_map_kind_t; -typedef struct _py_map_elem_t { - py_obj_t key; - py_obj_t value; -} py_map_elem_t; +typedef struct _mp_map_elem_t { + mp_obj_t key; + mp_obj_t value; +} mp_map_elem_t; -typedef struct _py_map_t { +typedef struct _mp_map_t { struct { - py_map_kind_t kind : 1; + mp_map_kind_t kind : 1; machine_uint_t used : (8 * BYTES_PER_WORD - 1); }; machine_uint_t alloc; - py_map_elem_t *table; -} py_map_t; + mp_map_elem_t *table; +} mp_map_t; + +typedef struct _mp_set_t { + machine_uint_t alloc; + machine_uint_t used; + mp_obj_t *table; +} mp_set_t; // these are defined in runtime.c -py_map_t *rt_get_map_locals(void); -void rt_set_map_locals(py_map_t *m); +mp_map_t *rt_get_map_locals(void); +void rt_set_map_locals(mp_map_t *m); int get_doubling_prime_greater_or_equal_to(int x); -void py_map_init(py_map_t *map, py_map_kind_t kind, int n); -py_map_t *py_map_new(py_map_kind_t kind, int n); -py_map_elem_t* py_map_lookup_helper(py_map_t *map, py_obj_t index, bool add_if_not_found); -py_map_elem_t* py_qstr_map_lookup(py_map_t *map, qstr index, bool add_if_not_found); -py_map_elem_t* py_map_lookup(py_obj_t o, py_obj_t index, bool add_if_not_found); -py_obj_t py_set_lookup(py_obj_t o_in, py_obj_t index, bool add_if_not_found); +void mp_map_init(mp_map_t *map, mp_map_kind_t kind, int n); +mp_map_t *mp_map_new(mp_map_kind_t kind, int n); +mp_map_elem_t* mp_map_lookup_helper(mp_map_t *map, mp_obj_t index, bool add_if_not_found); +mp_map_elem_t* mp_qstr_map_lookup(mp_map_t *map, qstr index, bool add_if_not_found); + +void mp_set_init(mp_set_t *set, int n); +mp_obj_t mp_set_lookup(mp_set_t *set, mp_obj_t index, bool add_if_not_found); |