28 #ifndef CASA_MODCOMPCONVERSION_H 29 #define CASA_MODCOMPCONVERSION_H 31 #include <casacore/casa/aips.h> 32 #include <casacore/casa/Utilities/Assert.h> 33 #include <casacore/casa/OS/CanonicalConversion.h> 40 #define SIZE_MODCOMP_CHAR 1 41 #define SIZE_MODCOMP_UCHAR 1 42 #define SIZE_MODCOMP_SHORT 2 43 #define SIZE_MODCOMP_USHORT 2 44 #define SIZE_MODCOMP_INT 4 45 #define SIZE_MODCOMP_UINT 4 46 #define SIZE_MODCOMP_INT64 4 47 #define SIZE_MODCOMP_UINT64 4 48 #define SIZE_MODCOMP_FLOAT 4 49 #define SIZE_MODCOMP_DOUBLE 8 61 #define CONVERT_MODCOMP_CHAR 0 62 #define CONVERT_MODCOMP_UCHAR 0 65 #if defined(AIPS_LITTLE_ENDIAN) 66 #define CONVERT_MODCOMP_SHORT 1 67 #define CONVERT_MODCOMP_USHORT 1 68 #define CONVERT_MODCOMP_INT 1 69 #define CONVERT_MODCOMP_UINT 1 70 #define CONVERT_MODCOMP_INT64 1 71 #define CONVERT_MODCOMP_UINT64 1 75 #define CONVERT_MODCOMP_SHORT 0 76 #define CONVERT_MODCOMP_USHORT 0 77 #define CONVERT_MODCOMP_INT 0 78 #define CONVERT_MODCOMP_UINT 0 79 #define CONVERT_MODCOMP_INT64 1 80 #define CONVERT_MODCOMP_UINT64 1 83 #define CONVERT_MODCOMP_FLOAT 1 84 #define CONVERT_MODCOMP_DOUBLE 1 126 static size_t toLocal(
Int& to,
const void* from);
137 static size_t toLocal(
Char* to,
const void* from,
size_t nr);
138 static size_t toLocal(
uChar* to,
const void* from,
size_t nr);
139 static size_t toLocal(
Short* to,
const void* from,
size_t nr);
140 static size_t toLocal(
uShort* to,
const void* from,
size_t nr);
141 static size_t toLocal(
Int* to,
const void* from,
size_t nr);
142 static size_t toLocal(
uInt* to,
const void* from,
size_t nr);
143 static size_t toLocal(
Int64* to,
const void* from,
size_t nr);
144 static size_t toLocal(
uInt64* to,
const void* from,
size_t nr);
145 static size_t toLocal(
Float* to,
const void* from,
size_t nr);
146 static size_t toLocal(
Double* to,
const void* from,
size_t nr);
169 static size_t fromLocal(
void* to,
const Char* from,
size_t nr);
173 static size_t fromLocal(
void* to,
const Int* from,
size_t nr);
174 static size_t fromLocal(
void* to,
const uInt* from,
size_t nr);
213 size_t res =
toLocal (tmp, from);
220 size_t res =
toLocal (tmp, from);
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
static size_t fromLocalUChar(void *to, const void *from, size_t nr)
static size_t fromLocalUInt(void *to, const void *from, size_t nr)
static size_t fromLocalShort(void *to, const void *from, size_t nr)
static size_t fromLocal(void *to, Char from)
Convert one value from local format to Modcomp format.
unsigned long long uInt64
static size_t toLocalUInt(void *to, const void *from, size_t nr)
ModcompConversion()
This class should not be constructed (so declare the constructor private).
static size_t fromLocalUShort(void *to, const void *from, size_t nr)
Static functions to convert Modcomp numeric formats.
static size_t toLocal(Char &to, const void *from)
Convert one value from Modcomp format to local format.
static size_t toLocalChar(void *to, const void *from, size_t nr)
Convert nr values from canonical format to local format.
static size_t toLocalShort(void *to, const void *from, size_t nr)
static size_t toLocal(char &to, const void *from)
Convert one value from canonical format to local format.
static size_t fromLocal(void *to, const char &from)
Convert one value from local format to canonical format.
static size_t toLocalUShort(void *to, const void *from, size_t nr)
static size_t fromLocalChar(void *to, const void *from, size_t nr)
Convert nr values from local format to canonical format.
static size_t toLocalUChar(void *to, const void *from, size_t nr)
static size_t toLocalInt(void *to, const void *from, size_t nr)
this file contains all the compiler specific defines
static size_t fromLocalInt(void *to, const void *from, size_t nr)