This commit is contained in:
jrowlandls
2011-09-16 09:06:37 +01:00
3 changed files with 28 additions and 6 deletions

View File

@@ -131,17 +131,25 @@ inline int64 swap(int64 val)
template<>
inline float swap(float val)
{
int32* pval = (int32*)&val;
*pval = swap32(*pval);
return val;
union {
int32 i;
float f;
} conv;
conv.f = val;
conv.i = swap32(conv.i);
return conv.f;
}
template<>
inline double swap(double val)
{
int64* pval = (int64*)&val;
*pval = swap64(*pval);
return val;
union {
int64 i;
double d;
} conv;
conv.d = val;
conv.i = swap64(conv.i);
return conv.d;
}
#define is_aligned(POINTER, BYTE_COUNT) \