pixdsplit — disentangle chars from doubles in a stream
Pixdsplit separates out interwoven characters and doubles from a single input stream. It treats the stream as consisting of successive "pixels", each of which is made up of n unsigned chars followed by m 64-bit doubles, and writes the chars to one output stream and the doubles to another. The pixels are read from infile if it is specified; otherwise, pixdsplit reads from the standard input.
The command-line options and their meanings are:
-c
charfile
Causes pixdsplit to write the chars to the specified file. If charfile is the empty string, then pixdsplit does not write out the chars. Default is "-", so the chars are written to the standard output.
-d
doublefile
Causes pixdsplit to write the doubles to the specified file. If doublefile is the empty string, then pixdsplit does not write out the doubles. Default is ``'', so the doubles are not output.
-#
n.m
Defines a pixel to be made up of
n
unsigned chars and
m
64-bit doubles,
where
n and m
are positive integers.
Either of
n and m
(but not both)
may be omitted
and if
m
is omitted,
then the separating period, too, may be omitted.
The variable for which a value was omitted
retains its previous value.
By default,
n = 3
and
m = 1,
so
the input stream is assumed to be in
pixd(5)
format
as produced by the
-d
option of
rt(1).
The command
pixdsplit file.pixd | pix-fb
extracts the pix(5) data from file.pixd, sending it for display to pix-fb(1), while
pixdsplit -# 3.2 -c '' -d coords datafile
ignores the RGB information in datafile but writes its pairs of doubles to coords.