On Tue, Feb 03, 2004 at 01:47:09PM +0200, mrugan wrote:
> i've tried this going step by step in the rpn and seemed that i didn't > understood corectly the use of DUP. Probably > "DUP will duplicate the top of the stack, pushing the result back onto > the stack" ... > so "1,2,3,DUP" will duplicate 1 as 1x2 resulting 2 so the stack will look > like 2,3,2 > (pushing back into the next free place that is the third place ?) > or duplicating meaning the stack is going to look like 1,2,3,1 Wrong. 1,2,3,DUP will duplicate the nearest value. 1,2,3,DUP -> 1,2,3,3 > Anyways "in,POP,1,2,3,DUP" hangs on rpn error "RPN final stack size != 1" Sure. Because the resulting stack is 1,2,3,3 which is not one value. > so please... anyone rrd-rpn-guruz can "translate" to traditional notation the > expression: > CDEF:wdtest=in,POP,TIME,3600,/,1,+,DUP,24,/,7,%,DUP,4,LT,EXC,2,GE,+,2,LT,EXC,24,%,DUP,8,GE,EXC,18,LT,+,2,EQ,1,0,IF,0,IF > while explaining the use of DUP and % (modulo operation) ? You can do so yourself. Use some pieces of paper if you must. Stack them, and do exactly as the manual tells you RRDtool would handle it. If "DUP" duplicates the top, make a copy (a duplicate) of the visible piece of paper and put it on the stack. EXC takes two pieces of paper, and puts them back in the reverse order. % (modulo) is just like a clock. At 11 hours, move forward 2 hours, you are at 1 hours, not at 13 hours. This is modulo 12. It is also like a single digit counter; its value is 9, add two, 9->0->1 so its new value is 1. This is a modulo 10 counter. Modulo in rrdtool takes two values from the stack and pushes the result back: stack: a,b,c,d,e,f,% take two values from the stack: stack = a,b,c,d, hold in hand e,f do modulo operation on e with base f push result back on stack: stack = a,b,c,d,result Alex -- begin sig http://www.googlism.com/index.htm?ism=alex+van+den+bogaerdt&type=1 This message was produced without any <iframe tags -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/rrd-users WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
