summaryrefslogtreecommitdiffstatshomepage
path: root/py/mpconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'py/mpconfig.h')
-rw-r--r--py/mpconfig.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 7ab179304c..98e9406c6b 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -63,6 +63,16 @@
// - xxxx...xxx0 : a pointer to an mp_obj_base_t (unless a fake object)
#define MICROPY_OBJ_REPR_B (1)
+// A MicroPython object is a machine word having the following form:
+// - iiiiiiii iiiiiiii iiiiiiii iiiiiii1 small int with 31-bit signed value
+// - x1111111 1qqqqqqq qqqqqqqq qqqqq110 str with 20-bit qstr value
+// - s1111111 10000000 00000000 00000010 +/- inf
+// - s1111111 1xxxxxxx xxxxxxxx xxxxx010 nan, x != 0
+// - seeeeeee efffffff ffffffff ffffff10 30-bit fp, e != 0xff
+// - pppppppp pppppppp pppppppp pppppp00 ptr (4 byte alignment)
+// This scheme only works with 32-bit word size and float enabled.
+#define MICROPY_OBJ_REPR_C (2)
+
#ifndef MICROPY_OBJ_REPR
#define MICROPY_OBJ_REPR (MICROPY_OBJ_REPR_A)
#endif