25 #include <compiler.hxx>
26 #include <compiler.hrc>
28 #include <scfuncs.hrc>
33 #include <rtl/ustring.hxx>
34 #include <rtl/ustrbuf.hxx>
37 #include <osl/diagnose.h>
52 const char** pResource;
69 sal_uInt16 nFunctionFlags;
95 sal_uInt16 nVarArgsLimit;
103 pDefArgFlags (nullptr),
162 if ( i != nArgCount-1 )
170 if (nLastSuppressed < nArgCount && nLastAdded < nLastSuppressed &&
171 aSig.getLength() >= 2)
172 aSig.setLength(aSig.getLength() - 2);
193 aSig.append(
" ... ");
217 aSig.append(
" ... " );
221 return aSig.makeStringAndClear();
233 if( !aParamList.isEmpty() )
236 aSig.append(aParamList);
238 aSig.append(
u'\x00A0' );
244 return aSig.makeStringAndClear();
251 OUStringBuffer aFormula;
257 aFormula.append(
"(" );
258 if (
nArgCount > 0 && !_aArguments.empty() && !_aArguments[0].isEmpty())
260 ::std::vector< OUString >::const_iterator aIter = _aArguments.begin();
261 ::std::vector< OUString >::const_iterator aEnd = _aArguments.end();
263 aFormula.append( *aIter );
265 while( aIter != aEnd && !aIter->isEmpty() )
267 aFormula.append( sep );
268 aFormula.append( *aIter );
273 aFormula.append(
")" );
275 return aFormula.makeStringAndClear();
312 sal_uInt16
value = 0;
321 for (sal_uInt16
i=0;
i < nArgs; ++
i)
323 _rArguments.push_back(
i);
338 if ( !aIntName.isEmpty() )
348 OSL_FAIL(
"couldn't initialize add-in function" );
398 #define ENTRY(CODE) CODE, SAL_N_ELEMENTS(CODE)
402 sal_Int32 nMaxFuncNameLen = 0;
407 static const ScFuncDescCore aDescs[] =
409 {
SC_OPCODE_IF,
ENTRY(SC_OPCODE_IF_ARY), 0,
ID_FUNCTION_GRP_LOGIC,
HID_FUNC_WENN, 3, { 0, 1, 1 }, 0 },
513 {
SC_OPCODE_CEIL,
ENTRY(SC_OPCODE_CEIL_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_OBERGRENZE, 3, { 0, 1, 1 }, 0 },
514 {
SC_OPCODE_FLOOR,
ENTRY(SC_OPCODE_FLOOR_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_UNTERGRENZE, 3, { 0, 1, 1 }, 0 },
529 {
SC_OPCODE_GET_DATE,
ENTRY(SC_OPCODE_GET_DATE_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_DATUM, 3, { 0, 0, 0 }, 0 },
530 {
SC_OPCODE_GET_TIME,
ENTRY(SC_OPCODE_GET_TIME_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_ZEIT, 3, { 0, 0, 0 }, 0 },
532 {
SC_OPCODE_GET_DIFF_DATE_360,
ENTRY(SC_OPCODE_GET_DIFF_DATE_360_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_TAGE360, 3, { 0, 0, 1 }, 0 },
546 {
SC_OPCODE_B,
ENTRY(SC_OPCODE_B_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_B, 4, { 0, 0, 0, 1 }, 0 },
547 {
SC_OPCODE_NORM_DIST,
ENTRY(SC_OPCODE_NORM_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NORMVERT, 4, { 0, 0, 0, 1 }, 0 },
548 {
SC_OPCODE_EXP_DIST,
ENTRY(SC_OPCODE_EXP_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_EXPONVERT, 3, { 0, 0, 0 }, 0 },
549 {
SC_OPCODE_BINOM_DIST,
ENTRY(SC_OPCODE_BINOM_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BINOMVERT, 4, { 0, 0, 0, 0 }, 0 },
550 {
SC_OPCODE_POISSON_DIST,
ENTRY(SC_OPCODE_POISSON_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_POISSON, 3, { 0, 0, 1 }, 0 },
555 {
SC_OPCODE_PV,
ENTRY(SC_OPCODE_PV_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_BW, 5, { 0, 0, 0, 1, 1 }, 0 },
556 {
SC_OPCODE_SYD,
ENTRY(SC_OPCODE_SYD_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_DIA, 4, { 0, 0, 0, 0 }, 0 },
557 {
SC_OPCODE_DDB,
ENTRY(SC_OPCODE_DDB_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_GDA, 5, { 0, 0, 0, 0, 1 }, 0 },
558 {
SC_OPCODE_DB,
ENTRY(SC_OPCODE_DB_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_GDA2, 5, { 0, 0, 0, 0, 1 }, 0 },
559 {
SC_OPCODE_VBD ,
ENTRY(SC_OPCODE_VBD_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_VDB, 7, { 0, 0, 0, 0, 0, 1, 1 }, 0 },
560 {
SC_OPCODE_PDURATION,
ENTRY(SC_OPCODE_PDURATION_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_LAUFZEIT, 3, { 0, 0, 0 }, 0 },
561 {
SC_OPCODE_SLN,
ENTRY(SC_OPCODE_SLN_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_LIA, 3, { 0, 0, 0 }, 0 },
562 {
SC_OPCODE_PMT,
ENTRY(SC_OPCODE_PMT_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_RMZ, 5, { 0, 0, 0, 1, 1 }, 0 },
567 {
SC_OPCODE_RRI,
ENTRY(SC_OPCODE_RRI_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ZGZ, 3, { 0, 0, 0 }, 0 },
568 {
SC_OPCODE_FV,
ENTRY(SC_OPCODE_FV_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ZW, 5, { 0, 0, 0, 1, 1 }, 0 },
569 {
SC_OPCODE_NPER,
ENTRY(SC_OPCODE_NPER_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ZZR, 5, { 0, 0, 0, 1, 1 }, 0 },
570 {
SC_OPCODE_RATE,
ENTRY(SC_OPCODE_RATE_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ZINS, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
571 {
SC_OPCODE_IPMT,
ENTRY(SC_OPCODE_IPMT_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ZINSZ, 6, { 0, 0, 0, 0, 1, 1 }, 0 },
572 {
SC_OPCODE_PPMT,
ENTRY(SC_OPCODE_PPMT_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_KAPZ, 6, { 0, 0, 0, 0, 1, 1 }, 0 },
573 {
SC_OPCODE_CUM_IPMT,
ENTRY(SC_OPCODE_CUM_IPMT_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_KUMZINSZ, 6, { 0, 0, 0, 0, 0, 0 }, 0 },
574 {
SC_OPCODE_CUM_PRINC,
ENTRY(SC_OPCODE_CUM_PRINC_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_KUMKAPITAL, 6, { 0, 0, 0, 0, 0, 0 }, 0 },
578 {
SC_OPCODE_DB_SUM,
ENTRY(SC_OPCODE_DB_SUM_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBSUMME, 3, { 0, 0, 0 }, 0 },
579 {
SC_OPCODE_DB_COUNT,
ENTRY(SC_OPCODE_DB_COUNT_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBANZAHL, 3, { 0, 0, 0 }, 0 },
580 {
SC_OPCODE_DB_COUNT_2,
ENTRY(SC_OPCODE_DB_COUNT_2_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBANZAHL2, 3, { 0, 0, 0 }, 0 },
581 {
SC_OPCODE_DB_AVERAGE,
ENTRY(SC_OPCODE_DB_AVERAGE_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBMITTELWERT, 3, { 0, 0, 0 }, 0 },
582 {
SC_OPCODE_DB_GET,
ENTRY(SC_OPCODE_DB_GET_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBAUSZUG, 3, { 0, 0, 0 }, 0 },
583 {
SC_OPCODE_DB_MAX,
ENTRY(SC_OPCODE_DB_MAX_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBMAX, 3, { 0, 0, 0 }, 0 },
584 {
SC_OPCODE_DB_MIN,
ENTRY(SC_OPCODE_DB_MIN_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBMIN, 3, { 0, 0, 0 }, 0 },
585 {
SC_OPCODE_DB_PRODUCT,
ENTRY(SC_OPCODE_DB_PRODUCT_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBPRODUKT, 3, { 0, 0, 0 }, 0 },
586 {
SC_OPCODE_DB_STD_DEV,
ENTRY(SC_OPCODE_DB_STD_DEV_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBSTDABW, 3, { 0, 0, 0 }, 0 },
587 {
SC_OPCODE_DB_STD_DEV_P,
ENTRY(SC_OPCODE_DB_STD_DEV_P_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBSTDABWN, 3, { 0, 0, 0 }, 0 },
588 {
SC_OPCODE_DB_VAR,
ENTRY(SC_OPCODE_DB_VAR_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBVARIANZ, 3, { 0, 0, 0 }, 0 },
589 {
SC_OPCODE_DB_VAR_P,
ENTRY(SC_OPCODE_DB_VAR_P_ARY), 0,
ID_FUNCTION_GRP_DATABASE,
HID_FUNC_DBVARIANZEN, 3, { 0, 0, 0 }, 0 },
591 {
SC_OPCODE_ADDRESS,
ENTRY(SC_OPCODE_ADDRESS_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_ADRESSE, 5, { 0, 0, 1, 1, 1 }, 0 },
592 {
SC_OPCODE_MATCH,
ENTRY(SC_OPCODE_MATCH_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_VERGLEICH, 3, { 0, 0, 1 }, 0 },
595 {
SC_OPCODE_SUM_IF,
ENTRY(SC_OPCODE_SUM_IF_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_SUMMEWENN, 3, { 0, 0, 1 }, 0 },
596 {
SC_OPCODE_LOOKUP,
ENTRY(SC_OPCODE_LOOKUP_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_VERWEIS, 3, { 0, 0, 1 }, 0 },
597 {
SC_OPCODE_V_LOOKUP,
ENTRY(SC_OPCODE_V_LOOKUP_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_SVERWEIS, 4, { 0, 0, 0, 1 }, 0 },
598 {
SC_OPCODE_H_LOOKUP,
ENTRY(SC_OPCODE_H_LOOKUP_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_WVERWEIS, 4, { 0, 0, 0, 1 }, 0 },
599 {
SC_OPCODE_OFFSET,
ENTRY(SC_OPCODE_OFFSET_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_VERSCHIEBUNG, 5, { 0, 0, 0, 1, 1 }, 0 },
600 {
SC_OPCODE_INDEX,
ENTRY(SC_OPCODE_INDEX_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_INDEX, 4, { 0, 1, 1, 1 }, 0 },
603 {
SC_OPCODE_REPLACE,
ENTRY(SC_OPCODE_REPLACE_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_ERSETZEN, 4, { 0, 0, 0, 0 }, 0 },
604 {
SC_OPCODE_FIXED,
ENTRY(SC_OPCODE_FIXED_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_FEST, 3, { 0, 0, 1 }, 0 },
605 {
SC_OPCODE_FIND,
ENTRY(SC_OPCODE_FIND_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_FINDEN, 3, { 0, 0, 1 }, 0 },
609 {
SC_OPCODE_SEARCH,
ENTRY(SC_OPCODE_SEARCH_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_SUCHEN, 3, { 0, 0, 1 }, 0 },
610 {
SC_OPCODE_MID,
ENTRY(SC_OPCODE_MID_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_TEIL, 3, { 0, 0, 0 }, 0 },
612 {
SC_OPCODE_SUBSTITUTE,
ENTRY(SC_OPCODE_SUBSTITUTE_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_WECHSELN, 4, { 0, 0, 0, 1 }, 0 },
620 {
SC_OPCODE_HYP_GEOM_DIST,
ENTRY(SC_OPCODE_HYP_GEOM_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_HYPGEOMVERT, 5, { 0, 0, 0, 0, 1 }, 0 },
621 {
SC_OPCODE_LOG_NORM_DIST,
ENTRY(SC_OPCODE_LOG_NORM_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_LOGNORMVERT, 4, { 0, 1, 1, 1 }, 0 },
622 {
SC_OPCODE_T_DIST,
ENTRY(SC_OPCODE_T_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_TVERT, 3, { 0, 0, 0 }, 0 },
623 {
SC_OPCODE_F_DIST,
ENTRY(SC_OPCODE_F_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FVERT, 3, { 0, 0, 0 }, 0 },
625 {
SC_OPCODE_WEIBULL,
ENTRY(SC_OPCODE_WEIBULL_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_WEIBULL, 4, { 0, 0, 0, 0 }, 0 },
626 {
SC_OPCODE_NEG_BINOM_VERT,
ENTRY(SC_OPCODE_NEG_BINOM_VERT_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NEGBINOMVERT, 3, { 0, 0, 0 }, 0 },
627 {
SC_OPCODE_CRIT_BINOM,
ENTRY(SC_OPCODE_CRIT_BINOM_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_KRITBINOM, 3, { 0, 0, 0 }, 0 },
631 {
SC_OPCODE_STANDARD,
ENTRY(SC_OPCODE_STANDARD_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_STANDARDISIERUNG, 3, { 0, 0, 0 }, 0 },
637 {
SC_OPCODE_Z_TEST,
ENTRY(SC_OPCODE_Z_TEST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_GTEST, 3, { 0, 0, 1 }, 0 },
638 {
SC_OPCODE_T_TEST,
ENTRY(SC_OPCODE_T_TEST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_TTEST, 4, { 0, 0, 0, 0 }, 0 },
639 {
SC_OPCODE_RANK,
ENTRY(SC_OPCODE_RANK_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_RANG, 3, { 0, 0, 1 }, 0 },
641 {
SC_OPCODE_PERCENT_RANK,
ENTRY(SC_OPCODE_PERCENT_RANK_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_QUANTILSRANG, 3, { 0, 0, 1 }, 0 },
646 {
SC_OPCODE_NORM_INV,
ENTRY(SC_OPCODE_NORM_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NORMINV, 3, { 0, 0, 0 }, 0 },
647 {
SC_OPCODE_CONFIDENCE,
ENTRY(SC_OPCODE_CONFIDENCE_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_KONFIDENZ, 3, { 0, 0, 0 }, 0 },
650 {
SC_OPCODE_PROB,
ENTRY(SC_OPCODE_PROB_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_WAHRSCHBEREICH, 4, { 0, 0, 0, 1 }, 0 },
658 {
SC_OPCODE_TREND,
ENTRY(SC_OPCODE_TREND_ARY), 0,
ID_FUNCTION_GRP_MATRIX,
HID_FUNC_TREND, 4, { 0, 1, 1, 1 }, 0 },
659 {
SC_OPCODE_GROWTH,
ENTRY(SC_OPCODE_GROWTH_ARY), 0,
ID_FUNCTION_GRP_MATRIX,
HID_FUNC_VARIATION, 4, { 0, 1, 1, 1 }, 0 },
660 {
SC_OPCODE_LINEST,
ENTRY(SC_OPCODE_LINEST_ARY), 0,
ID_FUNCTION_GRP_MATRIX,
HID_FUNC_RGP, 4, { 0, 1, 1, 1 }, 0 },
661 {
SC_OPCODE_LOGEST,
ENTRY(SC_OPCODE_LOGEST_ARY), 0,
ID_FUNCTION_GRP_MATRIX,
HID_FUNC_RKP, 4, { 0, 1, 1, 1 }, 0 },
662 {
SC_OPCODE_FORECAST,
ENTRY(SC_OPCODE_FORECAST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_SCHAETZER, 3, { 0, 0, 0 }, 0 },
664 {
SC_OPCODE_GAMMA_DIST,
ENTRY(SC_OPCODE_GAMMA_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_GAMMAVERT, 4, { 0, 0, 0, 1 }, 0 },
665 {
SC_OPCODE_GAMMA_INV,
ENTRY(SC_OPCODE_GAMMA_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_GAMMAINV, 3, { 0, 0, 0 }, 0 },
667 {
SC_OPCODE_F_INV,
ENTRY(SC_OPCODE_F_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FINV, 3, { 0, 0, 0 }, 0 },
669 {
SC_OPCODE_LOG_INV,
ENTRY(SC_OPCODE_LOG_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_LOGINV, 3, { 0, 1, 1 }, 0 },
670 {
SC_OPCODE_BETA_DIST,
ENTRY(SC_OPCODE_BETA_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BETAVERT, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
671 {
SC_OPCODE_BETA_INV,
ENTRY(SC_OPCODE_BETA_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BETAINV, 5, { 0, 0, 0, 1, 1 }, 0 },
674 {
SC_OPCODE_STYLE,
ENTRY(SC_OPCODE_STYLE_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_VORLAGE, 3, { 0, 1, 1 }, 0 },
675 {
SC_OPCODE_DDE,
ENTRY(SC_OPCODE_DDE_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_DDE, 4, { 0, 0, 0, 1 }, 0 },
676 {
SC_OPCODE_BASE,
ENTRY(SC_OPCODE_BASE_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_BASIS, 3, { 0, 0, 1 }, 0 },
688 {
SC_OPCODE_CONVERT_OOO,
ENTRY(SC_OPCODE_CONVERT_OOO_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_UMRECHNEN, 3, { 0, 0, 0 }, 0 },
690 {
SC_OPCODE_MIRR,
ENTRY(SC_OPCODE_MIRR_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_QIKV, 3, { 0, 0, 0 }, 0 },
692 {
SC_OPCODE_ISPMT,
ENTRY(SC_OPCODE_ISPMT_ARY), 0,
ID_FUNCTION_GRP_FINANCIAL,
HID_FUNC_ISPMT, 4, { 0, 0, 0, 0 }, 0 },
694 {
SC_OPCODE_GET_PIVOT_DATA,
ENTRY(SC_OPCODE_GET_PIVOT_DATA_ARY), 0,
ID_FUNCTION_GRP_TABLE,
HID_FUNC_GETPIVOTDATA,
VAR_ARGS+2, { 0, 0, 1 }, 0 },
695 {
SC_OPCODE_EUROCONVERT,
ENTRY(SC_OPCODE_EUROCONVERT_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_EUROCONVERT, 5, { 0, 0, 0, 1, 1 }, 0 },
696 {
SC_OPCODE_NUMBERVALUE,
ENTRY(SC_OPCODE_NUMBERVALUE_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_NUMBERVALUE, 3, { 0, 1, 1 }, 0 },
697 {
SC_OPCODE_CHISQ_DIST,
ENTRY(SC_OPCODE_CHISQ_DIST_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_CHISQDIST, 3, { 0, 0, 1 }, 0 },
704 {
SC_OPCODE_GET_DATEDIF,
ENTRY(SC_OPCODE_GET_DATEDIF_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_DATEDIF, 3, { 0, 0, 0 }, 0 },
706 {
SC_OPCODE_AVERAGE_IF,
ENTRY(SC_OPCODE_AVERAGE_IF_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_AVERAGEIF, 3, { 0, 0, 1 }, 0 },
707 {
SC_OPCODE_SUM_IFS,
ENTRY(SC_OPCODE_SUM_IFS_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_SUMIFS,
PAIRED_VAR_ARGS+1, { 0, 0, 0 }, 0 },
708 {
SC_OPCODE_AVERAGE_IFS,
ENTRY(SC_OPCODE_AVERAGE_IFS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_AVERAGEIFS,
PAIRED_VAR_ARGS+1, { 0, 0, 0 }, 0 },
714 {
SC_OPCODE_MIDB,
ENTRY(SC_OPCODE_MIDB_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_MIDB, 3, { 0, 0, 0 }, 0 },
723 {
SC_OPCODE_BETA_DIST_MS,
ENTRY(SC_OPCODE_BETA_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BETADIST_MS, 6, { 0, 0, 0, 0, 1, 1 }, 0 },
724 {
SC_OPCODE_BETA_INV_MS,
ENTRY(SC_OPCODE_BETA_INV_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BETAINV_MS, 5, { 0, 0, 0, 1, 1 }, 0 },
725 {
SC_OPCODE_BINOM_DIST_MS,
ENTRY(SC_OPCODE_BINOM_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BINOM_DIST_MS, 4, { 0, 0, 0, 0 }, 0 },
726 {
SC_OPCODE_BINOM_INV,
ENTRY(SC_OPCODE_BINOM_INV_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_BINOM_INV_MS, 3, { 0, 0, 0 }, 0 },
730 {
SC_OPCODE_CHISQ_DIST_MS,
ENTRY(SC_OPCODE_CHISQ_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_CHISQDIST_MS, 3, { 0, 0, 0 }, 0 },
732 {
SC_OPCODE_CONFIDENCE_N,
ENTRY(SC_OPCODE_CONFIDENCE_N_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_CONFIDENCE_N, 3, { 0, 0, 0 }, 0 },
733 {
SC_OPCODE_CONFIDENCE_T,
ENTRY(SC_OPCODE_CONFIDENCE_T_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_CONFIDENCE_T, 3, { 0, 0, 0 }, 0 },
734 {
SC_OPCODE_F_DIST_LT,
ENTRY(SC_OPCODE_F_DIST_LT_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_F_DIST_LT, 4, { 0, 0, 0, 1 }, 0 },
735 {
SC_OPCODE_F_DIST_RT,
ENTRY(SC_OPCODE_F_DIST_RT_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_F_DIST_RT, 3, { 0, 0, 0 }, 0 },
736 {
SC_OPCODE_F_INV_LT,
ENTRY(SC_OPCODE_F_INV_LT_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_F_INV_LT, 3, { 0, 0, 0 }, 0 },
737 {
SC_OPCODE_F_INV_RT,
ENTRY(SC_OPCODE_F_INV_RT_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_F_INV_RT, 3, { 0, 0, 0 }, 0 },
739 {
SC_OPCODE_EXP_DIST_MS,
ENTRY(SC_OPCODE_EXP_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_EXP_DIST_MS, 3, { 0, 0, 0 }, 0 },
740 {
SC_OPCODE_HYP_GEOM_DIST_MS,
ENTRY(SC_OPCODE_HYP_GEOM_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_HYP_GEOM_DIST_MS, 5, { 0, 0, 0, 0, 0 }, 0 },
741 {
SC_OPCODE_POISSON_DIST_MS,
ENTRY(SC_OPCODE_POISSON_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_POISSON_DIST_MS, 3, { 0, 0, 1 }, 0 },
742 {
SC_OPCODE_WEIBULL_MS,
ENTRY(SC_OPCODE_WEIBULL_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_WEIBULL_DIST_MS, 4, { 0, 0, 0, 0 }, 0 },
743 {
SC_OPCODE_GAMMA_DIST_MS,
ENTRY(SC_OPCODE_GAMMA_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_GAMMADIST_MS, 4, { 0, 0, 0, 0 }, 0 },
744 {
SC_OPCODE_GAMMA_INV_MS,
ENTRY(SC_OPCODE_GAMMA_INV_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_GAMMAINV_MS, 3, { 0, 0, 0 }, 0 },
745 {
SC_OPCODE_LOG_NORM_DIST_MS,
ENTRY(SC_OPCODE_LOG_NORM_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_LOGNORMDIST_MS, 4, { 0, 0, 0, 0 }, 0 },
746 {
SC_OPCODE_LOG_INV_MS,
ENTRY(SC_OPCODE_LOG_INV_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_LOGINV, 3, { 0, 0, 0 }, 0 },
747 {
SC_OPCODE_NORM_DIST_MS,
ENTRY(SC_OPCODE_NORM_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NORMDIST_MS, 4, { 0, 0, 0, 0 }, 0 },
748 {
SC_OPCODE_NORM_INV_MS,
ENTRY(SC_OPCODE_NORM_INV_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NORMINV_MS, 3, { 0, 0, 0 }, 0 },
751 {
SC_OPCODE_T_DIST_MS,
ENTRY(SC_OPCODE_T_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_TDIST_MS, 3, { 0, 0, 0 }, 0 },
756 {
SC_OPCODE_T_TEST_MS,
ENTRY(SC_OPCODE_T_TEST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_TTEST_MS, 4, { 0, 0, 0, 0 }, 0 },
758 {
SC_OPCODE_PERCENT_RANK_INC,
ENTRY(SC_OPCODE_PERCENT_RANK_INC_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_PERCENTRANK_INC, 3, { 0, 0, 1 }, 0 },
760 {
SC_OPCODE_RANK_EQ,
ENTRY(SC_OPCODE_RANK_EQ_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_RANK_EQ, 3, { 0, 0, 1 }, 0 },
762 {
SC_OPCODE_PERCENT_RANK_EXC,
ENTRY(SC_OPCODE_PERCENT_RANK_EXC_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_PERCENTRANK_EXC, 3, { 0, 0, 1 }, 0 },
764 {
SC_OPCODE_RANK_AVG,
ENTRY(SC_OPCODE_RANK_AVG_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_RANK_AVG, 3, { 0, 0, 1 }, 0 },
767 {
SC_OPCODE_NEG_BINOM_DIST_MS,
ENTRY(SC_OPCODE_NEG_BINOM_DIST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_NEGBINOMDIST_MS, 4, { 0, 0, 0, 0 }, 0 },
768 {
SC_OPCODE_Z_TEST_MS,
ENTRY(SC_OPCODE_Z_TEST_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_Z_TEST_MS, 3, { 0, 0, 1 }, 0 },
772 {
SC_OPCODE_NETWORKDAYS_MS,
ENTRY(SC_OPCODE_NETWORKDAYS_MS_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_NETWORKDAYS_MS, 4, { 0, 0, 1, 1 }, 0 },
773 {
SC_OPCODE_WORKDAY_MS,
ENTRY(SC_OPCODE_WORKDAY_MS_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_WORKDAY_MS, 4, { 0, 0, 1, 1 }, 0 },
774 {
SC_OPCODE_AGGREGATE,
ENTRY(SC_OPCODE_AGGREGATE_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_AGGREGATE,
VAR_ARGS+3, { 0, 0, 0, 1 }, 0 },
775 {
SC_OPCODE_COLOR,
ENTRY(SC_OPCODE_COLOR_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_COLOR, 4, { 0, 0, 0, 1 }, 0 },
776 {
SC_OPCODE_CEIL_MATH,
ENTRY(SC_OPCODE_CEIL_MATH_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_CEIL_MATH, 3, { 0, 1, 1 }, 0 },
778 {
SC_OPCODE_NETWORKDAYS,
ENTRY(SC_OPCODE_NETWORKDAYS_ARY), 0,
ID_FUNCTION_GRP_DATETIME,
HID_FUNC_NETWORKDAYS, 4, { 0, 0, 1, 1 }, 0 },
779 {
SC_OPCODE_FLOOR_MATH,
ENTRY(SC_OPCODE_FLOOR_MATH_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_FLOOR_MATH, 3, { 0, 1, 1 }, 0 },
781 {
SC_OPCODE_RAWSUBTRACT,
ENTRY(SC_OPCODE_RAWSUBTRACT_ARY), 0,
ID_FUNCTION_GRP_MATH,
HID_FUNC_RAWSUBTRACT,
VAR_ARGS+2, { 0, 0, 1 }, 0 },
783 {
SC_OPCODE_FORECAST_ETS_ADD,
ENTRY(SC_OPCODE_FORECAST_ETS_ADD_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_ADD, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
784 {
SC_OPCODE_FORECAST_ETS_SEA,
ENTRY(SC_OPCODE_FORECAST_ETS_SEA_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_SEA, 4, { 0, 0, 1, 1 }, 0 },
785 {
SC_OPCODE_FORECAST_ETS_MUL,
ENTRY(SC_OPCODE_FORECAST_ETS_MUL_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_MUL, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
786 {
SC_OPCODE_FORECAST_ETS_PIA,
ENTRY(SC_OPCODE_FORECAST_ETS_PIA_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_PIA, 7, { 0, 0, 0, 1, 1, 1, 1 }, 0 },
787 {
SC_OPCODE_FORECAST_ETS_PIM,
ENTRY(SC_OPCODE_FORECAST_ETS_PIM_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_PIM, 7, { 0, 0, 0, 1, 1, 1, 1 }, 0 },
788 {
SC_OPCODE_FORECAST_ETS_STA,
ENTRY(SC_OPCODE_FORECAST_ETS_STA_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_STA, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
789 {
SC_OPCODE_FORECAST_ETS_STM,
ENTRY(SC_OPCODE_FORECAST_ETS_STM_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_ETS_STM, 6, { 0, 0, 0, 1, 1, 1 }, 0 },
790 {
SC_OPCODE_FORECAST_LIN,
ENTRY(SC_OPCODE_FORECAST_LIN_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_FORECAST_LIN, 3, { 0, 0, 0 }, 0 },
792 {
SC_OPCODE_TEXTJOIN_MS,
ENTRY(SC_OPCODE_TEXTJOIN_MS_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_TEXTJOIN_MS,
VAR_ARGS + 2, { 0, 0, 0 }, 0 },
794 {
SC_OPCODE_SWITCH_MS,
ENTRY(SC_OPCODE_SWITCH_MS_ARY), 0,
ID_FUNCTION_GRP_LOGIC,
HID_FUNC_SWITCH_MS,
PAIRED_VAR_ARGS + 1, { 0, 0, 0 }, 0 },
795 {
SC_OPCODE_MINIFS_MS,
ENTRY(SC_OPCODE_MINIFS_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_MINIFS_MS,
PAIRED_VAR_ARGS + 1, { 0, 0, 0 }, 0 },
796 {
SC_OPCODE_MAXIFS_MS,
ENTRY(SC_OPCODE_MAXIFS_MS_ARY), 0,
ID_FUNCTION_GRP_STATISTIC,
HID_FUNC_MAXIFS_MS,
PAIRED_VAR_ARGS + 1, { 0, 0, 0 }, 0 },
798 {
SC_OPCODE_REPLACEB,
ENTRY(SC_OPCODE_REPLACEB_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_REPLACEB, 4, { 0, 0, 0, 0 }, 0 },
799 {
SC_OPCODE_FINDB,
ENTRY(SC_OPCODE_FINDB_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_FINDB, 3, { 0, 0, 1 }, 0 },
800 {
SC_OPCODE_SEARCHB,
ENTRY(SC_OPCODE_SEARCHB_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_SEARCHB, 3, { 0, 0, 1 }, 0 },
801 {
SC_OPCODE_REGEX,
ENTRY(SC_OPCODE_REGEX_ARY), 0,
ID_FUNCTION_GRP_TEXT,
HID_FUNC_REGEX, 4, { 0, 0, 1, 1 }, 0 },
802 {
SC_OPCODE_FOURIER,
ENTRY(SC_OPCODE_FOURIER_ARY), 0,
ID_FUNCTION_GRP_MATRIX,
HID_FUNC_FOURIER, 5, { 0, 0, 1, 1, 1 }, 0 },
807 sal_Int32 nStrLen = 0;
808 ::std::vector<const ScFuncDesc*> tmpFuncVector;
814 ScFuncDescCore
const * pDescsEnd = aDescs +
SAL_N_ELEMENTS(aDescs);
817 const ScFuncDescCore *pEntry = std::lower_bound(aDescs, pDescsEnd,
i,
818 [](
const ScFuncDescCore &rItem, sal_uInt16 key)
820 return rItem.nOpCode < key;
825 if (pEntry != pDescsEnd && pEntry->nOpCode ==
i && pEntry->pResource)
828 bool bSuppressed =
false;
839 tmpFuncVector.push_back(pDesc);
842 if (nStrLen > nMaxFuncNameLen)
843 nMaxFuncNameLen = nStrLen;
853 OUString aDefArgNameValue =
"value";
854 OUString aDefArgNameString =
"string";
855 OUString aDefArgNameValues =
"values";
856 OUString aDefArgNameStrings =
"strings";
857 OUString aDefArgNameCells =
"cells";
858 OUString aDefArgNameNone =
"none";
859 OUString aDefArgDescValue =
"a value";
860 OUString aDefArgDescString =
"a string";
861 OUString aDefArgDescValues =
"array of values";
862 OUString aDefArgDescStrings =
"array of strings";
863 OUString aDefArgDescCells =
"range of cells";
864 OUString aDefArgDescNone =
"none";
866 OUString aArgName, aArgDesc;
868 for (
auto const& legacyFunc : rLegacyFuncColl)
870 const LegacyFuncData *
const pLegacyFuncData = legacyFunc.second.get();
878 OUStringBuffer
aBuf(aArgDesc);
880 aBuf.append(
"( AddIn: ");
883 pDesc->
mxFuncDesc = aBuf.makeStringAndClear();
893 for (sal_uInt16 j = 0; j < nArgs; ++j)
896 pLegacyFuncData->
getParamDesc( aArgName, aArgDesc, j+1 );
897 if ( !aArgName.isEmpty() )
923 if ( !aArgDesc.isEmpty() )
952 tmpFuncVector.push_back(
pDesc);
953 nStrLen =
pDesc->mxFuncName->getLength();
954 if ( nStrLen > nMaxFuncNameLen)
955 nMaxFuncNameLen = nStrLen;
962 for (
tools::Long nFunc=0; nFunc<nUnoCount; nFunc++)
969 tmpFuncVector.push_back(
pDesc);
970 nStrLen =
pDesc->mxFuncName->getLength();
971 if (nStrLen > nMaxFuncNameLen)
972 nMaxFuncNameLen = nStrLen;
978 aFunctionList.swap(tmpFuncVector);
981 aFunctionListIter = aFunctionList.end();
1040 if(_nPos < m_pCategory->
size())
1056 OSL_ENSURE( pFuncList,
"Functionlist not found." );
1059 aCatLists[0].reset( new ::std::vector<const ScFuncDesc*> );
1068 ++catCount[
pDesc->nCategory];
1078 aCatLists[
i].reset( new ::std::vector<const ScFuncDesc*> );
1083 for (
auto const& elemList : *
aCatLists[0])
1085 if ((elemList->nCategory) < MAX_FUNCCAT)
1086 aCatLists[elemList->nCategory]->push_back(elemList);
1103 if (pDesc->
nFIndex == nFIndex)
1110 OSL_ENSURE( nCategory <
MAX_FUNCCAT,
"Unknown category" );
1160 _rLastRUFunctions.clear();
1164 for (sal_uInt16
i = 0;
i < nLRUFuncCount; ++
i)
1166 _rLastRUFunctions.push_back(
Get( pLRUListIds[
i] ) );
1175 OSL_FAIL(
"Invalid category number!");
1179 return ScResId(RID_FUNCTION_CATEGORIES[_nCategoryNumber]);
1202 const sal_uInt16 nOpCode = rEntry.nOpCode;
1203 sal_uInt16 nFunctionFlags = rEntry.nFunctionFlags;
1206 rbSuppressed = ((nFunctionFlags & 1) != 0);
1207 pDesc->
mbHidden = ((nFunctionFlags & 2) != 0);
1209 pDesc->
sHelpId = rEntry.pHelpId;
1212 sal_uInt16 nVarArgsSet = 0;
1229 for (sal_uInt16
i = 0;
i < nArgs; ++
i)
1245 for (sal_uInt16
i = 0;
i < nArgs; ++
i)
1248 if (nIndex < rEntry.nResourceLen)
1250 if (nIndex + 1 < rEntry.nResourceLen)
1256 nVarArgsSet > 0 &&
i > nVarArgsSet && (
i == nArgs-1 ||
i == nArgs-2) &&
1259 sal_uInt16 nPrev =
i - nVarArgsSet;
#define HID_FUNC_BITLSHIFT
virtual sal_uInt32 getCount() const override
sal_uInt32 m_nCategory
index number of this category
#define SC_OPCODE_CRIT_BINOM
#define HID_FUNC_QUANTILSRANG
#define SC_OPCODE_DB_STD_DEV
#define HID_FUNC_COSECANT
virtual bool isHidden() const override
Returns whether function is hidden and not offered in the Function Wizard unless used in an expressio...
#define HID_FUNC_F_DIST_LT
#define ID_FUNCTION_GRP_INFO
#define ID_FUNCTION_GRP_ADDINS
List of spreadsheet functions.
#define HID_FUNC_ANZAHLLEEREZELLEN
#define HID_FUNC_MITTELWERTA
#define HID_FUNC_MINIFS_MS
#define HID_FUNC_QUARTILE
#define SC_OPCODE_SUM_XMY2
#define ID_FUNCTION_GRP_DATETIME
#define SC_OPCODE_DB_AVERAGE
#define SC_OPCODE_CEIL_ISO
#define SC_OPCODE_COUNT_EMPTY_CELLS
static SC_DLLPUBLIC ScUnoAddInCollection * GetAddInCollection()
#define HID_FUNC_SUMMENPRODUKT
#define SC_OPCODE_COVARIANCE_P
OUString m_sName
name of this category
#define HID_FUNC_BINOMVERT
virtual sal_uInt32 getVarArgsStart() const override
Returns start of variable arguments.
#define SC_OPCODE_ARC_SIN_HYP
#define HID_FUNC_KGROESSTE
#define SC_OPCODE_GET_SEC
std::map< sal_uInt32, std::shared_ptr< ScFunctionCategory > > m_aCategories
map of category pos to IFunctionCategory
#define SC_OPCODE_SUM_X2MY2
#define SC_OPCODE_RANK_EQ
sal_uInt16 GetParamCount() const
#define SC_OPCODE_BETA_DIST
#define SC_OPCODE_COVARIANCE_S
#define SC_OPCODE_GET_TIME
#define SC_OPCODE_AVERAGE_IF
#define HID_FUNC_BINOM_DIST_MS
sal_uInt16 GetSuppressedArgCount() const
Returns the number of non-suppressed arguments.
#define HID_FUNC_ACHSENABSCHNITT
bool bOptional
Parameter is optional.
#define SC_OPCODE_CHISQ_INV_MS
#define HID_FUNC_BETAINV_MS
#define SC_OPCODE_CHISQ_INV
#define HID_FUNC_GAMMADIST_MS
virtual sal_Int32 getSuppressedArgumentCount() const override
#define HID_FUNC_FLOOR_PRECISE
#define SC_OPCODE_QUARTILE
#define HID_FUNC_EUROCONVERT
#define HID_FUNC_FORECAST_ETS_ADD
#define SC_OPCODE_BETA_INV_MS
#define SC_OPCODE_F_DIST_LT
#define SC_OPCODE_FORECAST_ETS_SEA
#define SC_OPCODE_FORECAST_ETS_STA
#define HID_FUNC_VERSCHIEBUNG
#define SC_OPCODE_CHISQ_DIST
#define HID_FUNC_CHISQINV
const ScUnoAddInFuncData * GetFuncData(const OUString &rName, bool bComplete=false)
Only if bComplete is set, the function reference and argument types are initialized (component may ha...
#define SC_OPCODE_AVERAGE_A
#define SC_OPCODE_VAR_P_MS
#define HID_FUNC_F_INV_RT
#define HID_FUNC_INDIREKT
const ScFuncDesc * Get(sal_uInt16 nFIndex) const
Returns function by index.
const ScFuncDesc * Next() const
Returns the next function of the current category.
#define SC_OPCODE_QUARTILE_INC
#define HID_FUNC_QUARTILE_INC
#define SC_OPCODE_COS_HYP
#define SC_OPCODE_GET_DATE_VALUE
#define SC_OPCODE_FORECAST_ETS_PIM
#define HID_FUNC_MODAL_VALUE_MS
#define SC_OPCODE_ERROR_TYPE
#define SC_OPCODE_CHI_TEST_MS
#define SC_OPCODE_LOG_INV
#define SC_OPCODE_DB_COUNT_2
#define HID_FUNC_NORMDIST_MS
sal_uInt16 GetLRUFuncListCount() const
#define SC_OPCODE_FORECAST_ETS_ADD
#define SC_OPCODE_DB_PRODUCT
#define HID_FUNC_CHIVERT_MS
#define SC_OPCODE_BETA_INV
#define SC_OPCODE_FLOOR_MATH
Stores whether a parameter is optional or suppressed.
#define ID_FUNCTION_GRP_LOGIC
#define SC_OPCODE_HYP_GEOM_DIST_MS
#define HID_FUNC_HYPGEOMVERT
#define SC_OPCODE_ARC_SIN
#define HID_FUNC_VARIATIONEN
#define HID_FUNC_QUADRATESUMME
virtual sal_uInt32 getVarArgsLimit() const override
Returns maximum number of (variable) arguments.
#define HID_FUNC_IDENTISCH
#define SC_OPCODE_POISSON_DIST
#define HID_FUNC_KKLEINSTE
#define HID_FUNC_WEIBULL_DIST_MS
#define SC_OPCODE_CUM_PRINC
#define HID_FUNC_STANDNORMINV
#define SC_OPCODE_COUNT_2
#define HID_FUNC_CHITEST_MS
#define SC_OPCODE_FLOOR_PRECISE
#define HID_FUNC_RANDBETWEEN_NV
#define SC_OPCODE_S_NORM_INV_MS
virtual OUString getName() const override
#define HID_FUNC_PERCENTRANK_INC
#define HID_FUNC_VARIANZENA
#define SC_OPCODE_NOMINAL
#define SC_OPCODE_FREQUENCY
#define HID_FUNC_RAWSUBTRACT
#define HID_FUNC_CONCAT_MS
virtual bool isParameterOptional(sal_uInt32 _nPos) const override
Returns true if parameter at given position is optional.
#define SC_OPCODE_TRIM_MEAN
#define SC_OPCODE_CHI_INV
#define SC_OPCODE_GET_YEAR
#define SC_OPCODE_CEIL_MS
#define SC_OPCODE_MATRIX_UNIT
#define SC_OPCODE_IS_EVEN
#define SC_OPCODE_PERCENTILE_INC
#define HID_FUNC_FORECAST_ETS_STA
#define SC_OPCODE_TAN_HYP
#define SC_OPCODE_EXP_DIST_MS
#define SC_OPCODE_ST_DEV_S
virtual const formula::IFunctionCategory * getCategory(sal_uInt32 nPos) const override
Returns a category.
virtual sal_Unicode getSingleToken(const formula::IFunctionManager::EToken _eToken) const override
Maps Etoken to character.
#define HID_FUNC_ROUNDSIG
static void ScFuncRes(const ScFuncDescCore &rEntry, ScFuncDesc *, bool &rbSuppressed)
#define HID_FUNC_FORECAST_ETS_SEA
#define SC_OPCODE_MAT_DET
virtual sal_uInt32 getNumber() const override
#define HID_FUNC_MITTELABW
#define SC_OPCODE_FISHER_INV
#define HID_FUNC_MITTELWERT
#define HID_FUNC_DBVARIANZ
#define SC_OPCODE_FORECAST_ETS_PIA
#define HID_FUNC_AVERAGEIF
#define SC_OPCODE_GAMMA_LN_MS
#define SC_OPCODE_ENCODEURL
virtual OUString getParameterDescription(sal_uInt32 _nPos) const override
Returns description of parameter at given position.
#define HID_FUNC_ST_DEV_S
#define HID_FUNC_ISTBEZUG
#define SC_OPCODE_CHI_DIST_MS
#define HID_FUNC_WECHSELN
#define HID_FUNC_FLOOR_MATH
#define SC_OPCODE_IF_ERROR
#define SC_OPCODE_NEG_BINOM_VERT
#define SC_OPCODE_WEBSERVICE
#define SC_OPCODE_T_TEST_MS
#define HID_FUNC_QUARTILE_EXC
#define HID_FUNC_VERKETTEN
#define SC_OPCODE_SUM_IFS
#define HID_FUNC_TEILERGEBNIS
#define SC_OPCODE_MODAL_VALUE
#define HID_FUNC_GAMMAVERT
#define HID_FUNC_FORECAST_ETS_MUL
#define SC_OPCODE_PERCENTILE
#define SC_FUNCGROUP_COUNT
#define HID_FUNC_ZEITWERT
bool mbHidden
Whether function is hidden.
virtual const formula::IFunctionDescription * getFunction(sal_uInt32 _nPos) const override
Gives the _nPos'th function in this category.
#define HID_FUNC_KOMBINATIONEN2
#define HID_FUNC_ARCOTHYP
#define HID_FUNC_COSECANTHYP
#define SC_OPCODE_ARC_TAN_HYP
#define SC_OPCODE_PERCENTILE_EXC
#define SC_OPCODE_DECIMAL
#define SC_OPCODE_CONFIDENCE_T
::std::vector< const ScFuncDesc * > * m_pCategory
list of functions in this category
#define SC_OPCODE_PDURATION
#define SC_OPCODE_SECANT_HYP
#define HID_FUNC_BETAVERT
#define HID_FUNC_UNGERADE
#define HID_FUNC_SUMMEWENN
#define SC_OPCODE_COMBIN_A
#define HID_FUNC_REPLACEB
enumrange< T >::Iterator begin(enumrange< T >)
#define SC_OPCODE_NEG_BINOM_DIST_MS
#define HID_FUNC_ISTGERADE
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
#define SC_OPCODE_CURRENT
#define SC_OPCODE_PERCENT_RANK_EXC
const ScFuncDesc * First()
sal_uInt16 * GetLRUFuncList() const
#define HID_FUNC_CEIL_ISO
#define SC_OPCODE_SWITCH_MS
#define HID_FUNC_DBANZAHL
#define SC_OPCODE_FILTERXML
#define SC_OPCODE_GET_DAY
#define SC_OPCODE_F_INV_RT
#define SC_OPCODE_LOG_INV_MS
#define SC_OPCODE_COT_HYP
#define SC_OPCODE_PRODUCT
#define SC_OPCODE_T_DIST_MS
#define SC_OPCODE_DB_COUNT
#define HID_FUNC_MAXIFS_MS
#define SC_OPCODE_DB_STD_DEV_P
#define SC_OPCODE_MAXIFS_MS
#define SC_OPCODE_PERCENT_RANK
#define HID_FUNC_F_INV_LT
#define HID_FUNC_GLAETTEN
#define HID_FUNC_FEHLERTYP
#define HID_FUNC_NEGBINOMDIST_MS
#define SC_OPCODE_NORM_DIST
ParameterFlags * pDefArgFlags
Flags for each parameter.
#define HID_FUNC_KALENDERWOCHE
#define SC_OPCODE_IS_LOGICAL
#define SC_OPCODE_F_TEST_MS
#define HID_FUNC_HYP_GEOM_DIST_MS
#define HID_FUNC_ISTKTEXT
#define SC_OPCODE_MAT_MULT
#define SC_OPCODE_IS_EMPTY
virtual OUString getFormula(const ::std::vector< OUString > &_aArguments) const override
Returns the function signature with parameters from the passed string array.
OUString GetParamList() const
Returns list of all parameter names.
#define SC_OPCODE_QUARTILE_EXC
#define HID_FUNC_KUMKAPITAL
#define SC_OPCODE_GET_DATE
#define SC_OPCODE_ARC_COT
#define SC_OPCODE_PERCENT_RANK_INC
#define HID_FUNC_BETADIST_MS
#define SC_OPCODE_FORMULA
#define HID_FUNC_ISTFORMEL
#define SC_OPCODE_IS_STRING
#define HID_FUNC_OSTERSONNTAG
#define HID_FUNC_GANZZAHL
#define SC_OPCODE_TEXTJOIN_MS
#define HID_FUNC_COVARIANCE_S
#define SC_OPCODE_GET_DIFF_DATE
#define SAL_N_ELEMENTS(arr)
#define SC_OPCODE_T_DIST_2T
#define HID_FUNC_STFEHLERYX
#define SC_OPCODE_ARC_TAN_2
#define SC_OPCODE_AVE_DEV
#define SC_OPCODE_ROUND_UP
#define HID_FUNC_LAUFZEIT
#define SC_OPCODE_CURRENCY
#define SC_OPCODE_GET_ACT_TIME
#define HID_FUNC_ISTFEHLER
#define HID_FUNC_DBSTDABW
#define SC_OPCODE_SUM_X2DY2
#define HID_FUNC_TTEST_MS
#define SC_OPCODE_CONFIDENCE
#define HID_FUNC_FISHERINV
sal_uInt16 nCategory
Function category.
#define HID_FUNC_SUMQUADABW
#define SC_OPCODE_GET_TIME_VALUE
#define SC_OPCODE_HYP_GEOM_DIST
#define HID_FUNC_AVERAGEIFS
#define HID_FUNC_ENCODEURL
#define SC_OPCODE_MINIFS_MS
#define ID_FUNCTION_GRP_MATH
#define HID_FUNC_ISOWEEKNUM
#define HID_FUNC_VAR_P_MS
#define ID_FUNCTION_GRP_TEXT
#define HID_FUNC_FORECAST_ETS_STM
#define SC_OPCODE_S_NORM_INV
virtual OUString getSignature() const override
Returns the full function signature.
#define SC_OPCODE_BITLSHIFT
#define SC_OPCODE_EUROCONVERT
#define HID_FUNC_SWITCH_MS
#define HID_FUNC_HAEUFIGKEIT
#define HID_FUNC_SUMMEX2PY2
#define SC_OPCODE_COUNT_IFS
#define SC_OPCODE_GET_PIVOT_DATA
#define SC_OPCODE_BITRSHIFT
#define HID_FUNC_CONFIDENCE_N
#define HID_FUNC_VARIATIONEN2
#define SC_OPCODE_MODAL_VALUE_MULTI
#define SC_OPCODE_GAMMA_DIST_MS
virtual sal_uInt32 getParameterCount() const override
Returns number of arguments.
#define HID_FUNC_STANDARDISIERUNG
#define SC_OPCODE_FOURIER
#define SC_OPCODE_CONCAT_MS
#define HID_FUNC_KOMBINATIONEN
#define SC_OPCODE_COUNT_IF
std::vector< OUString > maDefArgDescs
Description(s) of parameter(s)
#define SC_OPCODE_FORECAST_LIN
#define SC_OPCODE_GET_DATEDIF
#define HID_FUNC_ARTANHYP
void getParamDesc(OUString &aName, OUString &aDesc, sal_uInt16 nParam) const
name and description of parameter nParam.
static bool compareByName(const ScFuncDesc *a, const ScFuncDesc *b)
Compares functions by name, respecting special characters.
#define SC_OPCODE_GET_MIN
const OUString & FindFunction(const OUString &rUpperName, bool bLocalFirst)
User entered name. rUpperName MUST already be upper case!
#define HID_FUNC_GEOMITTEL
#define SC_OPCODE_CONFIDENCE_N
#define SC_OPCODE_BINOM_DIST
#define HID_FUNC_ISTUNGERADE
virtual void fillVisibleArgumentMapping(::std::vector< sal_uInt16 > &_rArguments) const override
Fills a mapping with indexes for non-suppressed arguments.
#define SC_OPCODE_GAMMA_INV
#define HID_FUNC_GAMMALN_MS
#define SC_OPCODE_GET_HOUR
#define SC_OPCODE_GAMMA_LN
#define HID_FUNC_HYPERLINK
const OUString & GetInternalName() const
#define HID_FUNC_Z_TEST_MS
#define HID_FUNC_STD_NORMDIST_MS
#define HID_FUNC_DBMITTELWERT
#define HID_FUNC_HARMITTEL
#define SC_OPCODE_WEIBULL_MS
#define SC_OPCODE_NUMBERVALUE
#define HID_FUNC_EINHEITSMATRIX
#define SC_OPCODE_ST_DEV_A
#define SC_OPCODE_ERFC_MS
static ScFunctionMgr * GetStarCalcFunctionMgr()
#define SC_OPCODE_F_DIST_RT
ParamType GetParamType(sal_uInt16 nIndex) const
#define HID_FUNC_PERCENTILE_INC
OUString ScResId(const char *pId)
#define SC_OPCODE_LOG_NORM_DIST_MS
#define SC_OPCODE_NORM_DIST_MS
#define HID_FUNC_FLOOR_MS
#define SC_OPCODE_GET_DIFF_DATE_360
#define SC_OPCODE_V_LOOKUP
#define HID_FUNC_VERGLEICH
std::optional< OUString > mxFuncDesc
Description of function.
#define HID_FUNC_UMRECHNEN
::boost::spirit::classic::rule< ScannerT > argument
#define SC_OPCODE_SEARCHB
std::vector< const ScFuncDesc * >::iterator pCurCatListIter
position in current category
#define HID_FUNC_BEREICHE
static OUString GetCategoryName(sal_uInt32 _nCategoryNumber)
Returns name of category.
static CollatorWrapper * GetCaseCollator()
#define HID_FUNC_TDIST_MS
#define SC_OPCODE_EASTERSUNDAY
#define HID_FUNC_GAMMAINV_MS
#define SC_OPCODE_SUBSTITUTE
virtual OString getHelpId() const override
Returns the help id of the function.
#define SC_OPCODE_AVERAGE
#define SC_OPCODE_RANDOM_NV
#define HID_FUNC_STEIGUNG
#define SC_OPCODE_NETWORKDAYS
#define HID_FUNC_BESTIMMTHEITSMASS
#define SC_OPCODE_INDIRECT
#define SC_OPCODE_ROUNDSIG
#define HID_FUNC_WOCHENTAG
#define HID_FUNC_CEIL_MATH
#define HID_FUNC_DBANZAHL2
#define HID_FUNC_OBERGRENZE
const ScFuncDesc * GetFunction(sal_uInt32 nIndex) const
#define HID_FUNC_VARIATION
#define SC_OPCODE_MODAL_VALUE_MS
#define HID_FUNC_AUFRUNDEN
enumrange< T >::Iterator end(enumrange< T >)
#define HID_FUNC_ZAEHLENWENN
#define HID_FUNC_STD_NORMINV_MS
#define HID_FUNC_SCHAETZER
#define SC_OPCODE_UNICODE
#define SC_OPCODE_SUM_PRODUCT
virtual const formula::IFunctionCategory * getCategory() const override
Returns the category of the function.
#define SC_OPCODE_GAMMA_DIST
static ScFunctionList * GetStarCalcFunctionList()
#define HID_FUNC_WEBSERVICE
#define HID_FUNC_ERSETZEN
#define SC_OPCODE_PERMUTATION_A
#define HID_FUNC_NORMINV_MS
#define SC_OPCODE_CHI_INV_MS
#define HID_FUNC_PERCENTRANK_EXC
virtual sal_uInt32 getCount() const override
#define HID_FUNC_COUNTIFS
std::unique_ptr< std::vector< const ScFuncDesc * > > aCatLists[MAX_FUNCCAT]
array of all categories, 0 is the cumulative ('All') category
#define ID_FUNCTION_GRP_MATRIX
#define SC_OPCODE_LAST_OPCODE_ID
#define SC_OPCODE_NO_VALUE
#define HID_FUNC_NORMVERT
#define HID_FUNC_NETWORKDAYS_MS
#define HID_FUNC_SAEUBERN
#define SC_OPCODE_F_INV_LT
#define SC_OPCODE_WORKDAY_MS
#define SC_OPCODE_FORECAST_ETS_STM
#define HID_FUNC_EFFEKTIV
virtual void fillLastRecentlyUsedFunctions(::std::vector< const formula::IFunctionDescription * > &_rLastRUFunctions) const override
Appends the last recently used functions.
#define SC_OPCODE_REPLACEB
#define HID_FUNC_UNTERGRENZE
sal_uInt16 nVarArgsStart
Start of variable arguments, for numbering.
sal_uInt16 nVarArgsLimit
Limit maximum of (variable) arguments, for numbering.
#define HID_FUNC_CHISQDIST
#define SC_OPCODE_BETA_DIST_MS
#define HID_FUNC_FILTERXML
#define HID_FUNC_KUMZINSZ
std::optional< OUString > mxFuncName
Function name.
#define HID_FUNC_SUMMEX2MY2
#define SC_OPCODE_COSECANT_HYP
#define SC_OPCODE_RANDBETWEEN_NV
static LegacyFuncCollection * GetLegacyFuncCollection()
#define SC_OPCODE_IS_NON_STRING
#define SC_OPCODE_PEARSON
#define HID_FUNC_DBVARIANZEN
#define SC_OPCODE_T_INV_2T
#define ID_FUNCTION_GRP_DATABASE
#define HID_FUNC_EXPONVERT
#define SC_OPCODE_BINOM_INV
void Clear()
Clears the object.
#define SC_OPCODE_MAT_INV
#define SC_OPCODE_GET_MONTH
ScFunctionMgr()
Retrieves all calc functions, generates cumulative ('All') category, and the categories.
#define ID_FUNCTION_GRP_STATISTIC
#define SC_OPCODE_FORECAST_ETS_MUL
#define SC_OPCODE_CHISQ_DIST_MS
#define SC_OPCODE_BINOM_DIST_MS
#define SC_OPCODE_AVERAGE_IFS
#define HID_FUNC_TDIST_RT
#define HID_FUNC_FORECAST_ETS_PIA
#define SC_OPCODE_ARC_TAN
#define SC_OPCODE_CEIL_MATH
#define HID_FUNC_GESTUTZTMITTEL
#define SC_OPCODE_IS_VALUE
#define HID_FUNC_STANDNORMVERT
#define SC_OPCODE_SIN_HYP
#define SC_OPCODE_ST_DEV_P_A
#define HID_FUNC_GETPIVOTDATA
#define HID_FUNC_F_DIST_RT
#define HID_FUNC_TEXTJOIN_MS
#define SC_OPCODE_SUB_TOTAL
#define SC_OPCODE_REPLACE
#define ID_FUNCTION_GRP_FINANCIAL
#define HID_FUNC_TABELLEN
#define HID_FUNC_BINOM_INV_MS
#define SC_OPCODE_MAT_TRANS
virtual void initArgumentInfo() const override
Requests function data from AddInCollection.
#define SC_OPCODE_NORM_INV_MS
#define SC_OPCODE_ADDRESS
#define HID_FUNC_GAMMAINV
const ScFuncDesc * Next()
#define HID_FUNC_TDIST_2T
#define HID_FUNC_ROEMISCH
#define HID_FUNC_NETWORKDAYS
#define SC_OPCODE_AGGREGATE
#define SC_OPCODE_UNICHAR
#define SC_OPCODE_ERROR_TYPE_ODF
#define SC_OPCODE_WEIBULL
#define HID_FUNC_CHISQDIST_MS
#define HID_FUNC_SECANTHYP
#define HID_FUNC_KRITBINOM
sal_uInt16 nFIndex
Unique function index.
#define HID_FUNC_SVERWEIS
#define SC_OPCODE_ROUND_DOWN
#define HID_FUNC_DBSTDABWN
#define SC_OPCODE_CEIL_PRECISE
#define SC_OPCODE_RANK_AVG
sal_uInt32 GetCount() const
#define HID_FUNC_ARCOSHYP
#define SC_OPCODE_Z_TEST_MS
#define HID_FUNC_WIEDERHOLEN
virtual OUString getDescription() const override
Returns the description of the function.
OString sHelpId
HelpId of function.
#define SC_OPCODE_GAMMA_INV_MS
#define HID_FUNC_ARABISCH
#define HID_FUNC_ST_DEV_P_MS
#define SC_OPCODE_CONVERT_OOO
#define HID_FUNC_VARIANZEN
#define SC_OPCODE_COSECANT
#define HID_FUNC_ABRUNDEN
#define SC_OPCODE_INTERCEPT
#define HID_FUNC_FORECAST_ETS_PIM
#define SC_OPCODE_STD_NORM_DIST_MS
#define SC_OPCODE_CHI_TEST
#define SC_OPCODE_GEO_MEAN
#define SC_OPCODE_ST_DEV_P_MS
#define HID_FUNC_CHISQINV_MS
#define SC_OPCODE_VAR_P_A
#define HID_FUNC_MODALWERT
#define SC_OPCODE_BAHTTEXT
#define SC_OPCODE_POISSON_DIST_MS
#define SC_OPCODE_HAR_MEAN
#define SC_OPCODE_STD_NORM_DIST
#define HID_FUNC_SUMMEXMY2
#define HID_FUNC_BAHTTEXT
#define SC_OPCODE_GET_DAY_OF_WEEK
#define SC_OPCODE_IS_ERROR
virtual OUString getFunctionName() const override
Returns the name of the function.
std::vector< OUString > maDefArgNames
Parameter name(s)
#define SC_OPCODE_PLUS_MINUS
#define HID_FUNC_BITRSHIFT
#define HID_FUNC_WVERWEIS
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
#define HID_FUNC_RANK_AVG
#define SC_OPCODE_H_LOOKUP
#define HID_FUNC_POISSON_DIST_MS
#define HID_FUNC_CONFIDENCE_T
#define HID_FUNC_DBPRODUKT
#define HID_FUNC_CEIL_PRECISE
bool FillFunctionDesc(tools::Long nFunc, ScFuncDesc &rDesc)
#define HID_FUNC_VARIANZA
#define HID_FUNC_LOGNORMVERT
#define SC_OPCODE_RAWSUBTRACT
#define HID_FUNC_KONFIDENZ
#define HID_FUNC_COVARIANCE_P
#define SC_OPCODE_WEEKNUM_OOO
#define HID_FUNC_DBAUSZUG
#define HID_FUNC_LOGNORMDIST_MS
#define SC_OPCODE_FLOOR_MS
#define SC_OPCODE_T_DIST_RT
::std::vector< const ScFuncDesc * >::iterator aFunctionListIter
position in function list
#define SC_OPCODE_CHI_DIST
#define HID_FUNC_ERROR_TYPE_ODF
#define SC_OPCODE_ISOWEEKNUM
#define HID_FUNC_AGGREGATE
virtual OUString getParameterName(sal_uInt32 _nPos) const override
Returns name of parameter at given position.
#define SC_OPCODE_ARC_COS
#define HID_FUNC_WEEKNUM_OOO
#define HID_FUNC_WORKDAY_MS
#define HID_FUNC_NEGBINOMVERT
bool bIncomplete
Incomplete argument info (set for add-in info from configuration)
#define HID_FUNC_MODAL_VALUE_MULTI
#define SC_OPCODE_DB_VAR_P
#define HID_FUNC_PERCENTILE_EXC
const OUString & GetModuleName() const
#define HID_FUNC_CHIINV_MS
Stores and generates human readable descriptions for spreadsheet-functions, e.g. functions used in fo...
#define HID_FUNC_F_TEST_MS
#define SC_OPCODE_CUM_IPMT
#define SC_OPCODE_FORECAST
sal_uInt16 nArgCount
All parameter count, suppressed and unsuppressed.
#define SC_OPCODE_NORM_INV
std::vector< const ScFuncDesc * >::iterator pCurCatListEnd
end of current category
#define HID_FUNC_ARSINHYP
#define SC_OPCODE_ARC_COT_HYP
#define SC_OPCODE_COLUMNS
#define SC_OPCODE_T_INV_MS
#define HID_FUNC_EXP_DIST_MS
#define SC_OPCODE_ST_DEV_P
#define SC_OPCODE_GET_ACT_DATE
#define HID_FUNC_NUMBERVALUE
tools::Long GetFuncCount()
::std::vector< const ScFuncDesc * > aFunctionList
List of functions.
#define HID_FUNC_VORZEICHEN
#define SC_OPCODE_EXP_DIST
#define SC_OPCODE_IS_FORMULA
#define SC_OPCODE_STANDARD
#define ID_FUNCTION_GRP_TABLE
const ScFuncDesc * First(sal_uInt16 nCategory=0) const
Returns the first function in category nCategory.
#define SC_OPCODE_ARC_COS_HYP
#define SC_OPCODE_HYPERLINK
#define HID_FUNC_WAHRSCHBEREICH
#define HID_FUNC_FAKULTAET
#define HID_FUNC_FORECAST_LIN
#define SC_OPCODE_NETWORKDAYS_MS
#define SC_OPCODE_LOG_NORM_DIST
#define HID_FUNC_ZUFALLSZAHL