d99b05282d
A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python).
20 lines
641 B
C
20 lines
641 B
C
// options to control how Micro Python is built
|
|
|
|
#define MICROPY_ENABLE_FLOAT (1)
|
|
#define MICROPY_EMIT_CPYTHON (0)
|
|
#define MICROPY_EMIT_X64 (0)
|
|
#define MICROPY_EMIT_THUMB (1)
|
|
#define MICROPY_EMIT_INLINE_THUMB (1)
|
|
|
|
// type definitions for the specific machine
|
|
|
|
#define BYTES_PER_WORD (4)
|
|
|
|
typedef int32_t machine_int_t; // must be pointer size
|
|
typedef uint32_t machine_uint_t; // must be pointer size
|
|
typedef void *machine_ptr_t; // must be of pointer size
|
|
typedef const void *machine_const_ptr_t; // must be of pointer size
|
|
typedef float machine_float_t;
|
|
|
|
machine_float_t machine_sqrt(machine_float_t x);
|