xref: /aoo42x/main/formula/inc/formula/opcode.hxx (revision a940b7f5)
15116778eSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
35116778eSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
45116778eSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
55116778eSAndrew Rist  * distributed with this work for additional information
65116778eSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
75116778eSAndrew Rist  * to you under the Apache License, Version 2.0 (the
85116778eSAndrew Rist  * "License"); you may not use this file except in compliance
95116778eSAndrew Rist  * with the License.  You may obtain a copy of the License at
105116778eSAndrew Rist  *
115116778eSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
125116778eSAndrew Rist  *
135116778eSAndrew Rist  * Unless required by applicable law or agreed to in writing,
145116778eSAndrew Rist  * software distributed under the License is distributed on an
155116778eSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
165116778eSAndrew Rist  * KIND, either express or implied.  See the License for the
175116778eSAndrew Rist  * specific language governing permissions and limitations
185116778eSAndrew Rist  * under the License.
195116778eSAndrew Rist  *
205116778eSAndrew Rist  *************************************************************/
215116778eSAndrew Rist 
225116778eSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef FORMULA_OPCODE_HXX
25cdf0e10cSrcweir #define FORMULA_OPCODE_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "formula/compiler.hrc"						// OpCodes
28cdf0e10cSrcweir #include <tools/solar.h>
29cdf0e10cSrcweir 
30cdf0e10cSrcweir enum OpCodeEnum
31cdf0e10cSrcweir {
32cdf0e10cSrcweir 	// Special commands
33cdf0e10cSrcweir 		ocPush				= SC_OPCODE_PUSH,
34cdf0e10cSrcweir 		ocCall				= SC_OPCODE_CALL,
35cdf0e10cSrcweir 		ocStop				= SC_OPCODE_STOP,
36cdf0e10cSrcweir 		ocExternal			= SC_OPCODE_EXTERNAL,
37cdf0e10cSrcweir 		ocName				= SC_OPCODE_NAME,
38cdf0e10cSrcweir         ocExternalRef       = SC_OPCODE_EXTERNAL_REF,
39cdf0e10cSrcweir 	// Jump commands
40cdf0e10cSrcweir 		ocIf				= SC_OPCODE_IF,
41cdf0e10cSrcweir 		ocChose				= SC_OPCODE_CHOSE,
42cdf0e10cSrcweir 	// Parentheses and separators
43cdf0e10cSrcweir 		ocOpen				= SC_OPCODE_OPEN,
44cdf0e10cSrcweir 		ocClose				= SC_OPCODE_CLOSE,
45cdf0e10cSrcweir 		ocSep				= SC_OPCODE_SEP,
46cdf0e10cSrcweir         ocArrayOpen         = SC_OPCODE_ARRAY_OPEN,
47cdf0e10cSrcweir         ocArrayClose        = SC_OPCODE_ARRAY_CLOSE,
48cdf0e10cSrcweir         ocArrayRowSep       = SC_OPCODE_ARRAY_ROW_SEP,
49cdf0e10cSrcweir         ocArrayColSep       = SC_OPCODE_ARRAY_COL_SEP,
50cdf0e10cSrcweir 	// Special OpCodes
51cdf0e10cSrcweir 		ocMissing			= SC_OPCODE_MISSING,
52cdf0e10cSrcweir 		ocBad				= SC_OPCODE_BAD,
53cdf0e10cSrcweir 		ocSpaces			= SC_OPCODE_SPACES,
54cdf0e10cSrcweir 		ocMatRef			= SC_OPCODE_MAT_REF,
55cdf0e10cSrcweir 	// Access commands
56cdf0e10cSrcweir 		ocDBArea			= SC_OPCODE_DB_AREA,
57cdf0e10cSrcweir 		ocMacro				= SC_OPCODE_MACRO,
58cdf0e10cSrcweir 		ocColRowName		= SC_OPCODE_COL_ROW_NAME,
59cdf0e10cSrcweir 		ocColRowNameAuto	= SC_OPCODE_COL_ROW_NAME_AUTO,
60cdf0e10cSrcweir     // Percent operator _follows_ value
61cdf0e10cSrcweir         ocPercentSign       = SC_OPCODE_PERCENT_SIGN,
62cdf0e10cSrcweir     // Error constants
63cdf0e10cSrcweir         ocErrNull           = SC_OPCODE_ERROR_NULL,
64cdf0e10cSrcweir         ocErrDivZero        = SC_OPCODE_ERROR_DIVZERO,
65cdf0e10cSrcweir         ocErrValue          = SC_OPCODE_ERROR_VALUE,
66cdf0e10cSrcweir         ocErrRef            = SC_OPCODE_ERROR_REF,
67cdf0e10cSrcweir         ocErrName           = SC_OPCODE_ERROR_NAME,
68cdf0e10cSrcweir         ocErrNum            = SC_OPCODE_ERROR_NUM,
69cdf0e10cSrcweir         ocErrNA             = SC_OPCODE_ERROR_NA,
70cdf0e10cSrcweir 	// Binary operators
71cdf0e10cSrcweir 		ocAdd				= SC_OPCODE_ADD,
72cdf0e10cSrcweir 		ocSub				= SC_OPCODE_SUB,
73cdf0e10cSrcweir 		ocMul				= SC_OPCODE_MUL,
74cdf0e10cSrcweir 		ocDiv				= SC_OPCODE_DIV,
75cdf0e10cSrcweir 		ocAmpersand			= SC_OPCODE_AMPERSAND,
76cdf0e10cSrcweir 		ocPow				= SC_OPCODE_POW,
77cdf0e10cSrcweir 		ocEqual				= SC_OPCODE_EQUAL,
78cdf0e10cSrcweir 		ocNotEqual			= SC_OPCODE_NOT_EQUAL,
79cdf0e10cSrcweir 		ocLess				= SC_OPCODE_LESS,
80cdf0e10cSrcweir 		ocGreater			= SC_OPCODE_GREATER,
81cdf0e10cSrcweir 		ocLessEqual			= SC_OPCODE_LESS_EQUAL,
82cdf0e10cSrcweir 		ocGreaterEqual		= SC_OPCODE_GREATER_EQUAL,
83cdf0e10cSrcweir 		ocAnd				= SC_OPCODE_AND,
84cdf0e10cSrcweir 		ocOr				= SC_OPCODE_OR,
85cdf0e10cSrcweir 		ocIntersect			= SC_OPCODE_INTERSECT,
86cdf0e10cSrcweir 		ocUnion				= SC_OPCODE_UNION,
87cdf0e10cSrcweir 		ocRange				= SC_OPCODE_RANGE,
88cdf0e10cSrcweir 	// Unary operators
89cdf0e10cSrcweir 		ocNot				= SC_OPCODE_NOT,
90cdf0e10cSrcweir 		ocNeg				= SC_OPCODE_NEG,
91cdf0e10cSrcweir 		ocNegSub			= SC_OPCODE_NEG_SUB,
92cdf0e10cSrcweir 	// Functions with no parameters
93cdf0e10cSrcweir 		ocPi				= SC_OPCODE_PI,
94cdf0e10cSrcweir 		ocRandom			= SC_OPCODE_RANDOM,
95cdf0e10cSrcweir 		ocTrue				= SC_OPCODE_TRUE,
96cdf0e10cSrcweir 		ocFalse				= SC_OPCODE_FALSE,
97cdf0e10cSrcweir 		ocGetActDate		= SC_OPCODE_GET_ACT_DATE,
98cdf0e10cSrcweir 		ocGetActTime		= SC_OPCODE_GET_ACT_TIME,
99cdf0e10cSrcweir 		ocNotAvail			= SC_OPCODE_NO_VALUE,
100cdf0e10cSrcweir 		ocCurrent			= SC_OPCODE_CURRENT,
101cdf0e10cSrcweir 	// Functions with one parameter
102cdf0e10cSrcweir 		ocDeg				= SC_OPCODE_DEG,
103cdf0e10cSrcweir 		ocRad				= SC_OPCODE_RAD,
104cdf0e10cSrcweir 		ocSin				= SC_OPCODE_SIN,
105cdf0e10cSrcweir 		ocCos				= SC_OPCODE_COS,
106cdf0e10cSrcweir 		ocTan				= SC_OPCODE_TAN,
107cdf0e10cSrcweir 		ocCot				= SC_OPCODE_COT,
108cdf0e10cSrcweir 		ocArcSin			= SC_OPCODE_ARC_SIN,
109cdf0e10cSrcweir 		ocArcCos			= SC_OPCODE_ARC_COS,
110cdf0e10cSrcweir 		ocArcTan			= SC_OPCODE_ARC_TAN,
111cdf0e10cSrcweir 		ocArcCot			= SC_OPCODE_ARC_COT,
112cdf0e10cSrcweir 		ocSinHyp			= SC_OPCODE_SIN_HYP,
113cdf0e10cSrcweir 		ocCosHyp			= SC_OPCODE_COS_HYP,
114cdf0e10cSrcweir 		ocTanHyp			= SC_OPCODE_TAN_HYP,
115cdf0e10cSrcweir 		ocCotHyp			= SC_OPCODE_COT_HYP,
116cdf0e10cSrcweir 		ocArcSinHyp			= SC_OPCODE_ARC_SIN_HYP,
117cdf0e10cSrcweir 		ocArcCosHyp			= SC_OPCODE_ARC_COS_HYP,
118cdf0e10cSrcweir 		ocArcTanHyp			= SC_OPCODE_ARC_TAN_HYP,
119cdf0e10cSrcweir 		ocArcCotHyp			= SC_OPCODE_ARC_COT_HYP,
120cdf0e10cSrcweir         ocCosecant          = SC_OPCODE_COSECANT,
121cdf0e10cSrcweir         ocSecant            = SC_OPCODE_SECANT,
122cdf0e10cSrcweir         ocCosecantHyp       = SC_OPCODE_COSECANT_HYP,
123cdf0e10cSrcweir         ocSecantHyp         = SC_OPCODE_SECANT_HYP,
124cdf0e10cSrcweir 		ocExp				= SC_OPCODE_EXP,
125cdf0e10cSrcweir 		ocLn				= SC_OPCODE_LN,
126cdf0e10cSrcweir 		ocSqrt				= SC_OPCODE_SQRT,
127cdf0e10cSrcweir 		ocFact				= SC_OPCODE_FACT,
128cdf0e10cSrcweir 		ocGetYear			= SC_OPCODE_GET_YEAR,
129cdf0e10cSrcweir 		ocGetMonth			= SC_OPCODE_GET_MONTH,
130cdf0e10cSrcweir 		ocGetDay			= SC_OPCODE_GET_DAY,
131cdf0e10cSrcweir 		ocGetHour			= SC_OPCODE_GET_HOUR,
132cdf0e10cSrcweir 		ocGetMin			= SC_OPCODE_GET_MIN,
133cdf0e10cSrcweir 		ocGetSec			= SC_OPCODE_GET_SEC,
134cdf0e10cSrcweir 		ocPlusMinus			= SC_OPCODE_PLUS_MINUS,
135cdf0e10cSrcweir 		ocAbs				= SC_OPCODE_ABS,
136cdf0e10cSrcweir 		ocInt				= SC_OPCODE_INT,
137cdf0e10cSrcweir 		ocPhi				= SC_OPCODE_PHI,
138cdf0e10cSrcweir 		ocGauss				= SC_OPCODE_GAUSS,
139cdf0e10cSrcweir 		ocIsEmpty			= SC_OPCODE_IS_EMPTY,
140cdf0e10cSrcweir 		ocIsString			= SC_OPCODE_IS_STRING,
141cdf0e10cSrcweir 		ocIsNonString		= SC_OPCODE_IS_NON_STRING,
142cdf0e10cSrcweir 		ocIsLogical			= SC_OPCODE_IS_LOGICAL,
143cdf0e10cSrcweir 		ocType				= SC_OPCODE_TYPE,
144cdf0e10cSrcweir 		ocCell				= SC_OPCODE_CELL,
145cdf0e10cSrcweir 		ocIsRef				= SC_OPCODE_IS_REF,
146cdf0e10cSrcweir 		ocIsValue			= SC_OPCODE_IS_VALUE,
147cdf0e10cSrcweir 		ocIsFormula			= SC_OPCODE_IS_FORMULA,
148cdf0e10cSrcweir 		ocIsNA				= SC_OPCODE_IS_NV,
149cdf0e10cSrcweir 		ocIsErr				= SC_OPCODE_IS_ERR,
150cdf0e10cSrcweir 		ocIsError			= SC_OPCODE_IS_ERROR,
151cdf0e10cSrcweir 		ocIsEven			= SC_OPCODE_IS_EVEN,
152cdf0e10cSrcweir 		ocIsOdd				= SC_OPCODE_IS_ODD,
153cdf0e10cSrcweir 		ocN					= SC_OPCODE_N,
154cdf0e10cSrcweir 	// String functions
155cdf0e10cSrcweir 		ocGetDateValue		= SC_OPCODE_GET_DATE_VALUE,
156cdf0e10cSrcweir 		ocGetTimeValue		= SC_OPCODE_GET_TIME_VALUE,
157cdf0e10cSrcweir 		ocCode				= SC_OPCODE_CODE,
158cdf0e10cSrcweir 		ocTrim				= SC_OPCODE_TRIM,
159cdf0e10cSrcweir 		ocUpper				= SC_OPCODE_UPPER,
160cdf0e10cSrcweir 		ocPropper			= SC_OPCODE_PROPPER,
161cdf0e10cSrcweir 		ocLower				= SC_OPCODE_LOWER,
162cdf0e10cSrcweir 		ocLen				= SC_OPCODE_LEN,
163cdf0e10cSrcweir 		ocT					= SC_OPCODE_T,
164cdf0e10cSrcweir 		ocValue				= SC_OPCODE_VALUE,
165cdf0e10cSrcweir 		ocClean				= SC_OPCODE_CLEAN,
166cdf0e10cSrcweir 		ocChar				= SC_OPCODE_CHAR,
167cdf0e10cSrcweir 		ocLog10				= SC_OPCODE_LOG10,
168cdf0e10cSrcweir 		ocEven				= SC_OPCODE_EVEN,
169cdf0e10cSrcweir 		ocOdd				= SC_OPCODE_ODD,
170cdf0e10cSrcweir 		ocStdNormDist		= SC_OPCODE_STD_NORM_DIST,
171cdf0e10cSrcweir 		ocFisher			= SC_OPCODE_FISHER,
172cdf0e10cSrcweir 		ocFisherInv			= SC_OPCODE_FISHER_INV,
173cdf0e10cSrcweir 		ocSNormInv			= SC_OPCODE_S_NORM_INV,
174cdf0e10cSrcweir 		ocGammaLn			= SC_OPCODE_GAMMA_LN,
175cdf0e10cSrcweir 		ocGamma				= SC_OPCODE_GAMMA,
176cdf0e10cSrcweir 		ocErrorType			= SC_OPCODE_ERROR_TYPE,
177cdf0e10cSrcweir 		ocErrCell			= SC_OPCODE_ERR_CELL,
178cdf0e10cSrcweir 		ocFormula			= SC_OPCODE_FORMULA,
179cdf0e10cSrcweir 		ocArabic			= SC_OPCODE_ARABIC,
180cdf0e10cSrcweir 		ocInfo				= SC_OPCODE_INFO,
181cdf0e10cSrcweir         ocBahtText          = SC_OPCODE_BAHTTEXT,
182cdf0e10cSrcweir         ocJis               = SC_OPCODE_JIS,
183cdf0e10cSrcweir         ocAsc               = SC_OPCODE_ASC,
184cdf0e10cSrcweir         ocUnicode           = SC_OPCODE_UNICODE,
185cdf0e10cSrcweir         ocUnichar           = SC_OPCODE_UNICHAR,
186cdf0e10cSrcweir 	// Functions with more than one parameters
187cdf0e10cSrcweir 		ocArcTan2			= SC_OPCODE_ARC_TAN_2,
188cdf0e10cSrcweir 		ocCeil				= SC_OPCODE_CEIL,
189cdf0e10cSrcweir 		ocFloor				= SC_OPCODE_FLOOR,
190cdf0e10cSrcweir 		ocRound				= SC_OPCODE_ROUND,
191cdf0e10cSrcweir 		ocRoundUp			= SC_OPCODE_ROUND_UP,
192cdf0e10cSrcweir 		ocRoundDown			= SC_OPCODE_ROUND_DOWN,
193cdf0e10cSrcweir 		ocTrunc				= SC_OPCODE_TRUNC,
194cdf0e10cSrcweir 		ocLog				= SC_OPCODE_LOG,
195cdf0e10cSrcweir 		ocPower				= SC_OPCODE_POWER,
196cdf0e10cSrcweir 		ocGCD				= SC_OPCODE_GGT,
197cdf0e10cSrcweir 		ocLCM				= SC_OPCODE_KGV,
198cdf0e10cSrcweir 		ocMod				= SC_OPCODE_MOD,
199cdf0e10cSrcweir 		ocSumProduct		= SC_OPCODE_SUM_PRODUCT,
200cdf0e10cSrcweir 		ocSumSQ				= SC_OPCODE_SUM_SQ,
201cdf0e10cSrcweir 		ocSumX2MY2			= SC_OPCODE_SUM_X2MY2,
202cdf0e10cSrcweir 		ocSumX2DY2			= SC_OPCODE_SUM_X2DY2,
203cdf0e10cSrcweir 		ocSumXMY2			= SC_OPCODE_SUM_XMY2,
204cdf0e10cSrcweir 		ocGetDate			= SC_OPCODE_GET_DATE,
205cdf0e10cSrcweir 		ocGetTime			= SC_OPCODE_GET_TIME,
206cdf0e10cSrcweir 		ocGetDiffDate		= SC_OPCODE_GET_DIFF_DATE,
207cdf0e10cSrcweir 		ocGetDiffDate360	= SC_OPCODE_GET_DIFF_DATE_360,
208cdf0e10cSrcweir 		ocMin				= SC_OPCODE_MIN,
209cdf0e10cSrcweir 		ocMax				= SC_OPCODE_MAX,
210cdf0e10cSrcweir 		ocSum				= SC_OPCODE_SUM,
211cdf0e10cSrcweir 		ocProduct			= SC_OPCODE_PRODUCT,
212cdf0e10cSrcweir 		ocAverage			= SC_OPCODE_AVERAGE,
213cdf0e10cSrcweir 		ocCount				= SC_OPCODE_COUNT,
214cdf0e10cSrcweir 		ocCount2			= SC_OPCODE_COUNT_2,
215cdf0e10cSrcweir 		ocNPV				= SC_OPCODE_NBW,
216cdf0e10cSrcweir 		ocIRR				= SC_OPCODE_IKV,
217cdf0e10cSrcweir 		ocMIRR				= SC_OPCODE_MIRR,
218cdf0e10cSrcweir 		ocISPMT				= SC_OPCODE_ISPMT,
219cdf0e10cSrcweir 		ocVar				= SC_OPCODE_VAR,
220cdf0e10cSrcweir 		ocVarP				= SC_OPCODE_VAR_P,
221cdf0e10cSrcweir 		ocStDev				= SC_OPCODE_ST_DEV,
222cdf0e10cSrcweir 		ocStDevP			= SC_OPCODE_ST_DEV_P,
223cdf0e10cSrcweir 		ocB					= SC_OPCODE_B,
224cdf0e10cSrcweir 		ocNormDist			= SC_OPCODE_NORM_DIST,
225cdf0e10cSrcweir 		ocExpDist			= SC_OPCODE_EXP_DIST,
226cdf0e10cSrcweir 		ocBinomDist			= SC_OPCODE_BINOM_DIST,
227cdf0e10cSrcweir 		ocPoissonDist		= SC_OPCODE_POISSON_DIST,
228cdf0e10cSrcweir 		ocKombin			= SC_OPCODE_KOMBIN,
229cdf0e10cSrcweir 		ocKombin2			= SC_OPCODE_KOMBIN_2,
230cdf0e10cSrcweir 		ocVariationen		= SC_OPCODE_VARIATIONEN,
231cdf0e10cSrcweir 		ocVariationen2		= SC_OPCODE_VARIATIONEN_2,
232cdf0e10cSrcweir 		ocBW				= SC_OPCODE_BW,
233cdf0e10cSrcweir 		ocDIA				= SC_OPCODE_DIA,
234cdf0e10cSrcweir 		ocGDA				= SC_OPCODE_GDA,
235cdf0e10cSrcweir 		ocGDA2				= SC_OPCODE_GDA_2,
236cdf0e10cSrcweir 		ocVBD				= SC_OPCODE_VBD,
237cdf0e10cSrcweir 		ocLaufz				= SC_OPCODE_LAUFZ,
238cdf0e10cSrcweir 		ocLIA				= SC_OPCODE_LIA,
239cdf0e10cSrcweir 		ocRMZ				= SC_OPCODE_RMZ,
240cdf0e10cSrcweir 		ocColumns			= SC_OPCODE_COLUMNS,
241cdf0e10cSrcweir 		ocRows				= SC_OPCODE_ROWS,
242cdf0e10cSrcweir 		ocColumn			= SC_OPCODE_COLUMN,
243cdf0e10cSrcweir 		ocRow				= SC_OPCODE_ROW,
244cdf0e10cSrcweir 		ocZGZ				= SC_OPCODE_ZGZ,
245cdf0e10cSrcweir 		ocZW				= SC_OPCODE_ZW,
246cdf0e10cSrcweir 		ocZZR				= SC_OPCODE_ZZR,
247cdf0e10cSrcweir 		ocZins				= SC_OPCODE_ZINS,
248cdf0e10cSrcweir 		ocZinsZ				= SC_OPCODE_ZINS_Z,
249cdf0e10cSrcweir 		ocKapz				= SC_OPCODE_KAPZ,
250cdf0e10cSrcweir 		ocKumZinsZ			= SC_OPCODE_KUM_ZINS_Z,
251cdf0e10cSrcweir 		ocKumKapZ			= SC_OPCODE_KUM_KAP_Z,
252cdf0e10cSrcweir 		ocEffektiv			= SC_OPCODE_EFFEKTIV,
253cdf0e10cSrcweir 		ocNominal			= SC_OPCODE_NOMINAL,
254cdf0e10cSrcweir 		ocSubTotal			= SC_OPCODE_SUB_TOTAL,
255cdf0e10cSrcweir 	// Database functions
256cdf0e10cSrcweir 		ocDBSum				= SC_OPCODE_DB_SUM,
257cdf0e10cSrcweir 		ocDBCount			= SC_OPCODE_DB_COUNT,
258cdf0e10cSrcweir 		ocDBCount2			= SC_OPCODE_DB_COUNT_2,
259cdf0e10cSrcweir 		ocDBAverage			= SC_OPCODE_DB_AVERAGE,
260cdf0e10cSrcweir 		ocDBGet				= SC_OPCODE_DB_GET,
261cdf0e10cSrcweir 		ocDBMax				= SC_OPCODE_DB_MAX,
262cdf0e10cSrcweir 		ocDBMin				= SC_OPCODE_DB_MIN,
263cdf0e10cSrcweir 		ocDBProduct			= SC_OPCODE_DB_PRODUCT,
264cdf0e10cSrcweir 		ocDBStdDev			= SC_OPCODE_DB_STD_DEV,
265cdf0e10cSrcweir 		ocDBStdDevP			= SC_OPCODE_DB_STD_DEV_P,
266cdf0e10cSrcweir 		ocDBVar				= SC_OPCODE_DB_VAR,
267cdf0e10cSrcweir 		ocDBVarP			= SC_OPCODE_DB_VAR_P,
268cdf0e10cSrcweir 	// Management functions
269cdf0e10cSrcweir 		ocIndirect			= SC_OPCODE_INDIRECT,
270cdf0e10cSrcweir 		ocIndirectXL		= SC_OPCODE_INDIRECT_XL,
271cdf0e10cSrcweir 		ocAddress			= SC_OPCODE_ADDRESS,
272cdf0e10cSrcweir 		ocAddressXL			= SC_OPCODE_ADDRESS_XL,
273cdf0e10cSrcweir 		ocMatch				= SC_OPCODE_MATCH,
274cdf0e10cSrcweir 		ocCountEmptyCells	= SC_OPCODE_COUNT_EMPTY_CELLS,
275cdf0e10cSrcweir 		ocCountIf			= SC_OPCODE_COUNT_IF,
276cdf0e10cSrcweir 		ocSumIf				= SC_OPCODE_SUM_IF,
277f53782ebSAndrew Rist 		ocAverageIf			= SC_OPCODE_AVERAGE_IF,
2781b1b70fbSAndrew Rist 		ocSumIfs			= SC_OPCODE_SUM_IFS,
2791b1b70fbSAndrew Rist 		ocAverageIfs		= SC_OPCODE_AVERAGE_IFS,
2801b1b70fbSAndrew Rist 		ocCountIfs			= SC_OPCODE_COUNT_IFS,
281cdf0e10cSrcweir 		ocLookup			= SC_OPCODE_LOOKUP,
282cdf0e10cSrcweir 		ocVLookup			= SC_OPCODE_V_LOOKUP,
283cdf0e10cSrcweir 		ocHLookup			= SC_OPCODE_H_LOOKUP,
284cdf0e10cSrcweir 		ocMultiArea			= SC_OPCODE_MULTI_AREA,
285cdf0e10cSrcweir 		ocOffset			= SC_OPCODE_OFFSET,
286cdf0e10cSrcweir 		ocIndex				= SC_OPCODE_INDEX,
287cdf0e10cSrcweir 		ocAreas				= SC_OPCODE_AREAS,
288cdf0e10cSrcweir 	// String functions
289cdf0e10cSrcweir 		ocCurrency			= SC_OPCODE_CURRENCY,
290cdf0e10cSrcweir 		ocReplace			= SC_OPCODE_REPLACE,
291cdf0e10cSrcweir 		ocFixed				= SC_OPCODE_FIXED,
292cdf0e10cSrcweir 		ocFind				= SC_OPCODE_FIND,
293cdf0e10cSrcweir 		ocExact				= SC_OPCODE_EXACT,
294cdf0e10cSrcweir 		ocLeft				= SC_OPCODE_LEFT,
295cdf0e10cSrcweir 		ocRight				= SC_OPCODE_RIGHT,
296cdf0e10cSrcweir 		ocSearch			= SC_OPCODE_SEARCH,
297cdf0e10cSrcweir 		ocMid				= SC_OPCODE_MID,
298cdf0e10cSrcweir 		ocText				= SC_OPCODE_TEXT,
299cdf0e10cSrcweir 		ocSubstitute		= SC_OPCODE_SUBSTITUTE,
300cdf0e10cSrcweir 		ocRept				= SC_OPCODE_REPT,
301cdf0e10cSrcweir 		ocConcat			= SC_OPCODE_CONCAT,
30239c2db0bSWang Lei 		ocLenB              = SC_OPCODE_LENB,
30339c2db0bSWang Lei 		ocRightB            = SC_OPCODE_RIGHTB,
30439c2db0bSWang Lei 		ocLeftB             = SC_OPCODE_LEFTB,
30539c2db0bSWang Lei 		ocMidB              = SC_OPCODE_MIDB,
306cdf0e10cSrcweir 	// Matrix functions
307cdf0e10cSrcweir 		ocMatValue			= SC_OPCODE_MAT_VALUE,
308cdf0e10cSrcweir 		ocMatDet			= SC_OPCODE_MAT_DET,
309cdf0e10cSrcweir 		ocMatInv			= SC_OPCODE_MAT_INV,
310cdf0e10cSrcweir 		ocMatMult			= SC_OPCODE_MAT_MULT,
311cdf0e10cSrcweir 		ocMatTrans			= SC_OPCODE_MAT_TRANS,
312cdf0e10cSrcweir 		ocMatrixUnit		= SC_OPCODE_MATRIX_UNIT,
313cdf0e10cSrcweir 	// BackSolver
314cdf0e10cSrcweir 		ocBackSolver		= SC_OPCODE_BACK_SOLVER,
315cdf0e10cSrcweir 	// Statistical functions
316cdf0e10cSrcweir 		ocHypGeomDist		= SC_OPCODE_HYP_GEOM_DIST,
317cdf0e10cSrcweir 		ocLogNormDist		= SC_OPCODE_LOG_NORM_DIST,
318cdf0e10cSrcweir 		ocTDist				= SC_OPCODE_T_DIST,
319cdf0e10cSrcweir 		ocFDist				= SC_OPCODE_F_DIST,
320cdf0e10cSrcweir 		ocChiDist			= SC_OPCODE_CHI_DIST,
321cdf0e10cSrcweir 		ocChiSqDist         = SC_OPCODE_CHISQ_DIST,
322cdf0e10cSrcweir 		ocChiSqInv          = SC_OPCODE_CHISQ_INV,
323cdf0e10cSrcweir 		ocWeibull			= SC_OPCODE_WEIBULL,
324cdf0e10cSrcweir 		ocNegBinomVert		= SC_OPCODE_NEG_BINOM_VERT,
325cdf0e10cSrcweir 		ocKritBinom			= SC_OPCODE_KRIT_BINOM,
326cdf0e10cSrcweir 		ocKurt				= SC_OPCODE_KURT,
327cdf0e10cSrcweir 		ocHarMean			= SC_OPCODE_HAR_MEAN,
328cdf0e10cSrcweir 		ocGeoMean			= SC_OPCODE_GEO_MEAN,
329cdf0e10cSrcweir 		ocStandard			= SC_OPCODE_STANDARD,
330cdf0e10cSrcweir 		ocAveDev			= SC_OPCODE_AVE_DEV,
331cdf0e10cSrcweir 		ocSchiefe			= SC_OPCODE_SCHIEFE,
332cdf0e10cSrcweir 		ocDevSq				= SC_OPCODE_DEV_SQ,
333cdf0e10cSrcweir 		ocMedian			= SC_OPCODE_MEDIAN,
334cdf0e10cSrcweir 		ocModalValue		= SC_OPCODE_MODAL_VALUE,
335cdf0e10cSrcweir 		ocZTest				= SC_OPCODE_Z_TEST,
336cdf0e10cSrcweir 		ocTTest				= SC_OPCODE_T_TEST,
337cdf0e10cSrcweir 		ocRank				= SC_OPCODE_RANK,
338cdf0e10cSrcweir 		ocPercentile		= SC_OPCODE_PERCENTILE,
339cdf0e10cSrcweir 		ocPercentrank		= SC_OPCODE_PERCENT_RANK,
340cdf0e10cSrcweir 		ocLarge				= SC_OPCODE_LARGE,
341cdf0e10cSrcweir 		ocSmall				= SC_OPCODE_SMALL,
342cdf0e10cSrcweir 		ocFrequency			= SC_OPCODE_FREQUENCY,
343cdf0e10cSrcweir 		ocQuartile			= SC_OPCODE_QUARTILE,
344cdf0e10cSrcweir 		ocNormInv			= SC_OPCODE_NORM_INV,
345cdf0e10cSrcweir 		ocConfidence		= SC_OPCODE_CONFIDENCE,
346cdf0e10cSrcweir 		ocFTest				= SC_OPCODE_F_TEST,
347cdf0e10cSrcweir 		ocTrimMean			= SC_OPCODE_TRIM_MEAN,
348cdf0e10cSrcweir 		ocProb				= SC_OPCODE_PROB,
349cdf0e10cSrcweir 		ocCorrel			= SC_OPCODE_CORREL,
350cdf0e10cSrcweir 		ocCovar				= SC_OPCODE_COVAR,
351cdf0e10cSrcweir 		ocPearson			= SC_OPCODE_PEARSON,
352cdf0e10cSrcweir 		ocRSQ				= SC_OPCODE_RSQ,
353cdf0e10cSrcweir 		ocSTEYX				= SC_OPCODE_STEYX,
354cdf0e10cSrcweir 		ocSlope				= SC_OPCODE_SLOPE,
355cdf0e10cSrcweir 		ocIntercept			= SC_OPCODE_INTERCEPT,
356cdf0e10cSrcweir 		ocTrend				= SC_OPCODE_TREND,
357cdf0e10cSrcweir 		ocGrowth			= SC_OPCODE_GROWTH,
358cdf0e10cSrcweir 		ocRGP				= SC_OPCODE_RGP,
359cdf0e10cSrcweir 		ocRKP				= SC_OPCODE_RKP,
360cdf0e10cSrcweir 		ocForecast			= SC_OPCODE_FORECAST,
361cdf0e10cSrcweir 		ocChiInv			= SC_OPCODE_CHI_INV,
362cdf0e10cSrcweir 		ocGammaDist			= SC_OPCODE_GAMMA_DIST,
363cdf0e10cSrcweir 		ocGammaInv			= SC_OPCODE_GAMMA_INV,
364cdf0e10cSrcweir 		ocTInv				= SC_OPCODE_T_INV,
365cdf0e10cSrcweir 		ocFInv				= SC_OPCODE_F_INV,
366cdf0e10cSrcweir 		ocChiTest			= SC_OPCODE_CHI_TEST,
367cdf0e10cSrcweir 		ocLogInv			= SC_OPCODE_LOG_INV,
368cdf0e10cSrcweir 		ocTableOp			= SC_OPCODE_TABLE_OP,
369cdf0e10cSrcweir 		ocBetaDist			= SC_OPCODE_BETA_DIST,
370cdf0e10cSrcweir 		ocBetaInv			= SC_OPCODE_BETA_INV,
371cdf0e10cSrcweir 	// miscellaneous
372cdf0e10cSrcweir 		ocWeek				= SC_OPCODE_WEEK,
373cdf0e10cSrcweir 		ocGetDayOfWeek		= SC_OPCODE_GET_DAY_OF_WEEK,
374cdf0e10cSrcweir 		ocNoName			= SC_OPCODE_NO_NAME,
375cdf0e10cSrcweir 		ocStyle				= SC_OPCODE_STYLE,
376cdf0e10cSrcweir 		ocDde				= SC_OPCODE_DDE,
377cdf0e10cSrcweir 		ocBase				= SC_OPCODE_BASE,
378cdf0e10cSrcweir 		ocTable				= SC_OPCODE_TABLE,
379cdf0e10cSrcweir 		ocTables			= SC_OPCODE_TABLES,
380cdf0e10cSrcweir 		ocMinA				= SC_OPCODE_MIN_A,
381cdf0e10cSrcweir 		ocMaxA				= SC_OPCODE_MAX_A,
382cdf0e10cSrcweir 		ocAverageA			= SC_OPCODE_AVERAGE_A,
383cdf0e10cSrcweir 		ocStDevA			= SC_OPCODE_ST_DEV_A,
384cdf0e10cSrcweir 		ocStDevPA			= SC_OPCODE_ST_DEV_P_A,
385cdf0e10cSrcweir 		ocVarA				= SC_OPCODE_VAR_A,
386cdf0e10cSrcweir 		ocVarPA				= SC_OPCODE_VAR_P_A,
387cdf0e10cSrcweir 		ocEasterSunday		= SC_OPCODE_EASTERSUNDAY,
388cdf0e10cSrcweir 		ocDecimal			= SC_OPCODE_DECIMAL,
389cdf0e10cSrcweir 		ocConvert			= SC_OPCODE_CONVERT,
390cdf0e10cSrcweir 		ocRoman				= SC_OPCODE_ROMAN,
391cdf0e10cSrcweir         ocHyperLink         = SC_OPCODE_HYPERLINK,
392cdf0e10cSrcweir         ocGetPivotData      = SC_OPCODE_GET_PIVOT_DATA,
393cdf0e10cSrcweir         ocEuroConvert       = SC_OPCODE_EUROCONVERT,
394cdf0e10cSrcweir 		ocNumberValue		= SC_OPCODE_NUMBERVALUE,
395245212b4SAndrew Rist 		ocXor               = SC_OPCODE_XOR,
3960f94c4d7SDamjan Jovanovic 	//bitwise functions
3970f94c4d7SDamjan Jovanovic 		ocBitAnd 			= SC_OPCODE_BITAND,
3980f94c4d7SDamjan Jovanovic 		ocBitOr				= SC_OPCODE_BITOR,
3990f94c4d7SDamjan Jovanovic 		ocBitXor			= SC_OPCODE_BITXOR,
400*a940b7f5Sasf-sync-process 		ocBitLShift         = SC_OPCODE_BITLSHIFT,
401*a940b7f5Sasf-sync-process 		ocBitRShift         = SC_OPCODE_BITRSHIFT,
402cdf0e10cSrcweir 	// internal stuff
403cdf0e10cSrcweir 		ocInternalBegin		= SC_OPCODE_INTERNAL_BEGIN,
404cdf0e10cSrcweir 		ocTTT				= SC_OPCODE_TTT,
405cdf0e10cSrcweir 		ocInternalEnd		= SC_OPCODE_INTERNAL_END,
406cdf0e10cSrcweir 	// from here on ExtraData
407cdf0e10cSrcweir 		ocDataToken1		= SC_OPCODE_DATA_TOKEN_1,
408cdf0e10cSrcweir 	// no OpCode
409cdf0e10cSrcweir 		ocNone				= SC_OPCODE_NONE
410cdf0e10cSrcweir };
411cdf0e10cSrcweir 
412cdf0e10cSrcweir #ifndef DBG_UTIL
413cdf0e10cSrcweir // save memory since compilers tend to int an enum
414cdf0e10cSrcweir typedef sal_uInt16 OpCode;
415cdf0e10cSrcweir #else
416cdf0e10cSrcweir // have enum names in debugger
417cdf0e10cSrcweir typedef OpCodeEnum OpCode;
418cdf0e10cSrcweir #endif
419cdf0e10cSrcweir 
420cdf0e10cSrcweir #endif
421