Add U128 raw type to compiler.

This commit is contained in:
TomAwezome 2022-03-26 23:58:11 -04:00
parent 5b99114ef1
commit 4a72a302a8
2 changed files with 34 additions and 20 deletions

View file

@ -1,26 +1,27 @@
#define INTERNAL_TYPES_NUM 17
#define INTERNAL_TYPES_NUM 18
class CInternalType
{
U8 type, size, name[8];
} internal_types_table[INTERNAL_TYPES_NUM] = {
{RT_I0, 0, "I0i"},
{RT_I0, 0, "I0"},
{RT_U0, 0, "U0i"},
{RT_U0, 0, "U0"},
{RT_I8, 1, "I8i"},
{RT_I8, 1, "I8"},
{RT_I8, 1, "Bool"},
{RT_U8, 1, "U8i"},
{RT_U8, 1, "U8"},
{RT_I16, 2, "I16i"},
{RT_U16, 2, "U16i"},
{RT_I32, 4, "I32i"},
{RT_U32, 4, "U32i"},
{RT_I64, 8, "I64i"},
{RT_U64, 8, "U64i"},
{RT_F64, 8, "F64i"},
{RT_F64, 8, "F64"},
{RT_I0, 0, "I0i"},
{RT_I0, 0, "I0"},
{RT_U0, 0, "U0i"},
{RT_U0, 0, "U0"},
{RT_I8, 1, "I8i"},
{RT_I8, 1, "I8"},
{RT_I8, 1, "Bool"},
{RT_U8, 1, "U8i"},
{RT_U8, 1, "U8"},
{RT_I16, 2, "I16i"},
{RT_U16, 2, "U16i"},
{RT_I32, 4, "I32i"},
{RT_U32, 4, "U32i"},
{RT_I64, 8, "I64i"},
{RT_U64, 8, "U64i"},
{RT_F64, 8, "F64i"},
{RT_F64, 8, "F64"},
{RT_U128, 16, "U128i"}
};
CIntermediateStruct intermediate_code_table[IC_ICS_NUM] = {
@ -230,7 +231,8 @@ U0 CompLoadDefines()
"F32\0"
"UF32\0"
"F64\0"
"UF64\0");
"UF64\0"
"U128\0");
DefineListLoad("ST_NATURAL_TYPES",
"I8\0"

View file

@ -110,6 +110,17 @@ I64i union I64
U32 u32[2];
};
U128i union U128
{
I8i i8[16];
U8i u8[16];
I16 i16[8];
U16 u16[8];
I32 i32[4];
U32 u32[4];
U64 u64[2];
I64 i64[2];
};
#help_index "Math/Complex;Data Types/Complex"
public class Complex
{
@ -1708,7 +1719,8 @@ public class CAutoCompleteDictGlobals
#define RT_UF32 13 //Not implemented, Fictitious
#define RT_F64 14
#define RT_UF64 15 //Fictitious
#define RT_RTS_NUM 16
#define RT_U128 16
#define RT_RTS_NUM 17
#define RTF_UNSIGNED 1
#define RTG_MASK 0xFF