diff options
Diffstat (limited to 'include/byteswap.h')
-rw-r--r-- | include/byteswap.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/include/byteswap.h b/include/byteswap.h index 8689cd57..bf222d3c 100644 --- a/include/byteswap.h +++ b/include/byteswap.h @@ -3,26 +3,21 @@ #include <stdint.h> -#if __STDC_VERSION__ >= 199901L -inline +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline #endif -static uint16_t __bswap_16(uint16_t __x) + +static __inline uint16_t __bswap_16(uint16_t __x) { return __x<<8 | __x>>8; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint32_t __bswap_32(uint32_t __x) +static __inline uint32_t __bswap_32(uint32_t __x) { return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; } -#if __STDC_VERSION__ >= 199901L -inline -#endif -static uint64_t __bswap_64(uint64_t __x) +static __inline uint64_t __bswap_64(uint64_t __x) { return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32); } |