Table 2.1. Table of Reindeer types
C Type | RenType value | Minimum bit-width | Description |
---|---|---|---|
ren_sint08 | REN_TYPE_SINT08 |
8 | Signed integer |
ren_uint08 | REN_TYPE_UINT08 |
8 | Unsigned integer |
ren_sint16 | REN_TYPE_SINT16 |
16 | Signed integer |
ren_uint16 | REN_TYPE_UINT16 |
16 | Unsigned integer |
ren_sint32 | REN_TYPE_UINT32 |
32 | Signed integer |
ren_uint32 | REN_TYPE_SINT32 |
32 | Unsigned integer |
ren_sint64 | REN_TYPE_SINT64 |
64 | Signed integer |
ren_uint64 | REN_TYPE_UINT64 |
64 | Unsigned integer |
ren_sfloat | REN_TYPE_SFLOAT |
32 | Single-precision floating-point number |
ren_double | REN_TYPE_DFLOAT |
64 | Double-precision floating-point number |
ren_bool | REN_TYPE_BOOL |
1 | Boolean. False (FALSE) is zero, true (TRUE) is non-zero. |
ren_size | n/a | System dependent | Integer large enough to hold the numeric value of a pointer. |
Implementations are not required to correctly interpret bits outside the minimum range. Thus, if a variable has a value outside the defined ranges it will lead to undefined behavior.
Reindeer types are not necessarily identical to the corresponding standard C types. Never cast pointers of C types to pointers of Reindeer types or vice versa.
RenType is an enumerated type generally used to describe what type is being pointed at. Since the type ren_size is never used in this context, it does not have a value in RenType.
The following function returns the size of type
in bytes.
ren_size ren_type_sizeof( |
RenType type) ; |