--- ray/doc/man/man1/rcalc.1 2006/12/23 17:27:45 1.7 +++ ray/doc/man/man1/rcalc.1 2019/06/10 13:56:52 1.14 @@ -1,4 +1,4 @@ -.\" RCSid "$Id: rcalc.1,v 1.7 2006/12/23 17:27:45 greg Exp $" +.\" RCSid "$Id: rcalc.1,v 1.14 2019/06/10 13:56:52 greg Exp $" .TH RCALC 1 4/6/99 RADIANCE .SH NAME rcalc - record calculator @@ -23,6 +23,10 @@ rcalc - record calculator ][ .B "\-o format" ][ +.B "\-in M" +][ +.B "\-on M" +][ .B "\-f source" ][ .B "\-e expr" @@ -92,9 +96,25 @@ With both input and output formats, the passive mode c effectively substitute information in the middle of a file or stream without affecting the rest of the data. .PP +If a +.I \-in +option is given with a positive integer argument, +.I rcalc +will stop processing input once it has loaded this number of records. +Similarly, if a +.I \-on +option is present, +.I rcalc +will stop after producing this many records, which may be a smaller +number if the +.I cond +variable is used. +If multiple input files are given, these counts are continuous over +the input and do not reset on each file. +.PP The variable and function definitions in each .I \-f source -file are read and compiled. +file are read and compiled from the RADIANCE library where it is found. The .I \-e expr option can be used to define variables on the command line. @@ -202,7 +222,8 @@ and the following operators: .PP + - * / ^ .PP -Operators are evaluated left to right. +Operators are evaluated left to right, except '^', +which is right associative. Powers have the highest precedence; multiplication and division are evaluated before addition and subtraction. Expressions can be grouped with parentheses. @@ -234,6 +255,11 @@ are evaluated. This provides a convenient method for avoiding inappropriate calculations. The following library of pre-defined functions and variables is provided: .TP 10n +.BR $N +Return the value for input column +.I N. +If an input format is given, using a channel number generates an error. +.TP .BR "in(n)" Return the value for input column .I n, @@ -259,6 +285,12 @@ is zero, the number of available arguments is returned .BR "rand(x)" compute a random number between 0 and 1 based on x. .TP +.BR "min(a1, a2, ..)" +return the minimum value from a list of arguments. +.TP +.BR "max(a1, a2, ..)" +return the maximum value from a list of arguments. +.TP .BR "floor(x)" return largest integer not greater than x. .TP @@ -293,12 +325,14 @@ trigonometric functions. inverse trigonometric functions. .TP .BR "atan2(y, x)" -inverse tangent of y/x (range -pi to pi). +inverse tangent of y/x (range \-pi to pi). .SH EXAMPLE To print the square root of column two in column one, and column one times column three in column two: .IP "" .2i -rcalc -e '$1=sqrt($2);$2=$1*$3' inputfile > outputfile +rcalc \-e '$1=sqrt($2);$2=$1*$3' inputfile > outputfile +.SH ENVIRONMENT +RAYPATH the directories to check for auxiliary files. .SH AUTHOR Greg Ward .SH BUGS @@ -308,4 +342,4 @@ options, not in definitions. .PP Tabs count as single spaces inside fields. .SH "SEE ALSO" -cnt(1), ev(1), getinfo(1), icalc(1), rlam(1), tabfunc(1), total(1) +cnt(1), ev(1), getinfo(1), icalc(1), rcollate(1), rlam(1), tabfunc(1), total(1)