summaryrefslogtreecommitdiffstatshomepage
path: root/py/objint_longlong.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/objint_longlong.c')
-rw-r--r--py/objint_longlong.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/py/objint_longlong.c b/py/objint_longlong.c
index 6a0dfa70e9..b066fa544d 100644
--- a/py/objint_longlong.c
+++ b/py/objint_longlong.c
@@ -153,9 +153,10 @@ mp_obj_t mp_obj_new_int_from_long_str(const char *s) {
machine_int_t mp_obj_int_get(mp_obj_t self_in) {
if (MP_OBJ_IS_SMALL_INT(self_in)) {
return MP_OBJ_SMALL_INT_VALUE(self_in);
+ } else {
+ mp_obj_int_t *self = self_in;
+ return self->val;
}
- mp_obj_int_t *self = self_in;
- return self->val;
}
machine_int_t mp_obj_int_get_checked(mp_obj_t self_in) {
@@ -163,4 +164,15 @@ machine_int_t mp_obj_int_get_checked(mp_obj_t self_in) {
return mp_obj_int_get(self_in);
}
+#if MICROPY_ENABLE_FLOAT
+mp_float_t mp_obj_int_as_float(mp_obj_t self_in) {
+ if (MP_OBJ_IS_SMALL_INT(self_in)) {
+ return MP_OBJ_SMALL_INT_VALUE(self_in);
+ } else {
+ mp_obj_int_t *self = self_in;
+ return self->val;
+ }
+}
+#endif
+
#endif