prepare for the release of rrdtool-1.2.22
[rrdtool.git] / doc / rrdgraph_rpn.pod
index 74ac4ad..b2a84dd 100644 (file)
@@ -15,11 +15,12 @@ takes as many elements from the stack as needed. Pushing is done
 implicitly, so whenever you specify a number or a variable, it gets
 pushed onto the stack automatically.
 
 implicitly, so whenever you specify a number or a variable, it gets
 pushed onto the stack automatically.
 
-At the end of the calculation there should be one and only one
-value left on the stack.  This is the outcome of the function and
-this is what is put into the I<vname>.  For B<CDEF> instructions,
-the stack is processed for each data point on the graph. B<VDEF>
-instructions work on an entire data set in one run.
+At the end of the calculation there should be one and only one value left on
+the stack.  This is the outcome of the function and this is what is put into
+the I<vname>.  For B<CDEF> instructions, the stack is processed for each
+data point on the graph. B<VDEF> instructions work on an entire data set in
+one run. Note, that currently B<VDEF> instructions only support a limited
+list of functions.
 
 Example: C<VDEF:maximum=mydata,MAXIMUM>
 
 
 Example: C<VDEF:maximum=mydata,MAXIMUM>
 
@@ -29,7 +30,7 @@ of your RRD script.
 Example: C<CDEF:mydatabits=mydata,8,*>
 
 This means:  push variable I<mydata>, push the number 8, execute
 Example: C<CDEF:mydatabits=mydata,8,*>
 
 This means:  push variable I<mydata>, push the number 8, execute
-the operator I<+>. The operator needs two elements and uses those
+the operator I<*>. The operator needs two elements and uses those
 to return one value.  This value is then stored in I<mydatabits>.
 As you may have guessed, this instruction means nothing more than
 I<mydatabits = mydata * 8>.  The real power of B<RPN> lies in the
 to return one value.  This value is then stored in I<mydatabits>.
 As you may have guessed, this instruction means nothing more than
 I<mydatabits = mydata * 8>.  The real power of B<RPN> lies in the
@@ -126,6 +127,10 @@ B<DEG2RAD, RAD2DEG>
 
 Convert angle in degrees to radians, or radians to degrees.
 
 
 Convert angle in degrees to radians, or radians to degrees.
 
+B<ABS>
+
+Take the absolute value.
+
 =item Set Operations
 
 B<SORT, REV>
 =item Set Operations
 
 B<SORT, REV>
@@ -138,6 +143,13 @@ Example: C<CDEF:x=v1,v2,v3,v4,v5,v6,6,SORT,POP,5,REV,POP,+,+,+,4,/> will
 compute the average of the values v1 to v6 after removing the smallest and
 largest.
 
 compute the average of the values v1 to v6 after removing the smallest and
 largest.
 
+B<AVG>
+
+Pop one element (I<count>) from the stack. Now pop I<count> elements and build the
+average, ignoring all UNKNOWN values in the process.
+
+Example: C<CDEF:x=a,b,c,d,4,AVG>
+
 B<TREND>
 
 Create a "sliding window" average of another data series.
 B<TREND>
 
 Create a "sliding window" average of another data series.
@@ -195,8 +207,6 @@ number 2 if it is the second, and so on. This special value allows
 you to make calculations based on the position of the value within
 the data set. This function cannot be used in B<VDEF> instructions.
 
 you to make calculations based on the position of the value within
 the data set. This function cannot be used in B<VDEF> instructions.
 
-Z<>
-
 =item Time
 
 Time inside RRDtool is measured in seconds since the epoch. The
 =item Time
 
 Time inside RRDtool is measured in seconds since the epoch. The
@@ -230,7 +240,7 @@ Z<>
 
 =head1 VARIABLES
 
 
 =head1 VARIABLES
 
-These operators work only on B<VDEF> statements.
+These operators work only on B<VDEF> statements. Note that currently ONLY these work for B<VDEF>.
 
 =over 4
 
 
 =over 4
 
@@ -272,6 +282,18 @@ finite numbers and are always more than the I<Unknown> numbers.
 
 Example: C<VDEF:perc95=mydata,95,PERCENT>
 
 
 Example: C<VDEF:perc95=mydata,95,PERCENT>
 
+=item LSLSLOPE, LSLINT, LSLCORREL
+
+Return the parameters for a B<L>east B<S>quares B<L>ine I<(y = mx +b)> 
+which approximate the provided dataset.  LSLSLOPE is the slope I<(m)> of
+the line related to the COUNT position of the data.  LSLINT is the 
+y-intercept I<(b)>, which happens also to be the first data point on the 
+graph. LSLCORREL 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.   
+
+Example: C<VDEF:slope=mydata,LSLSLOPE>
+
 =back
 
 =head1 SEE ALSO
 =back
 
 =head1 SEE ALSO
@@ -285,6 +307,6 @@ Make sure to read L<rrdgraph_examples> for tipsE<amp>tricks.
 
 =head1 AUTHOR
 
 
 =head1 AUTHOR
 
-Program by Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
+Program by Tobias Oetiker E<lt>tobi@oetiker.chE<gt>
 
 This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>
 
 This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>