From 3691ece4a5d84320cc74a3a37af8c59ea1a1ee63 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 2 Feb 2020 23:59:41 -0500 Subject: wip rpn --- rrdformat/rpn.go | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 rrdformat/rpn.go (limited to 'rrdformat/rpn.go') diff --git a/rrdformat/rpn.go b/rrdformat/rpn.go new file mode 100644 index 0000000..a138263 --- /dev/null +++ b/rrdformat/rpn.go @@ -0,0 +1,78 @@ +//go:generate stringer -type=Op -trimprefix=OP_ + +package rrdformat + +type Op uint8 + +const ( + OP_NUMBER Op = iota // rrdtool 1.1.x 2001-03-10 + OP_VARIABLE // rrdtool 1.1.x 2001-03-10 + OP_INF // rrdtool 1.1.x 2001-03-10 + OP_PREV // rrdtool 1.1.x 2001-03-10 + OP_NEGINF // rrdtool 1.1.x 2001-03-10 + OP_UNKN // rrdtool 1.1.x 2001-03-10 + OP_NOW // rrdtool 1.1.x 2001-03-10 + OP_TIME // rrdtool 1.1.x 2001-03-10 + OP_ADD // rrdtool 1.1.x 2001-03-10 + OP_MOD // rrdtool 1.1.x 2001-03-10 + OP_SUB // rrdtool 1.1.x 2001-03-10 + OP_MUL // rrdtool 1.1.x 2001-03-10 + OP_DIV // rrdtool 1.1.x 2001-03-10 + OP_SIN // rrdtool 1.1.x 2001-03-10 + OP_DUP // rrdtool 1.1.x 2001-03-10 + OP_EXC // rrdtool 1.1.x 2001-03-10 + OP_POP // rrdtool 1.1.x 2001-03-10 + OP_COS // rrdtool 1.1.x 2001-03-10 + OP_LOG // rrdtool 1.1.x 2001-03-10 + OP_EXP // rrdtool 1.1.x 2001-03-10 + OP_LT // rrdtool 1.1.x 2001-03-10 + OP_LE // rrdtool 1.1.x 2001-03-10 + OP_GT // rrdtool 1.1.x 2001-03-10 + OP_GE // rrdtool 1.1.x 2001-03-10 + OP_EQ // rrdtool 1.1.x 2001-03-10 + OP_IF // rrdtool 1.1.x 2001-03-10 + OP_MIN // rrdtool 1.1.x 2001-03-10 + OP_MAX // rrdtool 1.1.x 2001-03-10 + OP_LIMIT // rrdtool 1.1.x 2001-03-10 + OP_FLOOR // rrdtool 1.1.x 2001-03-10 + OP_CEIL // rrdtool 1.1.x 2001-03-10 + OP_UN // rrdtool 1.1.x 2001-03-10 + OP_END // rrdtool 1.1.x 2001-03-10 + OP_LTIME // rrdtool 1.1.x 2001-03-10 + OP_NE // rrdtool 1.1.x 2002-03-10 + OP_ISINF // rrdtool 1.1.x 2002-03-10 + OP_PREV_OTHER // rrdtool 1.1.x 2002-07-06 + OP_COUNT // rrdtool 1.1.x 2003-07-14 + OP_ATAN // rrdtool 1.1.x 2004-05-04 + OP_SQRT // rrdtool 1.1.x 2004-08-24 + OP_SORT // rrdtool 1.1.x 2004-08-24 + OP_REV // rrdtool 1.1.x 2004-08-24 + OP_TREND // rrdtool 1.1.x 2004-09-24 + OP_TRENDNAN // rrdtool 1.3.0 // Problematic: Wasn't inserted at end + OP_ATAN2 // rrdtool 1.2.10 // Problematic: Definition in [1.2.10,1.3.0) differs from current + OP_RAD2DEG // rrdtool 1.2.10 // Problematic: Definition in [1.2.10,1.3.0) differs from current + OP_DEG2RAD // rrdtool 1.2.10 // Problematic: Definition in [1.2.10,1.3.0) differs from current + OP_PREDICT // rrdtool 1.4.0 // Problematic: Wasn't inserted at end + OP_PREDICTSIGMA // rrdtool 1.4.0 // Problematic: Wasn't inserted at end + OP_AVG // rrdtool 1.2.14 // Problematic: Definition in [1.2.14,1.4.0) differs from current + OP_ABS // rrdtool 1.2.20 // Problematic: Definition in [1.2.20,1.4.0) differs from current + OP_ADDNAN // rrdtool 1.3.0 // Problematic: Definition in [1.3.0,1.4.0) differs from current + OP_MINNAN // rrdtool 1.5.0 // Problematic: Wasn't inserted at end + OP_MAXNAN // rrdtool 1.5.0 // Problematic: Wasn't inserted at end + OP_MEDIAN // rrdtool 1.5.0 // Problematic: Definition in [1.5.0-pre.2012.06.01,1.5.0-pre.2014.02.07) differs from current + OP_PREDICTPERC // rrdtool 1.5.0 + OP_DEPTH // rrdtool 1.5.0 + OP_COPY // rrdtool 1.5.0 + OP_ROLL // rrdtool 1.5.0 + OP_INDEX // rrdtool 1.5.0 + OP_STEPWIDTH // rrdtool 1.5.4 + OP_NEWDAY // rrdtool 1.5.4 + OP_NEWWEEK // rrdtool 1.5.4 + OP_NEWMONTH // rrdtool 1.5.4 + OP_NEWYEAR // rrdtool 1.5.4 + OP_SMIN // rrdtool 1.6.0 + OP_SMAX // rrdtool 1.6.0 + OP_STDEV // rrdtool 1.6.0 + OP_PERCENT // rrdtool 1.6.0 + OP_POW // rrdtool 1.6.0 +) -- cgit v1.2.3