casacore
Classes | Namespaces | Macros
LECanonicalConversion.h File Reference
#include <casacore/casa/aips.h>
#include <casacore/casa/OS/Conversion.h>
#include <cstring>

Go to the source code of this file.

Classes

class  casacore::LECanonicalConversion
  More...
 

Namespaces

 casacore
 this file contains all the compiler specific defines
 

Macros

#define SIZE_LECAN_CHAR
 Define the little endian canonical sizes of the built-in data types. More...
 
#define SIZE_LECAN_UCHAR
 
#define SIZE_LECAN_SHORT
 
#define SIZE_LECAN_USHORT
 
#define SIZE_LECAN_INT
 
#define SIZE_LECAN_UINT
 
#define SIZE_LECAN_INT64
 
#define SIZE_LECAN_UINT64
 
#define SIZE_LECAN_FLOAT
 
#define SIZE_LECAN_DOUBLE
 
#define CONVERT_LECAN_CHAR
 Define for each data format if a conversion is needed from the local format to the little endian canonical format (or vice-versa). More...
 
#define CONVERT_LECAN_UCHAR
 
#define CONVERT_LECAN_SHORT
 
#define CONVERT_LECAN_USHORT
 
#define CONVERT_LECAN_INT
 
#define CONVERT_LECAN_UINT
 
#define CONVERT_LECAN_INT64
 
#define CONVERT_LECAN_UINT64
 
#define CONVERT_LECAN_FLOAT
 
#define CONVERT_LECAN_DOUBLE
 

Macro Definition Documentation

◆ CONVERT_LECAN_CHAR

#define CONVERT_LECAN_CHAR

Define for each data format if a conversion is needed from the local format to the little endian canonical format (or vice-versa).

This allows for optimizations in, for example, AipsIO. The canonical format is ASCII for strings, IEEE for floating point and 2-complement for integers (all most significant bit last) with the lengths as shown above. The function checkConvert() can be used to check if the flags are set correctly.

Conversion is needed for big endian architectures (like SUN), because the bytes have to be swapped (thus not for data with length 1).

Definition at line 66 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_DOUBLE

#define CONVERT_LECAN_DOUBLE

Definition at line 77 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_FLOAT

#define CONVERT_LECAN_FLOAT

Definition at line 76 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_INT

#define CONVERT_LECAN_INT

Definition at line 72 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_INT64

#define CONVERT_LECAN_INT64

Definition at line 74 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_SHORT

#define CONVERT_LECAN_SHORT

Definition at line 70 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_UCHAR

#define CONVERT_LECAN_UCHAR

Definition at line 67 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_UINT

#define CONVERT_LECAN_UINT

Definition at line 73 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_UINT64

#define CONVERT_LECAN_UINT64

Definition at line 75 of file LECanonicalConversion.h.

◆ CONVERT_LECAN_USHORT

#define CONVERT_LECAN_USHORT

Definition at line 71 of file LECanonicalConversion.h.

◆ SIZE_LECAN_CHAR

#define SIZE_LECAN_CHAR

Define the little endian canonical sizes of the built-in data types.

These are the same for all machine architectures.

Definition at line 42 of file LECanonicalConversion.h.

◆ SIZE_LECAN_DOUBLE

#define SIZE_LECAN_DOUBLE

Definition at line 51 of file LECanonicalConversion.h.

◆ SIZE_LECAN_FLOAT

#define SIZE_LECAN_FLOAT

Definition at line 50 of file LECanonicalConversion.h.

◆ SIZE_LECAN_INT

#define SIZE_LECAN_INT

Definition at line 46 of file LECanonicalConversion.h.

◆ SIZE_LECAN_INT64

#define SIZE_LECAN_INT64

Definition at line 48 of file LECanonicalConversion.h.

◆ SIZE_LECAN_SHORT

#define SIZE_LECAN_SHORT

Definition at line 44 of file LECanonicalConversion.h.

◆ SIZE_LECAN_UCHAR

#define SIZE_LECAN_UCHAR

Definition at line 43 of file LECanonicalConversion.h.

◆ SIZE_LECAN_UINT

#define SIZE_LECAN_UINT

Definition at line 47 of file LECanonicalConversion.h.

◆ SIZE_LECAN_UINT64

#define SIZE_LECAN_UINT64

Definition at line 49 of file LECanonicalConversion.h.

◆ SIZE_LECAN_USHORT

#define SIZE_LECAN_USHORT

Definition at line 45 of file LECanonicalConversion.h.