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