csutil/csendian.h File Reference
Helpers for dealing with endian conversions. More...
#include <math.h>
#include "cstypes.h"
Go to the source code of this file.
Classes | |
struct | csBigEndian |
Big endian to native conversion routines. More... | |
struct | csGetFromAddress |
Sized data type access helpers. More... | |
struct | csIEEEfloat |
Convert IEEE 32-bit floats from or to native machine floats. More... | |
struct | csLittleEndian |
Little endian to native conversion routines. More... | |
struct | csSetToAddress |
Sized data type access helpers. More... | |
struct | csSwapBytes |
Methods to unconditionally swap the byte order of specifically sized types. More... | |
Deprecated endian conversion routines | |
It is recommended to use csLittleEndian, csBigEndian, csIEEEfloat, csGetFromAddress or csSetToAddress for the tasks below. | |
static float | csBigEndianFloat (float f) |
Convert a big-endian floating-point number to machine format. | |
static uint32 | csBigEndianLong (uint32 l) |
Convert a long from big-endian to machine format. | |
static uint64 | csBigEndianLongLong (uint64 l) |
Convert a longlong from big-endian to machine format. | |
static uint16 | csBigEndianShort (uint16 s) |
Convert a short from big-endian to machine format. | |
static int64 | csDoubleToLongLong (double d) |
Convert a double to a cross-platform 64-bit format (no endianess adjustments!). | |
static int32 | csFloatToLong (float f) |
Convert a float to a cross-platform 32-bit format (no endianess adjustments!). | |
static short | csFloatToShort (float f) |
Convert a float to a cross-platform 16-bit format (no endianess adjustments!). | |
static float | csLittleEndianFloat (float f) |
Convert a little-endian floating-point number to machine format. | |
static uint32 | csLittleEndianLong (uint32 l) |
Convert a long from little-endian to machine format. | |
static uint64 | csLittleEndianLongLong (uint64 l) |
Convert a longlong from little-endian to machine format. | |
static uint16 | csLittleEndianShort (uint16 s) |
Convert a short from little-endian to machine format. | |
static double | csLongLongToDouble (int64 i) |
Convert a 64-bit cross-platform double to native format (no endianess adjustments!). | |
static float | csLongToFloat (int32 l) |
Convert a 32-bit cross-platform float to native format (no endianess adjustments!). | |
static float | csShortToFloat (short s) |
Convert a 16-bit cross-platform float to native format (no endianess adjustments!). | |
Defines | |
#define | csQroundSure(x) (int ((x) + ((x < 0) ? -0.5 : +0.5))) |
Functions | |
static float | csConvertEndian (float f) |
Convert bytes in a float value from host byte order to little-endian. | |
static uint16 | csConvertEndian (uint16 s) |
Convert a uint16 value from host byte order to little-endian. | |
static int16 | csConvertEndian (int16 s) |
Convert a int16 value from host byte order to little-endian. | |
static int32 | csConvertEndian (int32 l) |
Convert a int32 value from host byte order to little-endian. | |
static uint32 | csConvertEndian (uint32 l) |
Convert a uint32 value from host byte order to little-endian. | |
static int64 | csConvertEndian (int64 l) |
Convert a int64 value from host byte order to little-endian. | |
static uint64 | csConvertEndian (uint64 l) |
Convert a uint64 value from host byte order to little-endian. | |
float | csGetLittleEndianFloat16 (const void *buff) |
Read a little-endian 16-bit float from address. | |
float | csGetLittleEndianFloat32 (const void *buff) |
Read a little-endian 32-bit float from address. | |
uint32 | csGetLittleEndianLong (const void *buff) |
Read a little-endian long from address. | |
uint16 | csGetLittleEndianShort (const void *buff) |
Read a little-endian short from address. |
Detailed Description
Helpers for dealing with endian conversions.
Definition in file csendian.h.
Generated for Crystal Space by doxygen 1.4.7