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