Skip to content
Fabrice Bacchella edited this page Mar 27, 2019 · 6 revisions

This is a list of RPN operators known in RRD4. One can have more informations at the rrdtool help page.

Boolean operators

They return 1 for true value, 0 otherwise.

  • LE
  • LT
  • GE
  • GT
  • EQ
  • NE
  • IF
  • UN: Return true if the popped element is NaN.
  • ISINF: Return true if the popped element is infinite, as tested by Double.isInfinite.

Logical operators

The logical operators use the value of the stack as a logical value (0 being false). They return 0 as false and 1 as true.

  • AND
  • OR
  • XOR

Comparing values

  • MAX
  • MIN
  • MAXNAN
  • MINNAN
  • LIMIT

Arithmetics

  • ADDNAN, make a addition, ignoring NaN value
  • /
  • % (Modulus)
  • SIN
  • COS
  • LOG
  • SQRT
  • ABS
  • SIGN
  • EXP
  • POW
  • ATAN
  • ATAN2
  • DEG2RAD
  • RAD2DEG

Some rounding functions

  • CEIL
  • FLOOR
  • ROUND

Constant

  • PI: π
  • E: e
  • UNKN: Pushes an unknown (NaN) value on the stack.

Special values

  • INF
  • NEGINF
  • PREV
  • RANDOM: Return an random number between 0 and 1
  • RND: Pop one element (count) from the stack. Return a random number between 0 and element – 1.
  • STEP: return the time stop from the datasource.
  • COUNT.

Time

  • NOW: Pushes the current time on the stack.
  • TIME: Pushes the time the currently processed value was taken at onto the stack.
  • LTIME.

The following functions pop one elements from the stack, it set a date using it as an epoch timein seconds and return the corresponding calendar field.

  • YEAR
  • MONTH, in the range [1,12]
  • DATE: the day of month
  • HOUR
  • MINUTE
  • SECOND
  • WEEK: it should be used carefully as the returned value depends on the current time zone and current local

Processing the stack directly

  • DUP
  • POP
  • EXC

Set Operations

  • SORT
  • REV
  • AVG
  • TREND
  • TREDNAN
  • PREDICT
  • PREDICTSIGMA