Primitive Types
Panther
Documentation
Primitive Integral Types
Specified Width Integral Types
An integer type can be specified to be signed or unsigned and can be any bitwidth from 1 all the way up to 8388608 (223). The type is written with an I
for signed and UI
for unsigned, followed by the bitwidth.
Type |
Description |
I32 |
32-bit signed integer |
UI64 |
64-bit unsigned integer |
I1 |
1-bit signed integer |
UI46824 |
46,824-bit unsigned integer |
Target-Dependent Integral Types
Type |
Description |
Int |
Signed integer that has the same width of a general register on the target (64 on x86_64) |
UInt |
Unsigned integer that has the same width of a general register on the target (64 on x86_64) |
ISize |
Signed integer that has the same width of a pointer on the target (64 on x86_64) |
USize |
Unsigned integer that has the same width of a pointer on the target (64 on x86_64) |
Integral Types for C/C++ Compatibility
Type |
C/C++ equivalent |
CShort |
short |
CUShort |
unsigned short |
CInt |
int |
CUInt |
unsigned int |
CLong |
long |
CULong |
unsigned long |
CLongLong |
long long |
CULongLong |
unsigned long long |
Primitive Floating Point Types
Type |
Description |
F16 |
16-bit floating point (IEEE-754 binary16) |
BF16 |
16-bit floating point (bfloat16) |
F32 |
32-bit floating point (IEEE-754 binary32) |
F64 |
64-bit floating point (IEEE-754 binary64) |
F80 |
80-bit floating point (x87) |
F128 |
128-bit floating point (IEEE-754 binary128) |
CLongDouble |
C/C++ compatibility type for long double |
Miscellaneous Primitive Types
Type |
Description |
Void |
Nothing (for example, to signify that a function returns nothing) |
Byte |
A single byte |
Bool |
Boolean type (true or false ) |
Char |
ASCII Character |
RawPtr |
Opaque pointer type (like void* in C/C++) |
TypeID |
Type that represents the unique ID of a type (value not guaranteed to be consistent between compiles) |