Mercurial > sdl-ios-xcode
changeset 1984:b910bcabec26
Added SDL_SwapFloat* function/macros. Reference Bugzilla #293.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 24 Aug 2006 12:49:59 +0000 |
parents | ee73925ddf14 |
children | 8055185ae4ed |
files | include/SDL_endian.h |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/include/SDL_endian.h Thu Aug 24 12:48:16 2006 +0000 +++ b/include/SDL_endian.h Thu Aug 24 12:49:59 2006 +0000 @@ -192,21 +192,35 @@ #endif /* SDL_HAS_64BIT_TYPE */ +static __inline__ float +SDL_SwapFloat(float x) +{ + union { float f; Uint32 ui32; } swapper; + swapper.f = x; + swapper.ui32 = SDL_Swap32(swapper.ui32); + return swapper.f; +} + + /* Byteswap item from the specified endianness to the native endianness */ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define SDL_SwapLE16(X) (X) #define SDL_SwapLE32(X) (X) #define SDL_SwapLE64(X) (X) +#define SDL_SwapFloatLE(X) (X) #define SDL_SwapBE16(X) SDL_Swap16(X) #define SDL_SwapBE32(X) SDL_Swap32(X) #define SDL_SwapBE64(X) SDL_Swap64(X) +#define SDL_SwapFloatBE(X) SDL_SwapFloat(X) #else #define SDL_SwapLE16(X) SDL_Swap16(X) #define SDL_SwapLE32(X) SDL_Swap32(X) #define SDL_SwapLE64(X) SDL_Swap64(X) +#define SDL_SwapFloatLE(X) SDL_SwapFloat(X) #define SDL_SwapBE16(X) (X) #define SDL_SwapBE32(X) (X) #define SDL_SwapBE64(X) (X) +#define SDL_SwapFloatBE(X) (X) #endif /* Ends C function definitions when using C++ */