24 static_assert(
sizeof(T) == 4,
"32-bit type expected");
25 uint32_t
const x = static_cast <uint32_t> (in);
26 return static_cast <T> ((x >> 16) | (x << 16));
36 static_assert(
sizeof(T) == 8,
"64-bit type expected");
37 uint64_t x = static_cast <uint64_t> (in);
38 x = ((x & 0xFFFF0000FFFF0000) >> 16) | ((x & 0x0000FFFF0000FFFF) << 16);
39 return static_cast <T> ((x >> 32) | (x << 32));
43 #define FRAMEWORK_WORDSWAP8(x) x
44 #define FRAMEWORK_WORDSWAP16(x) x
45 #define FRAMEWORK_WORDSWAP32(x) ::framework::wswap32(x)
46 #define FRAMEWORK_WORDSWAP64(x) ::framework::wswap64(x)