src moved back to pod. this include thing was a neat idea but it just adds another...
[rrdtool.git] / doc / rrdgraph_rpn.src
diff --git a/doc/rrdgraph_rpn.src b/doc/rrdgraph_rpn.src
deleted file mode 100644 (file)
index b79e4e2..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-=head1 NAME  
-
-rrdgraph_rpn - About RPN Math in rrdtool graph
-
-=head1 SYNOPSIS
-
-I<RPN expression>:=I<vname>|I<operator>|I<value>[,I<RPN expression>]
-
-=head1 DESCRIPTION
-
-If you have ever used a traditional HP calculator you already know
-B<RPN>. The idea behind B<RPN> 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
-implicit so whenever you specify a number or a variable, it gets
-pushed automatically.
-
-At the end of the calculation there should be one and exactly 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.
-
-Example: C<VDEF:maximum=mydata,MAXIMUM>
-
-This will set variable "maximum" which you now can use in the rest
-of your RRD script.
-
-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
-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
-fact that it is always clear in which order to process the input.
-For expressions like C<a = b + 3 * 5> you need to multiply 3 with
-5 first before you add I<b> to get I<a>. However, with parentheses
-you could change this order: C<a = (b + 3) * 5>. In B<RPN>, you
-would do C<a = b, 3, +, 5, *> and need no parentheses.
-
-=head1 OPERATORS
-
-=over 4
-
-=item Boolean operators
-
-B<LT, LE, GT, GE, EQ, NE>
-
-Pop two elements from the stack, compare them for the selected condition
-and return 1 for true or 0 for false. Comparing an I<unknown> or an
-I<infinite> value will always result in 0 (false).
-
-B<UN, ISINF>
-
-Pop one element from the stack, compare this to I<unknown> respectively
-to I<positive or negative infinity>. Returns 1 for true or 0 for false.
-
-B<IF>
-
-Pops three elements from the stack.  If the last element is 0 (false),
-the first value is pushed back onto the stack, otherwise the second
-popped value is pushed back. This does, indeed, mean that any value
-other than 0 is considered to be true.
-
-Example: C<A,B,C,IF> should be read as C<if (A) then (B) else (C)>
-
-Z<>
-
-=item Comparing values
-
-B<MIN, MAX> 
-
-Pops two elements from the stack and returns the lesser or larger.
-The two numbers shouldn't be I<infinite> or I<unknown>, if they are
-that value is pushed back onto the stack as the result.
-
-B<LIMIT>
-
-Pops two elements from the stack and uses them to define a range.
-Then it pops another element and if it falls inside the range, it
-is pushed back. If not, an I<unknown> is pushed.
-
-The range defined includes the two boundaries (so: a number equal
-to one of the boundaries will be pushed back). If any of the three
-numbers involved is either I<unknown> or I<infinite> this function
-will always return an I<unknown>
-
-Example: C<CDEF:a=alpha,0,100,LIMIT> will return I<unknown> if
-alpha is lower than 0 or if it is higher than 100.
-
-Z<>
-
-=item Arithmetics
-
-B<+, -, *, /, %>
-
-Add, subtract, multiply, divide, modulo
-
-B<SIN, COS, LOG, EXP, SQRT>
-
-Sine, cosine (input in radians), log, exp (natural logarithm), square root
-
-B<ATAN>
-
-Arctangent. Output in radians.
-
-B<FLOOR, CEIL>
-
-Round down,up to the nearest integer
-
-Z<>
-
-=item Set Operations
-
-B<SORT, REV>
-
-Pop one element from the stack.  This is the I<count> of items to be sorted
-(or reversed).  The top I<count> of the remaining elements are then sorted
-(or reversed) in place on the stack.
-
-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..v6 after removing the smallest and
-largest.
-
-B<TREND>
-
-Create a "sliding window" average of another data series.
-
-Usage:
-CDEF:smoothed=x,1800,TREND
-
-This will create a half-hour (1800 second) sliding window average of x.  The
-average is essentially computed as shown here:
-
-                 +---!---!---!---!---!---!---!---!--->
-                                                     now
-                       delay     t0
-                 <--------------->
-                         delay       t1
-                     <--------------->  
-                              delay      t2
-                         <--------------->
-
-
-     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)
-
-=item Special values
-
-B<UNKN>
-
-Pushes an unknown value on the stack
-
-B<INF, NEGINF>
-
-Pushes a positive or negative infinite value on the stack. When
-such a value is graphed, it appears at the top or bottom of the
-graph, no matter what the actual value on the y-axis is.
-
-B<PREV>
-
-Pushes an I<unknown> value if this is the first value of a data
-set or otherwise the result of this B<CDEF> at the previous time
-step. This allows you to do calculations across the data.  This
-function cannot be used in B<VDEF> instructions.
-
-B<PREV(vname)>
-
-Pushes an I<unknown> value if this is the first value of a data
-set or otherwise the result of vname variable at the previous time
-step. This allows you to do calculations across the data.  This
-function cannot be used in B<VDEF> instructions.
-
-B<COUNT>
-
-Pushes the number 1 if this is the first value of the data set, the 
-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.
-
-Z<>
-
-=item Time
-
-Time inside RRDtool is measured in seconds since the epoch. This
-epoch is defined to be S<C<Thu Jan  1 00:00:00 UTC 1970>>.
-
-B<NOW>
-
-Pushes the current time on the stack.
-
-B<TIME>
-
-Pushes the time the currently processed value was taken onto the stack.
-
-B<LTIME>
-
-Takes the time as defined by B<TIME>, applies the time zone offset
-valid at that time including daylight saving time if your OS supports
-it, and pushes the result on the stack.  There is an elaborate example
-in the examples section on how to use this.
-
-=item Processing the stack directly
-
-B<DUP, POP, EXC>
-
-Duplicate the top element, remove the top element, exchange the two
-top elements.
-
-Z<>
-
-=back
-
-=head1 VARIABLES
-
-These operators work only on B<VDEF> statements.
-
-=over 4
-
-=item MAXIMUM, MINIMUM, AVERAGE
-
-Return the corresponding value, MAXIMUM and MINIMUM also return
-the first occurrence of that value in the time component.
-
-Example: C<VDEF:avg=mydata,AVERAGE>
-
-=item LAST, FIRST
-
-Return the last,first value including its time.  The time for
-FIRST is actually the start of the corresponding interval, where
-the LAST time component returns the end of the corresponding interval.
-
-Example: C<VDEF:first=mydata,FIRST>
-
-=item TOTAL
-
-Returns the rate from each defined time slot multiplied with the
-step size.  This can for instance return total bytes transfered
-when you have logged bytes per second. The time component returns
-the amount of seconds 
-
-Example: C<VDEF:total=mydata,TOTAL>
-
-=item PERCENT
-
-Should follow a B<DEF> or B<CDEF> I<vname>. This I<vname> is popped,
-another number is popped which is a certain percentage (0..100). The
-data set is then sorted and the value returned is chosen such that
-I<percentage> percent of the values is lower or equal than the result.
-I<Unknown> values are considered lower than any finite number for this
-purpose so if this operator returns an I<unknown> you have quite a lot
-of them in your data.  B<Inf>inite numbers are lesser, or more, than the
-finite numbers and are always more than the I<Unknown> numbers.
-(NaN E<lt> -INF E<lt> finite values E<lt> INF)
-
-Example: C<VDEF:perc95=mydata,95,PERCENT>
-
-=back
-
-=head1 SEE ALSO
-
-L<rrdgraph> gives an overview of how B<rrdtool graph> works.
-L<rrdgraph_data> describes B<DEF>,B<CDEF> and B<VDEF> in detail,
-L<rrdgraph_rpn> describes the B<RPN> language used in the B<?DEF> statements,
-L<rrdgraph_graph> page describes all of the graph and print functions.
-
-Make sure to read L<rrdgraph_examples> for tipsE<amp>tricks.
-
-=head1 AUTHOR
-
-Program by Tobias Oetiker E<lt>oetiker@ee.ethz.chE<gt>
-
-This manual page by Alex van den Bogaerdt E<lt>alex@ergens.op.het.netE<gt>