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.
(n and m are described below
for the -#
option.)
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.