diff --git a/doc/rrdgraph_rpn.1 b/doc/rrdgraph_rpn.1
index a51f542b380098ba35e9fff84b15b54da9afa2bf..8869c4f6b0e95048cd5c9c31813279967ffe95bd 100644 (file)
--- a/doc/rrdgraph_rpn.1
+++ b/doc/rrdgraph_rpn.1
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
. ds R" ''
'br\}
.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
-.if \nF \{\
+.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
-.\"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
-.if n .na
+.el \{\
+. de IX
+..
+.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_RPN 1"
-.TH RRDGRAPH_RPN 1 "2008-02-17" "1.2.27" "rrdtool"
+.TH RRDGRAPH_RPN 1 "2009-02-21" "1.3.8" "rrdtool"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
.SH "NAME"
rrdgraph_rpn \- About RPN Math in rrdtool graph
.SH "SYNOPSIS"
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
If you have ever used a traditional \s-1HP\s0 calculator you already know
-\&\fB\s-1RPN\s0\fR. The idea behind \fB\s-1RPN\s0\fR is that you have a stack and push
+\&\fB\s-1RPN\s0\fR (Reverse Polish Notation).
+The idea behind \fB\s-1RPN\s0\fR is that you have a stack and push
your data onto this stack. Whenever you execute an operation, it
takes as many elements from the stack as needed. Pushing is done
implicitly, so whenever you specify a number or a variable, it gets
mean that any value other than 0 is considered to be true.
.Sp
Example: \f(CW\*(C`A,B,C,IF\*(C'\fR should be read as \f(CW\*(C`if (A) then (B) else (C)\*(C'\fR
+.Sp
+
.IP "Comparing values" 4
.IX Item "Comparing values"
\&\fB\s-1MIN\s0, \s-1MAX\s0\fR
.Sp
Example: \f(CW\*(C`CDEF:a=alpha,0,100,LIMIT\*(C'\fR will return \fIunknown\fR if
alpha is lower than 0 or if it is higher than 100.
+.Sp
+
.IP "Arithmetics" 4
.IX Item "Arithmetics"
\&\fB+, \-, *, /, %\fR
.Sp
Add, subtract, multiply, divide, modulo
.Sp
+\&\fB\s-1ADDNAN\s0\fR
+.Sp
+NAN-safe addition. If one parameter is \s-1NAN/UNKNOWN\s0 it'll be treated as
+zero. If both parameters are \s-1NAN/UNKNOWN\s0, \s-1NAN/UNKNOWN\s0 will be returned.
+.Sp
\&\fB\s-1SIN\s0, \s-1COS\s0, \s-1LOG\s0, \s-1EXP\s0, \s-1SQRT\s0\fR
.Sp
Sine and cosine (input in radians), log and exp (natural logarithm),
.Sp
Example: \f(CW\*(C`CDEF:x=a,b,c,d,4,AVG\*(C'\fR
.Sp
-\&\fB\s-1TREND\s0\fR
+\&\fB\s-1TREND\s0, \s-1TRENDNAN\s0\fR
.Sp
Create a \*(L"sliding window\*(R" average of another data series.
.Sp
\& <\-\-\-\-\-\-\-\-\-\-\-\-\-\-\->
\& delay t2
\& <\-\-\-\-\-\-\-\-\-\-\-\-\-\-\->
-.Ve
-.Sp
-.Vb 3
+\&
+\&
\& Value at sample (t0) will be the average between (t0\-delay) and (t0)
\& Value at sample (t1) will be the average between (t1\-delay) and (t1)
\& Value at sample (t2) will be the average between (t2\-delay) and (t2)
.Ve
+.Sp
+\&\s-1TRENDNAN\s0 is \- in contrast to \s-1TREND\s0 \- NAN-safe. If you use \s-1TREND\s0 and one
+source value is \s-1NAN\s0 the complete sliding window is affected. The \s-1TRENDNAN\s0
+operation ignores all NAN-values in a sliding window and computes the
+average of the remaining values.
.IP "Special values" 4
.IX Item "Special values"
\&\fB\s-1UNKN\s0\fR
.IP "Time" 4
.IX Item "Time"
Time inside RRDtool is measured in seconds since the epoch. The
-epoch is defined to be \f(CW\*(C`Thu\ Jan\ 1\ 00:00:00\ UTC\ 1970\*(C'\fR.
+epoch is defined to be \f(CW\*(C`Thu\ Jan\ \ 1\ 00:00:00\ UTC\ 1970\*(C'\fR.
.Sp
\&\fB\s-1NOW\s0\fR
.Sp
.Sp
Duplicate the top element, remove the top element, exchange the two
top elements.
+.Sp
+
.SH "VARIABLES"
.IX Header "VARIABLES"
These operators work only on \fB\s-1VDEF\s0\fR statements. Note that currently \s-1ONLY\s0 these work for \fB\s-1VDEF\s0\fR.
the first occurrence of that value in the time component.
.Sp
Example: \f(CW\*(C`VDEF:avg=mydata,AVERAGE\*(C'\fR
+.IP "\s-1STDEV\s0" 4
+.IX Item "STDEV"
+Returns the standard deviation of the values.
+.Sp
+Example: \f(CW\*(C`VDEF:stdev=mydata,STDEV\*(C'\fR
.IP "\s-1LAST\s0, \s-1FIRST\s0" 4
.IX Item "LAST, FIRST"
Return the last/first value including its time. The time for
y\-intercept \fI(b)\fR, which happens also to be the first data point on the
graph. \s-1LSLCORREL\s0 is the Correlation Coefficient (also know as Pearson's
Product Moment Correlation Coefficient). It will range from 0 to +/\-1
-and represents the quality of fit for the approximation.
+and represents the quality of fit for the approximation.
.Sp
Example: \f(CW\*(C`VDEF:slope=mydata,LSLSLOPE\*(C'\fR
.SH "SEE ALSO"
.IX Header "AUTHOR"
Program by Tobias Oetiker <tobi@oetiker.ch>
.PP
-This manual page by Alex van den Bogaerdt <alex@ergens.op.het.net>
+This manual page by Alex van den Bogaerdt <alex@vandenbogaerdt.nl>
+with corrections and/or additions by several people