@ -30,6 +30,7 @@
# include "py/misc.h"
# include "py/qstr.h"
# include "py/mpprint.h"
# include "py/runtime0.h"
// This is the definition of the opaque MicroPython object type.
// All concrete objects have an encoding within this type and the
@ -429,8 +430,8 @@ typedef struct _mp_obj_iter_buf_t {
typedef void ( * mp_print_fun_t ) ( const mp_print_t * print , mp_obj_t o , mp_print_kind_t kind ) ;
typedef mp_obj_t ( * mp_make_new_fun_t ) ( const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * args ) ;
typedef mp_obj_t ( * mp_call_fun_t ) ( mp_obj_t fun , size_t n_args , size_t n_kw , const mp_obj_t * args ) ;
typedef mp_obj_t ( * mp_unary_op_fun_t ) ( mp_u int _t op , mp_obj_t ) ;
typedef mp_obj_t ( * mp_binary_op_fun_t ) ( mp_ uint _t op , mp_obj_t , mp_obj_t ) ;
typedef mp_obj_t ( * mp_unary_op_fun_t ) ( mp_u nary_op _t op , mp_obj_t ) ;
typedef mp_obj_t ( * mp_binary_op_fun_t ) ( mp_ binary_op _t op , mp_obj_t , mp_obj_t ) ;
typedef void ( * mp_attr_fun_t ) ( mp_obj_t self_in , qstr attr , mp_obj_t * dest ) ;
typedef mp_obj_t ( * mp_subscr_fun_t ) ( mp_obj_t self_in , mp_obj_t index , mp_obj_t value ) ;
typedef mp_obj_t ( * mp_getiter_fun_t ) ( mp_obj_t self_in , mp_obj_iter_buf_t * iter_buf ) ;
@ -694,7 +695,7 @@ mp_obj_t mp_obj_id(mp_obj_t o_in);
mp_obj_t mp_obj_len ( mp_obj_t o_in ) ;
mp_obj_t mp_obj_len_maybe ( mp_obj_t o_in ) ; // may return MP_OBJ_NULL
mp_obj_t mp_obj_subscr ( mp_obj_t base , mp_obj_t index , mp_obj_t val ) ;
mp_obj_t mp_generic_unary_op ( mp_u int _t op , mp_obj_t o_in ) ;
mp_obj_t mp_generic_unary_op ( mp_u nary_op _t op , mp_obj_t o_in ) ;
// cell
mp_obj_t mp_obj_cell_get ( mp_obj_t self_in ) ;
@ -734,11 +735,11 @@ mp_int_t mp_float_hash(mp_float_t val);
# else
static inline mp_int_t mp_float_hash ( mp_float_t val ) { return ( mp_int_t ) val ; }
# endif
mp_obj_t mp_obj_float_binary_op ( mp_ uint _t op , mp_float_t lhs_val , mp_obj_t rhs ) ; // can return MP_OBJ_NULL if op not supported
mp_obj_t mp_obj_float_binary_op ( mp_ binary_op _t op , mp_float_t lhs_val , mp_obj_t rhs ) ; // can return MP_OBJ_NULL if op not supported
// complex
void mp_obj_complex_get ( mp_obj_t self_in , mp_float_t * real , mp_float_t * imag ) ;
mp_obj_t mp_obj_complex_binary_op ( mp_ uint _t op , mp_float_t lhs_real , mp_float_t lhs_imag , mp_obj_t rhs_in ) ; // can return MP_OBJ_NULL if op not supported
mp_obj_t mp_obj_complex_binary_op ( mp_ binary_op _t op , mp_float_t lhs_real , mp_float_t lhs_imag , mp_obj_t rhs_in ) ; // can return MP_OBJ_NULL if op not supported
# else
# define mp_obj_is_float(o) (false)
# endif