From 189c8e1cc46896382b6d19da8b89a4cc4f7e3864 Mon Sep 17 00:00:00 2001 From: "John R. Lenton" Date: Mon, 13 Jan 2014 00:52:06 +0000 Subject: [PATCH] Fixed the merge so it worked and compiled and stuff --- py/objset.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/py/objset.c b/py/objset.c index 43bb61083b..ba083ada8a 100644 --- a/py/objset.c +++ b/py/objset.c @@ -46,23 +46,6 @@ void set_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj } -static mp_obj_t set_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { - mp_obj_set_t *o = lhs_in; - switch (op) { - case RT_COMPARE_OP_IN: - case RT_COMPARE_OP_NOT_IN: - { - mp_obj_t elem = mp_set_lookup(&o->set, rhs_in, false); - return ((op == RT_COMPARE_OP_IN) ^ (elem == NULL)) - ? mp_const_true : mp_const_false; - } - default: - // op not supported - return NULL; - } -} - - static mp_obj_t set_make_new(mp_obj_t type_in, int n_args, const mp_obj_t *args) { switch (n_args) { case 0: @@ -423,6 +406,13 @@ static mp_obj_t set_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) { return set_issuperset(lhs, rhs); case RT_COMPARE_OP_NOT_EQUAL: return MP_BOOL(set_equal(lhs, rhs) == mp_const_false); + case RT_COMPARE_OP_IN: + case RT_COMPARE_OP_NOT_IN: + { + mp_obj_set_t *o = lhs; + mp_obj_t elem = mp_set_lookup(&o->set, rhs, MP_MAP_LOOKUP); + return MP_BOOL((op == RT_COMPARE_OP_IN) ^ (elem == NULL)); + } default: // op not supported return NULL; @@ -458,7 +448,6 @@ const mp_obj_type_t set_type = { { &mp_const_type }, "set", .print = set_print, - .binary_op = set_binary_op, .make_new = set_make_new, .binary_op = set_binary_op, .getiter = set_getiter,