summaryrefslogtreecommitdiffstatshomepage
path: root/py/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'py/map.h')
-rw-r--r--py/map.h45
1 files changed, 26 insertions, 19 deletions
diff --git a/py/map.h b/py/map.h
index 6c9df9ece0..8ee8429b52 100644
--- a/py/map.h
+++ b/py/map.h
@@ -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);