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,4 +1,4 @@
#define INTERNAL_TYPES_NUM 17 #define INTERNAL_TYPES_NUM 18
class CInternalType class CInternalType
{ {
@ -21,6 +21,7 @@ class CInternalType
{RT_U64, 8, "U64i"}, {RT_U64, 8, "U64i"},
{RT_F64, 8, "F64i"}, {RT_F64, 8, "F64i"},
{RT_F64, 8, "F64"}, {RT_F64, 8, "F64"},
{RT_U128, 16, "U128i"}
}; };
CIntermediateStruct intermediate_code_table[IC_ICS_NUM] = { CIntermediateStruct intermediate_code_table[IC_ICS_NUM] = {
@ -230,7 +231,8 @@ U0 CompLoadDefines()
"F32\0" "F32\0"
"UF32\0" "UF32\0"
"F64\0" "F64\0"
"UF64\0"); "UF64\0"
"U128\0");
DefineListLoad("ST_NATURAL_TYPES", DefineListLoad("ST_NATURAL_TYPES",
"I8\0" "I8\0"

View file

@ -110,6 +110,17 @@ I64i union I64
U32 u32[2]; 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" #help_index "Math/Complex;Data Types/Complex"
public class Complex public class Complex
{ {
@ -1708,7 +1719,8 @@ public class CAutoCompleteDictGlobals
#define RT_UF32 13 //Not implemented, Fictitious #define RT_UF32 13 //Not implemented, Fictitious
#define RT_F64 14 #define RT_F64 14
#define RT_UF64 15 //Fictitious #define RT_UF64 15 //Fictitious
#define RT_RTS_NUM 16 #define RT_U128 16
#define RT_RTS_NUM 17
#define RTF_UNSIGNED 1 #define RTF_UNSIGNED 1
#define RTG_MASK 0xFF #define RTG_MASK 0xFF