Each signal used in the CRL is a data unit defined by the "SignalData" structure, a schematic of which is shown in figure .
Figure : Schematic of Signal Data Structure Each of the channels can point to an array of real numbers, with the dimension specified by the length field. The maximum number of channel pointers is set at a suitably high value at compile time (180), but the length for the channels can be chosen dynamically at run time. The channel count for a data set is never changed, accept when a new channel is requested, at which time the appropriate memory is allocated and the channel count is incremented automatically. The SignalData data structure allows easy manipulation of signals, regardless of the number of channels associated with the signal. The routines defined for the handling and accessing of the data elements are described later in this text.