| // options to control how Micro Python is built |
| |
| // Linking with GNU readline causes binary to be licensed under GPL |
| #ifndef MICROPY_USE_READLINE |
| #define MICROPY_USE_READLINE (1) |
| #endif |
| |
| #define MICROPY_EMIT_X64 (1) |
| #define MICROPY_EMIT_THUMB (0) |
| #define MICROPY_EMIT_INLINE_THUMB (0) |
| #define MICROPY_MEM_STATS (1) |
| #define MICROPY_ENABLE_REPL_HELPERS (1) |
| #define MICROPY_ENABLE_LEXER_UNIX (1) |
| #define MICROPY_ENABLE_FLOAT (1) |
| #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_LONGLONG) |
| |
| // type definitions for the specific machine |
| |
| #ifdef __LP64__ |
| typedef long machine_int_t; // must be pointer size |
| typedef unsigned long machine_uint_t; // must be pointer size |
| #else |
| // These are definitions for machines where sizeof(int) == sizeof(void*), |
| // regardless for actual size. |
| typedef int machine_int_t; // must be pointer size |
| typedef unsigned int machine_uint_t; // must be pointer size |
| #endif |
| |
| #define BYTES_PER_WORD sizeof(machine_int_t) |
| |
| typedef void *machine_ptr_t; // must be of pointer size |
| typedef const void *machine_const_ptr_t; // must be of pointer size |
| typedef double machine_float_t; |
| |
| machine_float_t machine_sqrt(machine_float_t x); |