casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
 A class with static functions to convert little endian canonical format. More...
 

Namespaces

 casacore
 For temporary backward namespace compatibility, use casa as alias for casacore.
 

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

#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.

#define CONVERT_LECAN_DOUBLE

Definition at line 77 of file LECanonicalConversion.h.

#define CONVERT_LECAN_FLOAT

Definition at line 76 of file LECanonicalConversion.h.

#define CONVERT_LECAN_INT

Definition at line 72 of file LECanonicalConversion.h.

#define CONVERT_LECAN_INT64

Definition at line 74 of file LECanonicalConversion.h.

#define CONVERT_LECAN_SHORT

Definition at line 70 of file LECanonicalConversion.h.

#define CONVERT_LECAN_UCHAR

Definition at line 67 of file LECanonicalConversion.h.

#define CONVERT_LECAN_UINT

Definition at line 73 of file LECanonicalConversion.h.

#define CONVERT_LECAN_UINT64

Definition at line 75 of file LECanonicalConversion.h.

#define CONVERT_LECAN_USHORT

Definition at line 71 of file LECanonicalConversion.h.

#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.

Referenced by casacore::LECanonicalConversion::canonicalSize(), casacore::LECanonicalConversion::fromLocal(), and casacore::LECanonicalConversion::toLocal().

#define SIZE_LECAN_DOUBLE
#define SIZE_LECAN_FLOAT
#define SIZE_LECAN_INT
#define SIZE_LECAN_INT64
#define SIZE_LECAN_SHORT
#define SIZE_LECAN_UCHAR
#define SIZE_LECAN_UINT
#define SIZE_LECAN_UINT64
#define SIZE_LECAN_USHORT