Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / include / formula / opcode.hxx
blobd92ae0b1d41d0ee13d47b85d9d523f782f3194b9
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_FORMULA_OPCODE_HXX
21 #define INCLUDED_FORMULA_OPCODE_HXX
23 #include <sstream>
25 #include <formula/compiler.hxx>
26 #include <sal/types.h>
28 enum OpCode : sal_uInt16
30 // Special commands
31 ocPush = SC_OPCODE_PUSH,
32 ocCall = SC_OPCODE_CALL,
33 ocStop = SC_OPCODE_STOP,
34 ocExternal = SC_OPCODE_EXTERNAL,
35 ocName = SC_OPCODE_NAME,
36 // Jump commands
37 ocIf = SC_OPCODE_IF,
38 ocIfError = SC_OPCODE_IF_ERROR,
39 ocIfNA = SC_OPCODE_IF_NA,
40 ocChoose = SC_OPCODE_CHOOSE,
41 // Parentheses and separators
42 ocOpen = SC_OPCODE_OPEN,
43 ocClose = SC_OPCODE_CLOSE,
44 ocTableRefOpen = SC_OPCODE_TABLE_REF_OPEN,
45 ocTableRefClose = SC_OPCODE_TABLE_REF_CLOSE,
46 ocSep = SC_OPCODE_SEP,
47 ocArrayOpen = SC_OPCODE_ARRAY_OPEN,
48 ocArrayClose = SC_OPCODE_ARRAY_CLOSE,
49 ocArrayRowSep = SC_OPCODE_ARRAY_ROW_SEP,
50 ocArrayColSep = SC_OPCODE_ARRAY_COL_SEP,
51 // Special OpCodes
52 ocMissing = SC_OPCODE_MISSING,
53 ocBad = SC_OPCODE_BAD,
54 ocStringXML = SC_OPCODE_STRINGXML,
55 ocSpaces = SC_OPCODE_SPACES,
56 ocWhitespace = SC_OPCODE_WHITESPACE,
57 ocMatRef = SC_OPCODE_MAT_REF,
58 ocTableRefItemAll = SC_OPCODE_TABLE_REF_ITEM_ALL,
59 ocTableRefItemHeaders = SC_OPCODE_TABLE_REF_ITEM_HEADERS,
60 ocTableRefItemData = SC_OPCODE_TABLE_REF_ITEM_DATA,
61 ocTableRefItemTotals = SC_OPCODE_TABLE_REF_ITEM_TOTALS,
62 ocTableRefItemThisRow = SC_OPCODE_TABLE_REF_ITEM_THIS_ROW,
63 ocSkip = SC_OPCODE_SKIP,
64 // Access commands
65 ocDBArea = SC_OPCODE_DB_AREA,
66 ocTableRef = SC_OPCODE_TABLE_REF,
67 ocMacro = SC_OPCODE_MACRO,
68 ocColRowName = SC_OPCODE_COL_ROW_NAME,
69 ocColRowNameAuto = SC_OPCODE_COL_ROW_NAME_AUTO,
70 // Percent operator _follows_ value
71 ocPercentSign = SC_OPCODE_PERCENT_SIGN,
72 // Error constants
73 ocErrNull = SC_OPCODE_ERROR_NULL,
74 ocErrDivZero = SC_OPCODE_ERROR_DIVZERO,
75 ocErrValue = SC_OPCODE_ERROR_VALUE,
76 ocErrRef = SC_OPCODE_ERROR_REF,
77 ocErrName = SC_OPCODE_ERROR_NAME,
78 ocErrNum = SC_OPCODE_ERROR_NUM,
79 ocErrNA = SC_OPCODE_ERROR_NA,
80 // Binary operators
81 ocAdd = SC_OPCODE_ADD,
82 ocSub = SC_OPCODE_SUB,
83 ocMul = SC_OPCODE_MUL,
84 ocDiv = SC_OPCODE_DIV,
85 ocAmpersand = SC_OPCODE_AMPERSAND,
86 ocPow = SC_OPCODE_POW,
87 ocEqual = SC_OPCODE_EQUAL,
88 ocNotEqual = SC_OPCODE_NOT_EQUAL,
89 ocLess = SC_OPCODE_LESS,
90 ocGreater = SC_OPCODE_GREATER,
91 ocLessEqual = SC_OPCODE_LESS_EQUAL,
92 ocGreaterEqual = SC_OPCODE_GREATER_EQUAL,
93 ocAnd = SC_OPCODE_AND,
94 ocOr = SC_OPCODE_OR,
95 ocXor = SC_OPCODE_XOR,
96 ocIntersect = SC_OPCODE_INTERSECT,
97 ocUnion = SC_OPCODE_UNION,
98 ocRange = SC_OPCODE_RANGE,
99 // Unary operators
100 ocNegSub = SC_OPCODE_NEG_SUB,
101 // Functions with no parameters
102 ocPi = SC_OPCODE_PI,
103 ocRandom = SC_OPCODE_RANDOM,
104 ocTrue = SC_OPCODE_TRUE,
105 ocFalse = SC_OPCODE_FALSE,
106 ocGetActDate = SC_OPCODE_GET_ACT_DATE,
107 ocGetActTime = SC_OPCODE_GET_ACT_TIME,
108 ocNotAvail = SC_OPCODE_NO_VALUE,
109 ocCurrent = SC_OPCODE_CURRENT,
110 ocRandomNV = SC_OPCODE_RANDOM_NV,
111 // Functions with one parameter
112 ocNot = SC_OPCODE_NOT,
113 ocNeg = SC_OPCODE_NEG,
114 ocDeg = SC_OPCODE_DEG,
115 ocRad = SC_OPCODE_RAD,
116 ocSin = SC_OPCODE_SIN,
117 ocCos = SC_OPCODE_COS,
118 ocTan = SC_OPCODE_TAN,
119 ocCot = SC_OPCODE_COT,
120 ocArcSin = SC_OPCODE_ARC_SIN,
121 ocArcCos = SC_OPCODE_ARC_COS,
122 ocArcTan = SC_OPCODE_ARC_TAN,
123 ocArcCot = SC_OPCODE_ARC_COT,
124 ocSinHyp = SC_OPCODE_SIN_HYP,
125 ocCosHyp = SC_OPCODE_COS_HYP,
126 ocTanHyp = SC_OPCODE_TAN_HYP,
127 ocCotHyp = SC_OPCODE_COT_HYP,
128 ocArcSinHyp = SC_OPCODE_ARC_SIN_HYP,
129 ocArcCosHyp = SC_OPCODE_ARC_COS_HYP,
130 ocArcTanHyp = SC_OPCODE_ARC_TAN_HYP,
131 ocArcCotHyp = SC_OPCODE_ARC_COT_HYP,
132 ocCosecant = SC_OPCODE_COSECANT,
133 ocSecant = SC_OPCODE_SECANT,
134 ocCosecantHyp = SC_OPCODE_COSECANT_HYP,
135 ocSecantHyp = SC_OPCODE_SECANT_HYP,
136 ocExp = SC_OPCODE_EXP,
137 ocLn = SC_OPCODE_LN,
138 ocSqrt = SC_OPCODE_SQRT,
139 ocFact = SC_OPCODE_FACT,
140 ocGetYear = SC_OPCODE_GET_YEAR,
141 ocGetMonth = SC_OPCODE_GET_MONTH,
142 ocGetDay = SC_OPCODE_GET_DAY,
143 ocGetHour = SC_OPCODE_GET_HOUR,
144 ocGetMin = SC_OPCODE_GET_MIN,
145 ocGetSec = SC_OPCODE_GET_SEC,
146 ocPlusMinus = SC_OPCODE_PLUS_MINUS,
147 ocAbs = SC_OPCODE_ABS,
148 ocInt = SC_OPCODE_INT,
149 ocPhi = SC_OPCODE_PHI,
150 ocGauss = SC_OPCODE_GAUSS,
151 ocIsEmpty = SC_OPCODE_IS_EMPTY,
152 ocIsString = SC_OPCODE_IS_STRING,
153 ocIsNonString = SC_OPCODE_IS_NON_STRING,
154 ocIsLogical = SC_OPCODE_IS_LOGICAL,
155 ocType = SC_OPCODE_TYPE,
156 ocCell = SC_OPCODE_CELL,
157 ocIsRef = SC_OPCODE_IS_REF,
158 ocIsValue = SC_OPCODE_IS_VALUE,
159 ocIsFormula = SC_OPCODE_IS_FORMULA,
160 ocIsNA = SC_OPCODE_IS_NV,
161 ocIsErr = SC_OPCODE_IS_ERR,
162 ocIsError = SC_OPCODE_IS_ERROR,
163 ocIsEven = SC_OPCODE_IS_EVEN,
164 ocIsOdd = SC_OPCODE_IS_ODD,
165 ocN = SC_OPCODE_N,
166 // String functions
167 ocGetDateValue = SC_OPCODE_GET_DATE_VALUE,
168 ocGetTimeValue = SC_OPCODE_GET_TIME_VALUE,
169 ocCode = SC_OPCODE_CODE,
170 ocTrim = SC_OPCODE_TRIM,
171 ocUpper = SC_OPCODE_UPPER,
172 ocProper = SC_OPCODE_PROPER,
173 ocLower = SC_OPCODE_LOWER,
174 ocLen = SC_OPCODE_LEN,
175 ocT = SC_OPCODE_T,
176 ocValue = SC_OPCODE_VALUE,
177 ocClean = SC_OPCODE_CLEAN,
178 ocChar = SC_OPCODE_CHAR,
179 ocLog10 = SC_OPCODE_LOG10,
180 ocEven = SC_OPCODE_EVEN,
181 ocOdd = SC_OPCODE_ODD,
182 ocStdNormDist = SC_OPCODE_STD_NORM_DIST,
183 ocStdNormDist_MS = SC_OPCODE_STD_NORM_DIST_MS,
184 ocFisher = SC_OPCODE_FISHER,
185 ocFisherInv = SC_OPCODE_FISHER_INV,
186 ocSNormInv = SC_OPCODE_S_NORM_INV,
187 ocSNormInv_MS = SC_OPCODE_S_NORM_INV_MS,
188 ocGammaLn = SC_OPCODE_GAMMA_LN,
189 ocGammaLn_MS = SC_OPCODE_GAMMA_LN_MS,
190 ocGamma = SC_OPCODE_GAMMA,
191 ocErrorType = SC_OPCODE_ERROR_TYPE,
192 ocErrorType_ODF = SC_OPCODE_ERROR_TYPE_ODF,
193 ocFormula = SC_OPCODE_FORMULA,
194 ocArabic = SC_OPCODE_ARABIC,
195 ocInfo = SC_OPCODE_INFO,
196 ocBahtText = SC_OPCODE_BAHTTEXT,
197 ocJis = SC_OPCODE_JIS,
198 ocAsc = SC_OPCODE_ASC,
199 ocUnicode = SC_OPCODE_UNICODE,
200 ocUnichar = SC_OPCODE_UNICHAR,
201 // Functions with more than one parameters
202 ocArcTan2 = SC_OPCODE_ARC_TAN_2,
203 ocCeil = SC_OPCODE_CEIL,
204 ocCeil_MS = SC_OPCODE_CEIL_MS,
205 ocCeil_Precise = SC_OPCODE_CEIL_PRECISE,
206 ocCeil_ISO = SC_OPCODE_CEIL_ISO,
207 ocCeil_Math = SC_OPCODE_CEIL_MATH,
208 ocFloor = SC_OPCODE_FLOOR,
209 ocFloor_MS = SC_OPCODE_FLOOR_MS,
210 ocFloor_Math = SC_OPCODE_FLOOR_MATH,
211 ocFloor_Precise = SC_OPCODE_FLOOR_PRECISE,
212 ocRound = SC_OPCODE_ROUND,
213 ocRoundUp = SC_OPCODE_ROUND_UP,
214 ocRoundDown = SC_OPCODE_ROUND_DOWN,
215 ocTrunc = SC_OPCODE_TRUNC,
216 ocLog = SC_OPCODE_LOG,
217 ocPower = SC_OPCODE_POWER,
218 ocGCD = SC_OPCODE_GCD,
219 ocLCM = SC_OPCODE_LCM,
220 ocMod = SC_OPCODE_MOD,
221 ocSumProduct = SC_OPCODE_SUM_PRODUCT,
222 ocSumSQ = SC_OPCODE_SUM_SQ,
223 ocSumX2MY2 = SC_OPCODE_SUM_X2MY2,
224 ocSumX2DY2 = SC_OPCODE_SUM_X2DY2,
225 ocSumXMY2 = SC_OPCODE_SUM_XMY2,
226 ocGetDate = SC_OPCODE_GET_DATE,
227 ocGetTime = SC_OPCODE_GET_TIME,
228 ocGetDiffDate = SC_OPCODE_GET_DIFF_DATE,
229 ocGetDiffDate360 = SC_OPCODE_GET_DIFF_DATE_360,
230 ocGetDateDif = SC_OPCODE_GET_DATEDIF,
231 ocMin = SC_OPCODE_MIN,
232 ocMax = SC_OPCODE_MAX,
233 ocSum = SC_OPCODE_SUM,
234 ocProduct = SC_OPCODE_PRODUCT,
235 ocAverage = SC_OPCODE_AVERAGE,
236 ocCount = SC_OPCODE_COUNT,
237 ocCount2 = SC_OPCODE_COUNT_2,
238 ocNPV = SC_OPCODE_NPV,
239 ocIRR = SC_OPCODE_IRR,
240 ocMIRR = SC_OPCODE_MIRR,
241 ocISPMT = SC_OPCODE_ISPMT,
242 ocVar = SC_OPCODE_VAR,
243 ocVarP = SC_OPCODE_VAR_P,
244 ocVarP_MS = SC_OPCODE_VAR_P_MS,
245 ocVarS = SC_OPCODE_VAR_S,
246 ocStDev = SC_OPCODE_ST_DEV,
247 ocStDevP = SC_OPCODE_ST_DEV_P,
248 ocStDevP_MS = SC_OPCODE_ST_DEV_P_MS,
249 ocStDevS = SC_OPCODE_ST_DEV_S,
250 ocB = SC_OPCODE_B,
251 ocNormDist = SC_OPCODE_NORM_DIST,
252 ocNormDist_MS = SC_OPCODE_NORM_DIST_MS,
253 ocExpDist = SC_OPCODE_EXP_DIST,
254 ocExpDist_MS = SC_OPCODE_EXP_DIST_MS,
255 ocBinomDist = SC_OPCODE_BINOM_DIST,
256 ocBinomDist_MS = SC_OPCODE_BINOM_DIST_MS,
257 ocBinomInv = SC_OPCODE_BINOM_INV,
258 ocPoissonDist = SC_OPCODE_POISSON_DIST,
259 ocPoissonDist_MS = SC_OPCODE_POISSON_DIST_MS,
260 ocCombin = SC_OPCODE_COMBIN,
261 ocCombinA = SC_OPCODE_COMBIN_A,
262 ocPermut = SC_OPCODE_PERMUT,
263 ocPermutationA = SC_OPCODE_PERMUTATION_A,
264 ocPV = SC_OPCODE_PV,
265 ocSYD = SC_OPCODE_SYD,
266 ocDDB = SC_OPCODE_DDB,
267 ocDB = SC_OPCODE_DB,
268 ocVBD = SC_OPCODE_VBD,
269 ocPDuration = SC_OPCODE_PDURATION,
270 ocSLN = SC_OPCODE_SLN,
271 ocPMT = SC_OPCODE_PMT,
272 ocColumns = SC_OPCODE_COLUMNS,
273 ocRows = SC_OPCODE_ROWS,
274 ocColumn = SC_OPCODE_COLUMN,
275 ocRow = SC_OPCODE_ROW,
276 ocRRI = SC_OPCODE_RRI,
277 ocFV = SC_OPCODE_FV,
278 ocNper = SC_OPCODE_NPER,
279 ocRate = SC_OPCODE_RATE,
280 ocIpmt = SC_OPCODE_IPMT,
281 ocPpmt = SC_OPCODE_PPMT,
282 ocCumIpmt = SC_OPCODE_CUM_IPMT,
283 ocCumPrinc = SC_OPCODE_CUM_PRINC,
284 ocEffect = SC_OPCODE_EFFECT,
285 ocNominal = SC_OPCODE_NOMINAL,
286 ocSubTotal = SC_OPCODE_SUB_TOTAL,
287 ocRawSubtract = SC_OPCODE_RAWSUBTRACT,
288 ocIfs_MS = SC_OPCODE_IFS_MS,
289 ocSwitch_MS = SC_OPCODE_SWITCH_MS,
290 ocMinIfs_MS = SC_OPCODE_MINIFS_MS,
291 ocMaxIfs_MS = SC_OPCODE_MAXIFS_MS,
292 ocRoundSig = SC_OPCODE_ROUNDSIG,
293 // Database functions
294 ocDBSum = SC_OPCODE_DB_SUM,
295 ocDBCount = SC_OPCODE_DB_COUNT,
296 ocDBCount2 = SC_OPCODE_DB_COUNT_2,
297 ocDBAverage = SC_OPCODE_DB_AVERAGE,
298 ocDBGet = SC_OPCODE_DB_GET,
299 ocDBMax = SC_OPCODE_DB_MAX,
300 ocDBMin = SC_OPCODE_DB_MIN,
301 ocDBProduct = SC_OPCODE_DB_PRODUCT,
302 ocDBStdDev = SC_OPCODE_DB_STD_DEV,
303 ocDBStdDevP = SC_OPCODE_DB_STD_DEV_P,
304 ocDBVar = SC_OPCODE_DB_VAR,
305 ocDBVarP = SC_OPCODE_DB_VAR_P,
306 // Management functions
307 ocIndirect = SC_OPCODE_INDIRECT,
308 ocAddress = SC_OPCODE_ADDRESS,
309 ocMatch = SC_OPCODE_MATCH,
310 ocCountEmptyCells = SC_OPCODE_COUNT_EMPTY_CELLS,
311 ocCountIf = SC_OPCODE_COUNT_IF,
312 ocSumIf = SC_OPCODE_SUM_IF,
313 ocAverageIf = SC_OPCODE_AVERAGE_IF,
314 ocSumIfs = SC_OPCODE_SUM_IFS,
315 ocAverageIfs = SC_OPCODE_AVERAGE_IFS,
316 ocCountIfs = SC_OPCODE_COUNT_IFS,
317 ocLookup = SC_OPCODE_LOOKUP,
318 ocVLookup = SC_OPCODE_V_LOOKUP,
319 ocHLookup = SC_OPCODE_H_LOOKUP,
320 ocMultiArea = SC_OPCODE_MULTI_AREA,
321 ocOffset = SC_OPCODE_OFFSET,
322 ocIndex = SC_OPCODE_INDEX,
323 ocAreas = SC_OPCODE_AREAS,
324 // String functions
325 ocCurrency = SC_OPCODE_CURRENCY,
326 ocReplace = SC_OPCODE_REPLACE,
327 ocFixed = SC_OPCODE_FIXED,
328 ocFind = SC_OPCODE_FIND,
329 ocExact = SC_OPCODE_EXACT,
330 ocLeft = SC_OPCODE_LEFT,
331 ocRight = SC_OPCODE_RIGHT,
332 ocSearch = SC_OPCODE_SEARCH,
333 ocMid = SC_OPCODE_MID,
334 ocText = SC_OPCODE_TEXT,
335 ocSubstitute = SC_OPCODE_SUBSTITUTE,
336 ocRept = SC_OPCODE_REPT,
337 ocConcat = SC_OPCODE_CONCAT,
338 ocConcat_MS = SC_OPCODE_CONCAT_MS,
339 ocTextJoin_MS = SC_OPCODE_TEXTJOIN_MS,
340 ocLenB = SC_OPCODE_LENB,
341 ocRightB = SC_OPCODE_RIGHTB,
342 ocLeftB = SC_OPCODE_LEFTB,
343 ocMidB = SC_OPCODE_MIDB,
344 ocReplaceB = SC_OPCODE_REPLACEB,
345 ocFindB = SC_OPCODE_FINDB,
346 ocSearchB = SC_OPCODE_SEARCHB,
347 ocNumberValue = SC_OPCODE_NUMBERVALUE,
348 ocRegex = SC_OPCODE_REGEX,
349 // Matrix functions
350 ocMatValue = SC_OPCODE_MAT_VALUE,
351 ocMatDet = SC_OPCODE_MAT_DET,
352 ocMatInv = SC_OPCODE_MAT_INV,
353 ocMatMult = SC_OPCODE_MAT_MULT,
354 ocMatTrans = SC_OPCODE_MAT_TRANS,
355 ocMatrixUnit = SC_OPCODE_MATRIX_UNIT,
356 // BackSolver
357 ocBackSolver = SC_OPCODE_BACK_SOLVER,
358 // Statistical functions
359 ocHypGeomDist = SC_OPCODE_HYP_GEOM_DIST,
360 ocHypGeomDist_MS = SC_OPCODE_HYP_GEOM_DIST_MS,
361 ocLogNormDist = SC_OPCODE_LOG_NORM_DIST,
362 ocLogNormDist_MS = SC_OPCODE_LOG_NORM_DIST_MS,
363 ocTDist = SC_OPCODE_T_DIST,
364 ocTDist_MS = SC_OPCODE_T_DIST_MS,
365 ocTDist_RT = SC_OPCODE_T_DIST_RT,
366 ocTDist_2T = SC_OPCODE_T_DIST_2T,
367 ocFDist = SC_OPCODE_F_DIST,
368 ocFDist_LT = SC_OPCODE_F_DIST_LT,
369 ocFDist_RT = SC_OPCODE_F_DIST_RT,
370 ocChiDist = SC_OPCODE_CHI_DIST,
371 ocChiDist_MS = SC_OPCODE_CHI_DIST_MS,
372 ocChiSqDist = SC_OPCODE_CHISQ_DIST,
373 ocChiSqDist_MS = SC_OPCODE_CHISQ_DIST_MS,
374 ocChiSqInv = SC_OPCODE_CHISQ_INV,
375 ocChiSqInv_MS = SC_OPCODE_CHISQ_INV_MS,
376 ocWeibull = SC_OPCODE_WEIBULL,
377 ocWeibull_MS = SC_OPCODE_WEIBULL_MS,
378 ocNegBinomVert = SC_OPCODE_NEG_BINOM_VERT,
379 ocNegBinomDist_MS = SC_OPCODE_NEG_BINOM_DIST_MS,
380 ocCritBinom = SC_OPCODE_CRIT_BINOM,
381 ocKurt = SC_OPCODE_KURT,
382 ocHarMean = SC_OPCODE_HAR_MEAN,
383 ocGeoMean = SC_OPCODE_GEO_MEAN,
384 ocStandard = SC_OPCODE_STANDARD,
385 ocAveDev = SC_OPCODE_AVE_DEV,
386 ocSkew = SC_OPCODE_SKEW,
387 ocSkewp = SC_OPCODE_SKEWP,
388 ocDevSq = SC_OPCODE_DEV_SQ,
389 ocMedian = SC_OPCODE_MEDIAN,
390 ocModalValue = SC_OPCODE_MODAL_VALUE,
391 ocModalValue_MS = SC_OPCODE_MODAL_VALUE_MS,
392 ocModalValue_Multi = SC_OPCODE_MODAL_VALUE_MULTI,
393 ocZTest = SC_OPCODE_Z_TEST,
394 ocZTest_MS = SC_OPCODE_Z_TEST_MS,
395 ocAggregate = SC_OPCODE_AGGREGATE,
396 ocTTest = SC_OPCODE_T_TEST,
397 ocTTest_MS = SC_OPCODE_T_TEST_MS,
398 ocRank = SC_OPCODE_RANK,
399 ocPercentile = SC_OPCODE_PERCENTILE,
400 ocPercentrank = SC_OPCODE_PERCENT_RANK,
401 ocPercentile_Inc = SC_OPCODE_PERCENTILE_INC,
402 ocPercentrank_Inc = SC_OPCODE_PERCENT_RANK_INC,
403 ocQuartile_Inc = SC_OPCODE_QUARTILE_INC,
404 ocRank_Eq = SC_OPCODE_RANK_EQ,
405 ocPercentile_Exc = SC_OPCODE_PERCENTILE_EXC,
406 ocPercentrank_Exc = SC_OPCODE_PERCENT_RANK_EXC,
407 ocQuartile_Exc = SC_OPCODE_QUARTILE_EXC,
408 ocRank_Avg = SC_OPCODE_RANK_AVG,
409 ocLarge = SC_OPCODE_LARGE,
410 ocSmall = SC_OPCODE_SMALL,
411 ocFrequency = SC_OPCODE_FREQUENCY,
412 ocQuartile = SC_OPCODE_QUARTILE,
413 ocNormInv = SC_OPCODE_NORM_INV,
414 ocNormInv_MS = SC_OPCODE_NORM_INV_MS,
415 ocConfidence = SC_OPCODE_CONFIDENCE,
416 ocConfidence_N = SC_OPCODE_CONFIDENCE_N,
417 ocConfidence_T = SC_OPCODE_CONFIDENCE_T,
418 ocFTest = SC_OPCODE_F_TEST,
419 ocFTest_MS = SC_OPCODE_F_TEST_MS,
420 ocTrimMean = SC_OPCODE_TRIM_MEAN,
421 ocProb = SC_OPCODE_PROB,
422 ocCorrel = SC_OPCODE_CORREL,
423 ocCovar = SC_OPCODE_COVAR,
424 ocCovarianceP = SC_OPCODE_COVARIANCE_P,
425 ocCovarianceS = SC_OPCODE_COVARIANCE_S,
426 ocPearson = SC_OPCODE_PEARSON,
427 ocRSQ = SC_OPCODE_RSQ,
428 ocSTEYX = SC_OPCODE_STEYX,
429 ocSlope = SC_OPCODE_SLOPE,
430 ocIntercept = SC_OPCODE_INTERCEPT,
431 ocTrend = SC_OPCODE_TREND,
432 ocGrowth = SC_OPCODE_GROWTH,
433 ocLinest = SC_OPCODE_LINEST,
434 ocLogest = SC_OPCODE_LOGEST,
435 ocForecast = SC_OPCODE_FORECAST,
436 ocForecast_ETS_ADD = SC_OPCODE_FORECAST_ETS_ADD,
437 ocForecast_ETS_SEA = SC_OPCODE_FORECAST_ETS_SEA,
438 ocForecast_ETS_MUL = SC_OPCODE_FORECAST_ETS_MUL,
439 ocForecast_ETS_PIA = SC_OPCODE_FORECAST_ETS_PIA,
440 ocForecast_ETS_PIM = SC_OPCODE_FORECAST_ETS_PIM,
441 ocForecast_ETS_STA = SC_OPCODE_FORECAST_ETS_STA,
442 ocForecast_ETS_STM = SC_OPCODE_FORECAST_ETS_STM,
443 ocForecast_LIN = SC_OPCODE_FORECAST_LIN,
444 ocChiInv = SC_OPCODE_CHI_INV,
445 ocChiInv_MS = SC_OPCODE_CHI_INV_MS,
446 ocGammaDist = SC_OPCODE_GAMMA_DIST,
447 ocGammaDist_MS = SC_OPCODE_GAMMA_DIST_MS,
448 ocGammaInv = SC_OPCODE_GAMMA_INV,
449 ocGammaInv_MS = SC_OPCODE_GAMMA_INV_MS,
450 ocTInv = SC_OPCODE_T_INV,
451 ocTInv_2T = SC_OPCODE_T_INV_2T,
452 ocTInv_MS = SC_OPCODE_T_INV_MS,
453 ocFInv = SC_OPCODE_F_INV,
454 ocFInv_LT = SC_OPCODE_F_INV_LT,
455 ocFInv_RT = SC_OPCODE_F_INV_RT,
456 ocChiTest = SC_OPCODE_CHI_TEST,
457 ocChiTest_MS = SC_OPCODE_CHI_TEST_MS,
458 ocLogInv = SC_OPCODE_LOG_INV,
459 ocLogInv_MS = SC_OPCODE_LOG_INV_MS,
460 ocTableOp = SC_OPCODE_TABLE_OP,
461 ocBetaDist = SC_OPCODE_BETA_DIST,
462 ocBetaInv = SC_OPCODE_BETA_INV,
463 ocBetaDist_MS = SC_OPCODE_BETA_DIST_MS,
464 ocBetaInv_MS = SC_OPCODE_BETA_INV_MS,
465 // Bit functions
466 ocBitAnd = SC_OPCODE_BITAND,
467 ocBitOr = SC_OPCODE_BITOR,
468 ocBitXor = SC_OPCODE_BITXOR,
469 ocBitRshift = SC_OPCODE_BITRSHIFT,
470 ocBitLshift = SC_OPCODE_BITLSHIFT,
471 // miscellaneous
472 ocWeek = SC_OPCODE_WEEK,
473 ocIsoWeeknum = SC_OPCODE_ISOWEEKNUM,
474 ocWeeknumOOo = SC_OPCODE_WEEKNUM_OOO,
475 ocGetDayOfWeek = SC_OPCODE_GET_DAY_OF_WEEK,
476 ocNetWorkdays = SC_OPCODE_NETWORKDAYS,
477 ocNetWorkdays_MS = SC_OPCODE_NETWORKDAYS_MS,
478 ocWorkday_MS = SC_OPCODE_WORKDAY_MS,
479 ocNoName = SC_OPCODE_NO_NAME,
480 ocStyle = SC_OPCODE_STYLE,
481 ocDde = SC_OPCODE_DDE,
482 ocBase = SC_OPCODE_BASE,
483 ocSheet = SC_OPCODE_SHEET,
484 ocSheets = SC_OPCODE_SHEETS,
485 ocMinA = SC_OPCODE_MIN_A,
486 ocMaxA = SC_OPCODE_MAX_A,
487 ocAverageA = SC_OPCODE_AVERAGE_A,
488 ocStDevA = SC_OPCODE_ST_DEV_A,
489 ocStDevPA = SC_OPCODE_ST_DEV_P_A,
490 ocVarA = SC_OPCODE_VAR_A,
491 ocVarPA = SC_OPCODE_VAR_P_A,
492 ocEasterSunday = SC_OPCODE_EASTERSUNDAY,
493 ocDecimal = SC_OPCODE_DECIMAL,
494 ocConvertOOo = SC_OPCODE_CONVERT_OOO,
495 ocRoman = SC_OPCODE_ROMAN,
496 ocHyperLink = SC_OPCODE_HYPERLINK,
497 ocGetPivotData = SC_OPCODE_GET_PIVOT_DATA,
498 ocEuroConvert = SC_OPCODE_EUROCONVERT,
499 ocFilterXML = SC_OPCODE_FILTERXML,
500 ocWebservice = SC_OPCODE_WEBSERVICE,
501 ocColor = SC_OPCODE_COLOR,
502 ocErf_MS = SC_OPCODE_ERF_MS,
503 ocErfc_MS = SC_OPCODE_ERFC_MS,
504 ocEncodeURL = SC_OPCODE_ENCODEURL,
505 ocFourier = SC_OPCODE_FOURIER,
506 ocRandbetweenNV = SC_OPCODE_RANDBETWEEN_NV,
507 // internal stuff
508 ocInternalBegin = SC_OPCODE_INTERNAL_BEGIN,
509 ocTTT = SC_OPCODE_TTT,
510 ocDebugVar = SC_OPCODE_DEBUG_VAR,
511 ocInternalEnd = SC_OPCODE_INTERNAL_END,
512 // from here on ExtraData
513 ocDataToken1 = SC_OPCODE_DATA_TOKEN_1,
514 // no OpCode
515 ocNone = SC_OPCODE_NONE
518 // Only to be used for debugging output. No guarantee of stability of the
519 // return value.
521 // Turn this into an operator<< when OpCode becomes a scoped enum
523 inline std::string OpCodeEnumToString(OpCode eCode)
525 switch (eCode)
527 case ocPush: return "Push";
528 case ocCall: return "Call";
529 case ocStop: return "Stop";
530 case ocExternal: return "External";
531 case ocName: return "Name";
532 case ocIf: return "If";
533 case ocIfError: return "IfError";
534 case ocIfNA: return "IfNA";
535 case ocChoose: return "Choose";
536 case ocOpen: return "Open";
537 case ocClose: return "Close";
538 case ocTableRefOpen: return "TableRefOpen";
539 case ocTableRefClose: return "TableRefClose";
540 case ocSep: return "Sep";
541 case ocArrayOpen: return "ArrayOpen";
542 case ocArrayClose: return "ArrayClose";
543 case ocArrayRowSep: return "ArrayRowSep";
544 case ocArrayColSep: return "ArrayColSep";
545 case ocMissing: return "Missing";
546 case ocBad: return "Bad";
547 case ocStringXML: return "StringXML";
548 case ocSpaces: return "Spaces";
549 case ocWhitespace: return "Whitespace";
550 case ocMatRef: return "MatRef";
551 case ocTableRefItemAll: return "TableRefItemAll";
552 case ocTableRefItemHeaders: return "TableRefItemHeaders";
553 case ocTableRefItemData: return "TableRefItemData";
554 case ocTableRefItemTotals: return "TableRefItemTotals";
555 case ocTableRefItemThisRow: return "TableRefItemThisRow";
556 case ocSkip: return "Skip";
557 case ocDBArea: return "DBArea";
558 case ocTableRef: return "TableRef";
559 case ocMacro: return "Macro";
560 case ocColRowName: return "ColRowName";
561 case ocColRowNameAuto: return "ColRowNameAuto";
562 case ocPercentSign: return "PercentSign";
563 case ocErrNull: return "ErrNull";
564 case ocErrDivZero: return "ErrDivZero";
565 case ocErrValue: return "ErrValue";
566 case ocErrRef: return "ErrRef";
567 case ocErrName: return "ErrName";
568 case ocErrNum: return "ErrNum";
569 case ocErrNA: return "ErrNA";
570 case ocAdd: return "Add";
571 case ocSub: return "Sub";
572 case ocMul: return "Mul";
573 case ocDiv: return "Div";
574 case ocAmpersand: return "Ampersand";
575 case ocPow: return "Pow";
576 case ocEqual: return "Equal";
577 case ocNotEqual: return "NotEqual";
578 case ocLess: return "Less";
579 case ocGreater: return "Greater";
580 case ocLessEqual: return "LessEqual";
581 case ocGreaterEqual: return "GreaterEqual";
582 case ocAnd: return "And";
583 case ocOr: return "Or";
584 case ocXor: return "Xor";
585 case ocIntersect: return "Intersect";
586 case ocUnion: return "Union";
587 case ocRange: return "Range";
588 case ocNot: return "Not";
589 case ocNeg: return "Neg";
590 case ocNegSub: return "NegSub";
591 case ocPi: return "Pi";
592 case ocRandom: return "Random";
593 case ocRandomNV: return "RandomNV";
594 case ocTrue: return "True";
595 case ocFalse: return "False";
596 case ocGetActDate: return "GetActDate";
597 case ocGetActTime: return "GetActTime";
598 case ocNotAvail: return "NotAvail";
599 case ocCurrent: return "Current";
600 case ocDeg: return "Deg";
601 case ocRad: return "Rad";
602 case ocSin: return "Sin";
603 case ocCos: return "Cos";
604 case ocTan: return "Tan";
605 case ocCot: return "Cot";
606 case ocArcSin: return "ArcSin";
607 case ocArcCos: return "ArcCos";
608 case ocArcTan: return "ArcTan";
609 case ocArcCot: return "ArcCot";
610 case ocSinHyp: return "SinHyp";
611 case ocCosHyp: return "CosHyp";
612 case ocTanHyp: return "TanHyp";
613 case ocCotHyp: return "CotHyp";
614 case ocArcSinHyp: return "ArcSinHyp";
615 case ocArcCosHyp: return "ArcCosHyp";
616 case ocArcTanHyp: return "ArcTanHyp";
617 case ocArcCotHyp: return "ArcCotHyp";
618 case ocCosecant: return "Cosecant";
619 case ocSecant: return "Secant";
620 case ocCosecantHyp: return "CosecantHyp";
621 case ocSecantHyp: return "SecantHyp";
622 case ocExp: return "Exp";
623 case ocLn: return "Ln";
624 case ocSqrt: return "Sqrt";
625 case ocFact: return "Fact";
626 case ocGetYear: return "GetYear";
627 case ocGetMonth: return "GetMonth";
628 case ocGetDay: return "GetDay";
629 case ocGetHour: return "GetHour";
630 case ocGetMin: return "GetMin";
631 case ocGetSec: return "GetSec";
632 case ocPlusMinus: return "PlusMinus";
633 case ocAbs: return "Abs";
634 case ocInt: return "Int";
635 case ocPhi: return "Phi";
636 case ocGauss: return "Gauss";
637 case ocIsEmpty: return "IsEmpty";
638 case ocIsString: return "IsString";
639 case ocIsNonString: return "IsNonString";
640 case ocIsLogical: return "IsLogical";
641 case ocType: return "Type";
642 case ocCell: return "Cell";
643 case ocIsRef: return "IsRef";
644 case ocIsValue: return "IsValue";
645 case ocIsFormula: return "IsFormula";
646 case ocIsNA: return "IsNA";
647 case ocIsErr: return "IsErr";
648 case ocIsError: return "IsError";
649 case ocIsEven: return "IsEven";
650 case ocIsOdd: return "IsOdd";
651 case ocN: return "N";
652 case ocGetDateValue: return "GetDateValue";
653 case ocGetTimeValue: return "GetTimeValue";
654 case ocCode: return "Code";
655 case ocTrim: return "Trim";
656 case ocUpper: return "Upper";
657 case ocProper: return "Proper";
658 case ocLower: return "Lower";
659 case ocLen: return "Len";
660 case ocT: return "T";
661 case ocValue: return "Value";
662 case ocClean: return "Clean";
663 case ocChar: return "Char";
664 case ocLog10: return "Log10";
665 case ocEven: return "Even";
666 case ocOdd: return "Odd";
667 case ocStdNormDist: return "StdNormDist";
668 case ocStdNormDist_MS: return "StdNormDist_MS";
669 case ocFisher: return "Fisher";
670 case ocFisherInv: return "FisherInv";
671 case ocSNormInv: return "SNormInv";
672 case ocSNormInv_MS: return "SNormInv_MS";
673 case ocGammaLn: return "GammaLn";
674 case ocGammaLn_MS: return "GammaLn_MS";
675 case ocGamma: return "Gamma";
676 case ocErrorType: return "ErrorType";
677 case ocErrorType_ODF: return "ErrorType_ODF";
678 case ocFormula: return "Formula";
679 case ocArabic: return "Arabic";
680 case ocInfo: return "Info";
681 case ocBahtText: return "BahtText";
682 case ocJis: return "Jis";
683 case ocAsc: return "Asc";
684 case ocUnicode: return "Unicode";
685 case ocUnichar: return "Unichar";
686 case ocArcTan2: return "ArcTan2";
687 case ocCeil: return "Ceil";
688 case ocCeil_MS: return "Ceil_MS";
689 case ocCeil_Precise: return "Ceil_Precise";
690 case ocCeil_ISO: return "Ceil_ISO";
691 case ocCeil_Math: return "Ceil_Math";
692 case ocFloor: return "Floor";
693 case ocFloor_MS: return "Floor_MS";
694 case ocFloor_Math: return "Floor_Math";
695 case ocFloor_Precise: return "Floor_Precise";
696 case ocRound: return "Round";
697 case ocRoundUp: return "RoundUp";
698 case ocRoundDown: return "RoundDown";
699 case ocTrunc: return "Trunc";
700 case ocLog: return "Log";
701 case ocPower: return "Power";
702 case ocGCD: return "GCD";
703 case ocLCM: return "LCM";
704 case ocMod: return "Mod";
705 case ocSumProduct: return "SumProduct";
706 case ocSumSQ: return "SumSQ";
707 case ocSumX2MY2: return "SumX2MY2";
708 case ocSumX2DY2: return "SumX2DY2";
709 case ocSumXMY2: return "SumXMY2";
710 case ocGetDate: return "GetDate";
711 case ocGetTime: return "GetTime";
712 case ocGetDiffDate: return "GetDiffDate";
713 case ocGetDiffDate360: return "GetDiffDate360";
714 case ocGetDateDif: return "GetDateDif";
715 case ocMin: return "Min";
716 case ocMax: return "Max";
717 case ocSum: return "Sum";
718 case ocProduct: return "Product";
719 case ocAverage: return "Average";
720 case ocCount: return "Count";
721 case ocCount2: return "Count2";
722 case ocNPV: return "NPV";
723 case ocIRR: return "IRR";
724 case ocMIRR: return "MIRR";
725 case ocISPMT: return "ISPMT";
726 case ocVar: return "Var";
727 case ocVarP: return "VarP";
728 case ocVarP_MS: return "VarP_MS";
729 case ocVarS: return "VarS";
730 case ocStDev: return "StDev";
731 case ocStDevP: return "StDevP";
732 case ocStDevP_MS: return "StDevP_MS";
733 case ocStDevS: return "StDevS";
734 case ocB: return "B";
735 case ocNormDist: return "NormDist";
736 case ocNormDist_MS: return "NormDist_MS";
737 case ocExpDist: return "ExpDist";
738 case ocExpDist_MS: return "ExpDist_MS";
739 case ocBinomDist: return "BinomDist";
740 case ocBinomDist_MS: return "BinomDist_MS";
741 case ocBinomInv: return "BinomInv";
742 case ocPoissonDist: return "PoissonDist";
743 case ocPoissonDist_MS: return "PoissonDist_MS";
744 case ocCombin: return "Combin";
745 case ocCombinA: return "CombinA";
746 case ocPermut: return "Permut";
747 case ocPermutationA: return "PermutationA";
748 case ocPV: return "PV";
749 case ocSYD: return "SYD";
750 case ocDDB: return "DDB";
751 case ocDB: return "DB";
752 case ocVBD: return "VBD";
753 case ocPDuration: return "PDuration";
754 case ocSLN: return "SLN";
755 case ocPMT: return "PMT";
756 case ocColumns: return "Columns";
757 case ocRows: return "Rows";
758 case ocColumn: return "Column";
759 case ocRow: return "Row";
760 case ocRRI: return "RRI";
761 case ocFV: return "FV";
762 case ocNper: return "Nper";
763 case ocRate: return "Rate";
764 case ocIpmt: return "Ipmt";
765 case ocPpmt: return "Ppmt";
766 case ocCumIpmt: return "CumIpmt";
767 case ocCumPrinc: return "CumPrinc";
768 case ocEffect: return "Effect";
769 case ocNominal: return "Nominal";
770 case ocSubTotal: return "SubTotal";
771 case ocRawSubtract: return "RawSubtract";
772 case ocIfs_MS: return "Ifs_MS";
773 case ocSwitch_MS: return "Switch_MS";
774 case ocMinIfs_MS: return "MinIfs_MS";
775 case ocMaxIfs_MS: return "MaxIfs_MS";
776 case ocRoundSig: return "RoundSig";
777 case ocDBSum: return "DBSum";
778 case ocDBCount: return "DBCount";
779 case ocDBCount2: return "DBCount2";
780 case ocDBAverage: return "DBAverage";
781 case ocDBGet: return "DBGet";
782 case ocDBMax: return "DBMax";
783 case ocDBMin: return "DBMin";
784 case ocDBProduct: return "DBProduct";
785 case ocDBStdDev: return "DBStdDev";
786 case ocDBStdDevP: return "DBStdDevP";
787 case ocDBVar: return "DBVar";
788 case ocDBVarP: return "DBVarP";
789 case ocIndirect: return "Indirect";
790 case ocAddress: return "Address";
791 case ocMatch: return "Match";
792 case ocCountEmptyCells: return "CountEmptyCells";
793 case ocCountIf: return "CountIf";
794 case ocSumIf: return "SumIf";
795 case ocAverageIf: return "AverageIf";
796 case ocSumIfs: return "SumIfs";
797 case ocAverageIfs: return "AverageIfs";
798 case ocCountIfs: return "CountIfs";
799 case ocLookup: return "Lookup";
800 case ocVLookup: return "VLookup";
801 case ocHLookup: return "HLookup";
802 case ocMultiArea: return "MultiArea";
803 case ocOffset: return "Offset";
804 case ocIndex: return "Index";
805 case ocAreas: return "Areas";
806 case ocCurrency: return "Currency";
807 case ocReplace: return "Replace";
808 case ocFixed: return "Fixed";
809 case ocFind: return "Find";
810 case ocExact: return "Exact";
811 case ocLeft: return "Left";
812 case ocRight: return "Right";
813 case ocSearch: return "Search";
814 case ocMid: return "Mid";
815 case ocText: return "Text";
816 case ocSubstitute: return "Substitute";
817 case ocRept: return "Rept";
818 case ocRegex: return "Regex";
819 case ocConcat: return "Concat";
820 case ocConcat_MS: return "Concat_MS";
821 case ocTextJoin_MS: return "TextJoin_MS";
822 case ocLenB: return "LenB";
823 case ocRightB: return "RightB";
824 case ocLeftB: return "LeftB";
825 case ocMidB: return "MidB";
826 case ocReplaceB: return "ReplaceB";
827 case ocFindB: return "FindB";
828 case ocSearchB: return "SearchB";
829 case ocNumberValue: return "NumberValue";
830 case ocMatValue: return "MatValue";
831 case ocMatDet: return "MatDet";
832 case ocMatInv: return "MatInv";
833 case ocMatMult: return "MatMult";
834 case ocMatTrans: return "MatTrans";
835 case ocMatrixUnit: return "MatrixUnit";
836 case ocBackSolver: return "BackSolver";
837 case ocHypGeomDist: return "HypGeomDist";
838 case ocHypGeomDist_MS: return "HypGeomDist_MS";
839 case ocLogNormDist: return "LogNormDist";
840 case ocLogNormDist_MS: return "LogNormDist_MS";
841 case ocTDist: return "TDist";
842 case ocTDist_MS: return "TDist_MS";
843 case ocTDist_RT: return "TDist_RT";
844 case ocTDist_2T: return "TDist_2T";
845 case ocFDist: return "FDist";
846 case ocFDist_LT: return "FDist_LT";
847 case ocFDist_RT: return "FDist_RT";
848 case ocChiDist: return "ChiDist";
849 case ocChiDist_MS: return "ChiDist_MS";
850 case ocChiSqDist: return "ChiSqDist";
851 case ocChiSqDist_MS: return "ChiSqDist_MS";
852 case ocChiSqInv: return "ChiSqInv";
853 case ocChiSqInv_MS: return "ChiSqInv_MS";
854 case ocWeibull: return "Weibull";
855 case ocWeibull_MS: return "Weibull_MS";
856 case ocNegBinomVert: return "NegBinomVert";
857 case ocNegBinomDist_MS: return "NegBinomDist_MS";
858 case ocCritBinom: return "CritBinom";
859 case ocKurt: return "Kurt";
860 case ocHarMean: return "HarMean";
861 case ocGeoMean: return "GeoMean";
862 case ocStandard: return "Standard";
863 case ocAveDev: return "AveDev";
864 case ocSkew: return "Skew";
865 case ocSkewp: return "Skewp";
866 case ocDevSq: return "DevSq";
867 case ocMedian: return "Median";
868 case ocModalValue: return "ModalValue";
869 case ocModalValue_MS: return "ModalValue_MS";
870 case ocModalValue_Multi: return "ModalValue_Multi";
871 case ocZTest: return "ZTest";
872 case ocZTest_MS: return "ZTest_MS";
873 case ocAggregate: return "Aggregate";
874 case ocTTest: return "TTest";
875 case ocTTest_MS: return "TTest_MS";
876 case ocRank: return "Rank";
877 case ocPercentile: return "Percentile";
878 case ocPercentrank: return "Percentrank";
879 case ocPercentile_Inc: return "Percentile_Inc";
880 case ocPercentrank_Inc: return "Percentrank_Inc";
881 case ocQuartile_Inc: return "Quartile_Inc";
882 case ocRank_Eq: return "Rank_Eq";
883 case ocPercentile_Exc: return "Percentile_Exc";
884 case ocPercentrank_Exc: return "Percentrank_Exc";
885 case ocQuartile_Exc: return "Quartile_Exc";
886 case ocRank_Avg: return "Rank_Avg";
887 case ocLarge: return "Large";
888 case ocSmall: return "Small";
889 case ocFrequency: return "Frequency";
890 case ocQuartile: return "Quartile";
891 case ocNormInv: return "NormInv";
892 case ocNormInv_MS: return "NormInv_MS";
893 case ocConfidence: return "Confidence";
894 case ocConfidence_N: return "Confidence_N";
895 case ocConfidence_T: return "Confidence_T";
896 case ocFTest: return "FTest";
897 case ocFTest_MS: return "FTest_MS";
898 case ocTrimMean: return "TrimMean";
899 case ocProb: return "Prob";
900 case ocCorrel: return "Correl";
901 case ocCovar: return "Covar";
902 case ocCovarianceP: return "CovarianceP";
903 case ocCovarianceS: return "CovarianceS";
904 case ocPearson: return "Pearson";
905 case ocRSQ: return "RSQ";
906 case ocSTEYX: return "STEYX";
907 case ocSlope: return "Slope";
908 case ocIntercept: return "Intercept";
909 case ocTrend: return "Trend";
910 case ocGrowth: return "Growth";
911 case ocLinest: return "Linest";
912 case ocLogest: return "Logest";
913 case ocForecast: return "Forecast";
914 case ocForecast_ETS_ADD: return "Forecast_ETS_ADD";
915 case ocForecast_ETS_SEA: return "Forecast_ETS_SEA";
916 case ocForecast_ETS_MUL: return "Forecast_ETS_MUL";
917 case ocForecast_ETS_PIA: return "Forecast_ETS_PIA";
918 case ocForecast_ETS_PIM: return "Forecast_ETS_PIM";
919 case ocForecast_ETS_STA: return "Forecast_ETS_STA";
920 case ocForecast_ETS_STM: return "Forecast_ETS_STM";
921 case ocForecast_LIN: return "Forecast_LIN";
922 case ocChiInv: return "ChiInv";
923 case ocChiInv_MS: return "ChiInv_MS";
924 case ocGammaDist: return "GammaDist";
925 case ocGammaDist_MS: return "GammaDist_MS";
926 case ocGammaInv: return "GammaInv";
927 case ocGammaInv_MS: return "GammaInv_MS";
928 case ocTInv: return "TInv";
929 case ocTInv_2T: return "TInv_2T";
930 case ocTInv_MS: return "TInv_MS";
931 case ocFInv: return "FInv";
932 case ocFInv_LT: return "FInv_LT";
933 case ocFInv_RT: return "FInv_RT";
934 case ocChiTest: return "ChiTest";
935 case ocChiTest_MS: return "ChiTest_MS";
936 case ocLogInv: return "LogInv";
937 case ocLogInv_MS: return "LogInv_MS";
938 case ocTableOp: return "TableOp";
939 case ocBetaDist: return "BetaDist";
940 case ocBetaInv: return "BetaInv";
941 case ocBetaDist_MS: return "BetaDist_MS";
942 case ocBetaInv_MS: return "BetaInv_MS";
943 case ocBitAnd: return "BitAnd";
944 case ocBitOr: return "BitOr";
945 case ocBitXor: return "BitXor";
946 case ocBitRshift: return "BitRshift";
947 case ocBitLshift: return "BitLshift";
948 case ocWeek: return "Week";
949 case ocIsoWeeknum: return "IsoWeeknum";
950 case ocWeeknumOOo: return "WeeknumOOo";
951 case ocGetDayOfWeek: return "GetDayOfWeek";
952 case ocNetWorkdays: return "NetWorkdays";
953 case ocNetWorkdays_MS: return "NetWorkdays_MS";
954 case ocWorkday_MS: return "Workday_MS";
955 case ocNoName: return "NoName";
956 case ocStyle: return "Style";
957 case ocDde: return "Dde";
958 case ocBase: return "Base";
959 case ocSheet: return "Sheet";
960 case ocSheets: return "Sheets";
961 case ocMinA: return "MinA";
962 case ocMaxA: return "MaxA";
963 case ocAverageA: return "AverageA";
964 case ocStDevA: return "StDevA";
965 case ocStDevPA: return "StDevPA";
966 case ocVarA: return "VarA";
967 case ocVarPA: return "VarPA";
968 case ocEasterSunday: return "EasterSunday";
969 case ocDecimal: return "Decimal";
970 case ocConvertOOo: return "ConvertOOo";
971 case ocRoman: return "Roman";
972 case ocHyperLink: return "HyperLink";
973 case ocGetPivotData: return "GetPivotData";
974 case ocEuroConvert: return "EuroConvert";
975 case ocFilterXML: return "FilterXML";
976 case ocWebservice: return "Webservice";
977 case ocColor: return "Color";
978 case ocErf_MS: return "Erf_MS";
979 case ocErfc_MS: return "Erfc_MS";
980 case ocEncodeURL: return "EncodeURL";
981 case ocFourier: return "Fourier";
982 case ocRandbetweenNV: return "RandbetweenNV";
983 case ocTTT: return "TTT";
984 case ocDebugVar: return "DebugVar";
985 case ocDataToken1: return "DataToken1";
986 case ocNone: return "None";
988 std::ostringstream os;
989 os << static_cast<int>(eCode);
990 return os.str();
993 #endif
995 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */