next up previous
Next: Arrays Up: Data Type Descriptor Formats Previous: Data Type Descriptor Formats


Simple Scalar Quantities

The type descriptor for ``simple'' scalar quantities has the following format. Here ``simple'' means integers, floating point values (real and complex), strings, and pointers.


Format: TYPEDESC_SCALAR        (type descriptor for simple scalars)
Type Name Description
LONG TYPECODE IDL variable type code
LONG VARFLAGS Bit flags for a type descriptor, OR'd as follows:
'02'x System variable
'04'x Array (UNSET for scalar)
'10'x Unknown?
'20'x Structure (UNSET for scalar)


NOTES: All of the type descriptor formats begin physically with a TYPECODE and VARFLAGS field. In the case of scalars, those are the only two fields in the descriptor. All scalars have a VARFLAGS value of zero or one, indicating either a system variable or not, but not an array or structure.

The IDL TYPECODE is the data type that is used throughout IDL, and by the SIZE function, to describe the basic type of a quantity. The values are contained in the following table:

IDL data type codes
0 Undefined (not allowed)
1 Byte
2 16-bit Integer
3 32-bit Long Integer
4 32-bit Floating Point Number
5 64-bit Floating Point Number
6 Complex Floating Point Number (32-bits each)
7 String
8 Structure (never a scalar)
9 Complex Floating Point Number (64-bits each)
10 Heap Pointer
11 Object Reference (not supported by CMSVLIB)
12 16-bit Unsigned Integer
13 32-bit Unsigned Integer
14 64-bit Integer
15 64-bit Unsigned Integer

The next sections describe the enhancements that are in place for arrays and structures.


next up previous
Next: Arrays Up: Data Type Descriptor Formats Previous: Data Type Descriptor Formats
Craig Markwardt 2011-12-21