Branch libreoffice-5-0-4
[LibreOffice.git] / include / formula / compiler.hrc
blob9d45b9aa921201fc3164b6a73caa6c39e38da1f8
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
20 #ifndef FORMULA_COMPILER_HRC
21 #define FORMULA_COMPILER_HRC
23 /* Central definition of OpCodes for spreadsheet functions */
25 /*** Special commands ***/
26 #define SC_OPCODE_PUSH                0     /* internal commands */
27 #define SC_OPCODE_CALL                1
28 #define SC_OPCODE_STOP                2
29 #define SC_OPCODE_EXTERNAL            3
30 #define SC_OPCODE_NAME                4
31 #define SC_OPCODE_EXTERNAL_REF        5
32 #define SC_OPCODE_IF                  6     /* jump commands */
33 #define SC_OPCODE_IF_ERROR            7
34 #define SC_OPCODE_IF_NA               8
35 #define SC_OPCODE_CHOOSE              9
36 #define SC_OPCODE_OPEN               10     /* parentheses and separators */
37 #define SC_OPCODE_CLOSE              11
38 #define SC_OPCODE_SEP                12
39 #define SC_OPCODE_MISSING            13     /* special OpCodes */
40 #define SC_OPCODE_BAD                14
41 #define SC_OPCODE_STRINGXML          15
42 #define SC_OPCODE_SPACES             16
43 #define SC_OPCODE_MAT_REF            17
44 #define SC_OPCODE_DB_AREA            18     /* additional access operators */
45 #define SC_OPCODE_TABLE_REF          19
46 #define SC_OPCODE_MACRO              20
47 #define SC_OPCODE_COL_ROW_NAME       21
48 #define SC_OPCODE_COL_ROW_NAME_AUTO  22
49 #define SC_OPCODE_PERCENT_SIGN       23     /* operator _follows_ value */
50 #define SC_OPCODE_ARRAY_OPEN         24
51 #define SC_OPCODE_ARRAY_CLOSE        25
52 #define SC_OPCODE_ARRAY_ROW_SEP      26
53 #define SC_OPCODE_ARRAY_COL_SEP      27     /* some convs use sep != col_sep */
54 #define SC_OPCODE_TABLE_REF_OPEN     28
55 #define SC_OPCODE_TABLE_REF_CLOSE    29
56 #define SC_OPCODE_TABLE_REF_ITEM_ALL      30
57 #define SC_OPCODE_TABLE_REF_ITEM_HEADERS  31
58 #define SC_OPCODE_TABLE_REF_ITEM_DATA     32
59 #define SC_OPCODE_TABLE_REF_ITEM_TOTALS   33
60 #define SC_OPCODE_TABLE_REF_ITEM_THIS_ROW 34
61 #define SC_OPCODE_STOP_DIV           35
62 #define SC_OPCODE_SKIP               36     /* used to skip raw tokens during string compilation */
64 /*** error constants #... ***/
65 #define SC_OPCODE_START_ERRORS       40
66 #define SC_OPCODE_ERROR_NULL         40
67 #define SC_OPCODE_ERROR_DIVZERO      41
68 #define SC_OPCODE_ERROR_VALUE        42
69 #define SC_OPCODE_ERROR_REF          43
70 #define SC_OPCODE_ERROR_NAME         44
71 #define SC_OPCODE_ERROR_NUM          45
72 #define SC_OPCODE_ERROR_NA           46
73 #define SC_OPCODE_STOP_ERRORS        47
75 /*** Binary operators ***/
76 #define SC_OPCODE_START_BIN_OP       50
77 #define SC_OPCODE_ADD                50
78 #define SC_OPCODE_SUB                51
79 #define SC_OPCODE_MUL                52
80 #define SC_OPCODE_DIV                53
81 #define SC_OPCODE_AMPERSAND          54
82 #define SC_OPCODE_POW                55
83 #define SC_OPCODE_EQUAL              56
84 #define SC_OPCODE_NOT_EQUAL          57
85 #define SC_OPCODE_LESS               58
86 #define SC_OPCODE_GREATER            59
87 #define SC_OPCODE_LESS_EQUAL         60
88 #define SC_OPCODE_GREATER_EQUAL      61
89 #define SC_OPCODE_AND                62
90 #define SC_OPCODE_OR                 63
91 #define SC_OPCODE_INTERSECT          64
92 #define SC_OPCODE_UNION              65
93 #define SC_OPCODE_RANGE              66
94 #define SC_OPCODE_STOP_BIN_OP        67
96 /* NOTE: binary and unary operators must be in sequence for compiler! */
98 /*** Unary operators ***/
99 #define SC_OPCODE_START_UN_OP        70
100 #define SC_OPCODE_NOT                70
101 #define SC_OPCODE_NEG                71
102 #define SC_OPCODE_NEG_SUB            72
103 #define SC_OPCODE_STOP_UN_OP         73
105 #define SC_OPCODE_START_FUNCTION     75
107 /*** Functions without parameters ***/
108 #define SC_OPCODE_START_NO_PAR       75
109 #define SC_OPCODE_PI                 75
110 #define SC_OPCODE_RANDOM             76
111 #define SC_OPCODE_TRUE               77
112 #define SC_OPCODE_FALSE              78
113 #define SC_OPCODE_GET_ACT_DATE       79
114 #define SC_OPCODE_GET_ACT_TIME       80
115 #define SC_OPCODE_NO_VALUE           81
116 #define SC_OPCODE_CURRENT            82
117 #define SC_OPCODE_STOP_NO_PAR        83
119 /*** Functions with one parameter ***/
120 #define SC_OPCODE_START_1_PAR        90
121 #define SC_OPCODE_DEG                90     /* trigonometric */
122 #define SC_OPCODE_RAD                91
123 #define SC_OPCODE_SIN                92
124 #define SC_OPCODE_COS                93
125 #define SC_OPCODE_TAN                94
126 #define SC_OPCODE_COT                95
127 #define SC_OPCODE_ARC_SIN            96
128 #define SC_OPCODE_ARC_COS            97
129 #define SC_OPCODE_ARC_TAN            98
130 #define SC_OPCODE_ARC_COT            99
131 #define SC_OPCODE_SIN_HYP           100
132 #define SC_OPCODE_COS_HYP           101
133 #define SC_OPCODE_TAN_HYP           102
134 #define SC_OPCODE_COT_HYP           103
135 #define SC_OPCODE_ARC_SIN_HYP       104     /* transcendent */
136 #define SC_OPCODE_ARC_COS_HYP       105
137 #define SC_OPCODE_ARC_TAN_HYP       106
138 #define SC_OPCODE_ARC_COT_HYP       107
139 #define SC_OPCODE_COSECANT          108
140 #define SC_OPCODE_SECANT            109
141 #define SC_OPCODE_COSECANT_HYP      110
142 #define SC_OPCODE_SECANT_HYP        111
143 #define SC_OPCODE_EXP               112
144 #define SC_OPCODE_LN                113
145 #define SC_OPCODE_SQRT              114
146 #define SC_OPCODE_FACT              115
147 #define SC_OPCODE_GET_YEAR          116     /* date and time */
148 #define SC_OPCODE_GET_MONTH         117
149 #define SC_OPCODE_GET_DAY           118
150 #define SC_OPCODE_GET_HOUR          119
151 #define SC_OPCODE_GET_MIN           120
152 #define SC_OPCODE_GET_SEC           121
153 #define SC_OPCODE_PLUS_MINUS        122     /* miscellaneous */
154 #define SC_OPCODE_ABS               123
155 #define SC_OPCODE_INT               124
156 #define SC_OPCODE_PHI               125
157 #define SC_OPCODE_GAUSS             126
158 #define SC_OPCODE_IS_EMPTY          127     /* obtain type */
159 #define SC_OPCODE_IS_STRING         128
160 #define SC_OPCODE_IS_NON_STRING     129
161 #define SC_OPCODE_IS_LOGICAL        130
162 #define SC_OPCODE_TYPE              131
163 #define SC_OPCODE_IS_REF            132
164 #define SC_OPCODE_IS_VALUE          133
165 #define SC_OPCODE_IS_FORMULA        134
166 #define SC_OPCODE_IS_NV             135
167 #define SC_OPCODE_IS_ERR            136
168 #define SC_OPCODE_IS_ERROR          137
169 #define SC_OPCODE_IS_EVEN           138
170 #define SC_OPCODE_IS_ODD            139
171 #define SC_OPCODE_N                 140
172 #define SC_OPCODE_GET_DATE_VALUE    141     /* string functions */
173 #define SC_OPCODE_GET_TIME_VALUE    142
174 #define SC_OPCODE_CODE              143
175 #define SC_OPCODE_TRIM              144
176 #define SC_OPCODE_UPPER             145
177 #define SC_OPCODE_PROPER            146
178 #define SC_OPCODE_LOWER             147
179 #define SC_OPCODE_LEN               148
180 #define SC_OPCODE_T                 149     /* miscellaneous, part 21 */
181 #define SC_OPCODE_VALUE             150
182 #define SC_OPCODE_CLEAN             151
183 #define SC_OPCODE_CHAR              152
184 #define SC_OPCODE_LOG10             153
185 #define SC_OPCODE_EVEN              154
186 #define SC_OPCODE_ODD               155
187 #define SC_OPCODE_STD_NORM_DIST     156
188 #define SC_OPCODE_FISHER            157
189 #define SC_OPCODE_FISHER_INV        158
190 #define SC_OPCODE_S_NORM_INV        159
191 #define SC_OPCODE_GAMMA_LN          160
192 #define SC_OPCODE_ERROR_TYPE        161
193 #define SC_OPCODE_FORMULA           163
194 #define SC_OPCODE_ARABIC            164
195 #define SC_OPCODE_INFO              165
196 #define SC_OPCODE_BAHTTEXT          166
197 #define SC_OPCODE_JIS               167
198 #define SC_OPCODE_ASC               168
199 #define SC_OPCODE_UNICODE           169
200 #define SC_OPCODE_UNICHAR           170
201 #define SC_OPCODE_GAMMA             171
202 #define SC_OPCODE_GAMMA_LN_MS       172
203 #define SC_OPCODE_ERF_MS            173
204 #define SC_OPCODE_ERFC_MS           174
205 #define SC_OPCODE_ERROR_TYPE_ODF    175
206 #define SC_OPCODE_ENCODEURL         176
207 #define SC_OPCODE_STOP_1_PAR        177
209 /*** Functions with more than one parameters ***/
210 #define SC_OPCODE_START_2_PAR       201
211 #define SC_OPCODE_ARC_TAN_2         201
212 #define SC_OPCODE_CEIL              202
213 #define SC_OPCODE_FLOOR             203
214 #define SC_OPCODE_ROUND             204
215 #define SC_OPCODE_ROUND_UP          205
216 #define SC_OPCODE_ROUND_DOWN        206
217 #define SC_OPCODE_TRUNC             207
218 #define SC_OPCODE_LOG               208
219 #define SC_OPCODE_POWER             209
220 #define SC_OPCODE_GCD               210
221 #define SC_OPCODE_LCM               211
222 #define SC_OPCODE_MOD               212
223 #define SC_OPCODE_SUM_PRODUCT       213
224 #define SC_OPCODE_SUM_SQ            214
225 #define SC_OPCODE_SUM_X2MY2         215
226 #define SC_OPCODE_SUM_X2DY2         216
227 #define SC_OPCODE_SUM_XMY2          217
228 #define SC_OPCODE_GET_DATE          218
229 #define SC_OPCODE_GET_TIME          219
230 #define SC_OPCODE_GET_DIFF_DATE     220
231 #define SC_OPCODE_GET_DIFF_DATE_360 221
232 #define SC_OPCODE_MIN               222
233 #define SC_OPCODE_MAX               223
234 #define SC_OPCODE_SUM               224
235 #define SC_OPCODE_PRODUCT           225
236 #define SC_OPCODE_AVERAGE           226
237 #define SC_OPCODE_COUNT             227
238 #define SC_OPCODE_COUNT_2           228
239 #define SC_OPCODE_NPV               229
240 #define SC_OPCODE_IRR               230
241 #define SC_OPCODE_VAR               231
242 #define SC_OPCODE_VAR_P             232
243 #define SC_OPCODE_ST_DEV            233
244 #define SC_OPCODE_ST_DEV_P          234
245 #define SC_OPCODE_B                 235
246 #define SC_OPCODE_NORM_DIST         236
247 #define SC_OPCODE_EXP_DIST          237
248 #define SC_OPCODE_BINOM_DIST        238
249 #define SC_OPCODE_POISSON_DIST      239
250 #define SC_OPCODE_COMBIN            240
251 #define SC_OPCODE_COMBIN_A          241
252 #define SC_OPCODE_PERMUT            242
253 #define SC_OPCODE_PERMUTATION_A     243
254 #define SC_OPCODE_PV                244
255 #define SC_OPCODE_SYD               245
256 #define SC_OPCODE_DDB               246
257 #define SC_OPCODE_DB                247
258 #define SC_OPCODE_VBD               248
259 #define SC_OPCODE_DURATION          249
260 #define SC_OPCODE_SLN               250
261 #define SC_OPCODE_PMT               251
262 #define SC_OPCODE_COLUMNS           252
263 #define SC_OPCODE_ROWS              253
264 #define SC_OPCODE_COLUMN            254
265 #define SC_OPCODE_ROW               255
266 #define SC_OPCODE_RRI               256
267 #define SC_OPCODE_FV                257
268 #define SC_OPCODE_NPER              258
269 #define SC_OPCODE_RATE              259
270 #define SC_OPCODE_IPMT              260
271 #define SC_OPCODE_PPMT              261
272 #define SC_OPCODE_CUM_IPMT          262
273 #define SC_OPCODE_CUM_PRINC         263
274 #define SC_OPCODE_EFFECTIVE         264
275 #define SC_OPCODE_NOMINAL           265
276 #define SC_OPCODE_SUB_TOTAL         266
277 #define SC_OPCODE_DB_SUM            267     /* database functions */
278 #define SC_OPCODE_DB_COUNT          268
279 #define SC_OPCODE_DB_COUNT_2        269
280 #define SC_OPCODE_DB_AVERAGE        270
281 #define SC_OPCODE_DB_GET            271
282 #define SC_OPCODE_DB_MAX            272
283 #define SC_OPCODE_DB_MIN            273
284 #define SC_OPCODE_DB_PRODUCT        274
285 #define SC_OPCODE_DB_STD_DEV        275
286 #define SC_OPCODE_DB_STD_DEV_P      276
287 #define SC_OPCODE_DB_VAR            277
288 #define SC_OPCODE_DB_VAR_P          278
289 #define SC_OPCODE_INDIRECT          279     /* management functions */
290 #define SC_OPCODE_ADDRESS           280
291 #define SC_OPCODE_MATCH             281
292 #define SC_OPCODE_COUNT_EMPTY_CELLS 282
293 #define SC_OPCODE_COUNT_IF          283
294 #define SC_OPCODE_SUM_IF            284
295 #define SC_OPCODE_LOOKUP            285
296 #define SC_OPCODE_V_LOOKUP          286
297 #define SC_OPCODE_H_LOOKUP          287
298 #define SC_OPCODE_MULTI_AREA        288
299 #define SC_OPCODE_OFFSET            289
300 #define SC_OPCODE_INDEX             290
301 #define SC_OPCODE_AREAS             291
302 #define SC_OPCODE_CURRENCY          292     /* string functions */
303 #define SC_OPCODE_REPLACE           293
304 #define SC_OPCODE_FIXED             294
305 #define SC_OPCODE_FIND              295
306 #define SC_OPCODE_EXACT             296
307 #define SC_OPCODE_LEFT              297
308 #define SC_OPCODE_RIGHT             298
309 #define SC_OPCODE_SEARCH            299
310 #define SC_OPCODE_MID               300
311 #define SC_OPCODE_TEXT              301
312 #define SC_OPCODE_SUBSTITUTE        302
313 #define SC_OPCODE_REPT              303
314 #define SC_OPCODE_CONCAT            304
315 #define SC_OPCODE_MAT_VALUE         305     /* matrix functions */
316 #define SC_OPCODE_MAT_DET           306
317 #define SC_OPCODE_MAT_INV           307
318 #define SC_OPCODE_MAT_MULT          308
319 #define SC_OPCODE_MAT_TRANS         309
320 #define SC_OPCODE_MATRIX_UNIT       310
321 #define SC_OPCODE_BACK_SOLVER       311     /* BackSolver */
322 #define SC_OPCODE_HYP_GEOM_DIST     312     /* statistical functions */
323 #define SC_OPCODE_LOG_NORM_DIST     313
324 #define SC_OPCODE_T_DIST            314
325 #define SC_OPCODE_F_DIST            315
326 #define SC_OPCODE_CHI_DIST          316
327 #define SC_OPCODE_WEIBULL           317
328 #define SC_OPCODE_NEG_BINOM_VERT    318
329 #define SC_OPCODE_CRIT_BINOM        319
330 #define SC_OPCODE_KURT              320
331 #define SC_OPCODE_HAR_MEAN          321
332 #define SC_OPCODE_GEO_MEAN          322
333 #define SC_OPCODE_STANDARD          323
334 #define SC_OPCODE_AVE_DEV           324
335 #define SC_OPCODE_SKEW              325
336 #define SC_OPCODE_DEV_SQ            326
337 #define SC_OPCODE_MEDIAN            327
338 #define SC_OPCODE_MODAL_VALUE       328
339 #define SC_OPCODE_Z_TEST            329
340 #define SC_OPCODE_T_TEST            330
341 #define SC_OPCODE_RANK              331
342 #define SC_OPCODE_PERCENTILE        332
343 #define SC_OPCODE_PERCENT_RANK      333
344 #define SC_OPCODE_LARGE             334
345 #define SC_OPCODE_SMALL             335
346 #define SC_OPCODE_FREQUENCY         336
347 #define SC_OPCODE_QUARTILE          337
348 #define SC_OPCODE_NORM_INV          338
349 #define SC_OPCODE_CONFIDENCE        339
350 #define SC_OPCODE_F_TEST            340
351 #define SC_OPCODE_TRIM_MEAN         341
352 #define SC_OPCODE_PROB              342
353 #define SC_OPCODE_CORREL            343
354 #define SC_OPCODE_COVAR             344
355 #define SC_OPCODE_PEARSON           345
356 #define SC_OPCODE_RSQ               346
357 #define SC_OPCODE_STEYX             347
358 #define SC_OPCODE_SLOPE             348
359 #define SC_OPCODE_INTERCEPT         349
360 #define SC_OPCODE_TREND             350
361 #define SC_OPCODE_GROWTH            351
362 #define SC_OPCODE_LINEST            352
363 #define SC_OPCODE_LOGEST            353
364 #define SC_OPCODE_FORECAST          354
365 #define SC_OPCODE_CHI_INV           355
366 #define SC_OPCODE_GAMMA_DIST        356
367 #define SC_OPCODE_GAMMA_INV         357
368 #define SC_OPCODE_T_INV             358
369 #define SC_OPCODE_F_INV             359
370 #define SC_OPCODE_CHI_TEST          360
371 #define SC_OPCODE_LOG_INV           361
372 #define SC_OPCODE_TABLE_OP          362
373 #define SC_OPCODE_BETA_DIST         363
374 #define SC_OPCODE_BETA_INV          364
375 #define SC_OPCODE_WEEK              365     /* miscellaneous */
376 #define SC_OPCODE_GET_DAY_OF_WEEK   366
377 #define SC_OPCODE_NO_NAME           367
378 #define SC_OPCODE_STYLE             368
379 #define SC_OPCODE_DDE               369
380 #define SC_OPCODE_BASE              370
381 #define SC_OPCODE_SHEET             371
382 #define SC_OPCODE_SHEETS            372
383 #define SC_OPCODE_MIN_A             373
384 #define SC_OPCODE_MAX_A             374
385 #define SC_OPCODE_AVERAGE_A         375
386 #define SC_OPCODE_ST_DEV_A          376
387 #define SC_OPCODE_ST_DEV_P_A        377
388 #define SC_OPCODE_VAR_A             378
389 #define SC_OPCODE_VAR_P_A           379
390 #define SC_OPCODE_EASTERSUNDAY      380
391 #define SC_OPCODE_DECIMAL           381
392 #define SC_OPCODE_CONVERT           382
393 #define SC_OPCODE_ROMAN             383
394 #define SC_OPCODE_MIRR              384
395 #define SC_OPCODE_CELL              385
396 #define SC_OPCODE_ISPMT             386
397 #define SC_OPCODE_HYPERLINK         387
398 #define SC_OPCODE_INDIRECT_XL       388     /* See also INDIRECT for OOO variant */
399 #define SC_OPCODE_ADDRESS_XL        389     /* See also ADDRESS for OOO variant */
400 #define SC_OPCODE_GET_PIVOT_DATA    390
401 #define SC_OPCODE_EUROCONVERT       391
402 #define SC_OPCODE_NUMBERVALUE       392
403 #define SC_OPCODE_CHISQ_DIST        393
404 #define SC_OPCODE_CHISQ_INV         394
405 #define SC_OPCODE_BITAND            395
406 #define SC_OPCODE_BITOR             396
407 #define SC_OPCODE_BITXOR            397
408 #define SC_OPCODE_BITRSHIFT         398
409 #define SC_OPCODE_BITLSHIFT         399
410 #define SC_OPCODE_GET_DATEDIF       400
411 #define SC_OPCODE_XOR               401
412 #define SC_OPCODE_AVERAGE_IF        402
413 #define SC_OPCODE_SUM_IFS           403
414 #define SC_OPCODE_AVERAGE_IFS       404
415 #define SC_OPCODE_COUNT_IFS         405
416 #define SC_OPCODE_SKEWP             406
417 #define SC_OPCODE_LENB              407
418 #define SC_OPCODE_RIGHTB            408
419 #define SC_OPCODE_LEFTB             409
420 #define SC_OPCODE_MIDB              410
421 #define SC_OPCODE_FILTERXML         411
422 #define SC_OPCODE_WEBSERVICE        412
423 #define SC_OPCODE_COVARIANCE_S      413
424 #define SC_OPCODE_COVARIANCE_P      414
425 #define SC_OPCODE_ST_DEV_P_MS       415
426 #define SC_OPCODE_ST_DEV_S          416
427 #define SC_OPCODE_VAR_P_MS          417
428 #define SC_OPCODE_VAR_S             418
429 #define SC_OPCODE_BETA_DIST_MS      419
430 #define SC_OPCODE_BETA_INV_MS       420
431 #define SC_OPCODE_BINOM_DIST_MS     421
432 #define SC_OPCODE_BINOM_INV         422
433 #define SC_OPCODE_CHI_DIST_MS       423
434 #define SC_OPCODE_CHI_INV_MS        424
435 #define SC_OPCODE_CHI_TEST_MS       425
436 #define SC_OPCODE_CHISQ_DIST_MS     426
437 #define SC_OPCODE_CHISQ_INV_MS      427
438 #define SC_OPCODE_CONFIDENCE_N      428
439 #define SC_OPCODE_CONFIDENCE_T      429
440 #define SC_OPCODE_F_DIST_LT         430
441 #define SC_OPCODE_F_DIST_RT         431
442 #define SC_OPCODE_F_INV_LT          432
443 #define SC_OPCODE_F_INV_RT          433
444 #define SC_OPCODE_F_TEST_MS         434
445 #define SC_OPCODE_EXP_DIST_MS       435
446 #define SC_OPCODE_HYP_GEOM_DIST_MS  436
447 #define SC_OPCODE_POISSON_DIST_MS   437
448 #define SC_OPCODE_WEIBULL_MS        438
449 #define SC_OPCODE_GAMMA_DIST_MS     439
450 #define SC_OPCODE_GAMMA_INV_MS      440
451 #define SC_OPCODE_LOG_NORM_DIST_MS  441
452 #define SC_OPCODE_LOG_INV_MS        442
453 #define SC_OPCODE_NORM_DIST_MS      443
454 #define SC_OPCODE_NORM_INV_MS       444
455 #define SC_OPCODE_STD_NORM_DIST_MS  445
456 #define SC_OPCODE_S_NORM_INV_MS     446
457 #define SC_OPCODE_T_DIST_MS         447
458 #define SC_OPCODE_T_DIST_RT         448
459 #define SC_OPCODE_T_DIST_2T         449
460 #define SC_OPCODE_T_INV_2T          450
461 #define SC_OPCODE_T_INV_MS          451
462 #define SC_OPCODE_T_TEST_MS         452
463 #define SC_OPCODE_PERCENTILE_INC    453
464 #define SC_OPCODE_PERCENT_RANK_INC  454
465 #define SC_OPCODE_QUARTILE_INC      455
466 #define SC_OPCODE_RANK_EQ           456
467 #define SC_OPCODE_PERCENTILE_EXC    457
468 #define SC_OPCODE_PERCENT_RANK_EXC  458
469 #define SC_OPCODE_QUARTILE_EXC      459
470 #define SC_OPCODE_RANK_AVG          460
471 #define SC_OPCODE_MODAL_VALUE_MS    461
472 #define SC_OPCODE_MODAL_VALUE_MULTI 462
473 #define SC_OPCODE_NEG_BINOM_DIST_MS 463
474 #define SC_OPCODE_Z_TEST_MS         464
475 #define SC_OPCODE_CEIL_MS           465
476 #define SC_OPCODE_CEIL_ISO          466
477 #define SC_OPCODE_FLOOR_MS          467
478 #define SC_OPCODE_NETWORKDAYS_MS    468
479 #define SC_OPCODE_WORKDAY_MS        469
480 #define SC_OPCODE_AGGREGATE         470
481 #define SC_OPCODE_COLOR             471
482 #define SC_OPCODE_CEIL_MATH         472
483 #define SC_OPCODE_CEIL_PRECISE      473
484 #define SC_OPCODE_NETWORKDAYS       474
485 #define SC_OPCODE_FLOOR_MATH        475
486 #define SC_OPCODE_FLOOR_PRECISE     476
487 #define SC_OPCODE_STOP_2_PAR        477     /* last function with two or more parameters' OpCode + 1 */
489 #define SC_OPCODE_STOP_FUNCTION     SC_OPCODE_STOP_2_PAR            /* last function's OpCode + 1 */
490 #define SC_OPCODE_LAST_OPCODE_ID    (SC_OPCODE_STOP_FUNCTION - 1)   /* last OpCode */
492 /*** Internal ***/
493 #define SC_OPCODE_INTERNAL_BEGIN   9999
494 #define SC_OPCODE_TTT              9999
495 #define SC_OPCODE_DEBUG_VAR       10000
496 #define SC_OPCODE_INTERNAL_END    10000
498 /*** from here on ExtraData contained ***/
499 #define SC_OPCODE_DATA_TOKEN_1    10001
501 #define SC_OPCODE_NONE           0xFFFF
503 #endif /* FORMULA_COMPILER_HRC */
505 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */