byteswap.c 417 B

123456789101112
  1. #include "byteswap.h"
  2. uint32_t swap_uint32(uint32_t val) {
  3. val = ((val << 8) & 0xFF00FF00) | ((val >> 8) & 0xFF00FF);
  4. return (val << 16) | (val >> 16);
  5. }
  6. uint64_t swap_uint64(uint64_t val) {
  7. val = ((val << 8) & 0xFF00FF00FF00FF00ULL) | ((val >> 8) & 0x00FF00FF00FF00FFULL);
  8. val = ((val << 16) & 0xFFFF0000FFFF0000ULL) | ((val >> 16) & 0x0000FFFF0000FFFFULL);
  9. return (val << 32) | (val >> 32);
  10. }