IS_LITTLE_ENDIAN
Description
Compile-time endianness detection.
Success
Evaluates to 1 for little-endian systems, 0 for big-endian.
Failure
Function cannot fail - evaluated at compile time.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Types.h:660:
///
/// TAGS: Endianness, Conversion, 16-bit
#define FROM_BIG_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS2(x) : (x))
///
- In
Types.h:673:
///
/// TAGS: Endianness, Conversion, 32-bit
#define FROM_BIG_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS4(x) : (x))
///
- In
Types.h:686:
///
/// TAGS: Endianness, Conversion, 64-bit
#define FROM_BIG_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS8(x) : (x))
///
- In
Types.h:699:
///
/// TAGS: Endianness, Conversion, 16-bit
#define FROM_LITTLE_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS2(x))
///
- In
Types.h:712:
///
/// TAGS: Endianness, Conversion, 32-bit
#define FROM_LITTLE_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS4(x))
///
- In
Types.h:725:
///
/// TAGS: Endianness, Conversion, 64-bit
#define FROM_LITTLE_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS8(x))
///
- In
Types.h:738:
///
/// TAGS: Endianness, Conversion, 16-bit
#define TO_LITTLE_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS2(x))
///
- In
Types.h:751:
///
/// TAGS: Endianness, Conversion, 32-bit
#define TO_LITTLE_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS4(x))
///
- In
Types.h:764:
///
/// TAGS: Endianness, Conversion, 64-bit
#define TO_LITTLE_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS8(x))
///
- In
Types.h:777:
///
/// TAGS: Endianness, Conversion, 16-bit
#define TO_BIG_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS2(x) : (x))
///
- In
Types.h:790:
///
/// TAGS: Endianness, Conversion, 32-bit
#define TO_BIG_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS4(x) : (x))
///
- In
Types.h:803:
///
/// TAGS: Endianness, Conversion, 64-bit
#define TO_BIG_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS8(x) : (x))
///
- In
Io.c:3598:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Io.c:3624:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Io.c:3652:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Io.c:3692:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Io.c:3720:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Io.c:3746:
if (fmt_info->endian == ENDIAN_NATIVE) {
fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
}- In
Read.c:1549:
Zstr start = input;
u16 v = 0;
u16 expected = IS_LITTLE_ENDIAN() ? (u16)0x3412 : (u16)0x1234;
StrReadFmt(input, "{^2r}", v); // real: resolves NATIVE; mutant: LOG_FATAL
return (input != start) && (v == expected);
Last updated on