All the programs in the Toolkit support 1-, 2-, 3-, and 4-dimensional data.
There are no separate commands for FFT1, FFT2, and so on. Instead, there is a current active dimension, and the row-oriented operators work along the current dimension.
Commands that refer to dimensions by name or number use the standard NMR nomenclature: T1-T4 or F1-F4. The numbers reflect the actual sequence of the experiment rather than the organization of the data in memory.
Hypercomplex data is fully supported, and the data set can be real-only or complex in each dimension independently.
The data set is organized internally in a "generalized interleave" pattern. This organization is set up when the raw data are read in initially and does not change thereafter.
Access to the internal data structure is provided by library functions and has been optimized for row-oriented processing (along any dimension).
There is support for parallel processing in shared-memory multiprocessor systems.
The native Toolkit file format uses two files to store a data set: one contains the parameters in ASCII form, and the other contains just the data in IEEE floating-point form.
There is support for processing data sets too large to fit in memory all at once. Partial data sets may be read in and may be appended to an output file.
System-dependent I/O facilities have been collected into a single library module.
Source files are distributed in separate directories for the major programs in the Toolkit, and the various functional pieces have been split apart for independent compilation.