byteswap.c 428 B

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