Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Byte Swapping Functions

Functions

posh_u16_t POSH_SwapU16 (posh_u16_t u)
 
posh_s16_t POSH_SwapS16 (posh_s16_t u)
 
posh_u32_t POSH_SwapU32 (posh_u32_t u)
 
posh_s32_t POSH_SwapS32 (posh_s32_t u)
 

Detailed Description

These functions perform byte swapping of 16 and 32-bit values. The 64-bit versions of these functions are documented under SixtyFourBit

Function Documentation

posh_s16_t POSH_SwapS16 ( posh_s16_t  v)

Byte swaps a 16-bit signed value

Parameters
v[in]signed 16-bit input value to swap
Returns
a byte swapped version of v
Remarks
This just calls back to the unsigned version, since byte swapping is independent of sign. However, we still provide this function to avoid signed/unsigned mismatch compiler warnings.

Definition at line 217 of file posh.cpp.

References POSH_SwapU16().

218 {
219  return (posh_s16_t) POSH_SwapU16( v );
220 }
posh_s32_t POSH_SwapS32 ( posh_s32_t  v)

Byte swaps a 32-bit signed value

Parameters
v[in]signed 32-bit input value to swap
Returns
a byte swapped version of v
Remarks
This just calls back to the unsigned version, since byte swapping is independent of sign. However, we still provide this function to avoid signed/unsigned mismatch compiler warnings.

Definition at line 249 of file posh.cpp.

References POSH_SwapU32().

250 {
251  return (posh_s32_t) POSH_SwapU32( (posh_u32_t) v );
252 }
posh_u16_t POSH_SwapU16 ( posh_u16_t  v)

Byte swaps a 16-bit unsigned value

Parameters
v[in]unsigned 16-bit input value to swap
Returns
a byte swapped version of v

Definition at line 198 of file posh.cpp.

Referenced by POSH_SwapS16().

199 {
200  posh_u16_t swapped;
201 
202  swapped = v<<8;
203  swapped |= v>>8;
204 
205  return swapped;
206 }
posh_u32_t POSH_SwapU32 ( posh_u32_t  v)

Byte swaps a 32-bit unsigned value

Parameters
v[in]unsigned 32-bit input value to swap
Returns
a byte swapped version of v

Definition at line 228 of file posh.cpp.

Referenced by POSH_BigFloatBits(), POSH_FloatFromBigBits(), POSH_FloatFromLittleBits(), POSH_LittleFloatBits(), and POSH_SwapS32().

229 {
230  posh_u32_t swapped;
231 
232  swapped = (v&0xFF)<<24;
233  swapped |= (v&0xFF00)<<8;
234  swapped |= (v>>8)&0xFF00;
235  swapped |= (v>>24);
236 
237  return swapped;
238 }