Primitive Types
Panther
Documentation
Note
Information on this page may be incorrect / out-of-date. An updated version of the site (powered by Panther!) is coming soon, which will include all fixes.
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 |
CWChar |
wchar_t |
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) |