summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/swap.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/common/swap.h b/src/common/swap.h
index fad0f35a7..086449028 100644
--- a/src/common/swap.h
+++ b/src/common/swap.h
@@ -57,13 +57,13 @@
57namespace Common { 57namespace Common {
58 58
59#ifdef _MSC_VER 59#ifdef _MSC_VER
60inline u16 swap16(u16 data) { 60[[nodiscard]] inline u16 swap16(u16 data) noexcept {
61 return _byteswap_ushort(data); 61 return _byteswap_ushort(data);
62} 62}
63inline u32 swap32(u32 data) { 63[[nodiscard]] inline u32 swap32(u32 data) noexcept {
64 return _byteswap_ulong(data); 64 return _byteswap_ulong(data);
65} 65}
66inline u64 swap64(u64 data) { 66[[nodiscard]] inline u64 swap64(u64 data) noexcept {
67 return _byteswap_uint64(data); 67 return _byteswap_uint64(data);
68} 68}
69#elif defined(__clang__) || defined(__GNUC__) 69#elif defined(__clang__) || defined(__GNUC__)
@@ -73,29 +73,29 @@ inline u64 swap64(u64 data) {
73#undef swap32 73#undef swap32
74#undef swap64 74#undef swap64
75#endif 75#endif
76inline u16 swap16(u16 data) { 76[[nodiscard]] inline u16 swap16(u16 data) noexcept {
77 return __builtin_bswap16(data); 77 return __builtin_bswap16(data);
78} 78}
79inline u32 swap32(u32 data) { 79[[nodiscard]] inline u32 swap32(u32 data) noexcept {
80 return __builtin_bswap32(data); 80 return __builtin_bswap32(data);
81} 81}
82inline u64 swap64(u64 data) { 82[[nodiscard]] inline u64 swap64(u64 data) noexcept {
83 return __builtin_bswap64(data); 83 return __builtin_bswap64(data);
84} 84}
85#else 85#else
86// Slow generic implementation. 86// Slow generic implementation.
87inline u16 swap16(u16 data) { 87[[nodiscard]] inline u16 swap16(u16 data) noexcept {
88 return (data >> 8) | (data << 8); 88 return (data >> 8) | (data << 8);
89} 89}
90inline u32 swap32(u32 data) { 90[[nodiscard]] inline u32 swap32(u32 data) noexcept {
91 return (swap16(data) << 16) | swap16(data >> 16); 91 return (swap16(data) << 16) | swap16(data >> 16);
92} 92}
93inline u64 swap64(u64 data) { 93[[nodiscard]] inline u64 swap64(u64 data) noexcept {
94 return ((u64)swap32(data) << 32) | swap32(data >> 32); 94 return ((u64)swap32(data) << 32) | swap32(data >> 32);
95} 95}
96#endif 96#endif
97 97
98inline float swapf(float f) { 98[[nodiscard]] inline float swapf(float f) noexcept {
99 static_assert(sizeof(u32) == sizeof(float), "float must be the same size as uint32_t."); 99 static_assert(sizeof(u32) == sizeof(float), "float must be the same size as uint32_t.");
100 100
101 u32 value; 101 u32 value;
@@ -107,7 +107,7 @@ inline float swapf(float f) {
107 return f; 107 return f;
108} 108}
109 109
110inline double swapd(double f) { 110[[nodiscard]] inline double swapd(double f) noexcept {
111 static_assert(sizeof(u64) == sizeof(double), "double must be the same size as uint64_t."); 111 static_assert(sizeof(u64) == sizeof(double), "double must be the same size as uint64_t.");
112 112
113 u64 value; 113 u64 value;