py: Make tuple and list use mp_int_t/mp_uint_t.
Part of code cleanup, to resolve issue #50.
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
#include "runtime.h"
|
||||
#include "objtuple.h"
|
||||
|
||||
STATIC mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, int cur);
|
||||
STATIC mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, mp_uint_t cur);
|
||||
|
||||
/******************************************************************************/
|
||||
/* tuple */
|
||||
@@ -44,7 +44,7 @@ STATIC mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, int cur);
|
||||
void mp_obj_tuple_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in, mp_print_kind_t kind) {
|
||||
mp_obj_tuple_t *o = o_in;
|
||||
print(env, "(");
|
||||
for (int i = 0; i < o->len; i++) {
|
||||
for (mp_uint_t i = 0; i < o->len; i++) {
|
||||
if (i > 0) {
|
||||
print(env, ", ");
|
||||
}
|
||||
@@ -73,8 +73,8 @@ STATIC mp_obj_t mp_obj_tuple_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uin
|
||||
|
||||
// TODO optimise for cases where we know the length of the iterator
|
||||
|
||||
uint alloc = 4;
|
||||
uint len = 0;
|
||||
mp_uint_t alloc = 4;
|
||||
mp_uint_t len = 0;
|
||||
mp_obj_t *items = m_new(mp_obj_t, alloc);
|
||||
|
||||
mp_obj_t iterable = mp_getiter(args[0]);
|
||||
@@ -176,7 +176,7 @@ mp_obj_t mp_obj_tuple_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
uint index_value = mp_get_index(self->base.type, self->len, index, false);
|
||||
mp_uint_t index_value = mp_get_index(self->base.type, self->len, index, false);
|
||||
return self->items[index_value];
|
||||
} else {
|
||||
return MP_OBJ_NULL; // op not supported
|
||||
@@ -223,7 +223,7 @@ const mp_obj_type_t mp_type_tuple = {
|
||||
// the zero-length tuple
|
||||
const mp_obj_tuple_t mp_const_empty_tuple_obj = {{&mp_type_tuple}, 0};
|
||||
|
||||
mp_obj_t mp_obj_new_tuple(uint n, const mp_obj_t *items) {
|
||||
mp_obj_t mp_obj_new_tuple(mp_uint_t n, const mp_obj_t *items) {
|
||||
if (n == 0) {
|
||||
return mp_const_empty_tuple;
|
||||
}
|
||||
@@ -231,14 +231,14 @@ mp_obj_t mp_obj_new_tuple(uint n, const mp_obj_t *items) {
|
||||
o->base.type = &mp_type_tuple;
|
||||
o->len = n;
|
||||
if (items) {
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (mp_uint_t i = 0; i < n; i++) {
|
||||
o->items[i] = items[i];
|
||||
}
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
void mp_obj_tuple_get(mp_obj_t self_in, uint *len, mp_obj_t **items) {
|
||||
void mp_obj_tuple_get(mp_obj_t self_in, mp_uint_t *len, mp_obj_t **items) {
|
||||
assert(MP_OBJ_IS_TYPE(self_in, &mp_type_tuple));
|
||||
mp_obj_tuple_t *self = self_in;
|
||||
if (len) {
|
||||
@@ -260,7 +260,7 @@ mp_int_t mp_obj_tuple_hash(mp_obj_t self_in) {
|
||||
mp_obj_tuple_t *self = self_in;
|
||||
// start hash with pointer to empty tuple, to make it fairly unique
|
||||
mp_int_t hash = (mp_int_t)mp_const_empty_tuple;
|
||||
for (uint i = 0; i < self->len; i++) {
|
||||
for (mp_uint_t i = 0; i < self->len; i++) {
|
||||
hash += mp_obj_hash(self->items[i]);
|
||||
}
|
||||
return hash;
|
||||
@@ -293,7 +293,7 @@ STATIC const mp_obj_type_t mp_type_tuple_it = {
|
||||
.iternext = tuple_it_iternext,
|
||||
};
|
||||
|
||||
STATIC mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, int cur) {
|
||||
STATIC mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, mp_uint_t cur) {
|
||||
mp_obj_tuple_it_t *o = m_new_obj(mp_obj_tuple_it_t);
|
||||
o->base.type = &mp_type_tuple_it;
|
||||
o->tuple = tuple;
|
||||
|
||||
Reference in New Issue
Block a user