Manual Reference Pages - OP (1)
op - Ordered sequence of operations on input stream.
op [options] [file]
A sequence of operations is done on each item in the input stream. The operations are done in the order they appear on the command line. Operations can be repeated as many times as needed on the command line.
Input items may be binary numbers (short or float) or ascii lines (terminated by CR) according to the type option.
The list of operations is as follows. Some operations take valued arguments (which are real numbers), others are flags, as indicated:
operation result for each input item x
add=<value> x+<value> negate=on -x multiply=<value> x*<value> divide=<value> x/<value> remainder=<value> real remainder of x/<value> inverse=on 1/x round=on x rounded to nearest integer absolute=on |x| power=<value> x^<value> exponent=<value> <value>^x e-exponent=on e^x log=<value> log(x) to base <value> e-log=on log(x) to base e. sin=on sin(x) cos=on cos(x) tan=on tan(x) threshold=<value> if ( x <value> ) 0 else if ( x = <value> ) 1 diff1=on first difference diff2=on second difference diff3=on third difference cusum=on cumulative sum cumean=on cumulative (recursive) mean an cumin=on cumulative min cumax=on cumulative max
The type option sets the data type for all input and output items. Recognised data types are: short, float, ascii.
Ascii data is read in line-by-line, and comment lines are allowed. The following operation apply only to ascii input items, enabling comment lines to be stripped or echoed directly to the output.
strip=<value> ignore lines beginning with <value> string echo=<value> echo lines beginning with <value> string number=on number output lines
If number=on then stripped lines are not numbered; they simply dissappear. If there are no operations, (other than comment stripping/echoing or line numbering), then ascii lines are echoed.
1. Specify the following ordered sequence of operations on each binary float in the input stream: invert (take reciprocal), scale up by 100, square (raise to power 2), invert (take reciprocal), square root (raise to power 0.5).
op type=float inverse=on multiply=100 power=2 inverse=on power=.5 file
2. Increase dynamic range by powering up and scaling down. (Note that internal calculating is done in floating point; the short datatype applies only to input and output).
op type=short power=4 divide=3e8 file
3. Print out the result of log2(17/16).
echo 17 | op type=ascii -div16 -log2
4. For each input number x output exp(-0.2x)
op mult=-0.2 e-exp=on
5. Read ascii data ignoring any comment lines defined as beginning with the string "**". Read one ascii number per line and for each number x output 149-x.
op type=ascii strip="**" neg=on add=149 file
Copyright (c) Applied Psychology Unit, Medical Research Council, 1995
Permission to use, copy, modify, and distribute this software without fee is hereby granted for research purposes, provided that this copyright notice appears in all copies and in all supporting documentation, and that the software is not redistributed for any fee (except for a nominal shipping charge). Anyone wanting to incorporate all or part of this software in a commercial product must obtain a license from the Medical Research Council.
The MRC makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|SunOS 5.6||OP (1)||14 September 1993|