|
casacore
|
#include <LECanonicalConversion.h>
Static Public Member Functions | |
| static size_t | toLocal (char &to, const void *from) |
| Convert one value from canonical format to local format. | |
| static size_t | toLocal (unsigned char &to, const void *from) |
| static size_t | toLocal (short &to, const void *from) |
| static size_t | toLocal (unsigned short &to, const void *from) |
| static size_t | toLocal (int &to, const void *from) |
| static size_t | toLocal (unsigned int &to, const void *from) |
| static size_t | toLocal (Int64 &to, const void *from) |
| static size_t | toLocal (uInt64 &to, const void *from) |
| static size_t | toLocal (float &to, const void *from) |
| static size_t | toLocal (double &to, const void *from) |
| static size_t | fromLocal (void *to, const char &from) |
| Convert one value from local format to canonical format. | |
| static size_t | fromLocal (void *to, const unsigned char &from) |
| static size_t | fromLocal (void *to, const short &from) |
| static size_t | fromLocal (void *to, const unsigned short &from) |
| static size_t | fromLocal (void *to, const int &from) |
| static size_t | fromLocal (void *to, const unsigned int &from) |
| static size_t | fromLocal (void *to, const Int64 &from) |
| static size_t | fromLocal (void *to, const uInt64 &from) |
| static size_t | fromLocal (void *to, const float &from) |
| static size_t | fromLocal (void *to, const double &from) |
| static size_t | toLocal (char *to, const void *from, size_t nr) |
| Convert nr values from canonical format to local format. | |
| static size_t | toLocal (unsigned char *to, const void *from, size_t nr) |
| static size_t | toLocal (short *to, const void *from, size_t nr) |
| static size_t | toLocal (unsigned short *to, const void *from, size_t nr) |
| static size_t | toLocal (int *to, const void *from, size_t nr) |
| static size_t | toLocal (unsigned int *to, const void *from, size_t nr) |
| static size_t | toLocal (Int64 *to, const void *from, size_t nr) |
| static size_t | toLocal (uInt64 *to, const void *from, size_t nr) |
| static size_t | toLocal (float *to, const void *from, size_t nr) |
| static size_t | toLocal (double *to, const void *from, size_t nr) |
| static size_t | fromLocal (void *to, const char *from, size_t nr) |
| Convert nr values from local format to canonical format. | |
| static size_t | fromLocal (void *to, const unsigned char *from, size_t nr) |
| static size_t | fromLocal (void *to, const short *from, size_t nr) |
| static size_t | fromLocal (void *to, const unsigned short *from, size_t nr) |
| static size_t | fromLocal (void *to, const int *from, size_t nr) |
| static size_t | fromLocal (void *to, const unsigned int *from, size_t nr) |
| static size_t | fromLocal (void *to, const Int64 *from, size_t nr) |
| static size_t | fromLocal (void *to, const uInt64 *from, size_t nr) |
| static size_t | fromLocal (void *to, const float *from, size_t nr) |
| static size_t | fromLocal (void *to, const double *from, size_t nr) |
| static size_t | toLocalChar (void *to, const void *from, size_t nr) |
| Convert nr values from canonical format to local format. | |
| static size_t | toLocalUChar (void *to, const void *from, size_t nr) |
| static size_t | toLocalShort (void *to, const void *from, size_t nr) |
| static size_t | toLocalUShort (void *to, const void *from, size_t nr) |
| static size_t | toLocalInt (void *to, const void *from, size_t nr) |
| static size_t | toLocalUInt (void *to, const void *from, size_t nr) |
| static size_t | toLocalInt64 (void *to, const void *from, size_t nr) |
| static size_t | toLocalUInt64 (void *to, const void *from, size_t nr) |
| static size_t | toLocalFloat (void *to, const void *from, size_t nr) |
| static size_t | toLocalDouble (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 | fromLocalUChar (void *to, const void *from, size_t nr) |
| static size_t | fromLocalShort (void *to, const void *from, size_t nr) |
| static size_t | fromLocalUShort (void *to, const void *from, size_t nr) |
| static size_t | fromLocalInt (void *to, const void *from, size_t nr) |
| static size_t | fromLocalUInt (void *to, const void *from, size_t nr) |
| static size_t | fromLocalInt64 (void *to, const void *from, size_t nr) |
| static size_t | fromLocalUInt64 (void *to, const void *from, size_t nr) |
| static size_t | fromLocalFloat (void *to, const void *from, size_t nr) |
| static size_t | fromLocalDouble (void *to, const void *from, size_t nr) |
| static void * | byteToLocalChar (void *to, const void *from, size_t nrbytes) |
| Convert values from canonical format to local format. | |
| static void * | byteToLocalUChar (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalShort (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalUShort (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalInt (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalUInt (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalInt64 (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalUInt64 (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalFloat (void *to, const void *from, size_t nrbytes) |
| static void * | byteToLocalDouble (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalChar (void *to, const void *from, size_t nrbytes) |
| Convert values from local format to canonical format. | |
| static void * | byteFromLocalUChar (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalShort (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalUShort (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalInt (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalUInt (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalInt64 (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalUInt64 (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalFloat (void *to, const void *from, size_t nrbytes) |
| static void * | byteFromLocalDouble (void *to, const void *from, size_t nrbytes) |
| static Conversion::ValueFunction * | getToLocal (const char *) |
| Get the value conversion function for the given type. | |
| static Conversion::ValueFunction * | getToLocal (const unsigned char *) |
| static Conversion::ValueFunction * | getToLocal (const short *) |
| static Conversion::ValueFunction * | getToLocal (const unsigned short *) |
| static Conversion::ValueFunction * | getToLocal (const int *) |
| static Conversion::ValueFunction * | getToLocal (const unsigned int *) |
| static Conversion::ValueFunction * | getToLocal (const Int64 *) |
| static Conversion::ValueFunction * | getToLocal (const uInt64 *) |
| static Conversion::ValueFunction * | getToLocal (const float *) |
| static Conversion::ValueFunction * | getToLocal (const double *) |
| static Conversion::ValueFunction * | getFromLocal (const char *) |
| static Conversion::ValueFunction * | getFromLocal (const unsigned char *) |
| static Conversion::ValueFunction * | getFromLocal (const short *) |
| static Conversion::ValueFunction * | getFromLocal (const unsigned short *) |
| static Conversion::ValueFunction * | getFromLocal (const int *) |
| static Conversion::ValueFunction * | getFromLocal (const unsigned int *) |
| static Conversion::ValueFunction * | getFromLocal (const Int64 *) |
| static Conversion::ValueFunction * | getFromLocal (const uInt64 *) |
| static Conversion::ValueFunction * | getFromLocal (const float *) |
| static Conversion::ValueFunction * | getFromLocal (const double *) |
| static Conversion::ByteFunction * | getByteToLocal (const char *) |
| Get the byte conversion function for the given type. | |
| static Conversion::ByteFunction * | getByteToLocal (const unsigned char *) |
| static Conversion::ByteFunction * | getByteToLocal (const short *) |
| static Conversion::ByteFunction * | getByteToLocal (const unsigned short *) |
| static Conversion::ByteFunction * | getByteToLocal (const int *) |
| static Conversion::ByteFunction * | getByteToLocal (const unsigned int *) |
| static Conversion::ByteFunction * | getByteToLocal (const Int64 *) |
| static Conversion::ByteFunction * | getByteToLocal (const uInt64 *) |
| static Conversion::ByteFunction * | getByteToLocal (const float *) |
| static Conversion::ByteFunction * | getByteToLocal (const double *) |
| static Conversion::ByteFunction * | getByteFromLocal (const char *) |
| static Conversion::ByteFunction * | getByteFromLocal (const unsigned char *) |
| static Conversion::ByteFunction * | getByteFromLocal (const short *) |
| static Conversion::ByteFunction * | getByteFromLocal (const unsigned short *) |
| static Conversion::ByteFunction * | getByteFromLocal (const int *) |
| static Conversion::ByteFunction * | getByteFromLocal (const unsigned int *) |
| static Conversion::ByteFunction * | getByteFromLocal (const Int64 *) |
| static Conversion::ByteFunction * | getByteFromLocal (const uInt64 *) |
| static Conversion::ByteFunction * | getByteFromLocal (const float *) |
| static Conversion::ByteFunction * | getByteFromLocal (const double *) |
| static unsigned int | canonicalSize (const char *) |
| Return the canonical length for the various data types. | |
| static unsigned int | canonicalSize (const unsigned char *) |
| static unsigned int | canonicalSize (const short *) |
| static unsigned int | canonicalSize (const unsigned short *) |
| static unsigned int | canonicalSize (const int *) |
| static unsigned int | canonicalSize (const unsigned int *) |
| static unsigned int | canonicalSize (const Int64 *) |
| static unsigned int | canonicalSize (const uInt64 *) |
| static unsigned int | canonicalSize (const float *) |
| static unsigned int | canonicalSize (const double *) |
| static void | reverse2 (void *to, const void *from) |
| Reverse 2 bytes. | |
| static void | reverse4 (void *to, const void *from) |
| Reverse 4 bytes. | |
| static void | reverse8 (void *to, const void *from) |
| Reverse 8 bytes. | |
| static void | move2 (void *to, const void *from) |
| Move 2 bytes. | |
| static void | move4 (void *to, const void *from) |
| Move 4 bytes. | |
| static void | move8 (void *to, const void *from) |
| Move 8 bytes. | |
Private Member Functions | |
| LECanonicalConversion () | |
| This class should not be constructed (so declare the constructor private). | |
A class with static functions to convert little endian canonical format
Public interface
This class consists of several static functions to convert data from local (=native) format to a little endian canonical format. The canonical length of each data type is:
- Bool: 1 bit
- char: 1 byte
- short: 2 bytes
- int: 4 bytes
- Int64: 8 bytes
- float: 4 bytes
- double: 8 bytes
This canonical format is little-endian IEEE format, so on PCs the conversion is only a copy operation. On e.g. SUNs however, it involves a byte swap to convert from little endian to big endian.
The class also contains conversion functions making it possible to specify the number of bytes (in local format) instead of the number of values. These functions are included to make it possible to have the same signature as memcpy.
The current implementation of this class works on big- and little-endian machines using IEEE format. When using on other machines (e.g. VAX) the toLocal and fromLocal functions have to be changed.
Note that no functions are provided to handle Bools. Instead class Conversion provides functions to convert Bools to/from bits.
Casacore data will often be stored in a canonical format. To read these data conversion functions are needed. However, these functions do not use any other Casacore classes, so they can easily be used in any other software system.
Definition at line 152 of file LECanonicalConversion.h.
|
private |
This class should not be constructed (so declare the constructor private).
|
static |
Convert values from local format to canonical format.
The from and to buffer should not overlap. The number of values involved is determined from the argument nrbytes, which gives the number of bytes in local format. The signature of this function is the same as memcpy, so that memcpy can directly be used if no conversion is needed.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Convert values from canonical format to local format.
The from and to buffer should not overlap. The number of values involved is determined from the argument nrbytes, which gives the number of bytes in local format. The signature of this function is the same as memcpy, so that memcpy can directly be used if no conversion is needed.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
Return the canonical length for the various data types.
Definition at line 732 of file LECanonicalConversion.h.
References SIZE_LECAN_CHAR.
|
inlinestatic |
Definition at line 749 of file LECanonicalConversion.h.
References SIZE_LECAN_DOUBLE.
|
inlinestatic |
Definition at line 748 of file LECanonicalConversion.h.
References SIZE_LECAN_FLOAT.
|
inlinestatic |
Definition at line 740 of file LECanonicalConversion.h.
References SIZE_LECAN_INT.
|
inlinestatic |
Definition at line 744 of file LECanonicalConversion.h.
References SIZE_LECAN_INT64.
|
inlinestatic |
Definition at line 736 of file LECanonicalConversion.h.
References SIZE_LECAN_SHORT.
|
inlinestatic |
Definition at line 745 of file LECanonicalConversion.h.
References SIZE_LECAN_UINT64.
|
inlinestatic |
Definition at line 733 of file LECanonicalConversion.h.
References SIZE_LECAN_UCHAR.
|
inlinestatic |
Definition at line 741 of file LECanonicalConversion.h.
References SIZE_LECAN_UINT.
|
inlinestatic |
Definition at line 737 of file LECanonicalConversion.h.
References SIZE_LECAN_USHORT.
|
inlinestatic |
Convert one value from local format to canonical format.
The from and to buffer should not overlap.
Definition at line 527 of file LECanonicalConversion.h.
References SIZE_LECAN_CHAR.
|
inlinestatic |
Convert nr values from local format to canonical format.
The from and to buffer should not overlap.
Definition at line 639 of file LECanonicalConversion.h.
References fromLocalChar().
|
inlinestatic |
Definition at line 599 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_FLOAT.
|
inlinestatic |
Definition at line 666 of file LECanonicalConversion.h.
References fromLocalDouble().
|
inlinestatic |
Definition at line 590 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_FLOAT.
|
inlinestatic |
Definition at line 663 of file LECanonicalConversion.h.
References fromLocalFloat().
|
inlinestatic |
Definition at line 554 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_INT.
|
inlinestatic |
Definition at line 651 of file LECanonicalConversion.h.
References fromLocalInt().
|
inlinestatic |
Definition at line 572 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_INT64.
|
inlinestatic |
Definition at line 657 of file LECanonicalConversion.h.
References fromLocalInt64().
|
inlinestatic |
Definition at line 536 of file LECanonicalConversion.h.
References move2(), reverse2(), and SIZE_LECAN_SHORT.
|
inlinestatic |
Definition at line 645 of file LECanonicalConversion.h.
References fromLocalShort().
|
inlinestatic |
Definition at line 581 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_UINT64.
|
inlinestatic |
Definition at line 660 of file LECanonicalConversion.h.
References fromLocalUInt64().
|
inlinestatic |
Definition at line 531 of file LECanonicalConversion.h.
References SIZE_LECAN_UCHAR.
|
inlinestatic |
Definition at line 642 of file LECanonicalConversion.h.
References fromLocalUChar().
|
inlinestatic |
Definition at line 563 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_UINT.
|
inlinestatic |
Definition at line 654 of file LECanonicalConversion.h.
References fromLocalUInt().
|
inlinestatic |
Definition at line 545 of file LECanonicalConversion.h.
References move2(), reverse2(), and SIZE_LECAN_USHORT.
|
inlinestatic |
Definition at line 648 of file LECanonicalConversion.h.
References fromLocalUShort().
|
static |
Convert nr values from local format to canonical format.
The from and to buffer should not overlap.
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
Referenced by fromLocal(), and getFromLocal().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Get the byte conversion function for the given type.
The function memcpy is returned when a conversion is not needed.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
Definition at line 701 of file LECanonicalConversion.h.
References fromLocalChar().
|
inlinestatic |
Definition at line 728 of file LECanonicalConversion.h.
References fromLocalDouble().
|
inlinestatic |
Definition at line 725 of file LECanonicalConversion.h.
References fromLocalFloat().
|
inlinestatic |
Definition at line 713 of file LECanonicalConversion.h.
References fromLocalInt().
|
inlinestatic |
Definition at line 719 of file LECanonicalConversion.h.
References fromLocalInt64().
|
inlinestatic |
Definition at line 707 of file LECanonicalConversion.h.
References fromLocalShort().
|
inlinestatic |
Definition at line 722 of file LECanonicalConversion.h.
References fromLocalUInt64().
|
inlinestatic |
Definition at line 704 of file LECanonicalConversion.h.
References fromLocalUChar().
|
inlinestatic |
Definition at line 716 of file LECanonicalConversion.h.
References fromLocalUInt().
|
inlinestatic |
Definition at line 710 of file LECanonicalConversion.h.
References fromLocalUShort().
|
inlinestatic |
Get the value conversion function for the given type.
Definition at line 670 of file LECanonicalConversion.h.
References toLocalChar().
|
inlinestatic |
Definition at line 697 of file LECanonicalConversion.h.
References toLocalDouble().
|
inlinestatic |
Definition at line 694 of file LECanonicalConversion.h.
References toLocalFloat().
|
inlinestatic |
Definition at line 682 of file LECanonicalConversion.h.
References toLocalInt().
|
inlinestatic |
Definition at line 688 of file LECanonicalConversion.h.
References toLocalInt64().
|
inlinestatic |
Definition at line 676 of file LECanonicalConversion.h.
References toLocalShort().
|
inlinestatic |
Definition at line 691 of file LECanonicalConversion.h.
References toLocalUInt64().
|
inlinestatic |
Definition at line 673 of file LECanonicalConversion.h.
References toLocalUChar().
|
inlinestatic |
Definition at line 685 of file LECanonicalConversion.h.
References toLocalUInt().
|
inlinestatic |
Definition at line 679 of file LECanonicalConversion.h.
References toLocalUShort().
|
inlinestatic |
Move 2 bytes.
Definition at line 402 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), toLocal(), and toLocal().
|
inlinestatic |
Move 4 bytes.
Definition at line 404 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), fromLocal(), toLocal(), toLocal(), and toLocal().
|
inlinestatic |
Move 8 bytes.
Definition at line 406 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), fromLocal(), toLocal(), toLocal(), and toLocal().
|
inlinestatic |
Reverse 2 bytes.
Definition at line 371 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), toLocal(), and toLocal().
|
inlinestatic |
Reverse 4 bytes.
Definition at line 378 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), fromLocal(), toLocal(), toLocal(), and toLocal().
|
inlinestatic |
Reverse 8 bytes.
Definition at line 389 of file LECanonicalConversion.h.
Referenced by fromLocal(), fromLocal(), fromLocal(), toLocal(), toLocal(), and toLocal().
|
inlinestatic |
Convert one value from canonical format to local format.
The from and to buffer should not overlap.
Definition at line 415 of file LECanonicalConversion.h.
References SIZE_LECAN_CHAR.
|
inlinestatic |
Convert nr values from canonical format to local format.
The from and to buffer should not overlap.
Definition at line 608 of file LECanonicalConversion.h.
References toLocalChar().
|
inlinestatic |
Definition at line 518 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_DOUBLE.
|
inlinestatic |
Definition at line 635 of file LECanonicalConversion.h.
References toLocalDouble().
|
inlinestatic |
Definition at line 509 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_FLOAT.
|
inlinestatic |
Definition at line 632 of file LECanonicalConversion.h.
References toLocalFloat().
|
inlinestatic |
Definition at line 453 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_INT.
|
inlinestatic |
Definition at line 620 of file LECanonicalConversion.h.
References toLocalInt().
|
inlinestatic |
Definition at line 481 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_INT64.
|
inlinestatic |
Definition at line 626 of file LECanonicalConversion.h.
References toLocalInt64().
|
inlinestatic |
Definition at line 425 of file LECanonicalConversion.h.
References move2(), reverse2(), and SIZE_LECAN_SHORT.
|
inlinestatic |
Definition at line 614 of file LECanonicalConversion.h.
References toLocalShort().
|
inlinestatic |
Definition at line 497 of file LECanonicalConversion.h.
References move8(), reverse8(), and SIZE_LECAN_UINT64.
|
inlinestatic |
Definition at line 629 of file LECanonicalConversion.h.
References toLocalUInt64().
|
inlinestatic |
Definition at line 420 of file LECanonicalConversion.h.
References SIZE_LECAN_UCHAR.
|
inlinestatic |
Definition at line 611 of file LECanonicalConversion.h.
References toLocalUChar().
|
inlinestatic |
Definition at line 469 of file LECanonicalConversion.h.
References move4(), reverse4(), and SIZE_LECAN_UINT.
|
inlinestatic |
Definition at line 623 of file LECanonicalConversion.h.
References toLocalUInt().
|
inlinestatic |
Definition at line 441 of file LECanonicalConversion.h.
References move2(), reverse2(), and SIZE_LECAN_USHORT.
|
inlinestatic |
Definition at line 617 of file LECanonicalConversion.h.
References toLocalUShort().
|
static |
Convert nr values from canonical format to local format.
The from and to buffer should not overlap.
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().
|
static |
Referenced by getToLocal(), and toLocal().