Changeset View
Changeset View
Standalone View
Standalone View
src/compat/byteswap.h
Show All 31 Lines | |||||
#else | #else | ||||
// Non-Mac OS X / non-Darwin | // Non-Mac OS X / non-Darwin | ||||
#if HAVE_DECL_BSWAP_16 == 0 | #if HAVE_DECL_BSWAP_16 == 0 | ||||
inline uint16_t bswap_16(uint16_t x) { | inline uint16_t bswap_16(uint16_t x) { | ||||
return (x >> 8) | (x << 8); | return (x >> 8) | (x << 8); | ||||
} | } | ||||
#endif // HAVE_DECL_BSWAP16 | #endif // HAVE_DECL_BSWAP16 == 0 | ||||
#if HAVE_DECL_BSWAP_32 == 0 | #if HAVE_DECL_BSWAP_32 == 0 | ||||
inline uint32_t bswap_32(uint32_t x) { | inline uint32_t bswap_32(uint32_t x) { | ||||
return (((x & 0xff000000U) >> 24) | ((x & 0x00ff0000U) >> 8) | | return (((x & 0xff000000U) >> 24) | ((x & 0x00ff0000U) >> 8) | | ||||
((x & 0x0000ff00U) << 8) | ((x & 0x000000ffU) << 24)); | ((x & 0x0000ff00U) << 8) | ((x & 0x000000ffU) << 24)); | ||||
} | } | ||||
#endif // HAVE_DECL_BSWAP32 | #endif // HAVE_DECL_BSWAP32 == 0 | ||||
#if HAVE_DECL_BSWAP_64 == 0 | #if HAVE_DECL_BSWAP_64 == 0 | ||||
inline uint64_t bswap_64(uint64_t x) { | inline uint64_t bswap_64(uint64_t x) { | ||||
return (((x & 0xff00000000000000ull) >> 56) | | return (((x & 0xff00000000000000ull) >> 56) | | ||||
((x & 0x00ff000000000000ull) >> 40) | | ((x & 0x00ff000000000000ull) >> 40) | | ||||
((x & 0x0000ff0000000000ull) >> 24) | | ((x & 0x0000ff0000000000ull) >> 24) | | ||||
((x & 0x000000ff00000000ull) >> 8) | | ((x & 0x000000ff00000000ull) >> 8) | | ||||
((x & 0x00000000ff000000ull) << 8) | | ((x & 0x00000000ff000000ull) << 8) | | ||||
((x & 0x0000000000ff0000ull) << 24) | | ((x & 0x0000000000ff0000ull) << 24) | | ||||
((x & 0x000000000000ff00ull) << 40) | | ((x & 0x000000000000ff00ull) << 40) | | ||||
((x & 0x00000000000000ffull) << 56)); | ((x & 0x00000000000000ffull) << 56)); | ||||
} | } | ||||
#endif // HAVE_DECL_BSWAP64 | #endif // HAVE_DECL_BSWAP64 == 0 | ||||
#endif // defined(MAC_OSX) | #endif // defined(MAC_OSX) | ||||
#endif // BITCOIN_COMPAT_BYTESWAP_H | #endif // BITCOIN_COMPAT_BYTESWAP_H |