| 257 | } |
| 258 | |
| 259 | MEM_STATIC U64 MEM_swap64(U64 in) |
| 260 | { |
| 261 | #if defined(_MSC_VER) /* Visual Studio */ |
| 262 | return _byteswap_uint64(in); |
| 263 | #elif (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \ |
| 264 | || (defined(__clang__) && __has_builtin(__builtin_bswap64)) |
| 265 | return __builtin_bswap64(in); |
| 266 | #else |
| 267 | return ((in << 56) & 0xff00000000000000ULL) | |
| 268 | ((in << 40) & 0x00ff000000000000ULL) | |
| 269 | ((in << 24) & 0x0000ff0000000000ULL) | |
| 270 | ((in << 8) & 0x000000ff00000000ULL) | |
| 271 | ((in >> 8) & 0x00000000ff000000ULL) | |
| 272 | ((in >> 24) & 0x0000000000ff0000ULL) | |
| 273 | ((in >> 40) & 0x000000000000ff00ULL) | |
| 274 | ((in >> 56) & 0x00000000000000ffULL); |
| 275 | #endif |
| 276 | } |
| 277 | |
| 278 | MEM_STATIC size_t MEM_swapST(size_t in) |
| 279 | { |
no outgoing calls
no test coverage detected