|
31 | 31 | #define SWAP16 _byteswap_ushort |
32 | 32 | #define SWAP32 _byteswap_ulong |
33 | 33 | #else |
34 | | -#define SWAP16(x) ((uint16_t)( \ |
35 | | - (((uint16_t)(x) & 0x00ff) << 8) | \ |
36 | | - (((uint16_t)(x) & 0xff00) >> 8) \ |
37 | | - )) |
38 | | -#define SWAP32(x) ((uint32_t)( \ |
39 | | - (((uint32_t)(x) & 0x000000ff) << 24) | \ |
40 | | - (((uint32_t)(x) & 0x0000ff00) << 8) | \ |
41 | | - (((uint32_t)(x) & 0x00ff0000) >> 8) | \ |
42 | | - (((uint32_t)(x) & 0xff000000) >> 24) \ |
43 | | - )) |
| 34 | +static INLINE uint16_t SWAP16(uint16_t x) |
| 35 | +{ |
| 36 | + return ((x & 0x00ff) << 8) | |
| 37 | + ((x & 0xff00) >> 8); |
| 38 | +} |
| 39 | + |
| 40 | +static INLINE uint32_t SWAP32(uint32_t x) |
| 41 | +{ |
| 42 | + return ((x & 0x000000ff) << 24) | |
| 43 | + ((x & 0x0000ff00) << 8) | |
| 44 | + ((x & 0x00ff0000) >> 8) | |
| 45 | + ((x & 0xff000000) >> 24); |
| 46 | +} |
| 47 | + |
44 | 48 | #endif |
45 | 49 |
|
46 | 50 | #if defined(_MSC_VER) && _MSC_VER <= 1200 |
47 | | -#define SWAP64(val) \ |
48 | | - ((((uint64_t)(val) & 0x00000000000000ff) << 56) \ |
49 | | - | (((uint64_t)(val) & 0x000000000000ff00) << 40) \ |
50 | | - | (((uint64_t)(val) & 0x0000000000ff0000) << 24) \ |
51 | | - | (((uint64_t)(val) & 0x00000000ff000000) << 8) \ |
52 | | - | (((uint64_t)(val) & 0x000000ff00000000) >> 8) \ |
53 | | - | (((uint64_t)(val) & 0x0000ff0000000000) >> 24) \ |
54 | | - | (((uint64_t)(val) & 0x00ff000000000000) >> 40) \ |
55 | | - | (((uint64_t)(val) & 0xff00000000000000) >> 56)) |
| 51 | +static INLINE uint64_t SWAP64(uint64_t val) |
| 52 | +{ |
| 53 | + return |
| 54 | + ((val & 0x00000000000000ff) << 56) |
| 55 | + | ((val & 0x000000000000ff00) << 40) |
| 56 | + | ((val & 0x0000000000ff0000) << 24) |
| 57 | + | ((val & 0x00000000ff000000) << 8) |
| 58 | + | ((val & 0x000000ff00000000) >> 8) |
| 59 | + | ((val & 0x0000ff0000000000) >> 24) |
| 60 | + | ((val & 0x00ff000000000000) >> 40) |
| 61 | + | ((val & 0xff00000000000000) >> 56); |
| 62 | +} |
56 | 63 | #else |
57 | | -#define SWAP64(val) \ |
58 | | - ((((uint64_t)(val) & 0x00000000000000ffULL) << 56) \ |
59 | | - | (((uint64_t)(val) & 0x000000000000ff00ULL) << 40) \ |
60 | | - | (((uint64_t)(val) & 0x0000000000ff0000ULL) << 24) \ |
61 | | - | (((uint64_t)(val) & 0x00000000ff000000ULL) << 8) \ |
62 | | - | (((uint64_t)(val) & 0x000000ff00000000ULL) >> 8) \ |
63 | | - | (((uint64_t)(val) & 0x0000ff0000000000ULL) >> 24) \ |
64 | | - | (((uint64_t)(val) & 0x00ff000000000000ULL) >> 40) \ |
65 | | - | (((uint64_t)(val) & 0xff00000000000000ULL) >> 56)) |
| 64 | +static INLINE uint64_t SWAP64(uint64_t val) |
| 65 | +{ |
| 66 | + return ((val & 0x00000000000000ffULL) << 56) |
| 67 | + | ((val & 0x000000000000ff00ULL) << 40) |
| 68 | + | ((val & 0x0000000000ff0000ULL) << 24) |
| 69 | + | ((val & 0x00000000ff000000ULL) << 8) |
| 70 | + | ((val & 0x000000ff00000000ULL) >> 8) |
| 71 | + | ((val & 0x0000ff0000000000ULL) >> 24) |
| 72 | + | ((val & 0x00ff000000000000ULL) >> 40) |
| 73 | + | ((val & 0xff00000000000000ULL) >> 56); |
| 74 | +} |
66 | 75 | #endif |
67 | 76 |
|
68 | 77 |
|
|
0 commit comments