GMT programs also support binary tables to speed up input-output for i/o-intensive tasks like gridding and preprocessing. Files may have no header (hence the -H option cannot be used) and all data must either be single or double precision (no mixing allowed). Multiple segment files are allowed (-M) and the segment headers are assumed to be records where all the fields equal NaN. Flags appended to -M are ignored. The format and number of fields are specified with the -b option. Thus, for input you may set -bi[s][n], where s designates single precision (default is d for double) and n is the number of fields. For output, use -bo[s] (the programs know how many columns to write, unless you use -M in which case we need to know the number of output columns up front). If you need to swap the byte-order on either input or output you must use upper case S or D instead.