casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros
ModcompConversion.h File Reference
#include <casacore/casa/aips.h>
#include <casacore/casa/Utilities/Assert.h>
#include <casacore/casa/OS/CanonicalConversion.h>

Go to the source code of this file.

Classes

class  casacore::ModcompConversion
 Static functions to convert Modcomp numeric formats. More...
 

Namespaces

 casacore
 this file contains all the compiler specific defines
 

Macros

#define SIZE_MODCOMP_CHAR
 Define the canonical sizes of the built-in data types. More...
 
#define SIZE_MODCOMP_UCHAR
 
#define SIZE_MODCOMP_SHORT
 
#define SIZE_MODCOMP_USHORT
 
#define SIZE_MODCOMP_INT
 
#define SIZE_MODCOMP_UINT
 
#define SIZE_MODCOMP_INT64
 
#define SIZE_MODCOMP_UINT64
 
#define SIZE_MODCOMP_FLOAT
 
#define SIZE_MODCOMP_DOUBLE
 
#define CONVERT_MODCOMP_CHAR
 Define for each data format if a conversion is needed from the ModComp format to the local format (or vice-versa). More...
 
#define CONVERT_MODCOMP_UCHAR
 
#define CONVERT_MODCOMP_SHORT
 Conversion is needed for little endian architectures (like DEC and Intel), because the bytes have to be swapped (thus not for data with length 1). More...
 
#define CONVERT_MODCOMP_USHORT
 
#define CONVERT_MODCOMP_INT
 
#define CONVERT_MODCOMP_UINT
 
#define CONVERT_MODCOMP_INT64
 
#define CONVERT_MODCOMP_UINT64
 
#define CONVERT_MODCOMP_FLOAT
 Conversion is always needed for floating point data. More...
 
#define CONVERT_MODCOMP_DOUBLE
 

Macro Definition Documentation

#define CONVERT_MODCOMP_CHAR

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

This allows for optimizations in, for example, AipsIO.

The ModComp format is ASCII for strings, a proprietary floating point format and 2-complement for integers (all most significant bit first) with the lengths as shown above.

Change the definitions below if new architectures (whith different lengths for these integer types) are being used.

Definition at line 61 of file ModcompConversion.h.

#define CONVERT_MODCOMP_DOUBLE

Definition at line 84 of file ModcompConversion.h.

#define CONVERT_MODCOMP_FLOAT

Conversion is always needed for floating point data.

Definition at line 83 of file ModcompConversion.h.

#define CONVERT_MODCOMP_INT

Definition at line 77 of file ModcompConversion.h.

#define CONVERT_MODCOMP_INT64

Definition at line 79 of file ModcompConversion.h.

#define CONVERT_MODCOMP_SHORT

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

 Conversion is not needed for integers if the local lengths for Shorts and

Ints is 2,4 respectively.

Definition at line 75 of file ModcompConversion.h.

#define CONVERT_MODCOMP_UCHAR

Definition at line 62 of file ModcompConversion.h.

#define CONVERT_MODCOMP_UINT

Definition at line 78 of file ModcompConversion.h.

#define CONVERT_MODCOMP_UINT64

Definition at line 80 of file ModcompConversion.h.

#define CONVERT_MODCOMP_USHORT

Definition at line 76 of file ModcompConversion.h.

#define SIZE_MODCOMP_CHAR

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

These are the same for all machine architectures.

Definition at line 40 of file ModcompConversion.h.

#define SIZE_MODCOMP_DOUBLE

Definition at line 49 of file ModcompConversion.h.

#define SIZE_MODCOMP_FLOAT

Definition at line 48 of file ModcompConversion.h.

#define SIZE_MODCOMP_INT

Definition at line 44 of file ModcompConversion.h.

#define SIZE_MODCOMP_INT64

Definition at line 46 of file ModcompConversion.h.

#define SIZE_MODCOMP_SHORT

Definition at line 42 of file ModcompConversion.h.

#define SIZE_MODCOMP_UCHAR

Definition at line 41 of file ModcompConversion.h.

#define SIZE_MODCOMP_UINT

Definition at line 45 of file ModcompConversion.h.

#define SIZE_MODCOMP_UINT64

Definition at line 47 of file ModcompConversion.h.

#define SIZE_MODCOMP_USHORT

Definition at line 43 of file ModcompConversion.h.