diff options
Diffstat (limited to 'src/base.h')
-rw-r--r-- | src/base.h | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -26,27 +26,29 @@ typedef float f32; typedef double f64; typedef uint8_t byte; +typedef u32 hword; typedef u64 word; typedef union { byte as_byte; + hword as_hword; word as_word; - f64 as_float; } data_t; typedef enum { - DATA_TYPE_NIL = 0, - DATA_TYPE_BYTE = 1, - DATA_TYPE_WORD = 3, - DATA_TYPE_FLOAT = 5, + DATA_TYPE_NIL = 0, + DATA_TYPE_BYTE, + DATA_TYPE_HWORD, + DATA_TYPE_WORD, } data_type_t; #define DBYTE(BYTE) ((data_t){.as_byte = (BYTE)}) +#define DHWORD(HWORD) ((data_t){.as_hword = (HWORD)}) #define DWORD(WORD) ((data_t){.as_word = (WORD)}) -#define DFLOAT(FLOAT) ((data_t){.as_float = (FLOAT)}) +#define HWORD_SIZE sizeof(hword) #define WORD_SIZE sizeof(word) #define FLOAT_SIZE sizeof(f64) |