This is Unofficial EPICS BASE Doxygen Site
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
postfixPvt.h
Go to the documentation of this file.
1
/*************************************************************************\
2
* Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
3
* National Laboratory.
4
* Copyright (c) 2002 The Regents of the University of California, as
5
* Operator of Los Alamos National Laboratory.
6
* EPICS BASE is distributed subject to a Software License Agreement found
7
* in file LICENSE that is included with this distribution.
8
\*************************************************************************/
9
/* postfixPvt.h
10
* Original Author: Bob Dalesio
11
* Date: 9-21-88
12
*/
13
14
/* Notes:
15
* 1. The FETCH_A through FETCH_L and STORE_A through STORE_L opcodes must
16
* be contiguous.
17
* 2. The LITERAL opcodes are followed by a binary representation of their
18
* values, but these are not aligned properly.
19
* 3. The var-arg functions MIN, MAX, FINITE and ISNAN are followed by
20
* a byte giving the number of arguments to process.
21
* 4. You can't use strlen() on an RPN buffer since the literal values
22
* can contain zero bytes.
23
*/
24
25
#ifndef INCpostfixPvth
26
#define INCpostfixPvth
27
28
29
/* RPN opcodes */
30
typedef
enum
{
31
END_EXPRESSION
= 0,
32
/* Operands */
33
LITERAL_DOUBLE
,
LITERAL_INT
,
FETCH_VAL
,
34
FETCH_A
,
FETCH_B
,
FETCH_C
,
FETCH_D
,
FETCH_E
,
FETCH_F
,
35
FETCH_G
,
FETCH_H
,
FETCH_I
,
FETCH_J
,
FETCH_K
,
FETCH_L
,
36
/* Assignment */
37
STORE_A
,
STORE_B
,
STORE_C
,
STORE_D
,
STORE_E
,
STORE_F
,
38
STORE_G
,
STORE_H
,
STORE_I
,
STORE_J
,
STORE_K
,
STORE_L
,
39
/* Trigonometry Constants */
40
CONST_PI
,
41
CONST_D2R
,
42
CONST_R2D
,
43
/* Arithmetic */
44
UNARY_NEG
,
45
ADD
,
46
SUB
,
47
MULT
,
48
DIV
,
49
MODULO
,
50
POWER
,
51
/* Algebraic */
52
ABS_VAL
,
53
EXP
,
54
LOG_10
,
55
LOG_E
,
56
MAX
,
57
MIN
,
58
SQU_RT
,
59
/* Trigonometric */
60
ACOS
,
61
ASIN
,
62
ATAN
,
63
ATAN2
,
64
COS
,
65
COSH
,
66
SIN
,
67
SINH
,
68
TAN
,
69
TANH
,
70
/* Numeric */
71
CEIL
,
72
FLOOR
,
73
FINITE
,
74
ISINF
,
75
ISNAN
,
76
NINT
,
77
RANDOM
,
78
/* Boolean */
79
REL_OR
,
80
REL_AND
,
81
REL_NOT
,
82
/* Bitwise */
83
BIT_OR
,
84
BIT_AND
,
85
BIT_EXCL_OR
,
86
BIT_NOT
,
87
RIGHT_SHIFT_ARITH
,
88
LEFT_SHIFT_ARITH
,
89
RIGHT_SHIFT_LOGIC
,
90
/* Relationals */
91
NOT_EQ
,
92
LESS_THAN
,
93
LESS_OR_EQ
,
94
EQUAL
,
95
GR_OR_EQ
,
96
GR_THAN
,
97
/* Conditional */
98
COND_IF
,
99
COND_ELSE
,
100
COND_END
,
101
/* Misc */
102
NOT_GENERATED
103
}
rpn_opcode
;
104
105
#endif
/* INCpostfixPvth */
COSH
Definition:
postfixPvt.h:65
BIT_AND
Definition:
postfixPvt.h:84
STORE_D
Definition:
postfixPvt.h:37
POWER
Definition:
postfixPvt.h:50
LEFT_SHIFT_ARITH
Definition:
postfixPvt.h:88
FETCH_J
Definition:
postfixPvt.h:35
NOT_GENERATED
Definition:
postfixPvt.h:102
FETCH_A
Definition:
postfixPvt.h:34
MAX
Definition:
postfixPvt.h:56
FETCH_C
Definition:
postfixPvt.h:34
GR_THAN
Definition:
postfixPvt.h:96
BIT_OR
Definition:
postfixPvt.h:83
UNARY_NEG
Definition:
postfixPvt.h:44
REL_AND
Definition:
postfixPvt.h:80
RIGHT_SHIFT_ARITH
Definition:
postfixPvt.h:87
LESS_THAN
Definition:
postfixPvt.h:92
SINH
Definition:
postfixPvt.h:67
rpn_opcode
rpn_opcode
Definition:
postfixPvt.h:30
LITERAL_INT
Definition:
postfixPvt.h:33
NINT
Definition:
postfixPvt.h:76
SQU_RT
Definition:
postfixPvt.h:58
MODULO
Definition:
postfixPvt.h:49
ADD
Definition:
postfixPvt.h:45
MULT
Definition:
postfixPvt.h:47
CONST_R2D
Definition:
postfixPvt.h:42
LESS_OR_EQ
Definition:
postfixPvt.h:93
FETCH_D
Definition:
postfixPvt.h:34
COND_IF
Definition:
postfixPvt.h:98
LITERAL_DOUBLE
Definition:
postfixPvt.h:33
FETCH_I
Definition:
postfixPvt.h:35
MIN
Definition:
postfixPvt.h:57
STORE_L
Definition:
postfixPvt.h:38
STORE_E
Definition:
postfixPvt.h:37
FETCH_B
Definition:
postfixPvt.h:34
STORE_C
Definition:
postfixPvt.h:37
FETCH_K
Definition:
postfixPvt.h:35
STORE_F
Definition:
postfixPvt.h:37
STORE_I
Definition:
postfixPvt.h:38
ASIN
Definition:
postfixPvt.h:61
CEIL
Definition:
postfixPvt.h:71
STORE_B
Definition:
postfixPvt.h:37
GR_OR_EQ
Definition:
postfixPvt.h:95
CONST_PI
Definition:
postfixPvt.h:40
ISNAN
Definition:
postfixPvt.h:75
FETCH_G
Definition:
postfixPvt.h:35
ATAN2
Definition:
postfixPvt.h:63
STORE_H
Definition:
postfixPvt.h:38
FETCH_F
Definition:
postfixPvt.h:34
STORE_G
Definition:
postfixPvt.h:38
ACOS
Definition:
postfixPvt.h:60
COND_END
Definition:
postfixPvt.h:100
SUB
Definition:
postfixPvt.h:46
COS
Definition:
postfixPvt.h:64
CONST_D2R
Definition:
postfixPvt.h:41
RANDOM
Definition:
postfixPvt.h:77
STORE_A
Definition:
postfixPvt.h:37
FETCH_VAL
Definition:
postfixPvt.h:33
LOG_E
Definition:
postfixPvt.h:55
ABS_VAL
Definition:
postfixPvt.h:52
LOG_10
Definition:
postfixPvt.h:54
TAN
Definition:
postfixPvt.h:68
FLOOR
Definition:
postfixPvt.h:72
TANH
Definition:
postfixPvt.h:69
RIGHT_SHIFT_LOGIC
Definition:
postfixPvt.h:89
COND_ELSE
Definition:
postfixPvt.h:99
FETCH_L
Definition:
postfixPvt.h:35
DIV
Definition:
postfixPvt.h:48
REL_NOT
Definition:
postfixPvt.h:81
FETCH_H
Definition:
postfixPvt.h:35
EXP
Definition:
postfixPvt.h:53
END_EXPRESSION
Definition:
postfixPvt.h:31
BIT_EXCL_OR
Definition:
postfixPvt.h:85
FETCH_E
Definition:
postfixPvt.h:34
STORE_J
Definition:
postfixPvt.h:38
FINITE
Definition:
postfixPvt.h:73
BIT_NOT
Definition:
postfixPvt.h:86
SIN
Definition:
postfixPvt.h:66
STORE_K
Definition:
postfixPvt.h:38
EQUAL
Definition:
postfixPvt.h:94
NOT_EQ
Definition:
postfixPvt.h:91
REL_OR
Definition:
postfixPvt.h:79
ATAN
Definition:
postfixPvt.h:62
ISINF
Definition:
postfixPvt.h:74
modules
libcom
src
calc
postfixPvt.h
Generated by
1.8.11