General:. This page generally describes new functionality in the 90 series of revisions and uploads. This is Working Documentation that with maturity will be moved to the Master Documentation. Work on this release addressed the following areas:
Conversion Operator ( %%% ):This and the next two examples illustrate the conversion operator ( %%% ). The left argument is the object to be converted. The right argument is the number of bytes resulting from the conversion. For example, to convert from bytes (e.g. CHAR or UCHAR ) the argument is _1 and 1 respectively. The underbar signifies that the object is signed. If a decimal is given (e.g. 4. ), the source is assumed to be floating point. The result is a character string for numeric objects and a numeric vector for character strings. This example shows the string result (in hex) for the numeric input. This operator is intended for use with binary file operations.
Code | Represents as |
---|---|
obj %%% 0 | Bits |
obj %%% 1 | Unsigned char |
obj %%% _1 | Signed char |
obj %%% 2 | Unsigned short |
obj %%% _2 | Signed short |
obj %%% 4 | Unsigned int |
obj %%% _4 | Signed int |
obj %%% 4. | Float |
obj %%% 8 | Unsigned long int |
obj %%% _8 | Long int |
obj %%% 8. | Double |
Round Trip: This example
illustrates making a round trip. The data is converted to character form of the
specified type. It is then taken from the character form and converted to a
numeric according to the conversion argument. Notice that unsigned short
returns a large positive number for _1 (i.e. 2^32-1). The
machine running GLEE is a 32 bit machine, so UINTs for 4 byte
conversion display as negative even though they are taken as large positive
numbers.
The Bits: This example shows the
use of the 0 argument meaning bits representation. This can be used to
read data; convert it to bits; diddle the bits; and return to the original
form. With GLEEs bit manipulation capability it allows virtually any kind of
data to be read, understood, modified, and rewritten.