diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-06-11 20:56:30 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-07-21 08:20:50 +0100 |
commit | 00657aef09d854c74fb426a935a3e8b1fc390bb0 (patch) | |
tree | fd1a9bb264fe15dcc129498e62060ecd256b1ee7 /formula | |
parent | fa987cbb813cfd729fe490f2f1258b7c8d7fb174 (diff) |
migrate to boost::gettext
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun::star::resource::OfficeResourceLoader
com::sun::star::resource::XResourceBundleLoader
com::sun::star::resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
Diffstat (limited to 'formula')
26 files changed, 2804 insertions, 3005 deletions
diff --git a/formula/AllLangMoTarget_for.mk b/formula/AllLangMoTarget_for.mk new file mode 100644 index 000000000000..6d674ac11314 --- /dev/null +++ b/formula/AllLangMoTarget_for.mk @@ -0,0 +1,13 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# 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/. + +$(eval $(call gb_AllLangMoTarget_AllLangMoTarget,for)) + +$(eval $(call gb_AllLangMoTarget_set_polocation,for,formula)) + +# vim: set noet sw=4 ts=4: diff --git a/formula/AllLangResTarget_for.mk b/formula/AllLangResTarget_for.mk deleted file mode 100644 index 8f7821b46815..000000000000 --- a/formula/AllLangResTarget_for.mk +++ /dev/null @@ -1,29 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# 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/. -# - -$(eval $(call gb_AllLangResTarget_AllLangResTarget,for)) - -$(eval $(call gb_AllLangResTarget_set_reslocation,for,formula)) - -$(eval $(call gb_AllLangResTarget_add_srs,for,\ - formula/res \ -)) - -$(eval $(call gb_SrsTarget_SrsTarget,formula/res)) - -$(eval $(call gb_SrsTarget_set_include,formula/res,\ - $$(INCLUDE) \ - -I$(SRCDIR)/formula/source/core/inc \ -)) - -$(eval $(call gb_SrsTarget_add_files,formula/res,\ - formula/source/core/resource/core_resource.src \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/formula/AllLangResTarget_forui.mk b/formula/AllLangResTarget_forui.mk deleted file mode 100644 index ba4b106b0142..000000000000 --- a/formula/AllLangResTarget_forui.mk +++ /dev/null @@ -1,31 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# 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/. -# - -$(eval $(call gb_AllLangResTarget_AllLangResTarget,forui)) - -$(eval $(call gb_AllLangResTarget_set_reslocation,forui,formula)) - -$(eval $(call gb_AllLangResTarget_add_srs,forui,\ - formula/ui \ -)) - -$(eval $(call gb_SrsTarget_SrsTarget,formula/ui)) - -$(eval $(call gb_SrsTarget_set_include,formula/ui,\ - $$(INCLUDE) \ - -I$(SRCDIR)/formula/inc \ - -I$(SRCDIR)/formula/source/ui/inc \ -)) - -$(eval $(call gb_SrsTarget_add_files,formula/ui,\ - formula/source/ui/dlg/formdlgs.src \ - formula/source/ui/dlg/parawin.src \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/formula/Library_for.mk b/formula/Library_for.mk index dcac26d4a12b..297a6dc2ca3a 100644 --- a/formula/Library_for.mk +++ b/formula/Library_for.mk @@ -11,6 +11,7 @@ $(eval $(call gb_Library_Library,for)) $(eval $(call gb_Library_set_include,for,\ $$(INCLUDE) \ + -I$(SRCDIR)/formula/inc \ -I$(SRCDIR)/formula/source/core/inc \ )) @@ -47,7 +48,4 @@ $(eval $(call gb_Library_add_exception_objects,for,\ formula/source/core/resource/core_resource \ )) -# Runtime dependency for unit-tests -$(eval $(call gb_Library_use_restarget,for,for)) - # vim: set noet sw=4 ts=4: diff --git a/formula/Module_formula.mk b/formula/Module_formula.mk index 8b39e98aad9f..eac8702bf5ff 100644 --- a/formula/Module_formula.mk +++ b/formula/Module_formula.mk @@ -12,12 +12,11 @@ $(eval $(call gb_Module_Module,formula)) $(eval $(call gb_Module_add_targets,formula,\ Library_for \ Library_forui \ + UIConfig_formula \ )) $(eval $(call gb_Module_add_l10n_targets,formula,\ - AllLangResTarget_for \ - AllLangResTarget_forui \ - UIConfig_formula \ + AllLangMoTarget_for \ )) # screenshots diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc new file mode 100644 index 000000000000..57aa4644e30b --- /dev/null +++ b/formula/inc/core_resource.hrc @@ -0,0 +1,2702 @@ +/* -*- 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 INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC +#define INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC + +#include "formula/compiler.hrc" +#include <utility> + +#define NC_(Context, String) (Context "\004" u8##String) + +/** These English names are used to store/load ODFF as of ODF v1.2. */ +// NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY +// such that at least two releases can already read the new name to be +// introduced by a later release. +// If there is a reason for another name for some function then add an +// *additional* name to be recognized to sc/source/core/tool/compiler.cxx +// ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block. +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] = +{ + { "IF" , SC_OPCODE_IF }, + { "IFERROR" , SC_OPCODE_IF_ERROR }, + { "IFNA" , SC_OPCODE_IF_NA }, + { "CHOOSE" , SC_OPCODE_CHOOSE }, + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + // SC_OPCODE_TABLE_REF_... not supported in ODFF + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { "|" , SC_OPCODE_ARRAY_ROW_SEP }, + { ";" , SC_OPCODE_ARRAY_COL_SEP }, + { ";" , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "AND" , SC_OPCODE_AND }, + { "OR" , SC_OPCODE_OR }, + { "XOR" , SC_OPCODE_XOR }, + { "!" , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "NOT" , SC_OPCODE_NOT }, + { "NEG" , SC_OPCODE_NEG }, + { "-" , SC_OPCODE_NEG_SUB }, + { "PI" , SC_OPCODE_PI }, + { "RAND" , SC_OPCODE_RANDOM }, + { "TRUE" , SC_OPCODE_TRUE }, + { "FALSE" , SC_OPCODE_FALSE }, + { "TODAY" , SC_OPCODE_GET_ACT_DATE }, + { "NOW" , SC_OPCODE_GET_ACT_TIME }, + { "NA" , SC_OPCODE_NO_VALUE }, + { "ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT }, + { "DEGREES" , SC_OPCODE_DEG }, + { "RADIANS" , SC_OPCODE_RAD }, + { "SIN" , SC_OPCODE_SIN }, + { "COS" , SC_OPCODE_COS }, + { "TAN" , SC_OPCODE_TAN }, + { "COT" , SC_OPCODE_COT }, + { "ASIN" , SC_OPCODE_ARC_SIN }, + { "ACOS" , SC_OPCODE_ARC_COS }, + { "ATAN" , SC_OPCODE_ARC_TAN }, + { "ACOT" , SC_OPCODE_ARC_COT }, + { "SINH" , SC_OPCODE_SIN_HYP }, + { "COSH" , SC_OPCODE_COS_HYP }, + { "TANH" , SC_OPCODE_TAN_HYP }, + { "COTH" , SC_OPCODE_COT_HYP }, + { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, + { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, + { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, + { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, + { "CSC" , SC_OPCODE_COSECANT }, + { "SEC" , SC_OPCODE_SECANT }, + { "CSCH" , SC_OPCODE_COSECANT_HYP }, + { "SECH" , SC_OPCODE_SECANT_HYP }, + { "EXP" , SC_OPCODE_EXP }, + { "LN" , SC_OPCODE_LN }, + { "SQRT" , SC_OPCODE_SQRT }, + { "FACT" , SC_OPCODE_FACT }, + { "YEAR" , SC_OPCODE_GET_YEAR }, + { "MONTH" , SC_OPCODE_GET_MONTH }, + { "DAY" , SC_OPCODE_GET_DAY }, + { "HOUR" , SC_OPCODE_GET_HOUR }, + { "MINUTE" , SC_OPCODE_GET_MIN }, + { "SECOND" , SC_OPCODE_GET_SEC }, + { "SIGN" , SC_OPCODE_PLUS_MINUS }, + { "ABS" , SC_OPCODE_ABS }, + { "INT" , SC_OPCODE_INT }, + { "PHI" , SC_OPCODE_PHI }, + { "GAUSS" , SC_OPCODE_GAUSS }, + { "ISBLANK" , SC_OPCODE_IS_EMPTY }, + { "ISTEXT" , SC_OPCODE_IS_STRING }, + { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, + { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, + { "TYPE" , SC_OPCODE_TYPE }, + { "CELL" , SC_OPCODE_CELL }, + { "ISREF" , SC_OPCODE_IS_REF }, + { "ISNUMBER" , SC_OPCODE_IS_VALUE }, + { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, + { "ISNA" , SC_OPCODE_IS_NV }, + { "ISERR" , SC_OPCODE_IS_ERR }, + { "ISERROR" , SC_OPCODE_IS_ERROR }, + { "ISEVEN" , SC_OPCODE_IS_EVEN }, + { "ISODD" , SC_OPCODE_IS_ODD }, + { "N" , SC_OPCODE_N }, + { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, + { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, + { "CODE" , SC_OPCODE_CODE }, + { "TRIM" , SC_OPCODE_TRIM }, + { "UPPER" , SC_OPCODE_UPPER }, + { "PROPER" , SC_OPCODE_PROPER }, + { "LOWER" , SC_OPCODE_LOWER }, + { "LEN" , SC_OPCODE_LEN }, + { "T" , SC_OPCODE_T }, + { "VALUE" , SC_OPCODE_VALUE }, + { "CLEAN" , SC_OPCODE_CLEAN }, + { "CHAR" , SC_OPCODE_CHAR }, + { "JIS" , SC_OPCODE_JIS }, + { "ASC" , SC_OPCODE_ASC }, + { "UNICODE" , SC_OPCODE_UNICODE }, + { "UNICHAR" , SC_OPCODE_UNICHAR }, + { "LOG10" , SC_OPCODE_LOG10 }, + { "EVEN" , SC_OPCODE_EVEN }, + { "ODD" , SC_OPCODE_ODD }, + { "LEGACY.NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, + { "COM.MICROSOFT.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, + { "FISHER" , SC_OPCODE_FISHER }, + { "FISHERINV" , SC_OPCODE_FISHER_INV }, + { "LEGACY.NORMSINV" , SC_OPCODE_S_NORM_INV }, + { "COM.MICROSOFT.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, + { "GAMMALN" , SC_OPCODE_GAMMA_LN }, + { "COM.MICROSOFT.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, + { "ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, + { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, + { "FORMULA" , SC_OPCODE_FORMULA }, + { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, + { "COM.MICROSOFT.CEILING.MATH" , SC_OPCODE_CEIL_MATH }, + { "CEILING" , SC_OPCODE_CEIL }, + { "COM.MICROSOFT.CEILING" , SC_OPCODE_CEIL_MS }, + { "COM.MICROSOFT.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, + { "COM.MICROSOFT.ISO.CEILING" , SC_OPCODE_CEIL_ISO }, + { "FLOOR" , SC_OPCODE_FLOOR }, + { "COM.MICROSOFT.FLOOR" , SC_OPCODE_FLOOR_MS }, + { "COM.MICROSOFT.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, + { "COM.MICROSOFT.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, + { "ROUND" , SC_OPCODE_ROUND }, + { "ROUNDUP" , SC_OPCODE_ROUND_UP }, + { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, + { "TRUNC" , SC_OPCODE_TRUNC }, + { "LOG" , SC_OPCODE_LOG }, + { "POWER" , SC_OPCODE_POWER }, + { "GCD" , SC_OPCODE_GCD }, + { "LCM" , SC_OPCODE_LCM }, + { "MOD" , SC_OPCODE_MOD }, + { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, + { "SUMSQ" , SC_OPCODE_SUM_SQ }, + { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, + { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, + { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, + { "DATE" , SC_OPCODE_GET_DATE }, + { "TIME" , SC_OPCODE_GET_TIME }, + { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, + { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, + { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, + { "MIN" , SC_OPCODE_MIN }, + { "MINA" , SC_OPCODE_MIN_A }, + { "MAX" , SC_OPCODE_MAX }, + { "MAXA" , SC_OPCODE_MAX_A }, + { "SUM" , SC_OPCODE_SUM }, + { "PRODUCT" , SC_OPCODE_PRODUCT }, + { "AVERAGE" , SC_OPCODE_AVERAGE }, + { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, + { "COUNT" , SC_OPCODE_COUNT }, + { "COUNTA" , SC_OPCODE_COUNT_2 }, + { "NPV" , SC_OPCODE_NPV }, + { "IRR" , SC_OPCODE_IRR }, + { "MIRR" , SC_OPCODE_MIRR }, + { "ISPMT" , SC_OPCODE_ISPMT }, + { "VAR" , SC_OPCODE_VAR }, + { "VARA" , SC_OPCODE_VAR_A }, + { "VARP" , SC_OPCODE_VAR_P }, + { "VARPA" , SC_OPCODE_VAR_P_A }, + { "COM.MICROSOFT.VAR.P" , SC_OPCODE_VAR_P_MS }, + { "COM.MICROSOFT.VAR.S" , SC_OPCODE_VAR_S }, + { "STDEV" , SC_OPCODE_ST_DEV }, + { "STDEVA" , SC_OPCODE_ST_DEV_A }, + { "STDEVP" , SC_OPCODE_ST_DEV_P }, + { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, + { "COM.MICROSOFT.STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, + { "COM.MICROSOFT.STDEV.S" , SC_OPCODE_ST_DEV_S }, + { "BINOM.DIST.RANGE" , SC_OPCODE_B }, + { "NORMDIST" , SC_OPCODE_NORM_DIST }, + { "COM.MICROSOFT.NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, + { "EXPONDIST" , SC_OPCODE_EXP_DIST }, + { "COM.MICROSOFT.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, + { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, + { "COM.MICROSOFT.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, + { "POISSON" , SC_OPCODE_POISSON_DIST }, + { "COM.MICROSOFT.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, + { "COMBIN" , SC_OPCODE_COMBIN }, + { "COMBINA" , SC_OPCODE_COMBIN_A }, + { "PERMUT" , SC_OPCODE_PERMUT }, + { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, + { "PV" , SC_OPCODE_PV }, + { "SYD" , SC_OPCODE_SYD }, + { "DDB" , SC_OPCODE_DDB }, + { "DB" , SC_OPCODE_DB }, + { "VDB" , SC_OPCODE_VBD }, + { "PDURATION" , SC_OPCODE_PDURATION }, + { "SLN" , SC_OPCODE_SLN }, + { "PMT" , SC_OPCODE_PMT }, + { "COLUMNS" , SC_OPCODE_COLUMNS }, + { "ROWS" , SC_OPCODE_ROWS }, + { "SHEETS" , SC_OPCODE_SHEETS }, + { "COLUMN" , SC_OPCODE_COLUMN }, + { "ROW" , SC_OPCODE_ROW }, + { "SHEET" , SC_OPCODE_SHEET }, + { "RRI" , SC_OPCODE_RRI }, + { "FV" , SC_OPCODE_FV }, + { "NPER" , SC_OPCODE_NPER }, + { "RATE" , SC_OPCODE_RATE }, + { "IPMT" , SC_OPCODE_IPMT }, + { "PPMT" , SC_OPCODE_PPMT }, + { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, + { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, + { "EFFECT" , SC_OPCODE_EFFECT }, + { "NOMINAL" , SC_OPCODE_NOMINAL }, + { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, + { "DSUM" , SC_OPCODE_DB_SUM }, + { "DCOUNT" , SC_OPCODE_DB_COUNT }, + { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, + { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, + { "DGET" , SC_OPCODE_DB_GET }, + { "DMAX" , SC_OPCODE_DB_MAX }, + { "DMIN" , SC_OPCODE_DB_MIN }, + { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, + { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, + { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, + { "DVAR" , SC_OPCODE_DB_VAR }, + { "DVARP" , SC_OPCODE_DB_VAR_P }, + { "INDIRECT" , SC_OPCODE_INDIRECT }, + { "ADDRESS" , SC_OPCODE_ADDRESS }, + { "MATCH" , SC_OPCODE_MATCH }, + { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, + { "COUNTIF" , SC_OPCODE_COUNT_IF }, + { "SUMIF" , SC_OPCODE_SUM_IF }, + { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, + { "SUMIFS" , SC_OPCODE_SUM_IFS }, + { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, + { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, + { "LOOKUP" , SC_OPCODE_LOOKUP }, + { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, + { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, + { "ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) + { "OFFSET" , SC_OPCODE_OFFSET }, + { "INDEX" , SC_OPCODE_INDEX }, + { "AREAS" , SC_OPCODE_AREAS }, + { "DOLLAR" , SC_OPCODE_CURRENCY }, + { "REPLACE" , SC_OPCODE_REPLACE }, + { "FIXED" , SC_OPCODE_FIXED }, + { "FIND" , SC_OPCODE_FIND }, + { "EXACT" , SC_OPCODE_EXACT }, + { "LEFT" , SC_OPCODE_LEFT }, + { "RIGHT" , SC_OPCODE_RIGHT }, + { "SEARCH" , SC_OPCODE_SEARCH }, + { "MID" , SC_OPCODE_MID }, + { "LENB" , SC_OPCODE_LENB }, + { "RIGHTB" , SC_OPCODE_RIGHTB }, + { "LEFTB" , SC_OPCODE_LEFTB }, + { "REPLACEB" , SC_OPCODE_REPLACEB }, + { "MIDB" , SC_OPCODE_MIDB }, + { "TEXT" , SC_OPCODE_TEXT }, + { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, + { "REPT" , SC_OPCODE_REPT }, + { "CONCATENATE" , SC_OPCODE_CONCAT }, + { "COM.MICROSOFT.CONCAT" , SC_OPCODE_CONCAT_MS }, + { "COM.MICROSOFT.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, + { "COM.MICROSOFT.IFS" , SC_OPCODE_IFS_MS }, + { "COM.MICROSOFT.SWITCH" , SC_OPCODE_SWITCH_MS }, + { "COM.MICROSOFT.MINIFS" , SC_OPCODE_MINIFS_MS }, + { "COM.MICROSOFT.MAXIFS" , SC_OPCODE_MAXIFS_MS }, + { "MVALUE" , SC_OPCODE_MAT_VALUE }, + { "MDETERM" , SC_OPCODE_MAT_DET }, + { "MINVERSE" , SC_OPCODE_MAT_INV }, + { "MMULT" , SC_OPCODE_MAT_MULT }, + { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, + { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, + { "ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER }, + { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, + { "COM.MICROSOFT.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, + { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, + { "COM.MICROSOFT.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, + { "LEGACY.TDIST" , SC_OPCODE_T_DIST }, + { "COM.MICROSOFT.T.DIST.2T" , SC_OPCODE_T_DIST_2T }, + { "COM.MICROSOFT.T.DIST" , SC_OPCODE_T_DIST_MS }, + { "COM.MICROSOFT.T.DIST.RT" , SC_OPCODE_T_DIST_RT }, + { "LEGACY.FDIST" , SC_OPCODE_F_DIST }, + { "FDIST" , SC_OPCODE_F_DIST_LT }, + { "COM.MICROSOFT.F.DIST.RT" , SC_OPCODE_F_DIST_RT }, + { "LEGACY.CHIDIST" , SC_OPCODE_CHI_DIST }, + { "COM.MICROSOFT.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, + { "WEIBULL" , SC_OPCODE_WEIBULL }, + { "COM.MICROSOFT.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, + { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, + { "COM.MICROSOFT.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, + { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, + { "COM.MICROSOFT.BINOM.INV" , SC_OPCODE_BINOM_INV }, + { "KURT" , SC_OPCODE_KURT }, + { "HARMEAN" , SC_OPCODE_HAR_MEAN }, + { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, + { "STANDARDIZE" , SC_OPCODE_STANDARD }, + { "AVEDEV" , SC_OPCODE_AVE_DEV }, + { "SKEW" , SC_OPCODE_SKEW }, + { "SKEWP" , SC_OPCODE_SKEWP }, + { "DEVSQ" , SC_OPCODE_DEV_SQ }, + { "MEDIAN" , SC_OPCODE_MEDIAN }, + { "MODE" , SC_OPCODE_MODAL_VALUE }, + { "COM.MICROSOFT.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, + { "COM.MICROSOFT.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, + { "ZTEST" , SC_OPCODE_Z_TEST }, + { "COM.MICROSOFT.Z.TEST" , SC_OPCODE_Z_TEST_MS }, + { "COM.MICROSOFT.AGGREGATE" , SC_OPCODE_AGGREGATE }, + { "TTEST" , SC_OPCODE_T_TEST }, + { "COM.MICROSOFT.T.TEST" , SC_OPCODE_T_TEST_MS }, + { "RANK" , SC_OPCODE_RANK }, + { "PERCENTILE" , SC_OPCODE_PERCENTILE }, + { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, + { "COM.MICROSOFT.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, + { "COM.MICROSOFT.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, + { "COM.MICROSOFT.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, + { "COM.MICROSOFT.RANK.EQ" , SC_OPCODE_RANK_EQ }, + { "COM.MICROSOFT.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, + { "COM.MICROSOFT.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, + { "COM.MICROSOFT.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, + { "COM.MICROSOFT.RANK.AVG" , SC_OPCODE_RANK_AVG }, + { "LARGE" , SC_OPCODE_LARGE }, + { "SMALL" , SC_OPCODE_SMALL }, + { "FREQUENCY" , SC_OPCODE_FREQUENCY }, + { "QUARTILE" , SC_OPCODE_QUARTILE }, + { "NORMINV" , SC_OPCODE_NORM_INV }, + { "COM.MICROSOFT.NORM.INV" , SC_OPCODE_NORM_INV_MS }, + { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, + { "COM.MICROSOFT.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, + { "COM.MICROSOFT.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, + { "FTEST" , SC_OPCODE_F_TEST }, + { "COM.MICROSOFT.F.TEST" , SC_OPCODE_F_TEST_MS }, + { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, + { "PROB" , SC_OPCODE_PROB }, + { "CORREL" , SC_OPCODE_CORREL }, + { "COVAR" , SC_OPCODE_COVAR }, + { "COM.MICROSOFT.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, + { "COM.MICROSOFT.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, + { "PEARSON" , SC_OPCODE_PEARSON }, + { "RSQ" , SC_OPCODE_RSQ }, + { "STEYX" , SC_OPCODE_STEYX }, + { "SLOPE" , SC_OPCODE_SLOPE }, + { "INTERCEPT" , SC_OPCODE_INTERCEPT }, + { "TREND" , SC_OPCODE_TREND }, + { "GROWTH" , SC_OPCODE_GROWTH }, + { "LINEST" , SC_OPCODE_LINEST }, + { "LOGEST" , SC_OPCODE_LOGEST }, + { "FORECAST" , SC_OPCODE_FORECAST }, + { "COM.MICROSOFT.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD }, + { "COM.MICROSOFT.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, + { "ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, + { "COM.MICROSOFT.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA }, + { "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, + { "COM.MICROSOFT.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA }, + { "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, + { "COM.MICROSOFT.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, + { "LEGACY.CHIINV" , SC_OPCODE_CHI_INV }, + { "COM.MICROSOFT.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, + { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, + { "COM.MICROSOFT.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, + { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, + { "COM.MICROSOFT.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, + { "TINV" , SC_OPCODE_T_INV }, + { "COM.MICROSOFT.T.INV.2T" , SC_OPCODE_T_INV_2T }, + { "COM.MICROSOFT.T.INV" , SC_OPCODE_T_INV_MS }, + { "LEGACY.FINV" , SC_OPCODE_F_INV }, + { "FINV" , SC_OPCODE_F_INV_LT }, + { "COM.MICROSOFT.F.INV.RT" , SC_OPCODE_F_INV_RT }, + { "LEGACY.CHITEST" , SC_OPCODE_CHI_TEST }, + { "COM.MICROSOFT.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, + { "LOGINV" , SC_OPCODE_LOG_INV }, + { "COM.MICROSOFT.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, + { "MULTIPLE.OPERATIONS" , SC_OPCODE_TABLE_OP }, + { "BETADIST" , SC_OPCODE_BETA_DIST }, + { "BETAINV" , SC_OPCODE_BETA_INV }, + { "COM.MICROSOFT.BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, + { "COM.MICROSOFT.BETA.INV" , SC_OPCODE_BETA_INV_MS }, + { "WEEKNUM" , SC_OPCODE_WEEK }, + { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, + { "ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, + { "ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, + { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, + { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, + { "COM.MICROSOFT.NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, + { "COM.MICROSOFT.WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, + { "#NAME!" , SC_OPCODE_NO_NAME }, + { "ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE }, + { "DDE" , SC_OPCODE_DDE }, + { "BASE" , SC_OPCODE_BASE }, + { "DECIMAL" , SC_OPCODE_DECIMAL }, + { "ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO }, + { "ROMAN" , SC_OPCODE_ROMAN }, + { "ARABIC" , SC_OPCODE_ARABIC }, + { "HYPERLINK" , SC_OPCODE_HYPERLINK }, + { "INFO" , SC_OPCODE_INFO }, + { "COM.MICROSOFT.BAHTTEXT" , SC_OPCODE_BAHTTEXT }, + { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, + { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, + { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, + { "GAMMA" , SC_OPCODE_GAMMA }, + { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, + { "COM.MICROSOFT.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, + { "CHISQINV" , SC_OPCODE_CHISQ_INV }, + { "COM.MICROSOFT.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, + { "BITAND" , SC_OPCODE_BITAND }, + { "BITOR" , SC_OPCODE_BITOR }, + { "BITXOR" , SC_OPCODE_BITXOR }, + { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, + { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, + /* BEGIN defined ERROR.TYPE() values. */ + { "#NULL!" , SC_OPCODE_ERROR_NULL }, + { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, + { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, + { "#REF!" , SC_OPCODE_ERROR_REF }, + { "#NAME?" , SC_OPCODE_ERROR_NAME }, + { "#NUM!" , SC_OPCODE_ERROR_NUM }, + { "#N/A" , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + { "COM.MICROSOFT.FILTERXML" , SC_OPCODE_FILTERXML }, + { "COM.MICROSOFT.WEBSERVICE" , SC_OPCODE_WEBSERVICE }, + { "ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR }, + { "COM.MICROSOFT.ERF.PRECISE" , SC_OPCODE_ERF_MS }, + { "COM.MICROSOFT.ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, + { "COM.MICROSOFT.ENCODEURL" , SC_OPCODE_ENCODEURL }, + { "ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, + { "ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG }, + { nullptr, -1 } +}; + +/** These function names are used in the OOXML XLSX import/export. */ +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] = +{ + { "IF" , SC_OPCODE_IF }, + { "IFERROR" , SC_OPCODE_IF_ERROR }, + { "_xlfn.IFNA" , SC_OPCODE_IF_NA }, + { "CHOOSE" , SC_OPCODE_CHOOSE }, + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + { "[" , SC_OPCODE_TABLE_REF_OPEN }, + { "]" , SC_OPCODE_TABLE_REF_CLOSE }, + { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, + { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, + { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, + { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, + { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { ";" , SC_OPCODE_ARRAY_ROW_SEP }, + { "," , SC_OPCODE_ARRAY_COL_SEP }, + { "," , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "AND" , SC_OPCODE_AND }, + { "OR" , SC_OPCODE_OR }, + { "_xlfn.XOR" , SC_OPCODE_XOR }, + { " " , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "NOT" , SC_OPCODE_NOT }, + { "NEG" , SC_OPCODE_NEG }, + { "-" , SC_OPCODE_NEG_SUB }, + { "PI" , SC_OPCODE_PI }, + { "RAND" , SC_OPCODE_RANDOM }, + { "TRUE" , SC_OPCODE_TRUE }, + { "FALSE" , SC_OPCODE_FALSE }, + { "TODAY" , SC_OPCODE_GET_ACT_DATE }, + { "NOW" , SC_OPCODE_GET_ACT_TIME }, + { "NA" , SC_OPCODE_NO_VALUE }, + { "_xlfn.ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT }, + { "DEGREES" , SC_OPCODE_DEG }, + { "RADIANS" , SC_OPCODE_RAD }, + { "SIN" , SC_OPCODE_SIN }, + { "COS" , SC_OPCODE_COS }, + { "TAN" , SC_OPCODE_TAN }, + { "_xlfn.COT" , SC_OPCODE_COT }, + { "ASIN" , SC_OPCODE_ARC_SIN }, + { "ACOS" , SC_OPCODE_ARC_COS }, + { "ATAN" , SC_OPCODE_ARC_TAN }, + { "_xlfn.ACOT" , SC_OPCODE_ARC_COT }, + { "SINH" , SC_OPCODE_SIN_HYP }, + { "COSH" , SC_OPCODE_COS_HYP }, + { "TANH" , SC_OPCODE_TAN_HYP }, + { "_xlfn.COTH" , SC_OPCODE_COT_HYP }, + { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, + { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, + { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, + { "_xlfn.ACOTH" , SC_OPCODE_ARC_COT_HYP }, + { "_xlfn.CSC" , SC_OPCODE_COSECANT }, + { "_xlfn.SEC" , SC_OPCODE_SECANT }, + { "_xlfn.CSCH" , SC_OPCODE_COSECANT_HYP }, + { "_xlfn.SECH" , SC_OPCODE_SECANT_HYP }, + { "EXP" , SC_OPCODE_EXP }, + { "LN" , SC_OPCODE_LN }, + { "SQRT" , SC_OPCODE_SQRT }, + { "FACT" , SC_OPCODE_FACT }, + { "YEAR" , SC_OPCODE_GET_YEAR }, + { "MONTH" , SC_OPCODE_GET_MONTH }, + { "DAY" , SC_OPCODE_GET_DAY }, + { "HOUR" , SC_OPCODE_GET_HOUR }, + { "MINUTE" , SC_OPCODE_GET_MIN }, + { "SECOND" , SC_OPCODE_GET_SEC }, + { "SIGN" , SC_OPCODE_PLUS_MINUS }, + { "ABS" , SC_OPCODE_ABS }, + { "INT" , SC_OPCODE_INT }, + { "_xlfn.PHI" , SC_OPCODE_PHI }, + { "_xlfn.GAUSS" , SC_OPCODE_GAUSS }, + { "ISBLANK" , SC_OPCODE_IS_EMPTY }, + { "ISTEXT" , SC_OPCODE_IS_STRING }, + { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, + { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, + { "TYPE" , SC_OPCODE_TYPE }, + { "CELL" , SC_OPCODE_CELL }, + { "ISREF" , SC_OPCODE_IS_REF }, + { "ISNUMBER" , SC_OPCODE_IS_VALUE }, + { "_xlfn.ISFORMULA" , SC_OPCODE_IS_FORMULA }, + { "ISNA" , SC_OPCODE_IS_NV }, + { "ISERR" , SC_OPCODE_IS_ERR }, + { "ISERROR" , SC_OPCODE_IS_ERROR }, + { "ISEVEN" , SC_OPCODE_IS_EVEN }, + { "ISODD" , SC_OPCODE_IS_ODD }, + { "N" , SC_OPCODE_N }, + { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, + { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, + { "CODE" , SC_OPCODE_CODE }, + { "TRIM" , SC_OPCODE_TRIM }, + { "UPPER" , SC_OPCODE_UPPER }, + { "PROPER" , SC_OPCODE_PROPER }, + { "LOWER" , SC_OPCODE_LOWER }, + { "LEN" , SC_OPCODE_LEN }, + { "T" , SC_OPCODE_T }, + { "VALUE" , SC_OPCODE_VALUE }, + { "CLEAN" , SC_OPCODE_CLEAN }, + { "CHAR" , SC_OPCODE_CHAR }, + { "JIS" , SC_OPCODE_JIS }, + { "ASC" , SC_OPCODE_ASC }, + { "_xlfn.UNICODE" , SC_OPCODE_UNICODE }, + { "_xlfn.UNICHAR" , SC_OPCODE_UNICHAR }, + { "LOG10" , SC_OPCODE_LOG10 }, + { "EVEN" , SC_OPCODE_EVEN }, + { "ODD" , SC_OPCODE_ODD }, + { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, + { "_xlfn.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, + { "FISHER" , SC_OPCODE_FISHER }, + { "FISHERINV" , SC_OPCODE_FISHER_INV }, + { "NORMSINV" , SC_OPCODE_S_NORM_INV }, + { "_xlfn.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, + { "GAMMALN" , SC_OPCODE_GAMMA_LN }, + { "_xlfn.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, + { "_xlfn.ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, + { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, + { "_xlfn.FORMULATEXT" , SC_OPCODE_FORMULA }, + { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, + { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL_MATH }, + { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL }, + { "CEILING" , SC_OPCODE_CEIL_MS }, + { "_xlfn.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, + { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, + { "FLOOR" , SC_OPCODE_FLOOR_MS }, + { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, + { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR }, + { "_xlfn.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, + { "ROUND" , SC_OPCODE_ROUND }, + { "ROUNDUP" , SC_OPCODE_ROUND_UP }, + { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, + { "TRUNC" , SC_OPCODE_TRUNC }, + { "LOG" , SC_OPCODE_LOG }, + { "POWER" , SC_OPCODE_POWER }, + { "GCD" , SC_OPCODE_GCD }, + { "LCM" , SC_OPCODE_LCM }, + { "MOD" , SC_OPCODE_MOD }, + { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, + { "SUMSQ" , SC_OPCODE_SUM_SQ }, + { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, + { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, + { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, + { "DATE" , SC_OPCODE_GET_DATE }, + { "TIME" , SC_OPCODE_GET_TIME }, + { "_xlfn.DAYS" , SC_OPCODE_GET_DIFF_DATE }, + { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, + { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, + { "MIN" , SC_OPCODE_MIN }, + { "MINA" , SC_OPCODE_MIN_A }, + { "MAX" , SC_OPCODE_MAX }, + { "MAXA" , SC_OPCODE_MAX_A }, + { "SUM" , SC_OPCODE_SUM }, + { "PRODUCT" , SC_OPCODE_PRODUCT }, + { "AVERAGE" , SC_OPCODE_AVERAGE }, + { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, + { "COUNT" , SC_OPCODE_COUNT }, + { "COUNTA" , SC_OPCODE_COUNT_2 }, + { "NPV" , SC_OPCODE_NPV }, + { "IRR" , SC_OPCODE_IRR }, + { "MIRR" , SC_OPCODE_MIRR }, + { "ISPMT" , SC_OPCODE_ISPMT }, + { "VAR" , SC_OPCODE_VAR }, + { "VARA" , SC_OPCODE_VAR_A }, + { "VARP" , SC_OPCODE_VAR_P }, + { "VARPA" , SC_OPCODE_VAR_P_A }, + { "_xlfn.VAR.P" , SC_OPCODE_VAR_P_MS }, + { "_xlfn.VAR.S" , SC_OPCODE_VAR_S }, + { "STDEV" , SC_OPCODE_ST_DEV }, + { "STDEVA" , SC_OPCODE_ST_DEV_A }, + { "STDEVP" , SC_OPCODE_ST_DEV_P }, + { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, + { "_xlfn.STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, + { "_xlfn.STDEV.S" , SC_OPCODE_ST_DEV_S }, + { "B" , SC_OPCODE_B }, + { "NORMDIST" , SC_OPCODE_NORM_DIST }, + { "_xlfn.NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, + { "EXPONDIST" , SC_OPCODE_EXP_DIST }, + { "_xlfn.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, + { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, + { "_xlfn.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, + { "POISSON" , SC_OPCODE_POISSON_DIST }, + { "_xlfn.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, + { "COMBIN" , SC_OPCODE_COMBIN }, + { "_xlfn.COMBINA" , SC_OPCODE_COMBIN_A }, + { "PERMUT" , SC_OPCODE_PERMUT }, + { "_xlfn.PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, + { "PV" , SC_OPCODE_PV }, + { "SYD" , SC_OPCODE_SYD }, + { "DDB" , SC_OPCODE_DDB }, + { "DB" , SC_OPCODE_DB }, + { "VDB" , SC_OPCODE_VBD }, + { "_xlfn.PDURATION" , SC_OPCODE_PDURATION }, + { "SLN" , SC_OPCODE_SLN }, + { "PMT" , SC_OPCODE_PMT }, + { "COLUMNS" , SC_OPCODE_COLUMNS }, + { "ROWS" , SC_OPCODE_ROWS }, + { "_xlfn.SHEETS" , SC_OPCODE_SHEETS }, + { "COLUMN" , SC_OPCODE_COLUMN }, + { "ROW" , SC_OPCODE_ROW }, + { "_xlfn.SHEET" , SC_OPCODE_SHEET }, + { "_xlfn.RRI" , SC_OPCODE_RRI }, + { "FV" , SC_OPCODE_FV }, + { "NPER" , SC_OPCODE_NPER }, + { "RATE" , SC_OPCODE_RATE }, + { "IPMT" , SC_OPCODE_IPMT }, + { "PPMT" , SC_OPCODE_PPMT }, + { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, + { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, + { "EFFECT" , SC_OPCODE_EFFECT }, + { "NOMINAL" , SC_OPCODE_NOMINAL }, + { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, + { "DSUM" , SC_OPCODE_DB_SUM }, + { "DCOUNT" , SC_OPCODE_DB_COUNT }, + { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, + { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, + { "DGET" , SC_OPCODE_DB_GET }, + { "DMAX" , SC_OPCODE_DB_MAX }, + { "DMIN" , SC_OPCODE_DB_MIN }, + { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, + { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, + { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, + { "DVAR" , SC_OPCODE_DB_VAR }, + { "DVARP" , SC_OPCODE_DB_VAR_P }, + { "INDIRECT" , SC_OPCODE_INDIRECT }, + { "ADDRESS" , SC_OPCODE_ADDRESS }, + { "MATCH" , SC_OPCODE_MATCH }, + { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, + { "COUNTIF" , SC_OPCODE_COUNT_IF }, + { "SUMIF" , SC_OPCODE_SUM_IF }, + { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, + { "SUMIFS" , SC_OPCODE_SUM_IFS }, + { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, + { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, + { "LOOKUP" , SC_OPCODE_LOOKUP }, + { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, + { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, + { "_xlfn.ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) + { "OFFSET" , SC_OPCODE_OFFSET }, + { "INDEX" , SC_OPCODE_INDEX }, + { "AREAS" , SC_OPCODE_AREAS }, + { "DOLLAR" , SC_OPCODE_CURRENCY }, + { "REPLACE" , SC_OPCODE_REPLACE }, + { "FIXED" , SC_OPCODE_FIXED }, + { "FIND" , SC_OPCODE_FIND }, + { "EXACT" , SC_OPCODE_EXACT }, + { "LEFT" , SC_OPCODE_LEFT }, + { "RIGHT" , SC_OPCODE_RIGHT }, + { "SEARCH" , SC_OPCODE_SEARCH }, + { "MID" , SC_OPCODE_MID }, + { "LENB" , SC_OPCODE_LENB }, + { "RIGHTB" , SC_OPCODE_RIGHTB }, + { "LEFTB" , SC_OPCODE_LEFTB }, + { "REPLACEB" , SC_OPCODE_REPLACEB }, + { "MIDB" , SC_OPCODE_MIDB }, + { "TEXT" , SC_OPCODE_TEXT }, + { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, + { "REPT" , SC_OPCODE_REPT }, + { "CONCATENATE" , SC_OPCODE_CONCAT }, + { "_xlfn.CONCAT" , SC_OPCODE_CONCAT_MS }, + { "_xlfn.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, + { "_xlfn.IFS" , SC_OPCODE_IFS_MS }, + { "_xlfn.SWITCH" , SC_OPCODE_SWITCH_MS }, + { "_xlfn.MINIFS" , SC_OPCODE_MINIFS_MS }, + { "_xlfn.MAXIFS" , SC_OPCODE_MAXIFS_MS }, + { "MVALUE" , SC_OPCODE_MAT_VALUE }, + { "MDETERM" , SC_OPCODE_MAT_DET }, + { "MINVERSE" , SC_OPCODE_MAT_INV }, + { "MMULT" , SC_OPCODE_MAT_MULT }, + { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, + { "_xlfn.MUNIT" , SC_OPCODE_MATRIX_UNIT }, + { "_xlfn.ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER }, + { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, + { "_xlfn.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, + { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, + { "_xlfn.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, + { "TDIST" , SC_OPCODE_T_DIST }, + { "_xlfn.T.DIST.2T" , SC_OPCODE_T_DIST_2T }, + { "_xlfn.T.DIST" , SC_OPCODE_T_DIST_MS }, + { "_xlfn.T.DIST.RT" , SC_OPCODE_T_DIST_RT }, + { "FDIST" , SC_OPCODE_F_DIST }, + { "_xlfn.F.DIST" , SC_OPCODE_F_DIST_LT }, + { "_xlfn.F.DIST.RT" , SC_OPCODE_F_DIST_RT }, + { "CHIDIST" , SC_OPCODE_CHI_DIST }, + { "_xlfn.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, + { "WEIBULL" , SC_OPCODE_WEIBULL }, + { "_xlfn.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, + { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, + { "_xlfn.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, + { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, + { "_xlfn.BINOM.INV" , SC_OPCODE_BINOM_INV }, + { "KURT" , SC_OPCODE_KURT }, + { "HARMEAN" , SC_OPCODE_HAR_MEAN }, + { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, + { "STANDARDIZE" , SC_OPCODE_STANDARD }, + { "AVEDEV" , SC_OPCODE_AVE_DEV }, + { "SKEW" , SC_OPCODE_SKEW }, + { "_xlfn.SKEW.P" , SC_OPCODE_SKEWP }, + { "DEVSQ" , SC_OPCODE_DEV_SQ }, + { "MEDIAN" , SC_OPCODE_MEDIAN }, + { "MODE" , SC_OPCODE_MODAL_VALUE }, + { "_xlfn.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, + { "_xlfn.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, + { "ZTEST" , SC_OPCODE_Z_TEST }, + { "_xlfn.Z.TEST" , SC_OPCODE_Z_TEST_MS }, + { "_xlfn.AGGREGATE" , SC_OPCODE_AGGREGATE }, + { "TTEST" , SC_OPCODE_T_TEST }, + { "_xlfn.T.TEST" , SC_OPCODE_T_TEST_MS }, + { "RANK" , SC_OPCODE_RANK }, + { "PERCENTILE" , SC_OPCODE_PERCENTILE }, + { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, + { "_xlfn.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, + { "_xlfn.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, + { "_xlfn.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, + { "_xlfn.RANK.EQ" , SC_OPCODE_RANK_EQ }, + { "_xlfn.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, + { "_xlfn.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, + { "_xlfn.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, + { "_xlfn.RANK.AVG" , SC_OPCODE_RANK_AVG }, + { "LARGE" , SC_OPCODE_LARGE }, + { "SMALL" , SC_OPCODE_SMALL }, + { "FREQUENCY" , SC_OPCODE_FREQUENCY }, + { "QUARTILE" , SC_OPCODE_QUARTILE }, + { "NORMINV" , SC_OPCODE_NORM_INV }, + { "_xlfn.NORM.INV" , SC_OPCODE_NORM_INV_MS }, + { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, + { "_xlfn.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, + { "_xlfn.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, + { "FTEST" , SC_OPCODE_F_TEST }, + { "_xlfn.F.TEST" , SC_OPCODE_F_TEST_MS }, + { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, + { "PROB" , SC_OPCODE_PROB }, + { "CORREL" , SC_OPCODE_CORREL }, + { "COVAR" , SC_OPCODE_COVAR }, + { "_xlfn.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, + { "_xlfn.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, + { "PEARSON" , SC_OPCODE_PEARSON }, + { "RSQ" , SC_OPCODE_RSQ }, + { "STEYX" , SC_OPCODE_STEYX }, + { "SLOPE" , SC_OPCODE_SLOPE }, + { "INTERCEPT" , SC_OPCODE_INTERCEPT }, + { "TREND" , SC_OPCODE_TREND }, + { "GROWTH" , SC_OPCODE_GROWTH }, + { "LINEST" , SC_OPCODE_LINEST }, + { "LOGEST" , SC_OPCODE_LOGEST }, + { "FORECAST" , SC_OPCODE_FORECAST }, + { "_xlfn.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD }, + { "_xlfn.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, + { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, + { "_xlfn.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA }, + { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, + { "_xlfn.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA }, + { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, + { "_xlfn.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, + { "CHIINV" , SC_OPCODE_CHI_INV }, + { "_xlfn.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, + { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, + { "_xlfn.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, + { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, + { "_xlfn.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, + { "TINV" , SC_OPCODE_T_INV }, + { "_xlfn.T.INV.2T" , SC_OPCODE_T_INV_2T }, + { "_xlfn.T.INV" , SC_OPCODE_T_INV_MS }, + { "FINV" , SC_OPCODE_F_INV }, + { "_xlfn.F.INV" , SC_OPCODE_F_INV_LT }, + { "_xlfn.F.INV.RT" , SC_OPCODE_F_INV_RT }, + { "CHITEST" , SC_OPCODE_CHI_TEST }, + { "_xlfn.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, + { "LOGINV" , SC_OPCODE_LOG_INV }, + { "_xlfn.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, + { "TABLE" , SC_OPCODE_TABLE_OP }, + { "BETADIST" , SC_OPCODE_BETA_DIST }, + { "BETAINV" , SC_OPCODE_BETA_INV }, + { "_xlfn.BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, + { "_xlfn.BETA.INV" , SC_OPCODE_BETA_INV_MS }, + { "WEEKNUM" , SC_OPCODE_WEEK }, + { "_xlfn.ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, + { "_xlfn.ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, + { "_xlfn.ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, + { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, + { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, + { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, + { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, + { "#NAME!" , SC_OPCODE_NO_NAME }, + { "_xlfn.ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE }, + { "DDE" , SC_OPCODE_DDE }, + { "_xlfn.BASE" , SC_OPCODE_BASE }, + { "_xlfn.DECIMAL" , SC_OPCODE_DECIMAL }, + { "_xlfn.ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO }, + { "ROMAN" , SC_OPCODE_ROMAN }, + { "_xlfn.ARABIC" , SC_OPCODE_ARABIC }, + { "HYPERLINK" , SC_OPCODE_HYPERLINK }, + { "INFO" , SC_OPCODE_INFO }, + { "_xlfn.BAHTTEXT" , SC_OPCODE_BAHTTEXT }, + { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, + { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, + { "_xlfn.NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, + { "_xlfn.GAMMA" , SC_OPCODE_GAMMA }, + { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, + { "_xlfn.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, + { "CHISQINV" , SC_OPCODE_CHISQ_INV }, + { "_xlfn.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, + { "_xlfn.BITAND" , SC_OPCODE_BITAND }, + { "_xlfn.BITOR" , SC_OPCODE_BITOR }, + { "_xlfn.BITXOR" , SC_OPCODE_BITXOR }, + { "_xlfn.BITRSHIFT" , SC_OPCODE_BITRSHIFT }, + { "_xlfn.BITLSHIFT" , SC_OPCODE_BITLSHIFT }, + { "#NULL!" , SC_OPCODE_ERROR_NULL }, + { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, + { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, + { "#REF!" , SC_OPCODE_ERROR_REF }, + { "#NAME?" , SC_OPCODE_ERROR_NAME }, + { "#NUM!" , SC_OPCODE_ERROR_NUM }, + { "#N/A" , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + { "_xlfn.FILTERXML" , SC_OPCODE_FILTERXML }, + { "_xlfn.WEBSERVICE" , SC_OPCODE_WEBSERVICE }, + { "_xlfn.ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR }, + { "_xlfn.ERF.PRECISE" , SC_OPCODE_ERF_MS }, + { "_xlfn.ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, + { "_xlfn.ENCODEURL" , SC_OPCODE_ENCODEURL }, + { "_xlfn.ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, + { "_xlfn.ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG }, + { nullptr, -1 } +}; + +/** These English names are used to store/load ODF v1.0/v1.1. */ +// DO NOT CHANGE NAMES! Only add functions. +// If there is a reason for another name for some function then add an +// *additional* name to be recognized to sc/source/core/tool/compiler.cxx +// ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block. +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] = +{ + { "IF" , SC_OPCODE_IF }, + { "IFERROR" , SC_OPCODE_IF_ERROR }, + { "IFNA" , SC_OPCODE_IF_NA }, + { "CHOOSE" , SC_OPCODE_CHOOSE }, + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + { "[" , SC_OPCODE_TABLE_REF_OPEN }, + { "]" , SC_OPCODE_TABLE_REF_CLOSE }, + { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, + { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, + { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, + { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, + { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { "|" , SC_OPCODE_ARRAY_ROW_SEP }, + { ";" , SC_OPCODE_ARRAY_COL_SEP }, + { ";" , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "AND" , SC_OPCODE_AND }, + { "OR" , SC_OPCODE_OR }, + { "XOR" , SC_OPCODE_XOR }, + { "!" , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "NOT" , SC_OPCODE_NOT }, + { "NEG" , SC_OPCODE_NEG }, + { "-" , SC_OPCODE_NEG_SUB }, + { "PI" , SC_OPCODE_PI }, + { "RAND" , SC_OPCODE_RANDOM }, + { "TRUE" , SC_OPCODE_TRUE }, + { "FALSE" , SC_OPCODE_FALSE }, + { "TODAY" , SC_OPCODE_GET_ACT_DATE }, + { "NOW" , SC_OPCODE_GET_ACT_TIME }, + { "NA" , SC_OPCODE_NO_VALUE }, + { "CURRENT" , SC_OPCODE_CURRENT }, + { "DEGREES" , SC_OPCODE_DEG }, + { "RADIANS" , SC_OPCODE_RAD }, + { "SIN" , SC_OPCODE_SIN }, + { "COS" , SC_OPCODE_COS }, + { "TAN" , SC_OPCODE_TAN }, + { "COT" , SC_OPCODE_COT }, + { "ASIN" , SC_OPCODE_ARC_SIN }, + { "ACOS" , SC_OPCODE_ARC_COS }, + { "ATAN" , SC_OPCODE_ARC_TAN }, + { "ACOT" , SC_OPCODE_ARC_COT }, + { "SINH" , SC_OPCODE_SIN_HYP }, + { "COSH" , SC_OPCODE_COS_HYP }, + { "TANH" , SC_OPCODE_TAN_HYP }, + { "COTH" , SC_OPCODE_COT_HYP }, + { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, + { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, + { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, + { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, + { "CSC" , SC_OPCODE_COSECANT }, + { "SEC" , SC_OPCODE_SECANT }, + { "CSCH" , SC_OPCODE_COSECANT_HYP }, + { "SECH" , SC_OPCODE_SECANT_HYP }, + { "EXP" , SC_OPCODE_EXP }, + { "LN" , SC_OPCODE_LN }, + { "SQRT" , SC_OPCODE_SQRT }, + { "FACT" , SC_OPCODE_FACT }, + { "YEAR" , SC_OPCODE_GET_YEAR }, + { "MONTH" , SC_OPCODE_GET_MONTH }, + { "DAY" , SC_OPCODE_GET_DAY }, + { "HOUR" , SC_OPCODE_GET_HOUR }, + { "MINUTE" , SC_OPCODE_GET_MIN }, + { "SECOND" , SC_OPCODE_GET_SEC }, + { "SIGN" , SC_OPCODE_PLUS_MINUS }, + { "ABS" , SC_OPCODE_ABS }, + { "INT" , SC_OPCODE_INT }, + { "PHI" , SC_OPCODE_PHI }, + { "GAUSS" , SC_OPCODE_GAUSS }, + { "ISBLANK" , SC_OPCODE_IS_EMPTY }, + { "ISTEXT" , SC_OPCODE_IS_STRING }, + { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, + { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, + { "TYPE" , SC_OPCODE_TYPE }, + { "CELL" , SC_OPCODE_CELL }, + { "ISREF" , SC_OPCODE_IS_REF }, + { "ISNUMBER" , SC_OPCODE_IS_VALUE }, + { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, + { "ISNA" , SC_OPCODE_IS_NV }, + { "ISERR" , SC_OPCODE_IS_ERR }, + { "ISERROR" , SC_OPCODE_IS_ERROR }, + { "ISEVEN" , SC_OPCODE_IS_EVEN }, + { "ISODD" , SC_OPCODE_IS_ODD }, + { "N" , SC_OPCODE_N }, + { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, + { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, + { "CODE" , SC_OPCODE_CODE }, + { "TRIM" , SC_OPCODE_TRIM }, + { "UPPER" , SC_OPCODE_UPPER }, + { "PROPER" , SC_OPCODE_PROPER }, + { "LOWER" , SC_OPCODE_LOWER }, + { "LEN" , SC_OPCODE_LEN }, + { "T" , SC_OPCODE_T }, + { "VALUE" , SC_OPCODE_VALUE }, + { "CLEAN" , SC_OPCODE_CLEAN }, + { "CHAR" , SC_OPCODE_CHAR }, + { "JIS" , SC_OPCODE_JIS }, + { "ASC" , SC_OPCODE_ASC }, + { "UNICODE" , SC_OPCODE_UNICODE }, + { "UNICHAR" , SC_OPCODE_UNICHAR }, + { "LOG10" , SC_OPCODE_LOG10 }, + { "EVEN" , SC_OPCODE_EVEN }, + { "ODD" , SC_OPCODE_ODD }, + { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, + { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, + { "FISHER" , SC_OPCODE_FISHER }, + { "FISHERINV" , SC_OPCODE_FISHER_INV }, + { "NORMSINV" , SC_OPCODE_S_NORM_INV }, + { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, + { "GAMMALN" , SC_OPCODE_GAMMA_LN }, + { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, + { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, + { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, + { "FORMULA" , SC_OPCODE_FORMULA }, + { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, + { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, + { "CEILING" , SC_OPCODE_CEIL }, + { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, + { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, + { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, + { "FLOOR" , SC_OPCODE_FLOOR }, + { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, + { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, + { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, + { "ROUND" , SC_OPCODE_ROUND }, + { "ROUNDUP" , SC_OPCODE_ROUND_UP }, + { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, + { "TRUNC" , SC_OPCODE_TRUNC }, + { "LOG" , SC_OPCODE_LOG }, + { "POWER" , SC_OPCODE_POWER }, + { "GCD" , SC_OPCODE_GCD }, + { "LCM" , SC_OPCODE_LCM }, + { "MOD" , SC_OPCODE_MOD }, + { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, + { "SUMSQ" , SC_OPCODE_SUM_SQ }, + { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, + { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, + { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, + { "DATE" , SC_OPCODE_GET_DATE }, + { "TIME" , SC_OPCODE_GET_TIME }, + { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, + { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, + { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, + { "MIN" , SC_OPCODE_MIN }, + { "MINA" , SC_OPCODE_MIN_A }, + { "MAX" , SC_OPCODE_MAX }, + { "MAXA" , SC_OPCODE_MAX_A }, + { "SUM" , SC_OPCODE_SUM }, + { "PRODUCT" , SC_OPCODE_PRODUCT }, + { "AVERAGE" , SC_OPCODE_AVERAGE }, + { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, + { "COUNT" , SC_OPCODE_COUNT }, + { "COUNTA" , SC_OPCODE_COUNT_2 }, + { "NPV" , SC_OPCODE_NPV }, + { "IRR" , SC_OPCODE_IRR }, + { "MIRR" , SC_OPCODE_MIRR }, + { "ISPMT" , SC_OPCODE_ISPMT }, + { "VAR" , SC_OPCODE_VAR }, + { "VARA" , SC_OPCODE_VAR_A }, + { "VARP" , SC_OPCODE_VAR_P }, + { "VARPA" , SC_OPCODE_VAR_P_A }, + { "VAR.P" , SC_OPCODE_VAR_P_MS }, + { "VAR.S" , SC_OPCODE_VAR_S }, + { "STDEV" , SC_OPCODE_ST_DEV }, + { "STDEVA" , SC_OPCODE_ST_DEV_A }, + { "STDEVP" , SC_OPCODE_ST_DEV_P }, + { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, + { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, + { "STDEV.S" , SC_OPCODE_ST_DEV_S }, + { "B" , SC_OPCODE_B }, + { "NORMDIST" , SC_OPCODE_NORM_DIST }, + { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, + { "EXPONDIST" , SC_OPCODE_EXP_DIST }, + { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, + { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, + { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, + { "POISSON" , SC_OPCODE_POISSON_DIST }, + { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, + { "COMBIN" , SC_OPCODE_COMBIN }, + { "COMBINA" , SC_OPCODE_COMBIN_A }, + { "PERMUT" , SC_OPCODE_PERMUT }, + { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, + { "PV" , SC_OPCODE_PV }, + { "SYD" , SC_OPCODE_SYD }, + { "DDB" , SC_OPCODE_DDB }, + { "DB" , SC_OPCODE_DB }, + { "VDB" , SC_OPCODE_VBD }, + { "DURATION" , SC_OPCODE_PDURATION }, // wrong but ODF1.1, keep it. + { "SLN" , SC_OPCODE_SLN }, + { "PMT" , SC_OPCODE_PMT }, + { "COLUMNS" , SC_OPCODE_COLUMNS }, + { "ROWS" , SC_OPCODE_ROWS }, + { "SHEETS" , SC_OPCODE_SHEETS }, + { "COLUMN" , SC_OPCODE_COLUMN }, + { "ROW" , SC_OPCODE_ROW }, + { "SHEET" , SC_OPCODE_SHEET }, + { "ZGZ" , SC_OPCODE_RRI }, + { "FV" , SC_OPCODE_FV }, + { "NPER" , SC_OPCODE_NPER }, + { "RATE" , SC_OPCODE_RATE }, + { "IPMT" , SC_OPCODE_IPMT }, + { "PPMT" , SC_OPCODE_PPMT }, + { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, + { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, + { "EFFECTIVE" , SC_OPCODE_EFFECT }, + { "NOMINAL" , SC_OPCODE_NOMINAL }, + { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, + { "DSUM" , SC_OPCODE_DB_SUM }, + { "DCOUNT" , SC_OPCODE_DB_COUNT }, + { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, + { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, + { "DGET" , SC_OPCODE_DB_GET }, + { "DMAX" , SC_OPCODE_DB_MAX }, + { "DMIN" , SC_OPCODE_DB_MIN }, + { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, + { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, + { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, + { "DVAR" , SC_OPCODE_DB_VAR }, + { "DVARP" , SC_OPCODE_DB_VAR_P }, + { "INDIRECT" , SC_OPCODE_INDIRECT }, + { "ADDRESS" , SC_OPCODE_ADDRESS }, + { "MATCH" , SC_OPCODE_MATCH }, + { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, + { "COUNTIF" , SC_OPCODE_COUNT_IF }, + { "SUMIF" , SC_OPCODE_SUM_IF }, + { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, + { "SUMIFS" , SC_OPCODE_SUM_IFS }, + { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, + { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, + { "LOOKUP" , SC_OPCODE_LOOKUP }, + { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, + { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, + { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) + { "OFFSET" , SC_OPCODE_OFFSET }, + { "INDEX" , SC_OPCODE_INDEX }, + { "AREAS" , SC_OPCODE_AREAS }, + { "DOLLAR" , SC_OPCODE_CURRENCY }, + { "REPLACE" , SC_OPCODE_REPLACE }, + { "FIXED" , SC_OPCODE_FIXED }, + { "FIND" , SC_OPCODE_FIND }, + { "EXACT" , SC_OPCODE_EXACT }, + { "LEFT" , SC_OPCODE_LEFT }, + { "RIGHT" , SC_OPCODE_RIGHT }, + { "SEARCH" , SC_OPCODE_SEARCH }, + { "MID" , SC_OPCODE_MID }, + { "LENB" , SC_OPCODE_LENB }, + { "RIGHTB" , SC_OPCODE_RIGHTB }, + { "LEFTB" , SC_OPCODE_LEFTB }, + { "REPLACEB" , SC_OPCODE_REPLACEB }, + { "MIDB" , SC_OPCODE_MIDB }, + { "TEXT" , SC_OPCODE_TEXT }, + { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, + { "REPT" , SC_OPCODE_REPT }, + { "CONCATENATE" , SC_OPCODE_CONCAT }, + { "CONCAT" , SC_OPCODE_CONCAT_MS }, + { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, + { "IFS" , SC_OPCODE_IFS_MS }, + { "SWITCH" , SC_OPCODE_SWITCH_MS }, + { "MINIFS" , SC_OPCODE_MINIFS_MS }, + { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, + { "MVALUE" , SC_OPCODE_MAT_VALUE }, + { "MDETERM" , SC_OPCODE_MAT_DET }, + { "MINVERSE" , SC_OPCODE_MAT_INV }, + { "MMULT" , SC_OPCODE_MAT_MULT }, + { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, + { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, + { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, + { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, + { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, + { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, + { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, + { "TDIST" , SC_OPCODE_T_DIST }, + { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, + { "T.DIST" , SC_OPCODE_T_DIST_MS }, + { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, + { "FDIST" , SC_OPCODE_F_DIST }, + { "F.DIST" , SC_OPCODE_F_DIST_LT }, + { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, + { "CHIDIST" , SC_OPCODE_CHI_DIST }, + { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, + { "WEIBULL" , SC_OPCODE_WEIBULL }, + { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, + { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, + { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, + { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, + { "BINOM.INV" , SC_OPCODE_BINOM_INV }, + { "KURT" , SC_OPCODE_KURT }, + { "HARMEAN" , SC_OPCODE_HAR_MEAN }, + { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, + { "STANDARDIZE" , SC_OPCODE_STANDARD }, + { "AVEDEV" , SC_OPCODE_AVE_DEV }, + { "SKEW" , SC_OPCODE_SKEW }, + { "SKEWP" , SC_OPCODE_SKEWP }, + { "DEVSQ" , SC_OPCODE_DEV_SQ }, + { "MEDIAN" , SC_OPCODE_MEDIAN }, + { "MODE" , SC_OPCODE_MODAL_VALUE }, + { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, + { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, + { "ZTEST" , SC_OPCODE_Z_TEST }, + { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, + { "AGGREGATE" , SC_OPCODE_AGGREGATE }, + { "TTEST" , SC_OPCODE_T_TEST }, + { "T.TEST" , SC_OPCODE_T_TEST_MS }, + { "RANK" , SC_OPCODE_RANK }, + { "PERCENTILE" , SC_OPCODE_PERCENTILE }, + { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, + { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, + { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, + { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, + { "RANK.EQ" , SC_OPCODE_RANK_EQ }, + { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, + { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, + { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, + { "RANK.AVG" , SC_OPCODE_RANK_AVG }, + { "LARGE" , SC_OPCODE_LARGE }, + { "SMALL" , SC_OPCODE_SMALL }, + { "FREQUENCY" , SC_OPCODE_FREQUENCY }, + { "QUARTILE" , SC_OPCODE_QUARTILE }, + { "NORMINV" , SC_OPCODE_NORM_INV }, + { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, + { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, + { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, + { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, + { "FTEST" , SC_OPCODE_F_TEST }, + { "F.TEST" , SC_OPCODE_F_TEST_MS }, + { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, + { "PROB" , SC_OPCODE_PROB }, + { "CORREL" , SC_OPCODE_CORREL }, + { "COVAR" , SC_OPCODE_COVAR }, + { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, + { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, + { "PEARSON" , SC_OPCODE_PEARSON }, + { "RSQ" , SC_OPCODE_RSQ }, + { "STEYX" , SC_OPCODE_STEYX }, + { "SLOPE" , SC_OPCODE_SLOPE }, + { "INTERCEPT" , SC_OPCODE_INTERCEPT }, + { "TREND" , SC_OPCODE_TREND }, + { "GROWTH" , SC_OPCODE_GROWTH }, + { "LINEST" , SC_OPCODE_LINEST }, + { "LOGEST" , SC_OPCODE_LOGEST }, + { "FORECAST" , SC_OPCODE_FORECAST }, + { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, + { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, + { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, + { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, + { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, + { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, + { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, + { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, + { "CHIINV" , SC_OPCODE_CHI_INV }, + { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, + { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, + { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, + { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, + { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, + { "TINV" , SC_OPCODE_T_INV }, + { "T.INV.2T" , SC_OPCODE_T_INV_2T }, + { "T.INV" , SC_OPCODE_T_INV_MS }, + { "FINV" , SC_OPCODE_F_INV }, + { "F.INV" , SC_OPCODE_F_INV_LT }, + { "F.INV.RT" , SC_OPCODE_F_INV_RT }, + { "CHITEST" , SC_OPCODE_CHI_TEST }, + { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, + { "LOGINV" , SC_OPCODE_LOG_INV }, + { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, + { "TABLE" , SC_OPCODE_TABLE_OP }, + { "BETADIST" , SC_OPCODE_BETA_DIST }, + { "BETAINV" , SC_OPCODE_BETA_INV }, + { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, + { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, + { "WEEKNUM" , SC_OPCODE_WEEK }, + { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, + { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, + { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, + { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, + { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, + { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, + { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, + { "#NAME!" , SC_OPCODE_NO_NAME }, + { "STYLE" , SC_OPCODE_STYLE }, + { "DDE" , SC_OPCODE_DDE }, + { "BASE" , SC_OPCODE_BASE }, + { "DECIMAL" , SC_OPCODE_DECIMAL }, + { "CONVERT" , SC_OPCODE_CONVERT_OOO }, // wrong but ODF1.1, keep it + { "ROMAN" , SC_OPCODE_ROMAN }, + { "ARABIC" , SC_OPCODE_ARABIC }, + { "HYPERLINK" , SC_OPCODE_HYPERLINK }, + { "INFO" , SC_OPCODE_INFO }, + { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, + { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, + { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, + { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, + { "GAMMA" , SC_OPCODE_GAMMA }, + { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, + { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, + { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, + { "CHISQINV" , SC_OPCODE_CHISQ_INV }, + { "BITAND" , SC_OPCODE_BITAND }, + { "BITOR" , SC_OPCODE_BITOR }, + { "BITXOR" , SC_OPCODE_BITXOR }, + { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, + { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, + /* BEGIN defined ERROR.TYPE() values. */ + { "#NULL!" , SC_OPCODE_ERROR_NULL }, + { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, + { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, + { "#REF!" , SC_OPCODE_ERROR_REF }, + { "#NAME?" , SC_OPCODE_ERROR_NAME }, + { "#NUM!" , SC_OPCODE_ERROR_NUM }, + { "#N/A" , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + { "FILTERXML" , SC_OPCODE_FILTERXML }, + { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, + { "COLOR" , SC_OPCODE_COLOR }, + { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, + { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, + { "ENCODEURL" , SC_OPCODE_ENCODEURL }, + { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, + { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, + { nullptr, -1 } +}; + +/** These English names are used for XFunctionAccess API. */ +// DO NOT CHANGE NAMES! Only add functions. +// If there is a reason for another name for some function then add an +// *additional* name to be recognized to sc/source/core/tool/compiler.cxx +// ScCompiler::IsOpCode(). +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] = +{ + { "IF" , SC_OPCODE_IF }, + { "IFERROR" , SC_OPCODE_IF_ERROR }, + { "IFNA" , SC_OPCODE_IF_NA }, + { "CHOOSE" , SC_OPCODE_CHOOSE }, + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + { "[" , SC_OPCODE_TABLE_REF_OPEN }, + { "]" , SC_OPCODE_TABLE_REF_CLOSE }, + { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, + { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, + { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, + { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, + { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { "|" , SC_OPCODE_ARRAY_ROW_SEP }, + { ";" , SC_OPCODE_ARRAY_COL_SEP }, + { ";" , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "AND" , SC_OPCODE_AND }, + { "OR" , SC_OPCODE_OR }, + { "XOR" , SC_OPCODE_XOR }, + { "!" , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "NOT" , SC_OPCODE_NOT }, + { "NEG" , SC_OPCODE_NEG }, + { "-" , SC_OPCODE_NEG_SUB }, + { "PI" , SC_OPCODE_PI }, + { "RAND" , SC_OPCODE_RANDOM }, + { "TRUE" , SC_OPCODE_TRUE }, + { "FALSE" , SC_OPCODE_FALSE }, + { "TODAY" , SC_OPCODE_GET_ACT_DATE }, + { "NOW" , SC_OPCODE_GET_ACT_TIME }, + { "NA" , SC_OPCODE_NO_VALUE }, + { "CURRENT" , SC_OPCODE_CURRENT }, + { "DEGREES" , SC_OPCODE_DEG }, + { "RADIANS" , SC_OPCODE_RAD }, + { "SIN" , SC_OPCODE_SIN }, + { "COS" , SC_OPCODE_COS }, + { "TAN" , SC_OPCODE_TAN }, + { "COT" , SC_OPCODE_COT }, + { "ASIN" , SC_OPCODE_ARC_SIN }, + { "ACOS" , SC_OPCODE_ARC_COS }, + { "ATAN" , SC_OPCODE_ARC_TAN }, + { "ACOT" , SC_OPCODE_ARC_COT }, + { "SINH" , SC_OPCODE_SIN_HYP }, + { "COSH" , SC_OPCODE_COS_HYP }, + { "TANH" , SC_OPCODE_TAN_HYP }, + { "COTH" , SC_OPCODE_COT_HYP }, + { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, + { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, + { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, + { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, + { "CSC" , SC_OPCODE_COSECANT }, + { "SEC" , SC_OPCODE_SECANT }, + { "CSCH" , SC_OPCODE_COSECANT_HYP }, + { "SECH" , SC_OPCODE_SECANT_HYP }, + { "EXP" , SC_OPCODE_EXP }, + { "LN" , SC_OPCODE_LN }, + { "SQRT" , SC_OPCODE_SQRT }, + { "FACT" , SC_OPCODE_FACT }, + { "YEAR" , SC_OPCODE_GET_YEAR }, + { "MONTH" , SC_OPCODE_GET_MONTH }, + { "DAY" , SC_OPCODE_GET_DAY }, + { "HOUR" , SC_OPCODE_GET_HOUR }, + { "MINUTE" , SC_OPCODE_GET_MIN }, + { "SECOND" , SC_OPCODE_GET_SEC }, + { "SIGN" , SC_OPCODE_PLUS_MINUS }, + { "ABS" , SC_OPCODE_ABS }, + { "INT" , SC_OPCODE_INT }, + { "PHI" , SC_OPCODE_PHI }, + { "GAUSS" , SC_OPCODE_GAUSS }, + { "ISBLANK" , SC_OPCODE_IS_EMPTY }, + { "ISTEXT" , SC_OPCODE_IS_STRING }, + { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, + { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, + { "TYPE" , SC_OPCODE_TYPE }, + { "CELL" , SC_OPCODE_CELL }, + { "ISREF" , SC_OPCODE_IS_REF }, + { "ISNUMBER" , SC_OPCODE_IS_VALUE }, + { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, + { "ISNA" , SC_OPCODE_IS_NV }, + { "ISERR" , SC_OPCODE_IS_ERR }, + { "ISERROR" , SC_OPCODE_IS_ERROR }, + { "ISEVEN" , SC_OPCODE_IS_EVEN }, + { "ISODD" , SC_OPCODE_IS_ODD }, + { "N" , SC_OPCODE_N }, + { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, + { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, + { "CODE" , SC_OPCODE_CODE }, + { "TRIM" , SC_OPCODE_TRIM }, + { "UPPER" , SC_OPCODE_UPPER }, + { "PROPER" , SC_OPCODE_PROPER }, + { "LOWER" , SC_OPCODE_LOWER }, + { "LEN" , SC_OPCODE_LEN }, + { "T" , SC_OPCODE_T }, + { "VALUE" , SC_OPCODE_VALUE }, + { "CLEAN" , SC_OPCODE_CLEAN }, + { "CHAR" , SC_OPCODE_CHAR }, + { "JIS" , SC_OPCODE_JIS }, + { "ASC" , SC_OPCODE_ASC }, + { "UNICODE" , SC_OPCODE_UNICODE }, + { "UNICHAR" , SC_OPCODE_UNICHAR }, + { "LOG10" , SC_OPCODE_LOG10 }, + { "EVEN" , SC_OPCODE_EVEN }, + { "ODD" , SC_OPCODE_ODD }, + { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, + { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, + { "FISHER" , SC_OPCODE_FISHER }, + { "FISHERINV" , SC_OPCODE_FISHER_INV }, + { "NORMSINV" , SC_OPCODE_S_NORM_INV }, + { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, + { "GAMMALN" , SC_OPCODE_GAMMA_LN }, + { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, + { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, + { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, + { "FORMULA" , SC_OPCODE_FORMULA }, + { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, + { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, + { "CEILING" , SC_OPCODE_CEIL }, + { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, + { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, + { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, + { "FLOOR" , SC_OPCODE_FLOOR }, + { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, + { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, + { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, + { "ROUND" , SC_OPCODE_ROUND }, + { "ROUNDUP" , SC_OPCODE_ROUND_UP }, + { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, + { "TRUNC" , SC_OPCODE_TRUNC }, + { "LOG" , SC_OPCODE_LOG }, + { "POWER" , SC_OPCODE_POWER }, + { "GCD" , SC_OPCODE_GCD }, + { "LCM" , SC_OPCODE_LCM }, + { "MOD" , SC_OPCODE_MOD }, + { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, + { "SUMSQ" , SC_OPCODE_SUM_SQ }, + { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, + { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, + { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, + { "DATE" , SC_OPCODE_GET_DATE }, + { "TIME" , SC_OPCODE_GET_TIME }, + { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, + { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, + { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, + { "MIN" , SC_OPCODE_MIN }, + { "MINA" , SC_OPCODE_MIN_A }, + { "MAX" , SC_OPCODE_MAX }, + { "MAXA" , SC_OPCODE_MAX_A }, + { "SUM" , SC_OPCODE_SUM }, + { "PRODUCT" , SC_OPCODE_PRODUCT }, + { "AVERAGE" , SC_OPCODE_AVERAGE }, + { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, + { "COUNT" , SC_OPCODE_COUNT }, + { "COUNTA" , SC_OPCODE_COUNT_2 }, + { "NPV" , SC_OPCODE_NPV }, + { "IRR" , SC_OPCODE_IRR }, + { "MIRR" , SC_OPCODE_MIRR }, + { "ISPMT" , SC_OPCODE_ISPMT }, + { "VAR" , SC_OPCODE_VAR }, + { "VARA" , SC_OPCODE_VAR_A }, + { "VARP" , SC_OPCODE_VAR_P }, + { "VARPA" , SC_OPCODE_VAR_P_A }, + { "VAR.P" , SC_OPCODE_VAR_P_MS }, + { "VAR.S" , SC_OPCODE_VAR_S }, + { "STDEV" , SC_OPCODE_ST_DEV }, + { "STDEVA" , SC_OPCODE_ST_DEV_A }, + { "STDEVP" , SC_OPCODE_ST_DEV_P }, + { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, + { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, + { "STDEV.S" , SC_OPCODE_ST_DEV_S }, + { "B" , SC_OPCODE_B }, + { "NORMDIST" , SC_OPCODE_NORM_DIST }, + { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, + { "EXPONDIST" , SC_OPCODE_EXP_DIST }, + { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, + { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, + { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, + { "POISSON" , SC_OPCODE_POISSON_DIST }, + { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, + { "COMBIN" , SC_OPCODE_COMBIN }, + { "COMBINA" , SC_OPCODE_COMBIN_A }, + { "PERMUT" , SC_OPCODE_PERMUT }, + { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, + { "PV" , SC_OPCODE_PV }, + { "SYD" , SC_OPCODE_SYD }, + { "DDB" , SC_OPCODE_DDB }, + { "DB" , SC_OPCODE_DB }, + { "VDB" , SC_OPCODE_VBD }, + { "DURATION" , SC_OPCODE_PDURATION }, + { "SLN" , SC_OPCODE_SLN }, + { "PMT" , SC_OPCODE_PMT }, + { "COLUMNS" , SC_OPCODE_COLUMNS }, + { "ROWS" , SC_OPCODE_ROWS }, + { "SHEETS" , SC_OPCODE_SHEETS }, + { "COLUMN" , SC_OPCODE_COLUMN }, + { "ROW" , SC_OPCODE_ROW }, + { "SHEET" , SC_OPCODE_SHEET }, + { "ZGZ" , SC_OPCODE_RRI }, + { "FV" , SC_OPCODE_FV }, + { "NPER" , SC_OPCODE_NPER }, + { "RATE" , SC_OPCODE_RATE }, + { "IPMT" , SC_OPCODE_IPMT }, + { "PPMT" , SC_OPCODE_PPMT }, + { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, + { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, + { "EFFECTIVE" , SC_OPCODE_EFFECT }, + { "NOMINAL" , SC_OPCODE_NOMINAL }, + { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, + { "DSUM" , SC_OPCODE_DB_SUM }, + { "DCOUNT" , SC_OPCODE_DB_COUNT }, + { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, + { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, + { "DGET" , SC_OPCODE_DB_GET }, + { "DMAX" , SC_OPCODE_DB_MAX }, + { "DMIN" , SC_OPCODE_DB_MIN }, + { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, + { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, + { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, + { "DVAR" , SC_OPCODE_DB_VAR }, + { "DVARP" , SC_OPCODE_DB_VAR_P }, + { "INDIRECT" , SC_OPCODE_INDIRECT }, + { "ADDRESS" , SC_OPCODE_ADDRESS }, + { "MATCH" , SC_OPCODE_MATCH }, + { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, + { "COUNTIF" , SC_OPCODE_COUNT_IF }, + { "SUMIF" , SC_OPCODE_SUM_IF }, + { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, + { "SUMIFS" , SC_OPCODE_SUM_IFS }, + { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, + { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, + { "LOOKUP" , SC_OPCODE_LOOKUP }, + { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, + { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, + { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) + { "OFFSET" , SC_OPCODE_OFFSET }, + { "INDEX" , SC_OPCODE_INDEX }, // ?? first character = I ?? + { "AREAS" , SC_OPCODE_AREAS }, + { "DOLLAR" , SC_OPCODE_CURRENCY }, + { "REPLACE" , SC_OPCODE_REPLACE }, + { "FIXED" , SC_OPCODE_FIXED }, + { "FIND" , SC_OPCODE_FIND }, + { "EXACT" , SC_OPCODE_EXACT }, + { "LEFT" , SC_OPCODE_LEFT }, + { "RIGHT" , SC_OPCODE_RIGHT }, + { "SEARCH" , SC_OPCODE_SEARCH }, + { "MID" , SC_OPCODE_MID }, + { "LENB" , SC_OPCODE_LENB }, + { "RIGHTB" , SC_OPCODE_RIGHTB }, + { "LEFTB" , SC_OPCODE_LEFTB }, + { "REPLACEB" , SC_OPCODE_REPLACEB }, + { "MIDB" , SC_OPCODE_MIDB }, + { "TEXT" , SC_OPCODE_TEXT }, + { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, + { "REPT" , SC_OPCODE_REPT }, + { "CONCATENATE" , SC_OPCODE_CONCAT }, + { "CONCAT" , SC_OPCODE_CONCAT_MS }, + { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, + { "IFS" , SC_OPCODE_IFS_MS }, + { "SWITCH" , SC_OPCODE_SWITCH_MS }, + { "MINIFS" , SC_OPCODE_MINIFS_MS }, + { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, + { "MVALUE" , SC_OPCODE_MAT_VALUE }, + { "MDETERM" , SC_OPCODE_MAT_DET }, + { "MINVERSE" , SC_OPCODE_MAT_INV }, + { "MMULT" , SC_OPCODE_MAT_MULT }, + { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, + { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, + { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, + { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, + { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, + { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, + { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, + { "TDIST" , SC_OPCODE_T_DIST }, + { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, + { "T.DIST" , SC_OPCODE_T_DIST_MS }, + { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, + { "FDIST" , SC_OPCODE_F_DIST }, + { "F.DIST" , SC_OPCODE_F_DIST_LT }, + { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, + { "CHIDIST" , SC_OPCODE_CHI_DIST }, + { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, + { "WEIBULL" , SC_OPCODE_WEIBULL }, + { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, + { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, + { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, + { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, + { "BINOM.INV" , SC_OPCODE_BINOM_INV }, + { "KURT" , SC_OPCODE_KURT }, + { "HARMEAN" , SC_OPCODE_HAR_MEAN }, + { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, + { "STANDARDIZE" , SC_OPCODE_STANDARD }, + { "AVEDEV" , SC_OPCODE_AVE_DEV }, + { "SKEW" , SC_OPCODE_SKEW }, + { "SKEWP" , SC_OPCODE_SKEWP }, + { "DEVSQ" , SC_OPCODE_DEV_SQ }, + { "MEDIAN" , SC_OPCODE_MEDIAN }, + { "MODE" , SC_OPCODE_MODAL_VALUE }, + { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, + { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, + { "ZTEST" , SC_OPCODE_Z_TEST }, + { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, + { "AGGREGATE" , SC_OPCODE_AGGREGATE }, + { "TTEST" , SC_OPCODE_T_TEST }, + { "T.TEST" , SC_OPCODE_T_TEST_MS }, + { "RANK" , SC_OPCODE_RANK }, + { "PERCENTILE" , SC_OPCODE_PERCENTILE }, + { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, + { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, + { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, + { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, + { "RANK.EQ" , SC_OPCODE_RANK_EQ }, + { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, + { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, + { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, + { "RANK.AVG" , SC_OPCODE_RANK_AVG }, + { "LARGE" , SC_OPCODE_LARGE }, + { "SMALL" , SC_OPCODE_SMALL }, + { "FREQUENCY" , SC_OPCODE_FREQUENCY }, + { "QUARTILE" , SC_OPCODE_QUARTILE }, + { "NORMINV" , SC_OPCODE_NORM_INV }, + { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, + { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, + { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, + { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, + { "FTEST" , SC_OPCODE_F_TEST }, + { "F.TEST" , SC_OPCODE_F_TEST_MS }, + { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, + { "PROB" , SC_OPCODE_PROB }, + { "CORREL" , SC_OPCODE_CORREL }, + { "COVAR" , SC_OPCODE_COVAR }, + { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, + { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, + { "PEARSON" , SC_OPCODE_PEARSON }, + { "RSQ" , SC_OPCODE_RSQ }, + { "STEYX" , SC_OPCODE_STEYX }, + { "SLOPE" , SC_OPCODE_SLOPE }, + { "INTERCEPT" , SC_OPCODE_INTERCEPT }, + { "TREND" , SC_OPCODE_TREND }, + { "GROWTH" , SC_OPCODE_GROWTH }, + { "LINEST" , SC_OPCODE_LINEST }, + { "LOGEST" , SC_OPCODE_LOGEST }, + { "FORECAST" , SC_OPCODE_FORECAST }, + { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, + { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, + { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, + { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, + { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, + { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, + { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, + { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, + { "CHIINV" , SC_OPCODE_CHI_INV }, + { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, + { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, + { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, + { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, + { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, + { "TINV" , SC_OPCODE_T_INV }, + { "T.INV.2T" , SC_OPCODE_T_INV_2T }, + { "T.INV" , SC_OPCODE_T_INV_MS }, + { "FINV" , SC_OPCODE_F_INV }, + { "F.INV" , SC_OPCODE_F_INV_LT }, + { "F.INV.RT" , SC_OPCODE_F_INV_RT }, + { "CHITEST" , SC_OPCODE_CHI_TEST }, + { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, + { "LOGINV" , SC_OPCODE_LOG_INV }, + { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, + { "TABLE" , SC_OPCODE_TABLE_OP }, + { "BETADIST" , SC_OPCODE_BETA_DIST }, + { "BETAINV" , SC_OPCODE_BETA_INV }, + { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, + { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, + { "WEEKNUM" , SC_OPCODE_WEEK }, + { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, + { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, + { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, + { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, + { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, + { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, + { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, + { "#NAME!" , SC_OPCODE_NO_NAME }, + { "STYLE" , SC_OPCODE_STYLE }, + { "DDE" , SC_OPCODE_DDE }, + { "BASE" , SC_OPCODE_BASE }, + { "DECIMAL" , SC_OPCODE_DECIMAL }, + { "CONVERT" , SC_OPCODE_CONVERT_OOO }, + { "ROMAN" , SC_OPCODE_ROMAN }, + { "ARABIC" , SC_OPCODE_ARABIC }, + { "HYPERLINK" , SC_OPCODE_HYPERLINK }, + { "INFO" , SC_OPCODE_INFO }, + { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, + { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, + { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, + { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, + { "GAMMA" , SC_OPCODE_GAMMA }, + { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, + { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, + { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, + { "CHISQINV" , SC_OPCODE_CHISQ_INV }, + { "BITAND" , SC_OPCODE_BITAND }, + { "BITOR" , SC_OPCODE_BITOR }, + { "BITXOR" , SC_OPCODE_BITXOR }, + { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, + { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, + { "#NULL!" , SC_OPCODE_ERROR_NULL }, + { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, + { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, + { "#REF!" , SC_OPCODE_ERROR_REF }, + { "#NAME?" , SC_OPCODE_ERROR_NAME }, + { "#NUM!" , SC_OPCODE_ERROR_NUM }, + { "#N/A" , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + { "FILTERXML" , SC_OPCODE_FILTERXML }, + { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, + { "COLOR" , SC_OPCODE_COLOR }, + { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, + { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, + { "ENCODEURL" , SC_OPCODE_ENCODEURL }, + { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, + { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, + { nullptr, -1 } +}; + +/** These English names can be chosen in the UI and can be changed. They + should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */ +// As such they are a duplicate, but we can not have two string localizations +// at the same time. +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] = +{ + { "IF" , SC_OPCODE_IF }, + { "IFERROR" , SC_OPCODE_IF_ERROR }, + { "IFNA" , SC_OPCODE_IF_NA }, + { "CHOOSE" , SC_OPCODE_CHOOSE }, + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + { "[" , SC_OPCODE_TABLE_REF_OPEN }, + { "]" , SC_OPCODE_TABLE_REF_CLOSE }, + { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, + { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, + { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, + { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, + { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { "|" , SC_OPCODE_ARRAY_ROW_SEP }, + { ";" , SC_OPCODE_ARRAY_COL_SEP }, + { ";" , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "AND" , SC_OPCODE_AND }, + { "OR" , SC_OPCODE_OR }, + { "XOR" , SC_OPCODE_XOR }, + { "!" , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "NOT" , SC_OPCODE_NOT }, + { "NEG" , SC_OPCODE_NEG }, + { "-" , SC_OPCODE_NEG_SUB }, + { "PI" , SC_OPCODE_PI }, + { "RAND" , SC_OPCODE_RANDOM }, + { "TRUE" , SC_OPCODE_TRUE }, + { "FALSE" , SC_OPCODE_FALSE }, + { "TODAY" , SC_OPCODE_GET_ACT_DATE }, + { "NOW" , SC_OPCODE_GET_ACT_TIME }, + { "NA" , SC_OPCODE_NO_VALUE }, + { "CURRENT" , SC_OPCODE_CURRENT }, + { "DEGREES" , SC_OPCODE_DEG }, + { "RADIANS" , SC_OPCODE_RAD }, + { "SIN" , SC_OPCODE_SIN }, + { "COS" , SC_OPCODE_COS }, + { "TAN" , SC_OPCODE_TAN }, + { "COT" , SC_OPCODE_COT }, + { "ASIN" , SC_OPCODE_ARC_SIN }, + { "ACOS" , SC_OPCODE_ARC_COS }, + { "ATAN" , SC_OPCODE_ARC_TAN }, + { "ACOT" , SC_OPCODE_ARC_COT }, + { "SINH" , SC_OPCODE_SIN_HYP }, + { "COSH" , SC_OPCODE_COS_HYP }, + { "TANH" , SC_OPCODE_TAN_HYP }, + { "COTH" , SC_OPCODE_COT_HYP }, + { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, + { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, + { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, + { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, + { "CSC" , SC_OPCODE_COSECANT }, + { "SEC" , SC_OPCODE_SECANT }, + { "CSCH" , SC_OPCODE_COSECANT_HYP }, + { "SECH" , SC_OPCODE_SECANT_HYP }, + { "EXP" , SC_OPCODE_EXP }, + { "LN" , SC_OPCODE_LN }, + { "SQRT" , SC_OPCODE_SQRT }, + { "FACT" , SC_OPCODE_FACT }, + { "YEAR" , SC_OPCODE_GET_YEAR }, + { "MONTH" , SC_OPCODE_GET_MONTH }, + { "DAY" , SC_OPCODE_GET_DAY }, + { "HOUR" , SC_OPCODE_GET_HOUR }, + { "MINUTE" , SC_OPCODE_GET_MIN }, + { "SECOND" , SC_OPCODE_GET_SEC }, + { "SIGN" , SC_OPCODE_PLUS_MINUS }, + { "ABS" , SC_OPCODE_ABS }, + { "INT" , SC_OPCODE_INT }, + { "PHI" , SC_OPCODE_PHI }, + { "GAUSS" , SC_OPCODE_GAUSS }, + { "ISBLANK" , SC_OPCODE_IS_EMPTY }, + { "ISTEXT" , SC_OPCODE_IS_STRING }, + { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, + { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, + { "TYPE" , SC_OPCODE_TYPE }, + { "CELL" , SC_OPCODE_CELL }, + { "ISREF" , SC_OPCODE_IS_REF }, + { "ISNUMBER" , SC_OPCODE_IS_VALUE }, + { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, + { "ISNA" , SC_OPCODE_IS_NV }, + { "ISERR" , SC_OPCODE_IS_ERR }, + { "ISERROR" , SC_OPCODE_IS_ERROR }, + { "ISEVEN" , SC_OPCODE_IS_EVEN }, + { "ISODD" , SC_OPCODE_IS_ODD }, + { "N" , SC_OPCODE_N }, + { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, + { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, + { "CODE" , SC_OPCODE_CODE }, + { "TRIM" , SC_OPCODE_TRIM }, + { "UPPER" , SC_OPCODE_UPPER }, + { "PROPER" , SC_OPCODE_PROPER }, + { "LOWER" , SC_OPCODE_LOWER }, + { "LEN" , SC_OPCODE_LEN }, + { "T" , SC_OPCODE_T }, + { "VALUE" , SC_OPCODE_VALUE }, + { "CLEAN" , SC_OPCODE_CLEAN }, + { "CHAR" , SC_OPCODE_CHAR }, + { "JIS" , SC_OPCODE_JIS }, + { "ASC" , SC_OPCODE_ASC }, + { "UNICODE" , SC_OPCODE_UNICODE }, + { "UNICHAR" , SC_OPCODE_UNICHAR }, + { "LOG10" , SC_OPCODE_LOG10 }, + { "EVEN" , SC_OPCODE_EVEN }, + { "ODD" , SC_OPCODE_ODD }, + { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, + { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, + { "FISHER" , SC_OPCODE_FISHER }, + { "FISHERINV" , SC_OPCODE_FISHER_INV }, + { "NORMSINV" , SC_OPCODE_S_NORM_INV }, + { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, + { "GAMMALN" , SC_OPCODE_GAMMA_LN }, + { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, + { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, + { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, + { "FORMULA" , SC_OPCODE_FORMULA }, + { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, + { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, + { "CEILING" , SC_OPCODE_CEIL }, + { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, + { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, + { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, + { "FLOOR" , SC_OPCODE_FLOOR }, + { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, + { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, + { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, + { "ROUND" , SC_OPCODE_ROUND }, + { "ROUNDUP" , SC_OPCODE_ROUND_UP }, + { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, + { "TRUNC" , SC_OPCODE_TRUNC }, + { "LOG" , SC_OPCODE_LOG }, + { "POWER" , SC_OPCODE_POWER }, + { "GCD" , SC_OPCODE_GCD }, + { "LCM" , SC_OPCODE_LCM }, + { "MOD" , SC_OPCODE_MOD }, + { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, + { "SUMSQ" , SC_OPCODE_SUM_SQ }, + { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, + { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, + { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, + { "DATE" , SC_OPCODE_GET_DATE }, + { "TIME" , SC_OPCODE_GET_TIME }, + { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, + { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, + { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, + { "MIN" , SC_OPCODE_MIN }, + { "MINA" , SC_OPCODE_MIN_A }, + { "MAX" , SC_OPCODE_MAX }, + { "MAXA" , SC_OPCODE_MAX_A }, + { "SUM" , SC_OPCODE_SUM }, + { "PRODUCT" , SC_OPCODE_PRODUCT }, + { "AVERAGE" , SC_OPCODE_AVERAGE }, + { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, + { "COUNT" , SC_OPCODE_COUNT }, + { "COUNTA" , SC_OPCODE_COUNT_2 }, + { "NPV" , SC_OPCODE_NPV }, + { "IRR" , SC_OPCODE_IRR }, + { "MIRR" , SC_OPCODE_MIRR }, + { "ISPMT" , SC_OPCODE_ISPMT }, + { "VAR" , SC_OPCODE_VAR }, + { "VARA" , SC_OPCODE_VAR_A }, + { "VARP" , SC_OPCODE_VAR_P }, + { "VARPA" , SC_OPCODE_VAR_P_A }, + { "VAR.P" , SC_OPCODE_VAR_P_MS }, + { "VAR.S" , SC_OPCODE_VAR_S }, + { "STDEV" , SC_OPCODE_ST_DEV }, + { "STDEVA" , SC_OPCODE_ST_DEV_A }, + { "STDEVP" , SC_OPCODE_ST_DEV_P }, + { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, + { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, + { "STDEV.S" , SC_OPCODE_ST_DEV_S }, + { "B" , SC_OPCODE_B }, + { "NORMDIST" , SC_OPCODE_NORM_DIST }, + { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, + { "EXPONDIST" , SC_OPCODE_EXP_DIST }, + { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, + { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, + { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, + { "POISSON" , SC_OPCODE_POISSON_DIST }, + { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, + { "COMBIN" , SC_OPCODE_COMBIN }, + { "COMBINA" , SC_OPCODE_COMBIN_A }, + { "PERMUT" , SC_OPCODE_PERMUT }, + { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, + { "PV" , SC_OPCODE_PV }, + { "SYD" , SC_OPCODE_SYD }, + { "DDB" , SC_OPCODE_DDB }, + { "DB" , SC_OPCODE_DB }, + { "VDB" , SC_OPCODE_VBD }, + { "PDURATION" , SC_OPCODE_PDURATION }, + { "SLN" , SC_OPCODE_SLN }, + { "PMT" , SC_OPCODE_PMT }, + { "COLUMNS" , SC_OPCODE_COLUMNS }, + { "ROWS" , SC_OPCODE_ROWS }, + { "SHEETS" , SC_OPCODE_SHEETS }, + { "COLUMN" , SC_OPCODE_COLUMN }, + { "ROW" , SC_OPCODE_ROW }, + { "SHEET" , SC_OPCODE_SHEET }, + { "ZGZ" , SC_OPCODE_RRI }, + { "FV" , SC_OPCODE_FV }, + { "NPER" , SC_OPCODE_NPER }, + { "RATE" , SC_OPCODE_RATE }, + { "IPMT" , SC_OPCODE_IPMT }, + { "PPMT" , SC_OPCODE_PPMT }, + { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, + { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, + { "EFFECTIVE" , SC_OPCODE_EFFECT }, + { "NOMINAL" , SC_OPCODE_NOMINAL }, + { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, + { "DSUM" , SC_OPCODE_DB_SUM }, + { "DCOUNT" , SC_OPCODE_DB_COUNT }, + { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, + { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, + { "DGET" , SC_OPCODE_DB_GET }, + { "DMAX" , SC_OPCODE_DB_MAX }, + { "DMIN" , SC_OPCODE_DB_MIN }, + { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, + { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, + { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, + { "DVAR" , SC_OPCODE_DB_VAR }, + { "DVARP" , SC_OPCODE_DB_VAR_P }, + { "INDIRECT" , SC_OPCODE_INDIRECT }, + { "ADDRESS" , SC_OPCODE_ADDRESS }, + { "MATCH" , SC_OPCODE_MATCH }, + { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, + { "COUNTIF" , SC_OPCODE_COUNT_IF }, + { "SUMIF" , SC_OPCODE_SUM_IF }, + { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, + { "SUMIFS" , SC_OPCODE_SUM_IFS }, + { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, + { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, + { "LOOKUP" , SC_OPCODE_LOOKUP }, + { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, + { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, + { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, + { "OFFSET" , SC_OPCODE_OFFSET }, + { "INDEX" , SC_OPCODE_INDEX }, + { "AREAS" , SC_OPCODE_AREAS }, + { "DOLLAR" , SC_OPCODE_CURRENCY }, + { "REPLACE" , SC_OPCODE_REPLACE }, + { "FIXED" , SC_OPCODE_FIXED }, + { "FIND" , SC_OPCODE_FIND }, + { "EXACT" , SC_OPCODE_EXACT }, + { "LEFT" , SC_OPCODE_LEFT }, + { "RIGHT" , SC_OPCODE_RIGHT }, + { "SEARCH" , SC_OPCODE_SEARCH }, + { "MID" , SC_OPCODE_MID }, + { "LENB" , SC_OPCODE_LENB }, + { "RIGHTB" , SC_OPCODE_RIGHTB }, + { "LEFTB" , SC_OPCODE_LEFTB }, + { "REPLACEB" , SC_OPCODE_REPLACEB }, + { "MIDB" , SC_OPCODE_MIDB }, + { "TEXT" , SC_OPCODE_TEXT }, + { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, + { "REPT" , SC_OPCODE_REPT }, + { "CONCATENATE" , SC_OPCODE_CONCAT }, + { "CONCAT" , SC_OPCODE_CONCAT_MS }, + { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, + { "IFS" , SC_OPCODE_IFS_MS }, + { "SWITCH" , SC_OPCODE_SWITCH_MS }, + { "MINIFS" , SC_OPCODE_MINIFS_MS }, + { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, + { "MVALUE" , SC_OPCODE_MAT_VALUE }, + { "MDETERM" , SC_OPCODE_MAT_DET }, + { "MINVERSE" , SC_OPCODE_MAT_INV }, + { "MMULT" , SC_OPCODE_MAT_MULT }, + { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, + { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, + { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, + { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, + { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, + { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, + { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, + { "TDIST" , SC_OPCODE_T_DIST }, + { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, + { "T.DIST" , SC_OPCODE_T_DIST_MS }, + { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, + { "FDIST" , SC_OPCODE_F_DIST }, + { "F.DIST" , SC_OPCODE_F_DIST_LT }, + { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, + { "CHIDIST" , SC_OPCODE_CHI_DIST }, + { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, + { "WEIBULL" , SC_OPCODE_WEIBULL }, + { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, + { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, + { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, + { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, + { "BINOM.INV" , SC_OPCODE_BINOM_INV }, + { "KURT" , SC_OPCODE_KURT }, + { "HARMEAN" , SC_OPCODE_HAR_MEAN }, + { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, + { "STANDARDIZE" , SC_OPCODE_STANDARD }, + { "AVEDEV" , SC_OPCODE_AVE_DEV }, + { "SKEW" , SC_OPCODE_SKEW }, + { "SKEWP" , SC_OPCODE_SKEWP }, + { "DEVSQ" , SC_OPCODE_DEV_SQ }, + { "MEDIAN" , SC_OPCODE_MEDIAN }, + { "MODE" , SC_OPCODE_MODAL_VALUE }, + { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, + { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, + { "ZTEST" , SC_OPCODE_Z_TEST }, + { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, + { "AGGREGATE" , SC_OPCODE_AGGREGATE }, + { "TTEST" , SC_OPCODE_T_TEST }, + { "T.TEST" , SC_OPCODE_T_TEST_MS }, + { "RANK" , SC_OPCODE_RANK }, + { "PERCENTILE" , SC_OPCODE_PERCENTILE }, + { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, + { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, + { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, + { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, + { "RANK.EQ" , SC_OPCODE_RANK_EQ }, + { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, + { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, + { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, + { "RANK.AVG" , SC_OPCODE_RANK_AVG }, + { "LARGE" , SC_OPCODE_LARGE }, + { "SMALL" , SC_OPCODE_SMALL }, + { "FREQUENCY" , SC_OPCODE_FREQUENCY }, + { "QUARTILE" , SC_OPCODE_QUARTILE }, + { "NORMINV" , SC_OPCODE_NORM_INV }, + { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, + { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, + { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, + { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, + { "FTEST" , SC_OPCODE_F_TEST }, + { "F.TEST" , SC_OPCODE_F_TEST_MS }, + { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, + { "PROB" , SC_OPCODE_PROB }, + { "CORREL" , SC_OPCODE_CORREL }, + { "COVAR" , SC_OPCODE_COVAR }, + { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, + { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, + { "PEARSON" , SC_OPCODE_PEARSON }, + { "RSQ" , SC_OPCODE_RSQ }, + { "STEYX" , SC_OPCODE_STEYX }, + { "SLOPE" , SC_OPCODE_SLOPE }, + { "INTERCEPT" , SC_OPCODE_INTERCEPT }, + { "TREND" , SC_OPCODE_TREND }, + { "GROWTH" , SC_OPCODE_GROWTH }, + { "LINEST" , SC_OPCODE_LINEST }, + { "LOGEST" , SC_OPCODE_LOGEST }, + { "FORECAST" , SC_OPCODE_FORECAST }, + { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, + { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, + { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, + { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, + { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, + { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, + { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, + { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, + { "CHIINV" , SC_OPCODE_CHI_INV }, + { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, + { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, + { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, + { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, + { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, + { "TINV" , SC_OPCODE_T_INV }, + { "T.INV.2T" , SC_OPCODE_T_INV_2T }, + { "T.INV" , SC_OPCODE_T_INV_MS }, + { "FINV" , SC_OPCODE_F_INV }, + { "F.INV" , SC_OPCODE_F_INV_LT }, + { "F.INV.RT" , SC_OPCODE_F_INV_RT }, + { "CHITEST" , SC_OPCODE_CHI_TEST }, + { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, + { "LOGINV" , SC_OPCODE_LOG_INV }, + { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, + { "TABLE" , SC_OPCODE_TABLE_OP }, + { "BETADIST" , SC_OPCODE_BETA_DIST }, + { "BETAINV" , SC_OPCODE_BETA_INV }, + { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, + { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, + { "WEEKNUM" , SC_OPCODE_WEEK }, + { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, + { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, + { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, + { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, + { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, + { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, + { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, + { "#NAME!" , SC_OPCODE_NO_NAME }, + { "STYLE" , SC_OPCODE_STYLE }, + { "DDE" , SC_OPCODE_DDE }, + { "BASE" , SC_OPCODE_BASE }, + { "DECIMAL" , SC_OPCODE_DECIMAL }, + { "CONVERT_OOO" , SC_OPCODE_CONVERT_OOO }, + { "ROMAN" , SC_OPCODE_ROMAN }, + { "ARABIC" , SC_OPCODE_ARABIC }, + { "HYPERLINK" , SC_OPCODE_HYPERLINK }, + { "INFO" , SC_OPCODE_INFO }, + { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, + { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, + { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, + { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, + { "GAMMA" , SC_OPCODE_GAMMA }, + { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, + { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, + { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, + { "CHISQINV" , SC_OPCODE_CHISQ_INV }, + { "BITAND" , SC_OPCODE_BITAND }, + { "BITOR" , SC_OPCODE_BITOR }, + { "BITXOR" , SC_OPCODE_BITXOR }, + { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, + { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, + { "#NULL!" , SC_OPCODE_ERROR_NULL }, + { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, + { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, + { "#REF!" , SC_OPCODE_ERROR_REF }, + { "#NAME?" , SC_OPCODE_ERROR_NAME }, + { "#NUM!" , SC_OPCODE_ERROR_NUM }, + { "#N/A" , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + { "FILTERXML" , SC_OPCODE_FILTERXML }, + { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, + { "COLOR" , SC_OPCODE_COLOR }, + { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, + { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, + { "ENCODEURL" , SC_OPCODE_ENCODEURL }, + { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, + { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, + { nullptr, -1 } +}; + +/** Function names that can be localized if [en-US]. Same names should be used + in RID_STRLIST_FUNCTION_NAMES_ENGLISH above. Names can be changed, the + change has to be mentioned in the release notes, i.e. + https://wiki.documentfoundation.org/ReleaseNotes/... + */ +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES[] = +{ + { NC_("RID_STRLIST_FUNCTION_NAMES", "IF") , SC_OPCODE_IF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "IFERROR") , SC_OPCODE_IF_ERROR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "IFNA") , SC_OPCODE_IF_NA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHOOSE") , SC_OPCODE_CHOOSE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#All") , SC_OPCODE_TABLE_REF_ITEM_ALL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#Headers") , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#Data") , SC_OPCODE_TABLE_REF_ITEM_DATA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#Totals") , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#This Row") , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AND") , SC_OPCODE_AND }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "OR") , SC_OPCODE_OR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "XOR") , SC_OPCODE_XOR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NOT") , SC_OPCODE_NOT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NEG") , SC_OPCODE_NEG }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PI") , SC_OPCODE_PI }, // ??? + { NC_("RID_STRLIST_FUNCTION_NAMES", "RAND") , SC_OPCODE_RANDOM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUE") , SC_OPCODE_TRUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FALSE") , SC_OPCODE_FALSE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TODAY") , SC_OPCODE_GET_ACT_DATE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NOW") , SC_OPCODE_GET_ACT_TIME }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NA") , SC_OPCODE_NO_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CURRENT") , SC_OPCODE_CURRENT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DEGREES") , SC_OPCODE_DEG }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RADIANS") , SC_OPCODE_RAD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SIN") , SC_OPCODE_SIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COS") , SC_OPCODE_COS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TAN") , SC_OPCODE_TAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COT") , SC_OPCODE_COT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ASIN") , SC_OPCODE_ARC_SIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOS") , SC_OPCODE_ARC_COS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN") , SC_OPCODE_ARC_TAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOT") , SC_OPCODE_ARC_COT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SINH") , SC_OPCODE_SIN_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COSH") , SC_OPCODE_COS_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TANH") , SC_OPCODE_TAN_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COTH") , SC_OPCODE_COT_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ASINH") , SC_OPCODE_ARC_SIN_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOSH") , SC_OPCODE_ARC_COS_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ATANH") , SC_OPCODE_ARC_TAN_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOTH") , SC_OPCODE_ARC_COT_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CSC") , SC_OPCODE_COSECANT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SEC") , SC_OPCODE_SECANT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CSCH") , SC_OPCODE_COSECANT_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SECH") , SC_OPCODE_SECANT_HYP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EXP") , SC_OPCODE_EXP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LN") , SC_OPCODE_LN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SQRT") , SC_OPCODE_SQRT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FACT") , SC_OPCODE_FACT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "YEAR") , SC_OPCODE_GET_YEAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MONTH") , SC_OPCODE_GET_MONTH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DAY") , SC_OPCODE_GET_DAY }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HOUR") , SC_OPCODE_GET_HOUR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MINUTE") , SC_OPCODE_GET_MIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SECOND") , SC_OPCODE_GET_SEC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SIGN") , SC_OPCODE_PLUS_MINUS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ABS") , SC_OPCODE_ABS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "INT") , SC_OPCODE_INT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PHI") , SC_OPCODE_PHI }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAUSS") , SC_OPCODE_GAUSS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISBLANK") , SC_OPCODE_IS_EMPTY }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISTEXT") , SC_OPCODE_IS_STRING }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNONTEXT") , SC_OPCODE_IS_NON_STRING }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISLOGICAL") , SC_OPCODE_IS_LOGICAL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TYPE") , SC_OPCODE_TYPE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CELL") , SC_OPCODE_CELL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISREF") , SC_OPCODE_IS_REF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNUMBER") , SC_OPCODE_IS_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISFORMULA") , SC_OPCODE_IS_FORMULA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNA") , SC_OPCODE_IS_NV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERR") , SC_OPCODE_IS_ERR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERROR") , SC_OPCODE_IS_ERROR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISEVEN") , SC_OPCODE_IS_EVEN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISODD") , SC_OPCODE_IS_ODD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "N") , SC_OPCODE_N }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEVALUE") , SC_OPCODE_GET_DATE_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TIMEVALUE") , SC_OPCODE_GET_TIME_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CODE") , SC_OPCODE_CODE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIM") , SC_OPCODE_TRIM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "UPPER") , SC_OPCODE_UPPER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PROPER") , SC_OPCODE_PROPER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOWER") , SC_OPCODE_LOWER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LEN") , SC_OPCODE_LEN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T") , SC_OPCODE_T }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VALUE") , SC_OPCODE_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CLEAN") , SC_OPCODE_CLEAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHAR") , SC_OPCODE_CHAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "JIS") , SC_OPCODE_JIS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ASC") , SC_OPCODE_ASC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICODE") , SC_OPCODE_UNICODE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICHAR") , SC_OPCODE_UNICHAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG10") , SC_OPCODE_LOG10 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EVEN") , SC_OPCODE_EVEN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ODD") , SC_OPCODE_ODD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSDIST") , SC_OPCODE_STD_NORM_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.DIST") , SC_OPCODE_STD_NORM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHER") , SC_OPCODE_FISHER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHERINV") , SC_OPCODE_FISHER_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSINV") , SC_OPCODE_S_NORM_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.INV") , SC_OPCODE_S_NORM_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN") , SC_OPCODE_GAMMA_LN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN.PRECISE") , SC_OPCODE_GAMMA_LN_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ERRORTYPE") , SC_OPCODE_ERROR_TYPE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ERROR.TYPE") , SC_OPCODE_ERROR_TYPE_ODF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORMULA") , SC_OPCODE_FORMULA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ARABIC") , SC_OPCODE_ARABIC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN2") , SC_OPCODE_ARC_TAN_2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.MATH") , SC_OPCODE_CEIL_MATH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING") , SC_OPCODE_CEIL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.XCL") , SC_OPCODE_CEIL_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.PRECISE") , SC_OPCODE_CEIL_PRECISE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISO.CEILING") , SC_OPCODE_CEIL_ISO }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR") , SC_OPCODE_FLOOR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.XCL") , SC_OPCODE_FLOOR_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.MATH") , SC_OPCODE_FLOOR_MATH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.PRECISE") , SC_OPCODE_FLOOR_PRECISE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUND") , SC_OPCODE_ROUND }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDUP") , SC_OPCODE_ROUND_UP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDDOWN") , SC_OPCODE_ROUND_DOWN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUNC") , SC_OPCODE_TRUNC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG") , SC_OPCODE_LOG }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "POWER") , SC_OPCODE_POWER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GCD") , SC_OPCODE_GCD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LCM") , SC_OPCODE_LCM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MOD") , SC_OPCODE_MOD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMPRODUCT") , SC_OPCODE_SUM_PRODUCT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMSQ") , SC_OPCODE_SUM_SQ }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2MY2") , SC_OPCODE_SUM_X2MY2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2PY2") , SC_OPCODE_SUM_X2DY2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMXMY2") , SC_OPCODE_SUM_XMY2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DATE") , SC_OPCODE_GET_DATE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TIME") , SC_OPCODE_GET_TIME }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS") , SC_OPCODE_GET_DIFF_DATE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS360") , SC_OPCODE_GET_DIFF_DATE_360 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEDIF") , SC_OPCODE_GET_DATEDIF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MIN") , SC_OPCODE_MIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MINA") , SC_OPCODE_MIN_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MAX") , SC_OPCODE_MAX }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXA") , SC_OPCODE_MAX_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUM") , SC_OPCODE_SUM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PRODUCT") , SC_OPCODE_PRODUCT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGE") , SC_OPCODE_AVERAGE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEA") , SC_OPCODE_AVERAGE_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNT") , SC_OPCODE_COUNT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTA") , SC_OPCODE_COUNT_2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NPV") , SC_OPCODE_NPV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "IRR") , SC_OPCODE_IRR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MIRR") , SC_OPCODE_MIRR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISPMT") , SC_OPCODE_ISPMT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR") , SC_OPCODE_VAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VARA") , SC_OPCODE_VAR_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VARP") , SC_OPCODE_VAR_P }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VARPA") , SC_OPCODE_VAR_P_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.P") , SC_OPCODE_VAR_P_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.S") , SC_OPCODE_VAR_S }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV") , SC_OPCODE_ST_DEV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVA") , SC_OPCODE_ST_DEV_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVP") , SC_OPCODE_ST_DEV_P }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVPA") , SC_OPCODE_ST_DEV_P_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.P") , SC_OPCODE_ST_DEV_P_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.S") , SC_OPCODE_ST_DEV_S }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "B") , SC_OPCODE_B }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMDIST") , SC_OPCODE_NORM_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.DIST") , SC_OPCODE_NORM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPONDIST") , SC_OPCODE_EXP_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPON.DIST") , SC_OPCODE_EXP_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOMDIST") , SC_OPCODE_BINOM_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.DIST") , SC_OPCODE_BINOM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON") , SC_OPCODE_POISSON_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON.DIST") , SC_OPCODE_POISSON_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBIN") , SC_OPCODE_COMBIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBINA") , SC_OPCODE_COMBIN_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUT") , SC_OPCODE_PERMUT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUTATIONA") , SC_OPCODE_PERMUTATION_A }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PV") , SC_OPCODE_PV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SYD") , SC_OPCODE_SYD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DDB") , SC_OPCODE_DDB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DB") , SC_OPCODE_DB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VDB") , SC_OPCODE_VBD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PDURATION") , SC_OPCODE_PDURATION }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SLN") , SC_OPCODE_SLN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PMT") , SC_OPCODE_PMT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMNS") , SC_OPCODE_COLUMNS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROWS") , SC_OPCODE_ROWS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEETS") , SC_OPCODE_SHEETS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMN") , SC_OPCODE_COLUMN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROW") , SC_OPCODE_ROW }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEET") , SC_OPCODE_SHEET }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RRI") , SC_OPCODE_RRI }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FV") , SC_OPCODE_FV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NPER") , SC_OPCODE_NPER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RATE") , SC_OPCODE_RATE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "IPMT") , SC_OPCODE_IPMT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PPMT") , SC_OPCODE_PPMT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMIPMT") , SC_OPCODE_CUM_IPMT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMPRINC") , SC_OPCODE_CUM_PRINC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EFFECT") , SC_OPCODE_EFFECT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NOMINAL") , SC_OPCODE_NOMINAL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBTOTAL") , SC_OPCODE_SUB_TOTAL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DSUM") , SC_OPCODE_DB_SUM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNT") , SC_OPCODE_DB_COUNT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNTA") , SC_OPCODE_DB_COUNT_2 }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DAVERAGE") , SC_OPCODE_DB_AVERAGE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DGET") , SC_OPCODE_DB_GET }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DMAX") , SC_OPCODE_DB_MAX }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DMIN") , SC_OPCODE_DB_MIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DPRODUCT") , SC_OPCODE_DB_PRODUCT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEV") , SC_OPCODE_DB_STD_DEV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEVP") , SC_OPCODE_DB_STD_DEV_P }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DVAR") , SC_OPCODE_DB_VAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DVARP") , SC_OPCODE_DB_VAR_P }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "INDIRECT") , SC_OPCODE_INDIRECT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ADDRESS") , SC_OPCODE_ADDRESS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MATCH") , SC_OPCODE_MATCH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTBLANK") , SC_OPCODE_COUNT_EMPTY_CELLS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIF") , SC_OPCODE_COUNT_IF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIF") , SC_OPCODE_SUM_IF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIF") , SC_OPCODE_AVERAGE_IF }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIFS") , SC_OPCODE_SUM_IFS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIFS") , SC_OPCODE_AVERAGE_IFS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIFS") , SC_OPCODE_COUNT_IFS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOOKUP") , SC_OPCODE_LOOKUP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "VLOOKUP") , SC_OPCODE_V_LOOKUP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HLOOKUP") , SC_OPCODE_H_LOOKUP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIRANGE") , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) + { NC_("RID_STRLIST_FUNCTION_NAMES", "OFFSET") , SC_OPCODE_OFFSET }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "INDEX") , SC_OPCODE_INDEX }, // ?? first character = I ?? + { NC_("RID_STRLIST_FUNCTION_NAMES", "AREAS") , SC_OPCODE_AREAS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DOLLAR") , SC_OPCODE_CURRENCY }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACE") , SC_OPCODE_REPLACE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FIXED") , SC_OPCODE_FIXED }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FIND") , SC_OPCODE_FIND }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EXACT") , SC_OPCODE_EXACT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFT") , SC_OPCODE_LEFT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHT") , SC_OPCODE_RIGHT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SEARCH") , SC_OPCODE_SEARCH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MID") , SC_OPCODE_MID }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LENB") , SC_OPCODE_LENB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHTB") , SC_OPCODE_RIGHTB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFTB") , SC_OPCODE_LEFTB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACEB") , SC_OPCODE_REPLACEB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MIDB") , SC_OPCODE_MIDB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXT") , SC_OPCODE_TEXT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBSTITUTE") , SC_OPCODE_SUBSTITUTE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "REPT") , SC_OPCODE_REPT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCATENATE") , SC_OPCODE_CONCAT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCAT") , SC_OPCODE_CONCAT_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXTJOIN") , SC_OPCODE_TEXTJOIN_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "IFS") , SC_OPCODE_IFS_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SWITCH") , SC_OPCODE_SWITCH_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MINIFS") , SC_OPCODE_MINIFS_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXIFS") , SC_OPCODE_MAXIFS_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MVALUE") , SC_OPCODE_MAT_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MDETERM") , SC_OPCODE_MAT_DET }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MINVERSE") , SC_OPCODE_MAT_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MMULT") , SC_OPCODE_MAT_MULT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TRANSPOSE") , SC_OPCODE_MAT_TRANS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MUNIT") , SC_OPCODE_MATRIX_UNIT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GOALSEEK") , SC_OPCODE_BACK_SOLVER }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOMDIST") , SC_OPCODE_HYP_GEOM_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOM.DIST") , SC_OPCODE_HYP_GEOM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORMDIST") , SC_OPCODE_LOG_NORM_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.DIST") , SC_OPCODE_LOG_NORM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TDIST") , SC_OPCODE_T_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.2T") , SC_OPCODE_T_DIST_2T }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST") , SC_OPCODE_T_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.RT") , SC_OPCODE_T_DIST_RT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FDIST") , SC_OPCODE_F_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST") , SC_OPCODE_F_DIST_LT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST.RT") , SC_OPCODE_F_DIST_RT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIDIST") , SC_OPCODE_CHI_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST.RT") , SC_OPCODE_CHI_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL") , SC_OPCODE_WEIBULL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL.DIST") , SC_OPCODE_WEIBULL_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOMDIST") , SC_OPCODE_NEG_BINOM_VERT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOM.DIST") , SC_OPCODE_NEG_BINOM_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CRITBINOM") , SC_OPCODE_CRIT_BINOM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.INV") , SC_OPCODE_BINOM_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "KURT") , SC_OPCODE_KURT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HARMEAN") , SC_OPCODE_HAR_MEAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GEOMEAN") , SC_OPCODE_GEO_MEAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STANDARDIZE") , SC_OPCODE_STANDARD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AVEDEV") , SC_OPCODE_AVE_DEV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEW") , SC_OPCODE_SKEW }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEWP") , SC_OPCODE_SKEWP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DEVSQ") , SC_OPCODE_DEV_SQ }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MEDIAN") , SC_OPCODE_MEDIAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE") , SC_OPCODE_MODAL_VALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.SNGL") , SC_OPCODE_MODAL_VALUE_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.MULT") , SC_OPCODE_MODAL_VALUE_MULTI }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ZTEST") , SC_OPCODE_Z_TEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "Z.TEST") , SC_OPCODE_Z_TEST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "AGGREGATE") , SC_OPCODE_AGGREGATE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TTEST") , SC_OPCODE_T_TEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.TEST") , SC_OPCODE_T_TEST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK") , SC_OPCODE_RANK }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE") , SC_OPCODE_PERCENTILE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK") , SC_OPCODE_PERCENT_RANK }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.INC") , SC_OPCODE_PERCENTILE_INC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.INC") , SC_OPCODE_PERCENT_RANK_INC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.INC") , SC_OPCODE_QUARTILE_INC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.EQ") , SC_OPCODE_RANK_EQ }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.EXC") , SC_OPCODE_PERCENTILE_EXC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.EXC") , SC_OPCODE_PERCENT_RANK_EXC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.EXC") , SC_OPCODE_QUARTILE_EXC }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.AVG") , SC_OPCODE_RANK_AVG }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LARGE") , SC_OPCODE_LARGE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SMALL") , SC_OPCODE_SMALL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FREQUENCY") , SC_OPCODE_FREQUENCY }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE") , SC_OPCODE_QUARTILE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMINV") , SC_OPCODE_NORM_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.INV") , SC_OPCODE_NORM_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE") , SC_OPCODE_CONFIDENCE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.NORM") , SC_OPCODE_CONFIDENCE_N }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.T") , SC_OPCODE_CONFIDENCE_T }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FTEST") , SC_OPCODE_F_TEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "F.TEST") , SC_OPCODE_F_TEST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIMMEAN") , SC_OPCODE_TRIM_MEAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PROB") , SC_OPCODE_PROB }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CORREL") , SC_OPCODE_CORREL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COVAR") , SC_OPCODE_COVAR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.P") , SC_OPCODE_COVARIANCE_P }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.S") , SC_OPCODE_COVARIANCE_S }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "PEARSON") , SC_OPCODE_PEARSON }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RSQ") , SC_OPCODE_RSQ }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STEYX") , SC_OPCODE_STEYX }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "SLOPE") , SC_OPCODE_SLOPE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "INTERCEPT") , SC_OPCODE_INTERCEPT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TREND") , SC_OPCODE_TREND }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GROWTH") , SC_OPCODE_GROWTH }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LINEST") , SC_OPCODE_LINEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGEST") , SC_OPCODE_LOGEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST") , SC_OPCODE_FORECAST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.ADD") , SC_OPCODE_FORECAST_ETS_ADD }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.SEASONALITY") , SC_OPCODE_FORECAST_ETS_SEA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.MULT") , SC_OPCODE_FORECAST_ETS_MUL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.ADD") , SC_OPCODE_FORECAST_ETS_PIA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.MULT") , SC_OPCODE_FORECAST_ETS_PIM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.ADD") , SC_OPCODE_FORECAST_ETS_STA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.MULT") , SC_OPCODE_FORECAST_ETS_STM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.LINEAR") , SC_OPCODE_FORECAST_LIN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIINV") , SC_OPCODE_CHI_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV.RT") , SC_OPCODE_CHI_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMADIST") , SC_OPCODE_GAMMA_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.DIST") , SC_OPCODE_GAMMA_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMAINV") , SC_OPCODE_GAMMA_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.INV") , SC_OPCODE_GAMMA_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "TINV") , SC_OPCODE_T_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV.2T") , SC_OPCODE_T_INV_2T }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV") , SC_OPCODE_T_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "FINV") , SC_OPCODE_F_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV") , SC_OPCODE_F_INV_LT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV.RT") , SC_OPCODE_F_INV_RT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHITEST") , SC_OPCODE_CHI_TEST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.TEST") , SC_OPCODE_CHI_TEST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGINV") , SC_OPCODE_LOG_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.INV") , SC_OPCODE_LOG_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIPLE.OPERATIONS") , SC_OPCODE_TABLE_OP }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BETADIST") , SC_OPCODE_BETA_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BETAINV") , SC_OPCODE_BETA_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.DIST") , SC_OPCODE_BETA_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.INV") , SC_OPCODE_BETA_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM") , SC_OPCODE_WEEK }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ISOWEEKNUM") , SC_OPCODE_ISOWEEKNUM }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM_OOO") , SC_OPCODE_WEEKNUM_OOO }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EASTERSUNDAY") , SC_OPCODE_EASTERSUNDAY }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKDAY") , SC_OPCODE_GET_DAY_OF_WEEK }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS") , SC_OPCODE_NETWORKDAYS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS.INTL") , SC_OPCODE_NETWORKDAYS_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WORKDAY.INTL") , SC_OPCODE_WORKDAY_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME!") , SC_OPCODE_NO_NAME }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "STYLE") , SC_OPCODE_STYLE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DDE") , SC_OPCODE_DDE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BASE") , SC_OPCODE_BASE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "DECIMAL") , SC_OPCODE_DECIMAL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CONVERT_OOO") , SC_OPCODE_CONVERT_OOO }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROMAN") , SC_OPCODE_ROMAN }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPERLINK") , SC_OPCODE_HYPERLINK }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "INFO") , SC_OPCODE_INFO }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BAHTTEXT") , SC_OPCODE_BAHTTEXT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GETPIVOTDATA") , SC_OPCODE_GET_PIVOT_DATA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "EUROCONVERT") , SC_OPCODE_EUROCONVERT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "NUMBERVALUE") , SC_OPCODE_NUMBERVALUE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA") , SC_OPCODE_GAMMA }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQDIST") , SC_OPCODE_CHISQ_DIST }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST") , SC_OPCODE_CHISQ_DIST_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQINV") , SC_OPCODE_CHISQ_INV }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV") , SC_OPCODE_CHISQ_INV_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BITAND") , SC_OPCODE_BITAND }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BITOR") , SC_OPCODE_BITOR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BITXOR") , SC_OPCODE_BITXOR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BITRSHIFT") , SC_OPCODE_BITRSHIFT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "BITLSHIFT") , SC_OPCODE_BITLSHIFT }, + /* BEGIN defined ERROR.TYPE() values. */ + /* ERROR.TYPE( #NULL! ) == 1 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#NULL!") , SC_OPCODE_ERROR_NULL }, + /* ERROR.TYPE( #DIV/0! ) == 2 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#DIV/0!") , SC_OPCODE_ERROR_DIVZERO }, + /* ERROR.TYPE( #VALUE! ) == 3 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#VALUE!") , SC_OPCODE_ERROR_VALUE }, + /* ERROR.TYPE( #REF! ) == 4 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#REF!") , SC_OPCODE_ERROR_REF }, + /* ERROR.TYPE( #NAME! ) == 5 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME?") , SC_OPCODE_ERROR_NAME }, + /* ERROR.TYPE( #NUM! ) == 6 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#NUM!") , SC_OPCODE_ERROR_NUM }, + /* ERROR.TYPE( #N/A ) == 7 */ + { NC_("RID_STRLIST_FUNCTION_NAMES", "#N/A") , SC_OPCODE_ERROR_NA }, + /* END defined ERROR.TYPE() values. */ + + { NC_("RID_STRLIST_FUNCTION_NAMES", "FILTERXML") , SC_OPCODE_FILTERXML }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "COLOR") , SC_OPCODE_COLOR }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "WEBSERVICE") , SC_OPCODE_WEBSERVICE }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ERF.PRECISE") , SC_OPCODE_ERF_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ERFC.PRECISE") , SC_OPCODE_ERFC_MS }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ENCODEURL") , SC_OPCODE_ENCODEURL }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "RAWSUBTRACT") , SC_OPCODE_RAWSUBTRACT }, + { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDSIG") , SC_OPCODE_ROUNDSIG }, + + { nullptr, -1 } +}; + +const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_SYMBOLS[] = +{ + { "(" , SC_OPCODE_OPEN }, + { ")" , SC_OPCODE_CLOSE }, + { "[" , SC_OPCODE_TABLE_REF_OPEN }, + { "]" , SC_OPCODE_TABLE_REF_CLOSE }, + { "{" , SC_OPCODE_ARRAY_OPEN }, + { "}" , SC_OPCODE_ARRAY_CLOSE }, + { "|" , SC_OPCODE_ARRAY_ROW_SEP }, + { ";" , SC_OPCODE_ARRAY_COL_SEP }, + { ";" , SC_OPCODE_SEP }, + { "%" , SC_OPCODE_PERCENT_SIGN }, + { "+" , SC_OPCODE_ADD }, + { "-" , SC_OPCODE_SUB }, + { "*" , SC_OPCODE_MUL }, + { "/" , SC_OPCODE_DIV }, + { "&" , SC_OPCODE_AMPERSAND }, + { "^" , SC_OPCODE_POW }, + { "=" , SC_OPCODE_EQUAL }, + { "<>" , SC_OPCODE_NOT_EQUAL }, + { "<" , SC_OPCODE_LESS }, + { ">" , SC_OPCODE_GREATER }, + { "<=" , SC_OPCODE_LESS_EQUAL }, + { ">=" , SC_OPCODE_GREATER_EQUAL }, + { "!" , SC_OPCODE_INTERSECT }, + { "~" , SC_OPCODE_UNION }, + { ":" , SC_OPCODE_RANGE }, + { "-" , SC_OPCODE_NEG_SUB }, + { nullptr, -1 } +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/ui/dlg/formdlgs.src b/formula/inc/strings.hrc index d342c1d772c9..1d654c08e7da 100644 --- a/formula/source/ui/dlg/formdlgs.src +++ b/formula/inc/strings.hrc @@ -17,31 +17,20 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include "formdlgs.hrc" -#include "ForResId.hrc" +#ifndef INCLUDED_VCL_INC_STRINGS_HRC +#define INCLUDED_VCL_INC_STRINGS_HRC -String STR_TITLE1 -{ - Text [ en-US ] = "Function Wizard" ; -}; +#define NC_(Context, String) (Context "\004" u8##String) -String STR_TITLE2 -{ - Text [ en-US ] = "Function Wizard -" ; -}; +#define STR_OPTIONAL NC_("STR_OPTIONAL", "(optional)") +#define STR_REQUIRED NC_("STR_REQUIRED", "(required)") -String STR_END -{ - Text [ en-US ] = "~End" ; -}; -String RID_STR_SHRINK -{ - Text [ en-US ] = "Shrink" ; -}; +#define STR_TITLE1 NC_("STR_TITLE1", "Function Wizard") +#define STR_TITLE2 NC_("STR_TITLE2", "Function Wizard -") +#define STR_END NC_("STR_END", "~End") +#define RID_STR_SHRINK NC_("RID_STR_SHRINK", "Shrink") +#define RID_STR_EXPAND NC_("RID_STR_EXPAND", "Expand") -String RID_STR_EXPAND -{ - Text [ en-US ] = "Expand" ; -}; +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx index 8fe5738b7417..1429951649e1 100644 --- a/formula/source/core/api/FormulaCompiler.cxx +++ b/formula/source/core/api/FormulaCompiler.cxx @@ -27,8 +27,7 @@ #include "osl/mutex.hxx" #include <svl/zforlist.hxx> -#include <tools/rcid.h> -#include <tools/resary.hxx> +#include <tools/resmgr.hxx> #include <com/sun/star/sheet/FormulaOpCodeMapEntry.hpp> #include <com/sun/star/sheet/FormulaMapGroup.hpp> #include <com/sun/star/sheet/FormulaMapGroupSpecialOffset.hpp> @@ -145,7 +144,7 @@ class OpCodeList { public: - OpCodeList( sal_uInt16, const FormulaCompiler::NonConstOpCodeMapPtr&, + OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr&, FormulaCompiler::SeparatorType = FormulaCompiler::SeparatorType::SEMICOLON_BASE ); private: @@ -154,13 +153,15 @@ private: private: FormulaCompiler::SeparatorType meSepType; - ResStringArray maStringList; + const std::pair<const char*, int>* mpSymbols; + bool mbLocalized; }; -OpCodeList::OpCodeList( sal_uInt16 nRID, const FormulaCompiler::NonConstOpCodeMapPtr& xMap, - FormulaCompiler::SeparatorType eSepType ) +OpCodeList::OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr& xMap, + FormulaCompiler::SeparatorType eSepType) : meSepType(eSepType) - , maStringList(ResId(nRID, *ResourceManager::getResManager())) + , mpSymbols(pSymbols) + , mbLocalized(bLocalized) { SvtSysLocale aSysLocale; const CharClass* pCharClass = (xMap->isEnglish() ? nullptr : aSysLocale.GetCharClassPtr()); @@ -223,9 +224,19 @@ bool OpCodeList::getOpCodeString( OUString& rStr, sal_uInt16 nOp ) void OpCodeList::putDefaultOpCode( const FormulaCompiler::NonConstOpCodeMapPtr& xMap, sal_uInt16 nOp, const CharClass* pCharClass ) { - sal_uInt32 nIndex = maStringList.FindIndex(nOp); - if (nIndex != RESARRAY_INDEX_NOTFOUND) - xMap->putOpCode(maStringList.GetString(nIndex), OpCode(nOp), pCharClass); + const char* pKey = nullptr; + for (const std::pair<const char*, int>* pSymbol = mpSymbols; pSymbol->first; ++pSymbol) + { + if (nOp == pSymbol->second) + { + pKey = pSymbol->first; + break; + } + } + if (!pKey) + return; + OUString sKey = !mbLocalized ? OUString::createFromAscii(pKey) : Translate::get(pKey, ResourceManager::getResLocale()); + xMap->putOpCode(sKey, OpCode(nOp), pCharClass); } // static @@ -843,8 +854,8 @@ void lcl_fillNativeSymbols( FormulaCompiler::NonConstOpCodeMapPtr& xMap, bool bD new FormulaCompiler::OpCodeMap( SC_OPCODE_LAST_OPCODE_ID + 1, true, FormulaGrammar::GRAM_NATIVE_UI)); OModuleClient aModuleClient; - OpCodeList aOpCodeListSymbols(RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap); - OpCodeList aOpCodeListNative(RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap); + OpCodeList aOpCodeListSymbols(false, RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap); + OpCodeList aOpCodeListNative(true, RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap); // No AddInMap for native core mapping. } @@ -931,7 +942,7 @@ void FormulaCompiler::InitSymbolsOOXML() const } -void FormulaCompiler::loadSymbols( sal_uInt16 nSymbols, FormulaGrammar::Grammar eGrammar, +void FormulaCompiler::loadSymbols(const std::pair<const char*, int>* pSymbols, FormulaGrammar::Grammar eGrammar, NonConstOpCodeMapPtr& rxMap, SeparatorType eSepType) const { if ( !rxMap.get() ) @@ -939,7 +950,7 @@ void FormulaCompiler::loadSymbols( sal_uInt16 nSymbols, FormulaGrammar::Grammar // not Core rxMap.reset( new OpCodeMap( SC_OPCODE_LAST_OPCODE_ID + 1, eGrammar != FormulaGrammar::GRAM_ODFF, eGrammar )); OModuleClient aModuleClient; - OpCodeList aOpCodeList( nSymbols, rxMap, eSepType); + OpCodeList aOpCodeList(false, pSymbols, rxMap, eSepType); fillFromAddInMap( rxMap, eGrammar); // Fill from collection for AddIns not already present. diff --git a/formula/source/core/inc/core_resource.hrc b/formula/source/core/inc/core_resource.hrc deleted file mode 100644 index 750be5afbef3..000000000000 --- a/formula/source/core/inc/core_resource.hrc +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- 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 INCLUDED_FORMULA_SOURCE_CORE_INC_CORE_RESOURCE_HRC -#define INCLUDED_FORMULA_SOURCE_CORE_INC_CORE_RESOURCE_HRC - -#include <svl/solar.hrc> - -#define RID_CORE_STRINGS_START RID_FORMULA_START -#define RID_CORE_OTHER_START RID_FORMULA_START - -//- String-IDs -#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF (RID_CORE_OTHER_START + 0) -#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML (RID_CORE_OTHER_START + 1) -#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF (RID_CORE_OTHER_START + 2) -#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_API (RID_CORE_OTHER_START + 3) -#define RID_STRLIST_FUNCTION_NAMES_ENGLISH (RID_CORE_OTHER_START + 4) -#define RID_STRLIST_FUNCTION_NAMES_SYMBOLS (RID_CORE_OTHER_START + 5) -#define RID_STRLIST_FUNCTION_NAMES (RID_CORE_OTHER_START + 6) - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/core/inc/core_resource.hxx b/formula/source/core/inc/core_resource.hxx index aaf3b5a9bb53..3dc321b57834 100644 --- a/formula/source/core/inc/core_resource.hxx +++ b/formula/source/core/inc/core_resource.hxx @@ -22,8 +22,6 @@ #include <rtl/ustring.hxx> -class ResMgr; - namespace formula { @@ -34,7 +32,7 @@ namespace formula { friend class OModuleClient; static sal_Int32 s_nClients; /// number of registered clients - static ResMgr* m_pImpl; + static std::locale* m_pImpl; private: // no instantiation allowed @@ -50,7 +48,7 @@ namespace formula public: - static ResMgr* getResManager(); + static const std::locale& getResLocale(); }; diff --git a/formula/source/core/resource/core_resource.cxx b/formula/source/core/resource/core_resource.cxx index 6c9df0139704..b03668d3c783 100644 --- a/formula/source/core/resource/core_resource.cxx +++ b/formula/source/core/resource/core_resource.cxx @@ -39,26 +39,24 @@ namespace formula // access safety struct theResourceManagerMutex : public rtl::Static< osl::Mutex, theResourceManagerMutex > {}; } - sal_Int32 ResourceManager::s_nClients = 0; - ResMgr* ResourceManager::m_pImpl = nullptr; + sal_Int32 ResourceManager::s_nClients = 0; + std::locale* ResourceManager::m_pImpl = nullptr; void ResourceManager::ensureImplExists() { if (m_pImpl) return; - m_pImpl = ResMgr::CreateResMgr("for", Application::GetSettings().GetUILanguageTag()); + m_pImpl = new std::locale(Translate::Create("for", Application::GetSettings().GetUILanguageTag())); } - void ResourceManager::registerClient() { ::osl::MutexGuard aGuard(theResourceManagerMutex::get()); ++s_nClients; } - void ResourceManager::revokeClient() { ::osl::MutexGuard aGuard(theResourceManagerMutex::get()); @@ -68,10 +66,11 @@ namespace formula m_pImpl = nullptr; } } - ResMgr* ResourceManager::getResManager() + + const std::locale& ResourceManager::getResLocale() { ensureImplExists(); - return m_pImpl; + return *m_pImpl; } diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src deleted file mode 100644 index 1c98ff43263e..000000000000 --- a/formula/source/core/resource/core_resource.src +++ /dev/null @@ -1,2708 +0,0 @@ -/* -*- 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 . - */ - -#include "core_resource.hrc" -#include "formula/compiler.hrc" - -/** These English names are used to store/load ODFF as of ODF v1.2. */ -// NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY -// such that at least two releases can already read the new name to be -// introduced by a later release. -// If there is a reason for another name for some function then add an -// *additional* name to be recognized to sc/source/core/tool/compiler.cxx -// ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block. -StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF -{ - ItemList = - { - < "IF" ; SC_OPCODE_IF; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR; >; - < "IFNA" ; SC_OPCODE_IF_NA; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE; >; - < "(" ; SC_OPCODE_OPEN; >; - < ")" ; SC_OPCODE_CLOSE; >; - // SC_OPCODE_TABLE_REF_... not supported in ODFF - < "{" ; SC_OPCODE_ARRAY_OPEN; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE; >; - < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >; - < ";" ; SC_OPCODE_ARRAY_COL_SEP; >; - < ";" ; SC_OPCODE_SEP; >; - < "%" ; SC_OPCODE_PERCENT_SIGN; >; - < "+" ; SC_OPCODE_ADD; >; - < "-" ; SC_OPCODE_SUB; >; - < "*" ; SC_OPCODE_MUL; >; - < "/" ; SC_OPCODE_DIV; >; - < "&" ; SC_OPCODE_AMPERSAND; >; - < "^" ; SC_OPCODE_POW; >; - < "=" ; SC_OPCODE_EQUAL; >; - < "<>" ; SC_OPCODE_NOT_EQUAL; >; - < "<" ; SC_OPCODE_LESS; >; - < ">" ; SC_OPCODE_GREATER; >; - < "<=" ; SC_OPCODE_LESS_EQUAL; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL; >; - < "AND" ; SC_OPCODE_AND; >; - < "OR" ; SC_OPCODE_OR; >; - < "XOR" ; SC_OPCODE_XOR; >; - < "!" ; SC_OPCODE_INTERSECT; >; - < "~" ; SC_OPCODE_UNION; >; - < ":" ; SC_OPCODE_RANGE; >; - < "NOT" ; SC_OPCODE_NOT; >; - < "NEG" ; SC_OPCODE_NEG; >; - < "-" ; SC_OPCODE_NEG_SUB; >; - < "PI" ; SC_OPCODE_PI; >; - < "RAND" ; SC_OPCODE_RANDOM; >; - < "TRUE" ; SC_OPCODE_TRUE; >; - < "FALSE" ; SC_OPCODE_FALSE; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME; >; - < "NA" ; SC_OPCODE_NO_VALUE; >; - < "ORG.OPENOFFICE.CURRENT" ; SC_OPCODE_CURRENT; >; - < "DEGREES" ; SC_OPCODE_DEG; >; - < "RADIANS" ; SC_OPCODE_RAD; >; - < "SIN" ; SC_OPCODE_SIN; >; - < "COS" ; SC_OPCODE_COS; >; - < "TAN" ; SC_OPCODE_TAN; >; - < "COT" ; SC_OPCODE_COT; >; - < "ASIN" ; SC_OPCODE_ARC_SIN; >; - < "ACOS" ; SC_OPCODE_ARC_COS; >; - < "ATAN" ; SC_OPCODE_ARC_TAN; >; - < "ACOT" ; SC_OPCODE_ARC_COT; >; - < "SINH" ; SC_OPCODE_SIN_HYP; >; - < "COSH" ; SC_OPCODE_COS_HYP; >; - < "TANH" ; SC_OPCODE_TAN_HYP; >; - < "COTH" ; SC_OPCODE_COT_HYP; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >; - < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >; - < "CSC" ; SC_OPCODE_COSECANT; >; - < "SEC" ; SC_OPCODE_SECANT; >; - < "CSCH" ; SC_OPCODE_COSECANT_HYP; >; - < "SECH" ; SC_OPCODE_SECANT_HYP; >; - < "EXP" ; SC_OPCODE_EXP; >; - < "LN" ; SC_OPCODE_LN; >; - < "SQRT" ; SC_OPCODE_SQRT; >; - < "FACT" ; SC_OPCODE_FACT; >; - < "YEAR" ; SC_OPCODE_GET_YEAR; >; - < "MONTH" ; SC_OPCODE_GET_MONTH; >; - < "DAY" ; SC_OPCODE_GET_DAY; >; - < "HOUR" ; SC_OPCODE_GET_HOUR; >; - < "MINUTE" ; SC_OPCODE_GET_MIN; >; - < "SECOND" ; SC_OPCODE_GET_SEC; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS; >; - < "ABS" ; SC_OPCODE_ABS; >; - < "INT" ; SC_OPCODE_INT; >; - < "PHI" ; SC_OPCODE_PHI; >; - < "GAUSS" ; SC_OPCODE_GAUSS; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >; - < "TYPE" ; SC_OPCODE_TYPE; >; - < "CELL" ; SC_OPCODE_CELL; >; - < "ISREF" ; SC_OPCODE_IS_REF; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >; - < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >; - < "ISNA" ; SC_OPCODE_IS_NV; >; - < "ISERR" ; SC_OPCODE_IS_ERR; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN; >; - < "ISODD" ; SC_OPCODE_IS_ODD; >; - < "N" ; SC_OPCODE_N; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >; - < "CODE" ; SC_OPCODE_CODE; >; - < "TRIM" ; SC_OPCODE_TRIM; >; - < "UPPER" ; SC_OPCODE_UPPER; >; - < "PROPER" ; SC_OPCODE_PROPER; >; - < "LOWER" ; SC_OPCODE_LOWER; >; - < "LEN" ; SC_OPCODE_LEN; >; - < "T" ; SC_OPCODE_T; >; - < "VALUE" ; SC_OPCODE_VALUE; >; - < "CLEAN" ; SC_OPCODE_CLEAN; >; - < "CHAR" ; SC_OPCODE_CHAR; >; - < "JIS" ; SC_OPCODE_JIS; >; - < "ASC" ; SC_OPCODE_ASC; >; - < "UNICODE" ; SC_OPCODE_UNICODE; >; - < "UNICHAR" ; SC_OPCODE_UNICHAR; >; - < "LOG10" ; SC_OPCODE_LOG10; >; - < "EVEN" ; SC_OPCODE_EVEN; >; - < "ODD" ; SC_OPCODE_ODD; >; - < "LEGACY.NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >; - < "COM.MICROSOFT.NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >; - < "FISHER" ; SC_OPCODE_FISHER; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV; >; - < "LEGACY.NORMSINV" ; SC_OPCODE_S_NORM_INV; >; - < "COM.MICROSOFT.NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >; - < "COM.MICROSOFT.GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >; - < "ORG.OPENOFFICE.ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >; - < "FORMULA" ; SC_OPCODE_FORMULA; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >; - < "COM.MICROSOFT.CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >; - < "CEILING" ; SC_OPCODE_CEIL; >; - < "COM.MICROSOFT.CEILING" ; SC_OPCODE_CEIL_MS; >; - < "COM.MICROSOFT.CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >; - < "COM.MICROSOFT.ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >; - < "FLOOR" ; SC_OPCODE_FLOOR; >; - < "COM.MICROSOFT.FLOOR" ; SC_OPCODE_FLOOR_MS; >; - < "COM.MICROSOFT.FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >; - < "COM.MICROSOFT.FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >; - < "ROUND" ; SC_OPCODE_ROUND; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >; - < "TRUNC" ; SC_OPCODE_TRUNC; >; - < "LOG" ; SC_OPCODE_LOG; >; - < "POWER" ; SC_OPCODE_POWER; >; - < "GCD" ; SC_OPCODE_GCD; >; - < "LCM" ; SC_OPCODE_LCM; >; - < "MOD" ; SC_OPCODE_MOD; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >; - < "DATE" ; SC_OPCODE_GET_DATE; >; - < "TIME" ; SC_OPCODE_GET_TIME; >; - < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >; - < "MIN" ; SC_OPCODE_MIN; >; - < "MINA" ; SC_OPCODE_MIN_A; >; - < "MAX" ; SC_OPCODE_MAX; >; - < "MAXA" ; SC_OPCODE_MAX_A; >; - < "SUM" ; SC_OPCODE_SUM; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >; - < "COUNT" ; SC_OPCODE_COUNT; >; - < "COUNTA" ; SC_OPCODE_COUNT_2; >; - < "NPV" ; SC_OPCODE_NPV; >; - < "IRR" ; SC_OPCODE_IRR; >; - < "MIRR" ; SC_OPCODE_MIRR; >; - < "ISPMT" ; SC_OPCODE_ISPMT; >; - < "VAR" ; SC_OPCODE_VAR; >; - < "VARA" ; SC_OPCODE_VAR_A; >; - < "VARP" ; SC_OPCODE_VAR_P; >; - < "VARPA" ; SC_OPCODE_VAR_P_A; >; - < "COM.MICROSOFT.VAR.P" ; SC_OPCODE_VAR_P_MS; >; - < "COM.MICROSOFT.VAR.S" ; SC_OPCODE_VAR_S; >; - < "STDEV" ; SC_OPCODE_ST_DEV; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >; - < "COM.MICROSOFT.STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >; - < "COM.MICROSOFT.STDEV.S" ; SC_OPCODE_ST_DEV_S; >; - < "BINOM.DIST.RANGE" ; SC_OPCODE_B; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST; >; - < "COM.MICROSOFT.NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >; - < "COM.MICROSOFT.EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >; - < "COM.MICROSOFT.BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST; >; - < "COM.MICROSOFT.POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >; - < "COMBIN" ; SC_OPCODE_COMBIN; >; - < "COMBINA" ; SC_OPCODE_COMBIN_A; >; - < "PERMUT" ; SC_OPCODE_PERMUT; >; - < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >; - < "PV" ; SC_OPCODE_PV; >; - < "SYD" ; SC_OPCODE_SYD; >; - < "DDB" ; SC_OPCODE_DDB; >; - < "DB" ; SC_OPCODE_DB; >; - < "VDB" ; SC_OPCODE_VBD; >; - < "PDURATION" ; SC_OPCODE_PDURATION; >; - < "SLN" ; SC_OPCODE_SLN; >; - < "PMT" ; SC_OPCODE_PMT; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS; >; - < "ROWS" ; SC_OPCODE_ROWS; >; - < "SHEETS" ; SC_OPCODE_SHEETS; >; - < "COLUMN" ; SC_OPCODE_COLUMN; >; - < "ROW" ; SC_OPCODE_ROW; >; - < "SHEET" ; SC_OPCODE_SHEET; >; - < "RRI" ; SC_OPCODE_RRI; >; - < "FV" ; SC_OPCODE_FV; >; - < "NPER" ; SC_OPCODE_NPER; >; - < "RATE" ; SC_OPCODE_RATE; >; - < "IPMT" ; SC_OPCODE_IPMT; >; - < "PPMT" ; SC_OPCODE_PPMT; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >; - < "EFFECT" ; SC_OPCODE_EFFECT; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >; - < "DSUM" ; SC_OPCODE_DB_SUM; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >; - < "DGET" ; SC_OPCODE_DB_GET; >; - < "DMAX" ; SC_OPCODE_DB_MAX; >; - < "DMIN" ; SC_OPCODE_DB_MIN; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >; - < "DVAR" ; SC_OPCODE_DB_VAR; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS; >; - < "MATCH" ; SC_OPCODE_MATCH; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF; >; - < "SUMIF" ; SC_OPCODE_SUM_IF; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >; - < "ORG.OPENOFFICE.MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union) - < "OFFSET" ; SC_OPCODE_OFFSET; >; - < "INDEX" ; SC_OPCODE_INDEX; >; - < "AREAS" ; SC_OPCODE_AREAS; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY; >; - < "REPLACE" ; SC_OPCODE_REPLACE; >; - < "FIXED" ; SC_OPCODE_FIXED; >; - < "FIND" ; SC_OPCODE_FIND; >; - < "EXACT" ; SC_OPCODE_EXACT; >; - < "LEFT" ; SC_OPCODE_LEFT; >; - < "RIGHT" ; SC_OPCODE_RIGHT; >; - < "SEARCH" ; SC_OPCODE_SEARCH; >; - < "MID" ; SC_OPCODE_MID; >; - < "LENB" ; SC_OPCODE_LENB; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB; >; - < "LEFTB" ; SC_OPCODE_LEFTB; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB; >; - < "TEXT" ; SC_OPCODE_TEXT; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >; - < "REPT" ; SC_OPCODE_REPT; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT; >; - < "COM.MICROSOFT.CONCAT" ; SC_OPCODE_CONCAT_MS; >; - < "COM.MICROSOFT.TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >; - < "COM.MICROSOFT.IFS" ; SC_OPCODE_IFS_MS; >; - < "COM.MICROSOFT.SWITCH" ; SC_OPCODE_SWITCH_MS; >; - < "COM.MICROSOFT.MINIFS" ; SC_OPCODE_MINIFS_MS; >; - < "COM.MICROSOFT.MAXIFS" ; SC_OPCODE_MAXIFS_MS; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE; >; - < "MDETERM" ; SC_OPCODE_MAT_DET; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV; >; - < "MMULT" ; SC_OPCODE_MAT_MULT; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >; - < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >; - < "ORG.OPENOFFICE.GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >; - < "COM.MICROSOFT.HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >; - < "COM.MICROSOFT.LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >; - < "LEGACY.TDIST" ; SC_OPCODE_T_DIST; >; - < "COM.MICROSOFT.T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >; - < "COM.MICROSOFT.T.DIST" ; SC_OPCODE_T_DIST_MS; >; - < "COM.MICROSOFT.T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >; - < "LEGACY.FDIST" ; SC_OPCODE_F_DIST; >; - < "FDIST" ; SC_OPCODE_F_DIST_LT; >; - < "COM.MICROSOFT.F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >; - < "LEGACY.CHIDIST" ; SC_OPCODE_CHI_DIST; >; - < "COM.MICROSOFT.CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL; >; - < "COM.MICROSOFT.WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >; - < "COM.MICROSOFT.NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >; - < "COM.MICROSOFT.BINOM.INV" ; SC_OPCODE_BINOM_INV; >; - < "KURT" ; SC_OPCODE_KURT; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV; >; - < "SKEW" ; SC_OPCODE_SKEW; >; - < "SKEWP" ; SC_OPCODE_SKEWP; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE; >; - < "COM.MICROSOFT.MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >; - < "COM.MICROSOFT.MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >; - < "ZTEST" ; SC_OPCODE_Z_TEST; >; - < "COM.MICROSOFT.Z.TEST" ; SC_OPCODE_Z_TEST_MS; >; - < "COM.MICROSOFT.AGGREGATE" ; SC_OPCODE_AGGREGATE; >; - < "TTEST" ; SC_OPCODE_T_TEST; >; - < "COM.MICROSOFT.T.TEST" ; SC_OPCODE_T_TEST_MS; >; - < "RANK" ; SC_OPCODE_RANK; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >; - < "COM.MICROSOFT.PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >; - < "COM.MICROSOFT.PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >; - < "COM.MICROSOFT.QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >; - < "COM.MICROSOFT.RANK.EQ" ; SC_OPCODE_RANK_EQ; >; - < "COM.MICROSOFT.PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >; - < "COM.MICROSOFT.PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >; - < "COM.MICROSOFT.QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >; - < "COM.MICROSOFT.RANK.AVG" ; SC_OPCODE_RANK_AVG; >; - < "LARGE" ; SC_OPCODE_LARGE; >; - < "SMALL" ; SC_OPCODE_SMALL; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE; >; - < "NORMINV" ; SC_OPCODE_NORM_INV; >; - < "COM.MICROSOFT.NORM.INV" ; SC_OPCODE_NORM_INV_MS; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >; - < "COM.MICROSOFT.CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >; - < "COM.MICROSOFT.CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >; - < "FTEST" ; SC_OPCODE_F_TEST; >; - < "COM.MICROSOFT.F.TEST" ; SC_OPCODE_F_TEST_MS; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >; - < "PROB" ; SC_OPCODE_PROB; >; - < "CORREL" ; SC_OPCODE_CORREL; >; - < "COVAR" ; SC_OPCODE_COVAR; >; - < "COM.MICROSOFT.COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >; - < "COM.MICROSOFT.COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >; - < "PEARSON" ; SC_OPCODE_PEARSON; >; - < "RSQ" ; SC_OPCODE_RSQ; >; - < "STEYX" ; SC_OPCODE_STEYX; >; - < "SLOPE" ; SC_OPCODE_SLOPE; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >; - < "TREND" ; SC_OPCODE_TREND; >; - < "GROWTH" ; SC_OPCODE_GROWTH; >; - < "LINEST" ; SC_OPCODE_LINEST; >; - < "LOGEST" ; SC_OPCODE_LOGEST; >; - < "FORECAST" ; SC_OPCODE_FORECAST; >; - < "COM.MICROSOFT.FORECAST.ETS" ; SC_OPCODE_FORECAST_ETS_ADD; >; - < "COM.MICROSOFT.FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >; - < "ORG.LIBREOFFICE.FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >; - < "COM.MICROSOFT.FORECAST.ETS.CONFINT" ; SC_OPCODE_FORECAST_ETS_PIA; >; - < "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >; - < "COM.MICROSOFT.FORECAST.ETS.STAT" ; SC_OPCODE_FORECAST_ETS_STA; >; - < "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >; - < "COM.MICROSOFT.FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >; - < "LEGACY.CHIINV" ; SC_OPCODE_CHI_INV; >; - < "COM.MICROSOFT.CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >; - < "COM.MICROSOFT.GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >; - < "COM.MICROSOFT.GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >; - < "TINV" ; SC_OPCODE_T_INV; >; - < "COM.MICROSOFT.T.INV.2T" ; SC_OPCODE_T_INV_2T; >; - < "COM.MICROSOFT.T.INV" ; SC_OPCODE_T_INV_MS; >; - < "LEGACY.FINV" ; SC_OPCODE_F_INV; >; - < "FINV" ; SC_OPCODE_F_INV_LT; >; - < "COM.MICROSOFT.F.INV.RT" ; SC_OPCODE_F_INV_RT; >; - < "LEGACY.CHITEST" ; SC_OPCODE_CHI_TEST; >; - < "COM.MICROSOFT.CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >; - < "LOGINV" ; SC_OPCODE_LOG_INV; >; - < "COM.MICROSOFT.LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >; - < "MULTIPLE.OPERATIONS" ; SC_OPCODE_TABLE_OP; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST; >; - < "BETAINV" ; SC_OPCODE_BETA_INV; >; - < "COM.MICROSOFT.BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >; - < "COM.MICROSOFT.BETA.INV" ; SC_OPCODE_BETA_INV_MS; >; - < "WEEKNUM" ; SC_OPCODE_WEEK; >; - < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >; - < "ORG.LIBREOFFICE.WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >; - < "ORG.OPENOFFICE.EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >; - < "COM.MICROSOFT.NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >; - < "COM.MICROSOFT.WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >; - < "#NAME!" ; SC_OPCODE_NO_NAME; >; - < "ORG.OPENOFFICE.STYLE" ; SC_OPCODE_STYLE; >; - < "DDE" ; SC_OPCODE_DDE; >; - < "BASE" ; SC_OPCODE_BASE; >; - < "DECIMAL" ; SC_OPCODE_DECIMAL; >; - < "ORG.OPENOFFICE.CONVERT" ; SC_OPCODE_CONVERT_OOO; >; - < "ROMAN" ; SC_OPCODE_ROMAN; >; - < "ARABIC" ; SC_OPCODE_ARABIC; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >; - < "INFO" ; SC_OPCODE_INFO; >; - < "COM.MICROSOFT.BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >; - < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >; - < "GAMMA" ; SC_OPCODE_GAMMA; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >; - < "COM.MICROSOFT.CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >; - < "COM.MICROSOFT.CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >; - < "BITAND" ; SC_OPCODE_BITAND; >; - < "BITOR" ; SC_OPCODE_BITOR; >; - < "BITXOR" ; SC_OPCODE_BITXOR; >; - < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >; - < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >; - /* BEGIN defined ERROR.TYPE() values. */ - < "#NULL!" ; SC_OPCODE_ERROR_NULL; >; - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >; - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >; - < "#REF!" ; SC_OPCODE_ERROR_REF; >; - < "#NAME?" ; SC_OPCODE_ERROR_NAME; >; - < "#NUM!" ; SC_OPCODE_ERROR_NUM; >; - < "#N/A" ; SC_OPCODE_ERROR_NA; >; - /* END defined ERROR.TYPE() values. */ - < "COM.MICROSOFT.FILTERXML" ; SC_OPCODE_FILTERXML; >; - < "COM.MICROSOFT.WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >; - < "ORG.LIBREOFFICE.COLOR" ; SC_OPCODE_COLOR; >; - < "COM.MICROSOFT.ERF.PRECISE" ; SC_OPCODE_ERF_MS; >; - < "COM.MICROSOFT.ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >; - < "COM.MICROSOFT.ENCODEURL" ; SC_OPCODE_ENCODEURL; >; - < "ORG.LIBREOFFICE.RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >; - < "ORG.LIBREOFFICE.ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -/** These function names are used in the OOXML XLSX import/export. */ -StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML -{ - ItemList = - { - < "IF" ; SC_OPCODE_IF; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR; >; - < "_xlfn.IFNA" ; SC_OPCODE_IF_NA; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE; >; - < "(" ; SC_OPCODE_OPEN; >; - < ")" ; SC_OPCODE_CLOSE; >; - < "[" ; SC_OPCODE_TABLE_REF_OPEN; >; - < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >; - < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >; - < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >; - < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >; - < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >; - < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >; - < "{" ; SC_OPCODE_ARRAY_OPEN; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE; >; - < ";" ; SC_OPCODE_ARRAY_ROW_SEP; >; - < "," ; SC_OPCODE_ARRAY_COL_SEP; >; - < "," ; SC_OPCODE_SEP; >; - < "%" ; SC_OPCODE_PERCENT_SIGN; >; - < "+" ; SC_OPCODE_ADD; >; - < "-" ; SC_OPCODE_SUB; >; - < "*" ; SC_OPCODE_MUL; >; - < "/" ; SC_OPCODE_DIV; >; - < "&" ; SC_OPCODE_AMPERSAND; >; - < "^" ; SC_OPCODE_POW; >; - < "=" ; SC_OPCODE_EQUAL; >; - < "<>" ; SC_OPCODE_NOT_EQUAL; >; - < "<" ; SC_OPCODE_LESS; >; - < ">" ; SC_OPCODE_GREATER; >; - < "<=" ; SC_OPCODE_LESS_EQUAL; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL; >; - < "AND" ; SC_OPCODE_AND; >; - < "OR" ; SC_OPCODE_OR; >; - < "_xlfn.XOR" ; SC_OPCODE_XOR; >; - < " " ; SC_OPCODE_INTERSECT; >; - < "~" ; SC_OPCODE_UNION; >; - < ":" ; SC_OPCODE_RANGE; >; - < "NOT" ; SC_OPCODE_NOT; >; - < "NEG" ; SC_OPCODE_NEG; >; - < "-" ; SC_OPCODE_NEG_SUB; >; - < "PI" ; SC_OPCODE_PI; >; - < "RAND" ; SC_OPCODE_RANDOM; >; - < "TRUE" ; SC_OPCODE_TRUE; >; - < "FALSE" ; SC_OPCODE_FALSE; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME; >; - < "NA" ; SC_OPCODE_NO_VALUE; >; - < "_xlfn.ORG.OPENOFFICE.CURRENT" ; SC_OPCODE_CURRENT; >; - < "DEGREES" ; SC_OPCODE_DEG; >; - < "RADIANS" ; SC_OPCODE_RAD; >; - < "SIN" ; SC_OPCODE_SIN; >; - < "COS" ; SC_OPCODE_COS; >; - < "TAN" ; SC_OPCODE_TAN; >; - < "_xlfn.COT" ; SC_OPCODE_COT; >; - < "ASIN" ; SC_OPCODE_ARC_SIN; >; - < "ACOS" ; SC_OPCODE_ARC_COS; >; - < "ATAN" ; SC_OPCODE_ARC_TAN; >; - < "_xlfn.ACOT" ; SC_OPCODE_ARC_COT; >; - < "SINH" ; SC_OPCODE_SIN_HYP; >; - < "COSH" ; SC_OPCODE_COS_HYP; >; - < "TANH" ; SC_OPCODE_TAN_HYP; >; - < "_xlfn.COTH" ; SC_OPCODE_COT_HYP; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >; - < "_xlfn.ACOTH" ; SC_OPCODE_ARC_COT_HYP; >; - < "_xlfn.CSC" ; SC_OPCODE_COSECANT; >; - < "_xlfn.SEC" ; SC_OPCODE_SECANT; >; - < "_xlfn.CSCH" ; SC_OPCODE_COSECANT_HYP; >; - < "_xlfn.SECH" ; SC_OPCODE_SECANT_HYP; >; - < "EXP" ; SC_OPCODE_EXP; >; - < "LN" ; SC_OPCODE_LN; >; - < "SQRT" ; SC_OPCODE_SQRT; >; - < "FACT" ; SC_OPCODE_FACT; >; - < "YEAR" ; SC_OPCODE_GET_YEAR; >; - < "MONTH" ; SC_OPCODE_GET_MONTH; >; - < "DAY" ; SC_OPCODE_GET_DAY; >; - < "HOUR" ; SC_OPCODE_GET_HOUR; >; - < "MINUTE" ; SC_OPCODE_GET_MIN; >; - < "SECOND" ; SC_OPCODE_GET_SEC; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS; >; - < "ABS" ; SC_OPCODE_ABS; >; - < "INT" ; SC_OPCODE_INT; >; - < "_xlfn.PHI" ; SC_OPCODE_PHI; >; - < "_xlfn.GAUSS" ; SC_OPCODE_GAUSS; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >; - < "TYPE" ; SC_OPCODE_TYPE; >; - < "CELL" ; SC_OPCODE_CELL; >; - < "ISREF" ; SC_OPCODE_IS_REF; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >; - < "_xlfn.ISFORMULA" ; SC_OPCODE_IS_FORMULA; >; - < "ISNA" ; SC_OPCODE_IS_NV; >; - < "ISERR" ; SC_OPCODE_IS_ERR; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN; >; - < "ISODD" ; SC_OPCODE_IS_ODD; >; - < "N" ; SC_OPCODE_N; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >; - < "CODE" ; SC_OPCODE_CODE; >; - < "TRIM" ; SC_OPCODE_TRIM; >; - < "UPPER" ; SC_OPCODE_UPPER; >; - < "PROPER" ; SC_OPCODE_PROPER; >; - < "LOWER" ; SC_OPCODE_LOWER; >; - < "LEN" ; SC_OPCODE_LEN; >; - < "T" ; SC_OPCODE_T; >; - < "VALUE" ; SC_OPCODE_VALUE; >; - < "CLEAN" ; SC_OPCODE_CLEAN; >; - < "CHAR" ; SC_OPCODE_CHAR; >; - < "JIS" ; SC_OPCODE_JIS; >; - < "ASC" ; SC_OPCODE_ASC; >; - < "_xlfn.UNICODE" ; SC_OPCODE_UNICODE; >; - < "_xlfn.UNICHAR" ; SC_OPCODE_UNICHAR; >; - < "LOG10" ; SC_OPCODE_LOG10; >; - < "EVEN" ; SC_OPCODE_EVEN; >; - < "ODD" ; SC_OPCODE_ODD; >; - < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >; - < "_xlfn.NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >; - < "FISHER" ; SC_OPCODE_FISHER; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV; >; - < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >; - < "_xlfn.NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >; - < "_xlfn.GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >; - < "_xlfn.ORG.OPENOFFICE.ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >; - < "_xlfn.FORMULATEXT" ; SC_OPCODE_FORMULA; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >; - < "_xlfn.CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >; - < "_xlfn.CEILING.MATH" ; SC_OPCODE_CEIL; >; - < "CEILING" ; SC_OPCODE_CEIL_MS; >; - < "_xlfn.CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >; - < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >; - < "FLOOR" ; SC_OPCODE_FLOOR_MS; >; - < "_xlfn.FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >; - < "_xlfn.FLOOR.MATH" ; SC_OPCODE_FLOOR; >; - < "_xlfn.FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >; - < "ROUND" ; SC_OPCODE_ROUND; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >; - < "TRUNC" ; SC_OPCODE_TRUNC; >; - < "LOG" ; SC_OPCODE_LOG; >; - < "POWER" ; SC_OPCODE_POWER; >; - < "GCD" ; SC_OPCODE_GCD; >; - < "LCM" ; SC_OPCODE_LCM; >; - < "MOD" ; SC_OPCODE_MOD; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >; - < "DATE" ; SC_OPCODE_GET_DATE; >; - < "TIME" ; SC_OPCODE_GET_TIME; >; - < "_xlfn.DAYS" ; SC_OPCODE_GET_DIFF_DATE; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >; - < "MIN" ; SC_OPCODE_MIN; >; - < "MINA" ; SC_OPCODE_MIN_A; >; - < "MAX" ; SC_OPCODE_MAX; >; - < "MAXA" ; SC_OPCODE_MAX_A; >; - < "SUM" ; SC_OPCODE_SUM; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >; - < "COUNT" ; SC_OPCODE_COUNT; >; - < "COUNTA" ; SC_OPCODE_COUNT_2; >; - < "NPV" ; SC_OPCODE_NPV; >; - < "IRR" ; SC_OPCODE_IRR; >; - < "MIRR" ; SC_OPCODE_MIRR; >; - < "ISPMT" ; SC_OPCODE_ISPMT; >; - < "VAR" ; SC_OPCODE_VAR; >; - < "VARA" ; SC_OPCODE_VAR_A; >; - < "VARP" ; SC_OPCODE_VAR_P; >; - < "VARPA" ; SC_OPCODE_VAR_P_A; >; - < "_xlfn.VAR.P" ; SC_OPCODE_VAR_P_MS; >; - < "_xlfn.VAR.S" ; SC_OPCODE_VAR_S; >; - < "STDEV" ; SC_OPCODE_ST_DEV; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >; - < "_xlfn.STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >; - < "_xlfn.STDEV.S" ; SC_OPCODE_ST_DEV_S; >; - < "B" ; SC_OPCODE_B; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST; >; - < "_xlfn.NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >; - < "_xlfn.EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >; - < "_xlfn.BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST; >; - < "_xlfn.POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >; - < "COMBIN" ; SC_OPCODE_COMBIN; >; - < "_xlfn.COMBINA" ; SC_OPCODE_COMBIN_A; >; - < "PERMUT" ; SC_OPCODE_PERMUT; >; - < "_xlfn.PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >; - < "PV" ; SC_OPCODE_PV; >; - < "SYD" ; SC_OPCODE_SYD; >; - < "DDB" ; SC_OPCODE_DDB; >; - < "DB" ; SC_OPCODE_DB; >; - < "VDB" ; SC_OPCODE_VBD; >; - < "_xlfn.PDURATION" ; SC_OPCODE_PDURATION; >; - < "SLN" ; SC_OPCODE_SLN; >; - < "PMT" ; SC_OPCODE_PMT; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS; >; - < "ROWS" ; SC_OPCODE_ROWS; >; - < "_xlfn.SHEETS" ; SC_OPCODE_SHEETS; >; - < "COLUMN" ; SC_OPCODE_COLUMN; >; - < "ROW" ; SC_OPCODE_ROW; >; - < "_xlfn.SHEET" ; SC_OPCODE_SHEET; >; - < "_xlfn.RRI" ; SC_OPCODE_RRI; >; - < "FV" ; SC_OPCODE_FV; >; - < "NPER" ; SC_OPCODE_NPER; >; - < "RATE" ; SC_OPCODE_RATE; >; - < "IPMT" ; SC_OPCODE_IPMT; >; - < "PPMT" ; SC_OPCODE_PPMT; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >; - < "EFFECT" ; SC_OPCODE_EFFECT; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >; - < "DSUM" ; SC_OPCODE_DB_SUM; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >; - < "DGET" ; SC_OPCODE_DB_GET; >; - < "DMAX" ; SC_OPCODE_DB_MAX; >; - < "DMIN" ; SC_OPCODE_DB_MIN; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >; - < "DVAR" ; SC_OPCODE_DB_VAR; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS; >; - < "MATCH" ; SC_OPCODE_MATCH; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF; >; - < "SUMIF" ; SC_OPCODE_SUM_IF; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >; - < "_xlfn.ORG.OPENOFFICE.MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union) - < "OFFSET" ; SC_OPCODE_OFFSET; >; - < "INDEX" ; SC_OPCODE_INDEX; >; - < "AREAS" ; SC_OPCODE_AREAS; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY; >; - < "REPLACE" ; SC_OPCODE_REPLACE; >; - < "FIXED" ; SC_OPCODE_FIXED; >; - < "FIND" ; SC_OPCODE_FIND; >; - < "EXACT" ; SC_OPCODE_EXACT; >; - < "LEFT" ; SC_OPCODE_LEFT; >; - < "RIGHT" ; SC_OPCODE_RIGHT; >; - < "SEARCH" ; SC_OPCODE_SEARCH; >; - < "MID" ; SC_OPCODE_MID; >; - < "LENB" ; SC_OPCODE_LENB; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB; >; - < "LEFTB" ; SC_OPCODE_LEFTB; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB; >; - < "TEXT" ; SC_OPCODE_TEXT; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >; - < "REPT" ; SC_OPCODE_REPT; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT; >; - < "_xlfn.CONCAT" ; SC_OPCODE_CONCAT_MS; >; - < "_xlfn.TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >; - < "_xlfn.IFS" ; SC_OPCODE_IFS_MS; >; - < "_xlfn.SWITCH" ; SC_OPCODE_SWITCH_MS; >; - < "_xlfn.MINIFS" ; SC_OPCODE_MINIFS_MS; >; - < "_xlfn.MAXIFS" ; SC_OPCODE_MAXIFS_MS; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE; >; - < "MDETERM" ; SC_OPCODE_MAT_DET; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV; >; - < "MMULT" ; SC_OPCODE_MAT_MULT; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >; - < "_xlfn.MUNIT" ; SC_OPCODE_MATRIX_UNIT; >; - < "_xlfn.ORG.OPENOFFICE.GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >; - < "_xlfn.HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >; - < "_xlfn.LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >; - < "TDIST" ; SC_OPCODE_T_DIST; >; - < "_xlfn.T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >; - < "_xlfn.T.DIST" ; SC_OPCODE_T_DIST_MS; >; - < "_xlfn.T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >; - < "FDIST" ; SC_OPCODE_F_DIST; >; - < "_xlfn.F.DIST" ; SC_OPCODE_F_DIST_LT; >; - < "_xlfn.F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >; - < "CHIDIST" ; SC_OPCODE_CHI_DIST; >; - < "_xlfn.CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL; >; - < "_xlfn.WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >; - < "_xlfn.NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >; - < "_xlfn.BINOM.INV" ; SC_OPCODE_BINOM_INV; >; - < "KURT" ; SC_OPCODE_KURT; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV; >; - < "SKEW" ; SC_OPCODE_SKEW; >; - < "_xlfn.SKEW.P" ; SC_OPCODE_SKEWP; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE; >; - < "_xlfn.MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >; - < "_xlfn.MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >; - < "ZTEST" ; SC_OPCODE_Z_TEST; >; - < "_xlfn.Z.TEST" ; SC_OPCODE_Z_TEST_MS; >; - < "_xlfn.AGGREGATE" ; SC_OPCODE_AGGREGATE; >; - < "TTEST" ; SC_OPCODE_T_TEST; >; - < "_xlfn.T.TEST" ; SC_OPCODE_T_TEST_MS; >; - < "RANK" ; SC_OPCODE_RANK; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >; - < "_xlfn.PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >; - < "_xlfn.PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >; - < "_xlfn.QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >; - < "_xlfn.RANK.EQ" ; SC_OPCODE_RANK_EQ; >; - < "_xlfn.PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >; - < "_xlfn.PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >; - < "_xlfn.QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >; - < "_xlfn.RANK.AVG" ; SC_OPCODE_RANK_AVG; >; - < "LARGE" ; SC_OPCODE_LARGE; >; - < "SMALL" ; SC_OPCODE_SMALL; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE; >; - < "NORMINV" ; SC_OPCODE_NORM_INV; >; - < "_xlfn.NORM.INV" ; SC_OPCODE_NORM_INV_MS; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >; - < "_xlfn.CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >; - < "_xlfn.CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >; - < "FTEST" ; SC_OPCODE_F_TEST; >; - < "_xlfn.F.TEST" ; SC_OPCODE_F_TEST_MS; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >; - < "PROB" ; SC_OPCODE_PROB; >; - < "CORREL" ; SC_OPCODE_CORREL; >; - < "COVAR" ; SC_OPCODE_COVAR; >; - < "_xlfn.COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >; - < "_xlfn.COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >; - < "PEARSON" ; SC_OPCODE_PEARSON; >; - < "RSQ" ; SC_OPCODE_RSQ; >; - < "STEYX" ; SC_OPCODE_STEYX; >; - < "SLOPE" ; SC_OPCODE_SLOPE; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >; - < "TREND" ; SC_OPCODE_TREND; >; - < "GROWTH" ; SC_OPCODE_GROWTH; >; - < "LINEST" ; SC_OPCODE_LINEST; >; - < "LOGEST" ; SC_OPCODE_LOGEST; >; - < "FORECAST" ; SC_OPCODE_FORECAST; >; - < "_xlfn.FORECAST.ETS" ; SC_OPCODE_FORECAST_ETS_ADD; >; - < "_xlfn.FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >; - < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >; - < "_xlfn.FORECAST.ETS.CONFINT" ; SC_OPCODE_FORECAST_ETS_PIA; >; - < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >; - < "_xlfn.FORECAST.ETS.STAT" ; SC_OPCODE_FORECAST_ETS_STA; >; - < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >; - < "_xlfn.FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >; - < "CHIINV" ; SC_OPCODE_CHI_INV; >; - < "_xlfn.CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >; - < "_xlfn.GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >; - < "_xlfn.GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >; - < "TINV" ; SC_OPCODE_T_INV; >; - < "_xlfn.T.INV.2T" ; SC_OPCODE_T_INV_2T; >; - < "_xlfn.T.INV" ; SC_OPCODE_T_INV_MS; >; - < "FINV" ; SC_OPCODE_F_INV; >; - < "_xlfn.F.INV" ; SC_OPCODE_F_INV_LT; >; - < "_xlfn.F.INV.RT" ; SC_OPCODE_F_INV_RT; >; - < "CHITEST" ; SC_OPCODE_CHI_TEST; >; - < "_xlfn.CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >; - < "LOGINV" ; SC_OPCODE_LOG_INV; >; - < "_xlfn.LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >; - < "TABLE" ; SC_OPCODE_TABLE_OP; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST; >; - < "BETAINV" ; SC_OPCODE_BETA_INV; >; - < "_xlfn.BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >; - < "_xlfn.BETA.INV" ; SC_OPCODE_BETA_INV_MS; >; - < "WEEKNUM" ; SC_OPCODE_WEEK; >; - < "_xlfn.ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >; - < "_xlfn.ORG.LIBREOFFICE.WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >; - < "_xlfn.ORG.OPENOFFICE.EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >; - < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >; - < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >; - < "#NAME!" ; SC_OPCODE_NO_NAME; >; - < "_xlfn.ORG.OPENOFFICE.STYLE" ; SC_OPCODE_STYLE; >; - < "DDE" ; SC_OPCODE_DDE; >; - < "_xlfn.BASE" ; SC_OPCODE_BASE; >; - < "_xlfn.DECIMAL" ; SC_OPCODE_DECIMAL; >; - < "_xlfn.ORG.OPENOFFICE.CONVERT" ; SC_OPCODE_CONVERT_OOO; >; - < "ROMAN" ; SC_OPCODE_ROMAN; >; - < "_xlfn.ARABIC" ; SC_OPCODE_ARABIC; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >; - < "INFO" ; SC_OPCODE_INFO; >; - < "_xlfn.BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >; - < "_xlfn.NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >; - < "_xlfn.GAMMA" ; SC_OPCODE_GAMMA; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >; - < "_xlfn.CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >; - < "_xlfn.CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >; - < "_xlfn.BITAND" ; SC_OPCODE_BITAND; >; - < "_xlfn.BITOR" ; SC_OPCODE_BITOR; >; - < "_xlfn.BITXOR" ; SC_OPCODE_BITXOR; >; - < "_xlfn.BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >; - < "_xlfn.BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >; - < "#NULL!" ; SC_OPCODE_ERROR_NULL; >; - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >; - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >; - < "#REF!" ; SC_OPCODE_ERROR_REF; >; - < "#NAME?" ; SC_OPCODE_ERROR_NAME; >; - < "#NUM!" ; SC_OPCODE_ERROR_NUM; >; - < "#N/A" ; SC_OPCODE_ERROR_NA; >; - /* END defined ERROR.TYPE() values. */ - < "_xlfn.FILTERXML" ; SC_OPCODE_FILTERXML; >; - < "_xlfn.WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >; - < "_xlfn.ORG.LIBREOFFICE.COLOR" ; SC_OPCODE_COLOR; >; - < "_xlfn.ERF.PRECISE" ; SC_OPCODE_ERF_MS; >; - < "_xlfn.ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >; - < "_xlfn.ENCODEURL" ; SC_OPCODE_ENCODEURL; >; - < "_xlfn.ORG.LIBREOFFICE.RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >; - < "_xlfn.ORG.LIBREOFFICE.ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -/** These English names are used to store/load ODF v1.0/v1.1. */ -// DO NOT CHANGE NAMES! Only add functions. -// If there is a reason for another name for some function then add an -// *additional* name to be recognized to sc/source/core/tool/compiler.cxx -// ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block. -StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF -{ - ItemList = - { - < "IF" ; SC_OPCODE_IF; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR; >; - < "IFNA" ; SC_OPCODE_IF_NA; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE; >; - < "(" ; SC_OPCODE_OPEN; >; - < ")" ; SC_OPCODE_CLOSE; >; - < "[" ; SC_OPCODE_TABLE_REF_OPEN; >; - < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >; - < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >; - < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >; - < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >; - < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >; - < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >; - < "{" ; SC_OPCODE_ARRAY_OPEN; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE; >; - < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >; - < ";" ; SC_OPCODE_ARRAY_COL_SEP; >; - < ";" ; SC_OPCODE_SEP; >; - < "%" ; SC_OPCODE_PERCENT_SIGN; >; - < "+" ; SC_OPCODE_ADD; >; - < "-" ; SC_OPCODE_SUB; >; - < "*" ; SC_OPCODE_MUL; >; - < "/" ; SC_OPCODE_DIV; >; - < "&" ; SC_OPCODE_AMPERSAND; >; - < "^" ; SC_OPCODE_POW; >; - < "=" ; SC_OPCODE_EQUAL; >; - < "<>" ; SC_OPCODE_NOT_EQUAL; >; - < "<" ; SC_OPCODE_LESS; >; - < ">" ; SC_OPCODE_GREATER; >; - < "<=" ; SC_OPCODE_LESS_EQUAL; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL; >; - < "AND" ; SC_OPCODE_AND; >; - < "OR" ; SC_OPCODE_OR; >; - < "XOR" ; SC_OPCODE_XOR; >; - < "!" ; SC_OPCODE_INTERSECT; >; - < "~" ; SC_OPCODE_UNION; >; - < ":" ; SC_OPCODE_RANGE; >; - < "NOT" ; SC_OPCODE_NOT; >; - < "NEG" ; SC_OPCODE_NEG; >; - < "-" ; SC_OPCODE_NEG_SUB; >; - < "PI" ; SC_OPCODE_PI; >; - < "RAND" ; SC_OPCODE_RANDOM; >; - < "TRUE" ; SC_OPCODE_TRUE; >; - < "FALSE" ; SC_OPCODE_FALSE; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME; >; - < "NA" ; SC_OPCODE_NO_VALUE; >; - < "CURRENT" ; SC_OPCODE_CURRENT; >; - < "DEGREES" ; SC_OPCODE_DEG; >; - < "RADIANS" ; SC_OPCODE_RAD; >; - < "SIN" ; SC_OPCODE_SIN; >; - < "COS" ; SC_OPCODE_COS; >; - < "TAN" ; SC_OPCODE_TAN; >; - < "COT" ; SC_OPCODE_COT; >; - < "ASIN" ; SC_OPCODE_ARC_SIN; >; - < "ACOS" ; SC_OPCODE_ARC_COS; >; - < "ATAN" ; SC_OPCODE_ARC_TAN; >; - < "ACOT" ; SC_OPCODE_ARC_COT; >; - < "SINH" ; SC_OPCODE_SIN_HYP; >; - < "COSH" ; SC_OPCODE_COS_HYP; >; - < "TANH" ; SC_OPCODE_TAN_HYP; >; - < "COTH" ; SC_OPCODE_COT_HYP; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >; - < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >; - < "CSC" ; SC_OPCODE_COSECANT; >; - < "SEC" ; SC_OPCODE_SECANT; >; - < "CSCH" ; SC_OPCODE_COSECANT_HYP; >; - < "SECH" ; SC_OPCODE_SECANT_HYP; >; - < "EXP" ; SC_OPCODE_EXP; >; - < "LN" ; SC_OPCODE_LN; >; - < "SQRT" ; SC_OPCODE_SQRT; >; - < "FACT" ; SC_OPCODE_FACT; >; - < "YEAR" ; SC_OPCODE_GET_YEAR; >; - < "MONTH" ; SC_OPCODE_GET_MONTH; >; - < "DAY" ; SC_OPCODE_GET_DAY; >; - < "HOUR" ; SC_OPCODE_GET_HOUR; >; - < "MINUTE" ; SC_OPCODE_GET_MIN; >; - < "SECOND" ; SC_OPCODE_GET_SEC; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS; >; - < "ABS" ; SC_OPCODE_ABS; >; - < "INT" ; SC_OPCODE_INT; >; - < "PHI" ; SC_OPCODE_PHI; >; - < "GAUSS" ; SC_OPCODE_GAUSS; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >; - < "TYPE" ; SC_OPCODE_TYPE; >; - < "CELL" ; SC_OPCODE_CELL; >; - < "ISREF" ; SC_OPCODE_IS_REF; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >; - < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >; - < "ISNA" ; SC_OPCODE_IS_NV; >; - < "ISERR" ; SC_OPCODE_IS_ERR; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN; >; - < "ISODD" ; SC_OPCODE_IS_ODD; >; - < "N" ; SC_OPCODE_N; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >; - < "CODE" ; SC_OPCODE_CODE; >; - < "TRIM" ; SC_OPCODE_TRIM; >; - < "UPPER" ; SC_OPCODE_UPPER; >; - < "PROPER" ; SC_OPCODE_PROPER; >; - < "LOWER" ; SC_OPCODE_LOWER; >; - < "LEN" ; SC_OPCODE_LEN; >; - < "T" ; SC_OPCODE_T; >; - < "VALUE" ; SC_OPCODE_VALUE; >; - < "CLEAN" ; SC_OPCODE_CLEAN; >; - < "CHAR" ; SC_OPCODE_CHAR; >; - < "JIS" ; SC_OPCODE_JIS; >; - < "ASC" ; SC_OPCODE_ASC; >; - < "UNICODE" ; SC_OPCODE_UNICODE; >; - < "UNICHAR" ; SC_OPCODE_UNICHAR; >; - < "LOG10" ; SC_OPCODE_LOG10; >; - < "EVEN" ; SC_OPCODE_EVEN; >; - < "ODD" ; SC_OPCODE_ODD; >; - < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >; - < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >; - < "FISHER" ; SC_OPCODE_FISHER; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV; >; - < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >; - < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >; - < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >; - < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >; - < "FORMULA" ; SC_OPCODE_FORMULA; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >; - < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >; - < "CEILING" ; SC_OPCODE_CEIL; >; - < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >; - < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >; - < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >; - < "FLOOR" ; SC_OPCODE_FLOOR; >; - < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >; - < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >; - < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >; - < "ROUND" ; SC_OPCODE_ROUND; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >; - < "TRUNC" ; SC_OPCODE_TRUNC; >; - < "LOG" ; SC_OPCODE_LOG; >; - < "POWER" ; SC_OPCODE_POWER; >; - < "GCD" ; SC_OPCODE_GCD; >; - < "LCM" ; SC_OPCODE_LCM; >; - < "MOD" ; SC_OPCODE_MOD; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >; - < "DATE" ; SC_OPCODE_GET_DATE; >; - < "TIME" ; SC_OPCODE_GET_TIME; >; - < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >; - < "MIN" ; SC_OPCODE_MIN; >; - < "MINA" ; SC_OPCODE_MIN_A; >; - < "MAX" ; SC_OPCODE_MAX; >; - < "MAXA" ; SC_OPCODE_MAX_A; >; - < "SUM" ; SC_OPCODE_SUM; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >; - < "COUNT" ; SC_OPCODE_COUNT; >; - < "COUNTA" ; SC_OPCODE_COUNT_2; >; - < "NPV" ; SC_OPCODE_NPV; >; - < "IRR" ; SC_OPCODE_IRR; >; - < "MIRR" ; SC_OPCODE_MIRR; >; - < "ISPMT" ; SC_OPCODE_ISPMT; >; - < "VAR" ; SC_OPCODE_VAR; >; - < "VARA" ; SC_OPCODE_VAR_A; >; - < "VARP" ; SC_OPCODE_VAR_P; >; - < "VARPA" ; SC_OPCODE_VAR_P_A; >; - < "VAR.P" ; SC_OPCODE_VAR_P_MS; >; - < "VAR.S" ; SC_OPCODE_VAR_S; >; - < "STDEV" ; SC_OPCODE_ST_DEV; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >; - < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >; - < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >; - < "B" ; SC_OPCODE_B; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST; >; - < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >; - < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >; - < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST; >; - < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >; - < "COMBIN" ; SC_OPCODE_COMBIN; >; - < "COMBINA" ; SC_OPCODE_COMBIN_A; >; - < "PERMUT" ; SC_OPCODE_PERMUT; >; - < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >; - < "PV" ; SC_OPCODE_PV; >; - < "SYD" ; SC_OPCODE_SYD; >; - < "DDB" ; SC_OPCODE_DDB; >; - < "DB" ; SC_OPCODE_DB; >; - < "VDB" ; SC_OPCODE_VBD; >; - < "DURATION" ; SC_OPCODE_PDURATION; >; // wrong but ODF1.1, keep it. - < "SLN" ; SC_OPCODE_SLN; >; - < "PMT" ; SC_OPCODE_PMT; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS; >; - < "ROWS" ; SC_OPCODE_ROWS; >; - < "SHEETS" ; SC_OPCODE_SHEETS; >; - < "COLUMN" ; SC_OPCODE_COLUMN; >; - < "ROW" ; SC_OPCODE_ROW; >; - < "SHEET" ; SC_OPCODE_SHEET; >; - < "ZGZ" ; SC_OPCODE_RRI; >; - < "FV" ; SC_OPCODE_FV; >; - < "NPER" ; SC_OPCODE_NPER; >; - < "RATE" ; SC_OPCODE_RATE; >; - < "IPMT" ; SC_OPCODE_IPMT; >; - < "PPMT" ; SC_OPCODE_PPMT; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >; - < "EFFECTIVE" ; SC_OPCODE_EFFECT; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >; - < "DSUM" ; SC_OPCODE_DB_SUM; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >; - < "DGET" ; SC_OPCODE_DB_GET; >; - < "DMAX" ; SC_OPCODE_DB_MAX; >; - < "DMIN" ; SC_OPCODE_DB_MIN; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >; - < "DVAR" ; SC_OPCODE_DB_VAR; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS; >; - < "MATCH" ; SC_OPCODE_MATCH; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF; >; - < "SUMIF" ; SC_OPCODE_SUM_IF; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >; - < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union) - < "OFFSET" ; SC_OPCODE_OFFSET; >; - < "INDEX" ; SC_OPCODE_INDEX; >; - < "AREAS" ; SC_OPCODE_AREAS; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY; >; - < "REPLACE" ; SC_OPCODE_REPLACE; >; - < "FIXED" ; SC_OPCODE_FIXED; >; - < "FIND" ; SC_OPCODE_FIND; >; - < "EXACT" ; SC_OPCODE_EXACT; >; - < "LEFT" ; SC_OPCODE_LEFT; >; - < "RIGHT" ; SC_OPCODE_RIGHT; >; - < "SEARCH" ; SC_OPCODE_SEARCH; >; - < "MID" ; SC_OPCODE_MID; >; - < "LENB" ; SC_OPCODE_LENB; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB; >; - < "LEFTB" ; SC_OPCODE_LEFTB; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB; >; - < "TEXT" ; SC_OPCODE_TEXT; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >; - < "REPT" ; SC_OPCODE_REPT; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT; >; - < "CONCAT" ; SC_OPCODE_CONCAT_MS; >; - < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >; - < "IFS" ; SC_OPCODE_IFS_MS; >; - < "SWITCH" ; SC_OPCODE_SWITCH_MS; >; - < "MINIFS" ; SC_OPCODE_MINIFS_MS; >; - < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE; >; - < "MDETERM" ; SC_OPCODE_MAT_DET; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV; >; - < "MMULT" ; SC_OPCODE_MAT_MULT; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >; - < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >; - < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >; - < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >; - < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >; - < "TDIST" ; SC_OPCODE_T_DIST; >; - < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >; - < "T.DIST" ; SC_OPCODE_T_DIST_MS; >; - < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >; - < "FDIST" ; SC_OPCODE_F_DIST; >; - < "F.DIST" ; SC_OPCODE_F_DIST_LT; >; - < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >; - < "CHIDIST" ; SC_OPCODE_CHI_DIST; >; - < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL; >; - < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >; - < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >; - < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >; - < "KURT" ; SC_OPCODE_KURT; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV; >; - < "SKEW" ; SC_OPCODE_SKEW; >; - < "SKEWP" ; SC_OPCODE_SKEWP; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE; >; - < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >; - < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >; - < "ZTEST" ; SC_OPCODE_Z_TEST; >; - < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >; - < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >; - < "TTEST" ; SC_OPCODE_T_TEST; >; - < "T.TEST" ; SC_OPCODE_T_TEST_MS; >; - < "RANK" ; SC_OPCODE_RANK; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >; - < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >; - < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >; - < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >; - < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >; - < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >; - < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >; - < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >; - < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >; - < "LARGE" ; SC_OPCODE_LARGE; >; - < "SMALL" ; SC_OPCODE_SMALL; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE; >; - < "NORMINV" ; SC_OPCODE_NORM_INV; >; - < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >; - < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >; - < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >; - < "FTEST" ; SC_OPCODE_F_TEST; >; - < "F.TEST" ; SC_OPCODE_F_TEST_MS; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >; - < "PROB" ; SC_OPCODE_PROB; >; - < "CORREL" ; SC_OPCODE_CORREL; >; - < "COVAR" ; SC_OPCODE_COVAR; >; - < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >; - < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >; - < "PEARSON" ; SC_OPCODE_PEARSON; >; - < "RSQ" ; SC_OPCODE_RSQ; >; - < "STEYX" ; SC_OPCODE_STEYX; >; - < "SLOPE" ; SC_OPCODE_SLOPE; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >; - < "TREND" ; SC_OPCODE_TREND; >; - < "GROWTH" ; SC_OPCODE_GROWTH; >; - < "LINEST" ; SC_OPCODE_LINEST; >; - < "LOGEST" ; SC_OPCODE_LOGEST; >; - < "FORECAST" ; SC_OPCODE_FORECAST; >; - < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >; - < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >; - < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >; - < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >; - < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >; - < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >; - < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >; - < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >; - < "CHIINV" ; SC_OPCODE_CHI_INV; >; - < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >; - < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >; - < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >; - < "TINV" ; SC_OPCODE_T_INV; >; - < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >; - < "T.INV" ; SC_OPCODE_T_INV_MS; >; - < "FINV" ; SC_OPCODE_F_INV; >; - < "F.INV" ; SC_OPCODE_F_INV_LT; >; - < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >; - < "CHITEST" ; SC_OPCODE_CHI_TEST; >; - < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >; - < "LOGINV" ; SC_OPCODE_LOG_INV; >; - < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >; - < "TABLE" ; SC_OPCODE_TABLE_OP; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST; >; - < "BETAINV" ; SC_OPCODE_BETA_INV; >; - < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >; - < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >; - < "WEEKNUM" ; SC_OPCODE_WEEK; >; - < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >; - < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >; - < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >; - < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >; - < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >; - < "#NAME!" ; SC_OPCODE_NO_NAME; >; - < "STYLE" ; SC_OPCODE_STYLE; >; - < "DDE" ; SC_OPCODE_DDE; >; - < "BASE" ; SC_OPCODE_BASE; >; - < "DECIMAL" ; SC_OPCODE_DECIMAL; >; - < "CONVERT" ; SC_OPCODE_CONVERT_OOO; >; // wrong but ODF1.1, keep it - < "ROMAN" ; SC_OPCODE_ROMAN; >; - < "ARABIC" ; SC_OPCODE_ARABIC; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >; - < "INFO" ; SC_OPCODE_INFO; >; - < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >; - < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >; - < "GAMMA" ; SC_OPCODE_GAMMA; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >; - < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >; - < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >; - < "BITAND" ; SC_OPCODE_BITAND; >; - < "BITOR" ; SC_OPCODE_BITOR; >; - < "BITXOR" ; SC_OPCODE_BITXOR; >; - < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >; - < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >; - /* BEGIN defined ERROR.TYPE() values. */ - < "#NULL!" ; SC_OPCODE_ERROR_NULL; >; - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >; - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >; - < "#REF!" ; SC_OPCODE_ERROR_REF; >; - < "#NAME?" ; SC_OPCODE_ERROR_NAME; >; - < "#NUM!" ; SC_OPCODE_ERROR_NUM; >; - < "#N/A" ; SC_OPCODE_ERROR_NA; >; - /* END defined ERROR.TYPE() values. */ - < "FILTERXML" ; SC_OPCODE_FILTERXML; >; - < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >; - < "COLOR" ; SC_OPCODE_COLOR; >; - < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >; - < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >; - < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >; - < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >; - < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -/** These English names are used for XFunctionAccess API. */ -// DO NOT CHANGE NAMES! Only add functions. -// If there is a reason for another name for some function then add an -// *additional* name to be recognized to sc/source/core/tool/compiler.cxx -// ScCompiler::IsOpCode(). -StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_API -{ - ItemList = - { - < "IF" ; SC_OPCODE_IF; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR; >; - < "IFNA" ; SC_OPCODE_IF_NA; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE; >; - < "(" ; SC_OPCODE_OPEN; >; - < ")" ; SC_OPCODE_CLOSE; >; - < "[" ; SC_OPCODE_TABLE_REF_OPEN; >; - < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >; - < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >; - < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >; - < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >; - < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >; - < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >; - < "{" ; SC_OPCODE_ARRAY_OPEN; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE; >; - < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >; - < ";" ; SC_OPCODE_ARRAY_COL_SEP; >; - < ";" ; SC_OPCODE_SEP; >; - < "%" ; SC_OPCODE_PERCENT_SIGN; >; - < "+" ; SC_OPCODE_ADD; >; - < "-" ; SC_OPCODE_SUB; >; - < "*" ; SC_OPCODE_MUL; >; - < "/" ; SC_OPCODE_DIV; >; - < "&" ; SC_OPCODE_AMPERSAND; >; - < "^" ; SC_OPCODE_POW; >; - < "=" ; SC_OPCODE_EQUAL; >; - < "<>" ; SC_OPCODE_NOT_EQUAL; >; - < "<" ; SC_OPCODE_LESS; >; - < ">" ; SC_OPCODE_GREATER; >; - < "<=" ; SC_OPCODE_LESS_EQUAL; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL; >; - < "AND" ; SC_OPCODE_AND; >; - < "OR" ; SC_OPCODE_OR; >; - < "XOR" ; SC_OPCODE_XOR; >; - < "!" ; SC_OPCODE_INTERSECT; >; - < "~" ; SC_OPCODE_UNION; >; - < ":" ; SC_OPCODE_RANGE; >; - < "NOT" ; SC_OPCODE_NOT; >; - < "NEG" ; SC_OPCODE_NEG; >; - < "-" ; SC_OPCODE_NEG_SUB; >; - < "PI" ; SC_OPCODE_PI; >; - < "RAND" ; SC_OPCODE_RANDOM; >; - < "TRUE" ; SC_OPCODE_TRUE; >; - < "FALSE" ; SC_OPCODE_FALSE; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME; >; - < "NA" ; SC_OPCODE_NO_VALUE; >; - < "CURRENT" ; SC_OPCODE_CURRENT; >; - < "DEGREES" ; SC_OPCODE_DEG; >; - < "RADIANS" ; SC_OPCODE_RAD; >; - < "SIN" ; SC_OPCODE_SIN; >; - < "COS" ; SC_OPCODE_COS; >; - < "TAN" ; SC_OPCODE_TAN; >; - < "COT" ; SC_OPCODE_COT; >; - < "ASIN" ; SC_OPCODE_ARC_SIN; >; - < "ACOS" ; SC_OPCODE_ARC_COS; >; - < "ATAN" ; SC_OPCODE_ARC_TAN; >; - < "ACOT" ; SC_OPCODE_ARC_COT; >; - < "SINH" ; SC_OPCODE_SIN_HYP; >; - < "COSH" ; SC_OPCODE_COS_HYP; >; - < "TANH" ; SC_OPCODE_TAN_HYP; >; - < "COTH" ; SC_OPCODE_COT_HYP; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >; - < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >; - < "CSC" ; SC_OPCODE_COSECANT; >; - < "SEC" ; SC_OPCODE_SECANT; >; - < "CSCH" ; SC_OPCODE_COSECANT_HYP; >; - < "SECH" ; SC_OPCODE_SECANT_HYP; >; - < "EXP" ; SC_OPCODE_EXP; >; - < "LN" ; SC_OPCODE_LN; >; - < "SQRT" ; SC_OPCODE_SQRT; >; - < "FACT" ; SC_OPCODE_FACT; >; - < "YEAR" ; SC_OPCODE_GET_YEAR; >; - < "MONTH" ; SC_OPCODE_GET_MONTH; >; - < "DAY" ; SC_OPCODE_GET_DAY; >; - < "HOUR" ; SC_OPCODE_GET_HOUR; >; - < "MINUTE" ; SC_OPCODE_GET_MIN; >; - < "SECOND" ; SC_OPCODE_GET_SEC; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS; >; - < "ABS" ; SC_OPCODE_ABS; >; - < "INT" ; SC_OPCODE_INT; >; - < "PHI" ; SC_OPCODE_PHI; >; - < "GAUSS" ; SC_OPCODE_GAUSS; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >; - < "TYPE" ; SC_OPCODE_TYPE; >; - < "CELL" ; SC_OPCODE_CELL; >; - < "ISREF" ; SC_OPCODE_IS_REF; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >; - < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >; - < "ISNA" ; SC_OPCODE_IS_NV; >; - < "ISERR" ; SC_OPCODE_IS_ERR; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN; >; - < "ISODD" ; SC_OPCODE_IS_ODD; >; - < "N" ; SC_OPCODE_N; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >; - < "CODE" ; SC_OPCODE_CODE; >; - < "TRIM" ; SC_OPCODE_TRIM; >; - < "UPPER" ; SC_OPCODE_UPPER; >; - < "PROPER" ; SC_OPCODE_PROPER; >; - < "LOWER" ; SC_OPCODE_LOWER; >; - < "LEN" ; SC_OPCODE_LEN; >; - < "T" ; SC_OPCODE_T; >; - < "VALUE" ; SC_OPCODE_VALUE; >; - < "CLEAN" ; SC_OPCODE_CLEAN; >; - < "CHAR" ; SC_OPCODE_CHAR; >; - < "JIS" ; SC_OPCODE_JIS; >; - < "ASC" ; SC_OPCODE_ASC; >; - < "UNICODE" ; SC_OPCODE_UNICODE; >; - < "UNICHAR" ; SC_OPCODE_UNICHAR; >; - < "LOG10" ; SC_OPCODE_LOG10; >; - < "EVEN" ; SC_OPCODE_EVEN; >; - < "ODD" ; SC_OPCODE_ODD; >; - < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >; - < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >; - < "FISHER" ; SC_OPCODE_FISHER; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV; >; - < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >; - < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >; - < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >; - < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >; - < "FORMULA" ; SC_OPCODE_FORMULA; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >; - < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >; - < "CEILING" ; SC_OPCODE_CEIL; >; - < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >; - < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >; - < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >; - < "FLOOR" ; SC_OPCODE_FLOOR; >; - < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >; - < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >; - < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >; - < "ROUND" ; SC_OPCODE_ROUND; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >; - < "TRUNC" ; SC_OPCODE_TRUNC; >; - < "LOG" ; SC_OPCODE_LOG; >; - < "POWER" ; SC_OPCODE_POWER; >; - < "GCD" ; SC_OPCODE_GCD; >; - < "LCM" ; SC_OPCODE_LCM; >; - < "MOD" ; SC_OPCODE_MOD; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >; - < "DATE" ; SC_OPCODE_GET_DATE; >; - < "TIME" ; SC_OPCODE_GET_TIME; >; - < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >; - < "MIN" ; SC_OPCODE_MIN; >; - < "MINA" ; SC_OPCODE_MIN_A; >; - < "MAX" ; SC_OPCODE_MAX; >; - < "MAXA" ; SC_OPCODE_MAX_A; >; - < "SUM" ; SC_OPCODE_SUM; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >; - < "COUNT" ; SC_OPCODE_COUNT; >; - < "COUNTA" ; SC_OPCODE_COUNT_2; >; - < "NPV" ; SC_OPCODE_NPV; >; - < "IRR" ; SC_OPCODE_IRR; >; - < "MIRR" ; SC_OPCODE_MIRR; >; - < "ISPMT" ; SC_OPCODE_ISPMT; >; - < "VAR" ; SC_OPCODE_VAR; >; - < "VARA" ; SC_OPCODE_VAR_A; >; - < "VARP" ; SC_OPCODE_VAR_P; >; - < "VARPA" ; SC_OPCODE_VAR_P_A; >; - < "VAR.P" ; SC_OPCODE_VAR_P_MS; >; - < "VAR.S" ; SC_OPCODE_VAR_S; >; - < "STDEV" ; SC_OPCODE_ST_DEV; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >; - < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >; - < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >; - < "B" ; SC_OPCODE_B; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST; >; - < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >; - < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >; - < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST; >; - < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >; - < "COMBIN" ; SC_OPCODE_COMBIN; >; - < "COMBINA" ; SC_OPCODE_COMBIN_A; >; - < "PERMUT" ; SC_OPCODE_PERMUT; >; - < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >; - < "PV" ; SC_OPCODE_PV; >; - < "SYD" ; SC_OPCODE_SYD; >; - < "DDB" ; SC_OPCODE_DDB; >; - < "DB" ; SC_OPCODE_DB; >; - < "VDB" ; SC_OPCODE_VBD; >; - < "DURATION" ; SC_OPCODE_PDURATION; >; - < "SLN" ; SC_OPCODE_SLN; >; - < "PMT" ; SC_OPCODE_PMT; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS; >; - < "ROWS" ; SC_OPCODE_ROWS; >; - < "SHEETS" ; SC_OPCODE_SHEETS; >; - < "COLUMN" ; SC_OPCODE_COLUMN; >; - < "ROW" ; SC_OPCODE_ROW; >; - < "SHEET" ; SC_OPCODE_SHEET; >; - < "ZGZ" ; SC_OPCODE_RRI; >; - < "FV" ; SC_OPCODE_FV; >; - < "NPER" ; SC_OPCODE_NPER; >; - < "RATE" ; SC_OPCODE_RATE; >; - < "IPMT" ; SC_OPCODE_IPMT; >; - < "PPMT" ; SC_OPCODE_PPMT; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >; - < "EFFECTIVE" ; SC_OPCODE_EFFECT; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >; - < "DSUM" ; SC_OPCODE_DB_SUM; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >; - < "DGET" ; SC_OPCODE_DB_GET; >; - < "DMAX" ; SC_OPCODE_DB_MAX; >; - < "DMIN" ; SC_OPCODE_DB_MIN; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >; - < "DVAR" ; SC_OPCODE_DB_VAR; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS; >; - < "MATCH" ; SC_OPCODE_MATCH; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF; >; - < "SUMIF" ; SC_OPCODE_SUM_IF; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >; - < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union) - < "OFFSET" ; SC_OPCODE_OFFSET; >; - < "INDEX" ; SC_OPCODE_INDEX; >; // ?? first character = I ?? - < "AREAS" ; SC_OPCODE_AREAS; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY; >; - < "REPLACE" ; SC_OPCODE_REPLACE; >; - < "FIXED" ; SC_OPCODE_FIXED; >; - < "FIND" ; SC_OPCODE_FIND; >; - < "EXACT" ; SC_OPCODE_EXACT; >; - < "LEFT" ; SC_OPCODE_LEFT; >; - < "RIGHT" ; SC_OPCODE_RIGHT; >; - < "SEARCH" ; SC_OPCODE_SEARCH; >; - < "MID" ; SC_OPCODE_MID; >; - < "LENB" ; SC_OPCODE_LENB; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB; >; - < "LEFTB" ; SC_OPCODE_LEFTB; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB; >; - < "TEXT" ; SC_OPCODE_TEXT; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >; - < "REPT" ; SC_OPCODE_REPT; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT; >; - < "CONCAT" ; SC_OPCODE_CONCAT_MS; >; - < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >; - < "IFS" ; SC_OPCODE_IFS_MS; >; - < "SWITCH" ; SC_OPCODE_SWITCH_MS; >; - < "MINIFS" ; SC_OPCODE_MINIFS_MS; >; - < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE; >; - < "MDETERM" ; SC_OPCODE_MAT_DET; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV; >; - < "MMULT" ; SC_OPCODE_MAT_MULT; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >; - < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >; - < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >; - < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >; - < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >; - < "TDIST" ; SC_OPCODE_T_DIST; >; - < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >; - < "T.DIST" ; SC_OPCODE_T_DIST_MS; >; - < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >; - < "FDIST" ; SC_OPCODE_F_DIST; >; - < "F.DIST" ; SC_OPCODE_F_DIST_LT; >; - < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >; - < "CHIDIST" ; SC_OPCODE_CHI_DIST; >; - < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL; >; - < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >; - < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >; - < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >; - < "KURT" ; SC_OPCODE_KURT; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV; >; - < "SKEW" ; SC_OPCODE_SKEW; >; - < "SKEWP" ; SC_OPCODE_SKEWP; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE; >; - < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >; - < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >; - < "ZTEST" ; SC_OPCODE_Z_TEST; >; - < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >; - < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >; - < "TTEST" ; SC_OPCODE_T_TEST; >; - < "T.TEST" ; SC_OPCODE_T_TEST_MS; >; - < "RANK" ; SC_OPCODE_RANK; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >; - < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >; - < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >; - < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >; - < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >; - < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >; - < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >; - < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >; - < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >; - < "LARGE" ; SC_OPCODE_LARGE; >; - < "SMALL" ; SC_OPCODE_SMALL; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE; >; - < "NORMINV" ; SC_OPCODE_NORM_INV; >; - < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >; - < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >; - < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >; - < "FTEST" ; SC_OPCODE_F_TEST; >; - < "F.TEST" ; SC_OPCODE_F_TEST_MS; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >; - < "PROB" ; SC_OPCODE_PROB; >; - < "CORREL" ; SC_OPCODE_CORREL; >; - < "COVAR" ; SC_OPCODE_COVAR; >; - < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >; - < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >; - < "PEARSON" ; SC_OPCODE_PEARSON; >; - < "RSQ" ; SC_OPCODE_RSQ; >; - < "STEYX" ; SC_OPCODE_STEYX; >; - < "SLOPE" ; SC_OPCODE_SLOPE; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >; - < "TREND" ; SC_OPCODE_TREND; >; - < "GROWTH" ; SC_OPCODE_GROWTH; >; - < "LINEST" ; SC_OPCODE_LINEST; >; - < "LOGEST" ; SC_OPCODE_LOGEST; >; - < "FORECAST" ; SC_OPCODE_FORECAST; >; - < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >; - < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >; - < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >; - < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >; - < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >; - < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >; - < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >; - < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >; - < "CHIINV" ; SC_OPCODE_CHI_INV; >; - < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >; - < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >; - < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >; - < "TINV" ; SC_OPCODE_T_INV; >; - < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >; - < "T.INV" ; SC_OPCODE_T_INV_MS; >; - < "FINV" ; SC_OPCODE_F_INV; >; - < "F.INV" ; SC_OPCODE_F_INV_LT; >; - < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >; - < "CHITEST" ; SC_OPCODE_CHI_TEST; >; - < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >; - < "LOGINV" ; SC_OPCODE_LOG_INV; >; - < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >; - < "TABLE" ; SC_OPCODE_TABLE_OP; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST; >; - < "BETAINV" ; SC_OPCODE_BETA_INV; >; - < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >; - < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >; - < "WEEKNUM" ; SC_OPCODE_WEEK; >; - < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >; - < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >; - < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >; - < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >; - < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >; - < "#NAME!" ; SC_OPCODE_NO_NAME; >; - < "STYLE" ; SC_OPCODE_STYLE; >; - < "DDE" ; SC_OPCODE_DDE; >; - < "BASE" ; SC_OPCODE_BASE; >; - < "DECIMAL" ; SC_OPCODE_DECIMAL; >; - < "CONVERT" ; SC_OPCODE_CONVERT_OOO; >; - < "ROMAN" ; SC_OPCODE_ROMAN; >; - < "ARABIC" ; SC_OPCODE_ARABIC; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >; - < "INFO" ; SC_OPCODE_INFO; >; - < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >; - < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >; - < "GAMMA" ; SC_OPCODE_GAMMA; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >; - < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >; - < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >; - < "BITAND" ; SC_OPCODE_BITAND; >; - < "BITOR" ; SC_OPCODE_BITOR; >; - < "BITXOR" ; SC_OPCODE_BITXOR; >; - < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >; - < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >; - < "#NULL!" ; SC_OPCODE_ERROR_NULL; >; - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >; - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >; - < "#REF!" ; SC_OPCODE_ERROR_REF; >; - < "#NAME?" ; SC_OPCODE_ERROR_NAME; >; - < "#NUM!" ; SC_OPCODE_ERROR_NUM; >; - < "#N/A" ; SC_OPCODE_ERROR_NA; >; - /* END defined ERROR.TYPE() values. */ - < "FILTERXML" ; SC_OPCODE_FILTERXML; >; - < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >; - < "COLOR" ; SC_OPCODE_COLOR; >; - < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >; - < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >; - < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >; - < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >; - < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -/** These English names can be chosen in the UI and can be changed. They - should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */ -// As such they are a duplicate, but we can not have two string localizations -// at the same time. -StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH -{ - ItemList = - { - < "IF" ; SC_OPCODE_IF; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR; >; - < "IFNA" ; SC_OPCODE_IF_NA; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE; >; - < "(" ; SC_OPCODE_OPEN; >; - < ")" ; SC_OPCODE_CLOSE; >; - < "[" ; SC_OPCODE_TABLE_REF_OPEN; >; - < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >; - < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >; - < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >; - < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >; - < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >; - < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >; - < "{" ; SC_OPCODE_ARRAY_OPEN; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE; >; - < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >; - < ";" ; SC_OPCODE_ARRAY_COL_SEP; >; - < ";" ; SC_OPCODE_SEP; >; - < "%" ; SC_OPCODE_PERCENT_SIGN; >; - < "+" ; SC_OPCODE_ADD; >; - < "-" ; SC_OPCODE_SUB; >; - < "*" ; SC_OPCODE_MUL; >; - < "/" ; SC_OPCODE_DIV; >; - < "&" ; SC_OPCODE_AMPERSAND; >; - < "^" ; SC_OPCODE_POW; >; - < "=" ; SC_OPCODE_EQUAL; >; - < "<>" ; SC_OPCODE_NOT_EQUAL; >; - < "<" ; SC_OPCODE_LESS; >; - < ">" ; SC_OPCODE_GREATER; >; - < "<=" ; SC_OPCODE_LESS_EQUAL; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL; >; - < "AND" ; SC_OPCODE_AND; >; - < "OR" ; SC_OPCODE_OR; >; - < "XOR" ; SC_OPCODE_XOR; >; - < "!" ; SC_OPCODE_INTERSECT; >; - < "~" ; SC_OPCODE_UNION; >; - < ":" ; SC_OPCODE_RANGE; >; - < "NOT" ; SC_OPCODE_NOT; >; - < "NEG" ; SC_OPCODE_NEG; >; - < "-" ; SC_OPCODE_NEG_SUB; >; - < "PI" ; SC_OPCODE_PI; >; - < "RAND" ; SC_OPCODE_RANDOM; >; - < "TRUE" ; SC_OPCODE_TRUE; >; - < "FALSE" ; SC_OPCODE_FALSE; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME; >; - < "NA" ; SC_OPCODE_NO_VALUE; >; - < "CURRENT" ; SC_OPCODE_CURRENT; >; - < "DEGREES" ; SC_OPCODE_DEG; >; - < "RADIANS" ; SC_OPCODE_RAD; >; - < "SIN" ; SC_OPCODE_SIN; >; - < "COS" ; SC_OPCODE_COS; >; - < "TAN" ; SC_OPCODE_TAN; >; - < "COT" ; SC_OPCODE_COT; >; - < "ASIN" ; SC_OPCODE_ARC_SIN; >; - < "ACOS" ; SC_OPCODE_ARC_COS; >; - < "ATAN" ; SC_OPCODE_ARC_TAN; >; - < "ACOT" ; SC_OPCODE_ARC_COT; >; - < "SINH" ; SC_OPCODE_SIN_HYP; >; - < "COSH" ; SC_OPCODE_COS_HYP; >; - < "TANH" ; SC_OPCODE_TAN_HYP; >; - < "COTH" ; SC_OPCODE_COT_HYP; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >; - < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >; - < "CSC" ; SC_OPCODE_COSECANT; >; - < "SEC" ; SC_OPCODE_SECANT; >; - < "CSCH" ; SC_OPCODE_COSECANT_HYP; >; - < "SECH" ; SC_OPCODE_SECANT_HYP; >; - < "EXP" ; SC_OPCODE_EXP; >; - < "LN" ; SC_OPCODE_LN; >; - < "SQRT" ; SC_OPCODE_SQRT; >; - < "FACT" ; SC_OPCODE_FACT; >; - < "YEAR" ; SC_OPCODE_GET_YEAR; >; - < "MONTH" ; SC_OPCODE_GET_MONTH; >; - < "DAY" ; SC_OPCODE_GET_DAY; >; - < "HOUR" ; SC_OPCODE_GET_HOUR; >; - < "MINUTE" ; SC_OPCODE_GET_MIN; >; - < "SECOND" ; SC_OPCODE_GET_SEC; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS; >; - < "ABS" ; SC_OPCODE_ABS; >; - < "INT" ; SC_OPCODE_INT; >; - < "PHI" ; SC_OPCODE_PHI; >; - < "GAUSS" ; SC_OPCODE_GAUSS; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >; - < "TYPE" ; SC_OPCODE_TYPE; >; - < "CELL" ; SC_OPCODE_CELL; >; - < "ISREF" ; SC_OPCODE_IS_REF; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >; - < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >; - < "ISNA" ; SC_OPCODE_IS_NV; >; - < "ISERR" ; SC_OPCODE_IS_ERR; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN; >; - < "ISODD" ; SC_OPCODE_IS_ODD; >; - < "N" ; SC_OPCODE_N; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >; - < "CODE" ; SC_OPCODE_CODE; >; - < "TRIM" ; SC_OPCODE_TRIM; >; - < "UPPER" ; SC_OPCODE_UPPER; >; - < "PROPER" ; SC_OPCODE_PROPER; >; - < "LOWER" ; SC_OPCODE_LOWER; >; - < "LEN" ; SC_OPCODE_LEN; >; - < "T" ; SC_OPCODE_T; >; - < "VALUE" ; SC_OPCODE_VALUE; >; - < "CLEAN" ; SC_OPCODE_CLEAN; >; - < "CHAR" ; SC_OPCODE_CHAR; >; - < "JIS" ; SC_OPCODE_JIS; >; - < "ASC" ; SC_OPCODE_ASC; >; - < "UNICODE" ; SC_OPCODE_UNICODE; >; - < "UNICHAR" ; SC_OPCODE_UNICHAR; >; - < "LOG10" ; SC_OPCODE_LOG10; >; - < "EVEN" ; SC_OPCODE_EVEN; >; - < "ODD" ; SC_OPCODE_ODD; >; - < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >; - < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >; - < "FISHER" ; SC_OPCODE_FISHER; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV; >; - < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >; - < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >; - < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >; - < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >; - < "FORMULA" ; SC_OPCODE_FORMULA; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >; - < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >; - < "CEILING" ; SC_OPCODE_CEIL; >; - < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >; - < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >; - < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >; - < "FLOOR" ; SC_OPCODE_FLOOR; >; - < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >; - < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >; - < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >; - < "ROUND" ; SC_OPCODE_ROUND; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >; - < "TRUNC" ; SC_OPCODE_TRUNC; >; - < "LOG" ; SC_OPCODE_LOG; >; - < "POWER" ; SC_OPCODE_POWER; >; - < "GCD" ; SC_OPCODE_GCD; >; - < "LCM" ; SC_OPCODE_LCM; >; - < "MOD" ; SC_OPCODE_MOD; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >; - < "DATE" ; SC_OPCODE_GET_DATE; >; - < "TIME" ; SC_OPCODE_GET_TIME; >; - < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >; - < "MIN" ; SC_OPCODE_MIN; >; - < "MINA" ; SC_OPCODE_MIN_A; >; - < "MAX" ; SC_OPCODE_MAX; >; - < "MAXA" ; SC_OPCODE_MAX_A; >; - < "SUM" ; SC_OPCODE_SUM; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >; - < "COUNT" ; SC_OPCODE_COUNT; >; - < "COUNTA" ; SC_OPCODE_COUNT_2; >; - < "NPV" ; SC_OPCODE_NPV; >; - < "IRR" ; SC_OPCODE_IRR; >; - < "MIRR" ; SC_OPCODE_MIRR; >; - < "ISPMT" ; SC_OPCODE_ISPMT; >; - < "VAR" ; SC_OPCODE_VAR; >; - < "VARA" ; SC_OPCODE_VAR_A; >; - < "VARP" ; SC_OPCODE_VAR_P; >; - < "VARPA" ; SC_OPCODE_VAR_P_A; >; - < "VAR.P" ; SC_OPCODE_VAR_P_MS; >; - < "VAR.S" ; SC_OPCODE_VAR_S; >; - < "STDEV" ; SC_OPCODE_ST_DEV; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >; - < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >; - < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >; - < "B" ; SC_OPCODE_B; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST; >; - < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >; - < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >; - < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST; >; - < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >; - < "COMBIN" ; SC_OPCODE_COMBIN; >; - < "COMBINA" ; SC_OPCODE_COMBIN_A; >; - < "PERMUT" ; SC_OPCODE_PERMUT; >; - < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >; - < "PV" ; SC_OPCODE_PV; >; - < "SYD" ; SC_OPCODE_SYD; >; - < "DDB" ; SC_OPCODE_DDB; >; - < "DB" ; SC_OPCODE_DB; >; - < "VDB" ; SC_OPCODE_VBD; >; - < "PDURATION" ; SC_OPCODE_PDURATION; >; - < "SLN" ; SC_OPCODE_SLN; >; - < "PMT" ; SC_OPCODE_PMT; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS; >; - < "ROWS" ; SC_OPCODE_ROWS; >; - < "SHEETS" ; SC_OPCODE_SHEETS; >; - < "COLUMN" ; SC_OPCODE_COLUMN; >; - < "ROW" ; SC_OPCODE_ROW; >; - < "SHEET" ; SC_OPCODE_SHEET; >; - < "ZGZ" ; SC_OPCODE_RRI; >; - < "FV" ; SC_OPCODE_FV; >; - < "NPER" ; SC_OPCODE_NPER; >; - < "RATE" ; SC_OPCODE_RATE; >; - < "IPMT" ; SC_OPCODE_IPMT; >; - < "PPMT" ; SC_OPCODE_PPMT; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >; - < "EFFECTIVE" ; SC_OPCODE_EFFECT; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >; - < "DSUM" ; SC_OPCODE_DB_SUM; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >; - < "DGET" ; SC_OPCODE_DB_GET; >; - < "DMAX" ; SC_OPCODE_DB_MAX; >; - < "DMIN" ; SC_OPCODE_DB_MIN; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >; - < "DVAR" ; SC_OPCODE_DB_VAR; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS; >; - < "MATCH" ; SC_OPCODE_MATCH; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF; >; - < "SUMIF" ; SC_OPCODE_SUM_IF; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >; - < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; - < "OFFSET" ; SC_OPCODE_OFFSET; >; - < "INDEX" ; SC_OPCODE_INDEX; >; - < "AREAS" ; SC_OPCODE_AREAS; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY; >; - < "REPLACE" ; SC_OPCODE_REPLACE; >; - < "FIXED" ; SC_OPCODE_FIXED; >; - < "FIND" ; SC_OPCODE_FIND; >; - < "EXACT" ; SC_OPCODE_EXACT; >; - < "LEFT" ; SC_OPCODE_LEFT; >; - < "RIGHT" ; SC_OPCODE_RIGHT; >; - < "SEARCH" ; SC_OPCODE_SEARCH; >; - < "MID" ; SC_OPCODE_MID; >; - < "LENB" ; SC_OPCODE_LENB; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB; >; - < "LEFTB" ; SC_OPCODE_LEFTB; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB; >; - < "TEXT" ; SC_OPCODE_TEXT; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >; - < "REPT" ; SC_OPCODE_REPT; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT; >; - < "CONCAT" ; SC_OPCODE_CONCAT_MS; >; - < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >; - < "IFS" ; SC_OPCODE_IFS_MS; >; - < "SWITCH" ; SC_OPCODE_SWITCH_MS; >; - < "MINIFS" ; SC_OPCODE_MINIFS_MS; >; - < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE; >; - < "MDETERM" ; SC_OPCODE_MAT_DET; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV; >; - < "MMULT" ; SC_OPCODE_MAT_MULT; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >; - < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >; - < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >; - < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >; - < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >; - < "TDIST" ; SC_OPCODE_T_DIST; >; - < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >; - < "T.DIST" ; SC_OPCODE_T_DIST_MS; >; - < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >; - < "FDIST" ; SC_OPCODE_F_DIST; >; - < "F.DIST" ; SC_OPCODE_F_DIST_LT; >; - < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >; - < "CHIDIST" ; SC_OPCODE_CHI_DIST; >; - < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL; >; - < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >; - < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >; - < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >; - < "KURT" ; SC_OPCODE_KURT; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV; >; - < "SKEW" ; SC_OPCODE_SKEW; >; - < "SKEWP" ; SC_OPCODE_SKEWP; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE; >; - < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >; - < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >; - < "ZTEST" ; SC_OPCODE_Z_TEST; >; - < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >; - < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >; - < "TTEST" ; SC_OPCODE_T_TEST; >; - < "T.TEST" ; SC_OPCODE_T_TEST_MS; >; - < "RANK" ; SC_OPCODE_RANK; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >; - < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >; - < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >; - < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >; - < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >; - < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >; - < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >; - < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >; - < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >; - < "LARGE" ; SC_OPCODE_LARGE; >; - < "SMALL" ; SC_OPCODE_SMALL; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE; >; - < "NORMINV" ; SC_OPCODE_NORM_INV; >; - < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >; - < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >; - < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >; - < "FTEST" ; SC_OPCODE_F_TEST; >; - < "F.TEST" ; SC_OPCODE_F_TEST_MS; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >; - < "PROB" ; SC_OPCODE_PROB; >; - < "CORREL" ; SC_OPCODE_CORREL; >; - < "COVAR" ; SC_OPCODE_COVAR; >; - < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >; - < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >; - < "PEARSON" ; SC_OPCODE_PEARSON; >; - < "RSQ" ; SC_OPCODE_RSQ; >; - < "STEYX" ; SC_OPCODE_STEYX; >; - < "SLOPE" ; SC_OPCODE_SLOPE; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >; - < "TREND" ; SC_OPCODE_TREND; >; - < "GROWTH" ; SC_OPCODE_GROWTH; >; - < "LINEST" ; SC_OPCODE_LINEST; >; - < "LOGEST" ; SC_OPCODE_LOGEST; >; - < "FORECAST" ; SC_OPCODE_FORECAST; >; - < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >; - < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >; - < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >; - < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >; - < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >; - < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >; - < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >; - < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >; - < "CHIINV" ; SC_OPCODE_CHI_INV; >; - < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >; - < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >; - < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >; - < "TINV" ; SC_OPCODE_T_INV; >; - < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >; - < "T.INV" ; SC_OPCODE_T_INV_MS; >; - < "FINV" ; SC_OPCODE_F_INV; >; - < "F.INV" ; SC_OPCODE_F_INV_LT; >; - < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >; - < "CHITEST" ; SC_OPCODE_CHI_TEST; >; - < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >; - < "LOGINV" ; SC_OPCODE_LOG_INV; >; - < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >; - < "TABLE" ; SC_OPCODE_TABLE_OP; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST; >; - < "BETAINV" ; SC_OPCODE_BETA_INV; >; - < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >; - < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >; - < "WEEKNUM" ; SC_OPCODE_WEEK; >; - < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >; - < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >; - < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >; - < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >; - < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >; - < "#NAME!" ; SC_OPCODE_NO_NAME; >; - < "STYLE" ; SC_OPCODE_STYLE; >; - < "DDE" ; SC_OPCODE_DDE; >; - < "BASE" ; SC_OPCODE_BASE; >; - < "DECIMAL" ; SC_OPCODE_DECIMAL; >; - < "CONVERT_OOO" ; SC_OPCODE_CONVERT_OOO; >; - < "ROMAN" ; SC_OPCODE_ROMAN; >; - < "ARABIC" ; SC_OPCODE_ARABIC; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >; - < "INFO" ; SC_OPCODE_INFO; >; - < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >; - < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >; - < "GAMMA" ; SC_OPCODE_GAMMA; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >; - < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >; - < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >; - < "BITAND" ; SC_OPCODE_BITAND; >; - < "BITOR" ; SC_OPCODE_BITOR; >; - < "BITXOR" ; SC_OPCODE_BITXOR; >; - < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >; - < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >; - < "#NULL!" ; SC_OPCODE_ERROR_NULL; >; - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >; - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >; - < "#REF!" ; SC_OPCODE_ERROR_REF; >; - < "#NAME?" ; SC_OPCODE_ERROR_NAME; >; - < "#NUM!" ; SC_OPCODE_ERROR_NUM; >; - < "#N/A" ; SC_OPCODE_ERROR_NA; >; - /* END defined ERROR.TYPE() values. */ - < "FILTERXML" ; SC_OPCODE_FILTERXML; >; - < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >; - < "COLOR" ; SC_OPCODE_COLOR; >; - < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >; - < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >; - < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >; - < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >; - < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -/** Function names that can be localized if [en-US]. Same names should be used - in RID_STRLIST_FUNCTION_NAMES_ENGLISH above. Names can be changed, the - change has to be mentioned in the release notes, i.e. - https://wiki.documentfoundation.org/ReleaseNotes/... - */ -StringArray RID_STRLIST_FUNCTION_NAMES -{ - ItemList [ en-US ] = - { - < "IF" ; SC_OPCODE_IF ; >; - < "IFERROR" ; SC_OPCODE_IF_ERROR ; >; - < "IFNA" ; SC_OPCODE_IF_NA ; >; - < "CHOOSE" ; SC_OPCODE_CHOOSE ; >; - < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL ; >; - < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS ; >; - < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA ; >; - < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS ; >; - < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW ; >; - < "AND" ; SC_OPCODE_AND ; >; - < "OR" ; SC_OPCODE_OR ; >; - < "XOR" ; SC_OPCODE_XOR ; >; - < "NOT" ; SC_OPCODE_NOT ; >; - < "NEG" ; SC_OPCODE_NEG ; >; - < "PI" ; SC_OPCODE_PI ; >; // ??? - < "RAND" ; SC_OPCODE_RANDOM ; >; - < "TRUE" ; SC_OPCODE_TRUE ; >; - < "FALSE" ; SC_OPCODE_FALSE ; >; - < "TODAY" ; SC_OPCODE_GET_ACT_DATE ; >; - < "NOW" ; SC_OPCODE_GET_ACT_TIME ; >; - < "NA" ; SC_OPCODE_NO_VALUE ; >; - < "CURRENT" ; SC_OPCODE_CURRENT ; >; - < "DEGREES" ; SC_OPCODE_DEG ; >; - < "RADIANS" ; SC_OPCODE_RAD ; >; - < "SIN" ; SC_OPCODE_SIN ; >; - < "COS" ; SC_OPCODE_COS ; >; - < "TAN" ; SC_OPCODE_TAN ; >; - < "COT" ; SC_OPCODE_COT ; >; - < "ASIN" ; SC_OPCODE_ARC_SIN ; >; - < "ACOS" ; SC_OPCODE_ARC_COS ; >; - < "ATAN" ; SC_OPCODE_ARC_TAN ; >; - < "ACOT" ; SC_OPCODE_ARC_COT ; >; - < "SINH" ; SC_OPCODE_SIN_HYP ; >; - < "COSH" ; SC_OPCODE_COS_HYP ; >; - < "TANH" ; SC_OPCODE_TAN_HYP ; >; - < "COTH" ; SC_OPCODE_COT_HYP ; >; - < "ASINH" ; SC_OPCODE_ARC_SIN_HYP ; >; - < "ACOSH" ; SC_OPCODE_ARC_COS_HYP ; >; - < "ATANH" ; SC_OPCODE_ARC_TAN_HYP ; >; - < "ACOTH" ; SC_OPCODE_ARC_COT_HYP ; >; - < "CSC" ; SC_OPCODE_COSECANT ; >; - < "SEC" ; SC_OPCODE_SECANT ; >; - < "CSCH" ; SC_OPCODE_COSECANT_HYP ; >; - < "SECH" ; SC_OPCODE_SECANT_HYP ; >; - < "EXP" ; SC_OPCODE_EXP ; >; - < "LN" ; SC_OPCODE_LN ; >; - < "SQRT" ; SC_OPCODE_SQRT ; >; - < "FACT" ; SC_OPCODE_FACT ; >; - < "YEAR" ; SC_OPCODE_GET_YEAR ; >; - < "MONTH" ; SC_OPCODE_GET_MONTH ; >; - < "DAY" ; SC_OPCODE_GET_DAY ; >; - < "HOUR" ; SC_OPCODE_GET_HOUR ; >; - < "MINUTE" ; SC_OPCODE_GET_MIN ; >; - < "SECOND" ; SC_OPCODE_GET_SEC ; >; - < "SIGN" ; SC_OPCODE_PLUS_MINUS ; >; - < "ABS" ; SC_OPCODE_ABS ; >; - < "INT" ; SC_OPCODE_INT ; >; - < "PHI" ; SC_OPCODE_PHI ; >; - < "GAUSS" ; SC_OPCODE_GAUSS ; >; - < "ISBLANK" ; SC_OPCODE_IS_EMPTY ; >; - < "ISTEXT" ; SC_OPCODE_IS_STRING ; >; - < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING ; >; - < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL ; >; - < "TYPE" ; SC_OPCODE_TYPE ; >; - < "CELL" ; SC_OPCODE_CELL ; >; - < "ISREF" ; SC_OPCODE_IS_REF ; >; - < "ISNUMBER" ; SC_OPCODE_IS_VALUE ; >; - < "ISFORMULA" ; SC_OPCODE_IS_FORMULA ; >; - < "ISNA" ; SC_OPCODE_IS_NV ; >; - < "ISERR" ; SC_OPCODE_IS_ERR ; >; - < "ISERROR" ; SC_OPCODE_IS_ERROR ; >; - < "ISEVEN" ; SC_OPCODE_IS_EVEN ; >; - < "ISODD" ; SC_OPCODE_IS_ODD ; >; - < "N" ; SC_OPCODE_N ; >; - < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE ; >; - < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE ; >; - < "CODE" ; SC_OPCODE_CODE ; >; - < "TRIM" ; SC_OPCODE_TRIM ; >; - < "UPPER" ; SC_OPCODE_UPPER ; >; - < "PROPER" ; SC_OPCODE_PROPER ; >; - < "LOWER" ; SC_OPCODE_LOWER ; >; - < "LEN" ; SC_OPCODE_LEN ; >; - < "T" ; SC_OPCODE_T ; >; - < "VALUE" ; SC_OPCODE_VALUE ; >; - < "CLEAN" ; SC_OPCODE_CLEAN ; >; - < "CHAR" ; SC_OPCODE_CHAR ; >; - < "JIS" ; SC_OPCODE_JIS ; >; - < "ASC" ; SC_OPCODE_ASC ; >; - < "UNICODE" ; SC_OPCODE_UNICODE ; >; - < "UNICHAR" ; SC_OPCODE_UNICHAR ; >; - < "LOG10" ; SC_OPCODE_LOG10 ; >; - < "EVEN" ; SC_OPCODE_EVEN ; >; - < "ODD" ; SC_OPCODE_ODD ; >; - < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST ; >; - < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS ; >; - < "FISHER" ; SC_OPCODE_FISHER ; >; - < "FISHERINV" ; SC_OPCODE_FISHER_INV ; >; - < "NORMSINV" ; SC_OPCODE_S_NORM_INV ; >; - < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS ; >; - < "GAMMALN" ; SC_OPCODE_GAMMA_LN ; >; - < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS ; >; - < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE ; >; - < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF ; >; - < "FORMULA" ; SC_OPCODE_FORMULA ; >; - < "ARABIC" ; SC_OPCODE_ARABIC ; >; - < "ATAN2" ; SC_OPCODE_ARC_TAN_2 ; >; - < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH ; >; - < "CEILING" ; SC_OPCODE_CEIL ; >; - < "CEILING.XCL" ; SC_OPCODE_CEIL_MS ; >; - < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE ; >; - < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO ; >; - < "FLOOR" ; SC_OPCODE_FLOOR ; >; - < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS ; >; - < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH ; >; - < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE ; >; - < "ROUND" ; SC_OPCODE_ROUND ; >; - < "ROUNDUP" ; SC_OPCODE_ROUND_UP ; >; - < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN ; >; - < "TRUNC" ; SC_OPCODE_TRUNC ; >; - < "LOG" ; SC_OPCODE_LOG ; >; - < "POWER" ; SC_OPCODE_POWER ; >; - < "GCD" ; SC_OPCODE_GCD ; >; - < "LCM" ; SC_OPCODE_LCM ; >; - < "MOD" ; SC_OPCODE_MOD ; >; - < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT ; >; - < "SUMSQ" ; SC_OPCODE_SUM_SQ ; >; - < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2 ; >; - < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2 ; >; - < "SUMXMY2" ; SC_OPCODE_SUM_XMY2 ; >; - < "DATE" ; SC_OPCODE_GET_DATE ; >; - < "TIME" ; SC_OPCODE_GET_TIME ; >; - < "DAYS" ; SC_OPCODE_GET_DIFF_DATE ; >; - < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360 ; >; - < "DATEDIF" ; SC_OPCODE_GET_DATEDIF ; >; - < "MIN" ; SC_OPCODE_MIN ; >; - < "MINA" ; SC_OPCODE_MIN_A ; >; - < "MAX" ; SC_OPCODE_MAX ; >; - < "MAXA" ; SC_OPCODE_MAX_A ; >; - < "SUM" ; SC_OPCODE_SUM ; >; - < "PRODUCT" ; SC_OPCODE_PRODUCT ; >; - < "AVERAGE" ; SC_OPCODE_AVERAGE ; >; - < "AVERAGEA" ; SC_OPCODE_AVERAGE_A ; >; - < "COUNT" ; SC_OPCODE_COUNT ; >; - < "COUNTA" ; SC_OPCODE_COUNT_2 ; >; - < "NPV" ; SC_OPCODE_NPV ; >; - < "IRR" ; SC_OPCODE_IRR ; >; - < "MIRR" ; SC_OPCODE_MIRR ; >; - < "ISPMT" ; SC_OPCODE_ISPMT ; >; - < "VAR" ; SC_OPCODE_VAR ; >; - < "VARA" ; SC_OPCODE_VAR_A ; >; - < "VARP" ; SC_OPCODE_VAR_P ; >; - < "VARPA" ; SC_OPCODE_VAR_P_A ; >; - < "VAR.P" ; SC_OPCODE_VAR_P_MS ; >; - < "VAR.S" ; SC_OPCODE_VAR_S ; >; - < "STDEV" ; SC_OPCODE_ST_DEV ; >; - < "STDEVA" ; SC_OPCODE_ST_DEV_A ; >; - < "STDEVP" ; SC_OPCODE_ST_DEV_P ; >; - < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A ; >; - < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS ; >; - < "STDEV.S" ; SC_OPCODE_ST_DEV_S ; >; - < "B" ; SC_OPCODE_B ; >; - < "NORMDIST" ; SC_OPCODE_NORM_DIST ; >; - < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS ; >; - < "EXPONDIST" ; SC_OPCODE_EXP_DIST ; >; - < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS ; >; - < "BINOMDIST" ; SC_OPCODE_BINOM_DIST ; >; - < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS ; >; - < "POISSON" ; SC_OPCODE_POISSON_DIST ; >; - < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS ; >; - < "COMBIN" ; SC_OPCODE_COMBIN ; >; - < "COMBINA" ; SC_OPCODE_COMBIN_A ; >; - < "PERMUT" ; SC_OPCODE_PERMUT ; >; - < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A ; >; - < "PV" ; SC_OPCODE_PV ; >; - < "SYD" ; SC_OPCODE_SYD ; >; - < "DDB" ; SC_OPCODE_DDB ; >; - < "DB" ; SC_OPCODE_DB ; >; - < "VDB" ; SC_OPCODE_VBD ; >; - < "PDURATION" ; SC_OPCODE_PDURATION ; >; - < "SLN" ; SC_OPCODE_SLN ; >; - < "PMT" ; SC_OPCODE_PMT ; >; - < "COLUMNS" ; SC_OPCODE_COLUMNS ; >; - < "ROWS" ; SC_OPCODE_ROWS ; >; - < "SHEETS" ; SC_OPCODE_SHEETS ; >; - < "COLUMN" ; SC_OPCODE_COLUMN ; >; - < "ROW" ; SC_OPCODE_ROW ; >; - < "SHEET" ; SC_OPCODE_SHEET ; >; - < "RRI" ; SC_OPCODE_RRI ; >; - < "FV" ; SC_OPCODE_FV ; >; - < "NPER" ; SC_OPCODE_NPER ; >; - < "RATE" ; SC_OPCODE_RATE ; >; - < "IPMT" ; SC_OPCODE_IPMT ; >; - < "PPMT" ; SC_OPCODE_PPMT ; >; - < "CUMIPMT" ; SC_OPCODE_CUM_IPMT ; >; - < "CUMPRINC" ; SC_OPCODE_CUM_PRINC ; >; - < "EFFECT" ; SC_OPCODE_EFFECT ; >; - < "NOMINAL" ; SC_OPCODE_NOMINAL ; >; - < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL ; >; - < "DSUM" ; SC_OPCODE_DB_SUM ; >; - < "DCOUNT" ; SC_OPCODE_DB_COUNT ; >; - < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2 ; >; - < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE ; >; - < "DGET" ; SC_OPCODE_DB_GET ; >; - < "DMAX" ; SC_OPCODE_DB_MAX ; >; - < "DMIN" ; SC_OPCODE_DB_MIN ; >; - < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT ; >; - < "DSTDEV" ; SC_OPCODE_DB_STD_DEV ; >; - < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P ; >; - < "DVAR" ; SC_OPCODE_DB_VAR ; >; - < "DVARP" ; SC_OPCODE_DB_VAR_P ; >; - < "INDIRECT" ; SC_OPCODE_INDIRECT ; >; - < "ADDRESS" ; SC_OPCODE_ADDRESS ; >; - < "MATCH" ; SC_OPCODE_MATCH ; >; - < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS ; >; - < "COUNTIF" ; SC_OPCODE_COUNT_IF ; >; - < "SUMIF" ; SC_OPCODE_SUM_IF ; >; - < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF ; >; - < "SUMIFS" ; SC_OPCODE_SUM_IFS ; >; - < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS ; >; - < "COUNTIFS" ; SC_OPCODE_COUNT_IFS ; >; - < "LOOKUP" ; SC_OPCODE_LOOKUP ; >; - < "VLOOKUP" ; SC_OPCODE_V_LOOKUP ; >; - < "HLOOKUP" ; SC_OPCODE_H_LOOKUP ; >; - < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA ; >; // legacy for range list (union) - < "OFFSET" ; SC_OPCODE_OFFSET ; >; - < "INDEX" ; SC_OPCODE_INDEX ; >; // ?? first character = I ?? - < "AREAS" ; SC_OPCODE_AREAS ; >; - < "DOLLAR" ; SC_OPCODE_CURRENCY ; >; - < "REPLACE" ; SC_OPCODE_REPLACE ; >; - < "FIXED" ; SC_OPCODE_FIXED ; >; - < "FIND" ; SC_OPCODE_FIND ; >; - < "EXACT" ; SC_OPCODE_EXACT ; >; - < "LEFT" ; SC_OPCODE_LEFT ; >; - < "RIGHT" ; SC_OPCODE_RIGHT ; >; - < "SEARCH" ; SC_OPCODE_SEARCH ; >; - < "MID" ; SC_OPCODE_MID ; >; - < "LENB" ; SC_OPCODE_LENB ; >; - < "RIGHTB" ; SC_OPCODE_RIGHTB ; >; - < "LEFTB" ; SC_OPCODE_LEFTB ; >; - < "REPLACEB" ; SC_OPCODE_REPLACEB; >; - < "MIDB" ; SC_OPCODE_MIDB ; >; - < "TEXT" ; SC_OPCODE_TEXT ; >; - < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE ; >; - < "REPT" ; SC_OPCODE_REPT ; >; - < "CONCATENATE" ; SC_OPCODE_CONCAT ; >; - < "CONCAT" ; SC_OPCODE_CONCAT_MS ; >; - < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS ; >; - < "IFS" ; SC_OPCODE_IFS_MS ; >; - < "SWITCH" ; SC_OPCODE_SWITCH_MS ; >; - < "MINIFS" ; SC_OPCODE_MINIFS_MS ; >; - < "MAXIFS" ; SC_OPCODE_MAXIFS_MS ; >; - < "MVALUE" ; SC_OPCODE_MAT_VALUE ; >; - < "MDETERM" ; SC_OPCODE_MAT_DET ; >; - < "MINVERSE" ; SC_OPCODE_MAT_INV ; >; - < "MMULT" ; SC_OPCODE_MAT_MULT ; >; - < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS ; >; - < "MUNIT" ; SC_OPCODE_MATRIX_UNIT ; >; - < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER ; >; - < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST ; >; - < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS ; >; - < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST ; >; - < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS ; >; - < "TDIST" ; SC_OPCODE_T_DIST ; >; - < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T ; >; - < "T.DIST" ; SC_OPCODE_T_DIST_MS ; >; - < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT ; >; - < "FDIST" ; SC_OPCODE_F_DIST ; >; - < "F.DIST" ; SC_OPCODE_F_DIST_LT ; >; - < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT ; >; - < "CHIDIST" ; SC_OPCODE_CHI_DIST ; >; - < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS ; >; - < "WEIBULL" ; SC_OPCODE_WEIBULL ; >; - < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS ; >; - < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT ; >; - < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS ; >; - < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM ; >; - < "BINOM.INV" ; SC_OPCODE_BINOM_INV ; >; - < "KURT" ; SC_OPCODE_KURT ; >; - < "HARMEAN" ; SC_OPCODE_HAR_MEAN ; >; - < "GEOMEAN" ; SC_OPCODE_GEO_MEAN ; >; - < "STANDARDIZE" ; SC_OPCODE_STANDARD ; >; - < "AVEDEV" ; SC_OPCODE_AVE_DEV ; >; - < "SKEW" ; SC_OPCODE_SKEW ; >; - < "SKEWP" ; SC_OPCODE_SKEWP ; >; - < "DEVSQ" ; SC_OPCODE_DEV_SQ ; >; - < "MEDIAN" ; SC_OPCODE_MEDIAN ; >; - < "MODE" ; SC_OPCODE_MODAL_VALUE ; >; - < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS ; >; - < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI ; >; - < "ZTEST" ; SC_OPCODE_Z_TEST ; >; - < "Z.TEST" ; SC_OPCODE_Z_TEST_MS ; >; - < "AGGREGATE" ; SC_OPCODE_AGGREGATE ; >; - < "TTEST" ; SC_OPCODE_T_TEST ; >; - < "T.TEST" ; SC_OPCODE_T_TEST_MS ; >; - < "RANK" ; SC_OPCODE_RANK ; >; - < "PERCENTILE" ; SC_OPCODE_PERCENTILE ; >; - < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK ; >; - < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC ; >; - < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC ; >; - < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC ; >; - < "RANK.EQ" ; SC_OPCODE_RANK_EQ ; >; - < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC ; >; - < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC ; >; - < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC ; >; - < "RANK.AVG" ; SC_OPCODE_RANK_AVG ; >; - < "LARGE" ; SC_OPCODE_LARGE ; >; - < "SMALL" ; SC_OPCODE_SMALL ; >; - < "FREQUENCY" ; SC_OPCODE_FREQUENCY ; >; - < "QUARTILE" ; SC_OPCODE_QUARTILE ; >; - < "NORMINV" ; SC_OPCODE_NORM_INV ; >; - < "NORM.INV" ; SC_OPCODE_NORM_INV_MS ; >; - < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE ; >; - < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N ; >; - < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T ; >; - < "FTEST" ; SC_OPCODE_F_TEST ; >; - < "F.TEST" ; SC_OPCODE_F_TEST_MS ; >; - < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN ; >; - < "PROB" ; SC_OPCODE_PROB ; >; - < "CORREL" ; SC_OPCODE_CORREL ; >; - < "COVAR" ; SC_OPCODE_COVAR ; >; - < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P ; >; - < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S ; >; - < "PEARSON" ; SC_OPCODE_PEARSON ; >; - < "RSQ" ; SC_OPCODE_RSQ ; >; - < "STEYX" ; SC_OPCODE_STEYX ; >; - < "SLOPE" ; SC_OPCODE_SLOPE ; >; - < "INTERCEPT" ; SC_OPCODE_INTERCEPT ; >; - < "TREND" ; SC_OPCODE_TREND ; >; - < "GROWTH" ; SC_OPCODE_GROWTH ; >; - < "LINEST" ; SC_OPCODE_LINEST ; >; - < "LOGEST" ; SC_OPCODE_LOGEST ; >; - < "FORECAST" ; SC_OPCODE_FORECAST ; >; - < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD ; >; - < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA ; >; - < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL ; >; - < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA ; >; - < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM ; >; - < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA ; >; - < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM ; >; - < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN ; >; - < "CHIINV" ; SC_OPCODE_CHI_INV ; >; - < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS ; >; - < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST ; >; - < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS ; >; - < "GAMMAINV" ; SC_OPCODE_GAMMA_INV ; >; - < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS ; >; - < "TINV" ; SC_OPCODE_T_INV ; >; - < "T.INV.2T" ; SC_OPCODE_T_INV_2T ; >; - < "T.INV" ; SC_OPCODE_T_INV_MS ; >; - < "FINV" ; SC_OPCODE_F_INV ; >; - < "F.INV" ; SC_OPCODE_F_INV_LT ; >; - < "F.INV.RT" ; SC_OPCODE_F_INV_RT ; >; - < "CHITEST" ; SC_OPCODE_CHI_TEST ; >; - < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS ; >; - < "LOGINV" ; SC_OPCODE_LOG_INV ; >; - < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS ; >; - < "MULTIPLE.OPERATIONS" ; SC_OPCODE_TABLE_OP ; >; - < "BETADIST" ; SC_OPCODE_BETA_DIST ; >; - < "BETAINV" ; SC_OPCODE_BETA_INV ; >; - < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS ; >; - < "BETA.INV" ; SC_OPCODE_BETA_INV_MS ; >; - < "WEEKNUM" ; SC_OPCODE_WEEK ; >; - < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM ; >; - < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO ; >; - < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY ; >; - < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK ; >; - < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS ; >; - < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS ; >; - < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS ; >; - < "#NAME!" ; SC_OPCODE_NO_NAME ; >; - < "STYLE" ; SC_OPCODE_STYLE ; >; - < "DDE" ; SC_OPCODE_DDE ; >; - < "BASE" ; SC_OPCODE_BASE ; >; - < "DECIMAL" ; SC_OPCODE_DECIMAL ; >; - < "CONVERT_OOO" ; SC_OPCODE_CONVERT_OOO ; >; - < "ROMAN" ; SC_OPCODE_ROMAN ; >; - < "HYPERLINK" ; SC_OPCODE_HYPERLINK ; >; - < "INFO" ; SC_OPCODE_INFO ; >; - < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT ; >; - < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA ; >; - < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT ; >; - < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE ; >; - < "GAMMA" ; SC_OPCODE_GAMMA ; >; - < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST ; >; - < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS ; >; - < "CHISQINV" ; SC_OPCODE_CHISQ_INV ; >; - < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS ; >; - < "BITAND" ; SC_OPCODE_BITAND ; >; - < "BITOR" ; SC_OPCODE_BITOR ; >; - < "BITXOR" ; SC_OPCODE_BITXOR ; >; - < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT ; >; - < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT ; >; - /* BEGIN defined ERROR.TYPE() values. */ - /* ERROR.TYPE( #NULL! ) == 1 */ - < "#NULL!" ; SC_OPCODE_ERROR_NULL ; >; - /* ERROR.TYPE( #DIV/0! ) == 2 */ - < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO ; >; - /* ERROR.TYPE( #VALUE! ) == 3 */ - < "#VALUE!" ; SC_OPCODE_ERROR_VALUE ; >; - /* ERROR.TYPE( #REF! ) == 4 */ - < "#REF!" ; SC_OPCODE_ERROR_REF ; >; - /* ERROR.TYPE( #NAME! ) == 5 */ - < "#NAME?" ; SC_OPCODE_ERROR_NAME ; >; - /* ERROR.TYPE( #NUM! ) == 6 */ - < "#NUM!" ; SC_OPCODE_ERROR_NUM ; >; - /* ERROR.TYPE( #N/A ) == 7 */ - < "#N/A" ; SC_OPCODE_ERROR_NA ; >; - /* END defined ERROR.TYPE() values. */ - - < "FILTERXML" ; SC_OPCODE_FILTERXML ; >; - < "COLOR" ; SC_OPCODE_COLOR ; >; - < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE ; >; - < "ERF.PRECISE" ; SC_OPCODE_ERF_MS ; >; - < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS ; >; - < "ENCODEURL" ; SC_OPCODE_ENCODEURL ; >; - < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT ; >; - < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >; - }; -}; - -StringArray RID_STRLIST_FUNCTION_NAMES_SYMBOLS -{ - ItemList = - { - < "(" ; SC_OPCODE_OPEN ; >; - < ")" ; SC_OPCODE_CLOSE ; >; - < "[" ; SC_OPCODE_TABLE_REF_OPEN ; >; - < "]" ; SC_OPCODE_TABLE_REF_CLOSE ; >; - < "{" ; SC_OPCODE_ARRAY_OPEN ; >; - < "}" ; SC_OPCODE_ARRAY_CLOSE ; >; - < "|" ; SC_OPCODE_ARRAY_ROW_SEP ; >; - < ";" ; SC_OPCODE_ARRAY_COL_SEP ; >; - < ";" ; SC_OPCODE_SEP ; >; - < "%" ; SC_OPCODE_PERCENT_SIGN ; >; - < "+" ; SC_OPCODE_ADD ; >; - < "-" ; SC_OPCODE_SUB ; >; - < "*" ; SC_OPCODE_MUL ; >; - < "/" ; SC_OPCODE_DIV ; >; - < "&" ; SC_OPCODE_AMPERSAND ; >; - < "^" ; SC_OPCODE_POW ; >; - < "=" ; SC_OPCODE_EQUAL ; >; - < "<>" ; SC_OPCODE_NOT_EQUAL ; >; - < "<" ; SC_OPCODE_LESS ; >; - < ">" ; SC_OPCODE_GREATER ; >; - < "<=" ; SC_OPCODE_LESS_EQUAL ; >; - < ">=" ; SC_OPCODE_GREATER_EQUAL ; >; - < "!" ; SC_OPCODE_INTERSECT ; >; - < "~" ; SC_OPCODE_UNION ; >; - < ":" ; SC_OPCODE_RANGE ; >; - < "-" ; SC_OPCODE_NEG_SUB ; >; - }; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/ui/dlg/formdlgs.hrc b/formula/source/ui/dlg/formdlgs.hrc index 7704ea146e03..1f213864b89e 100644 --- a/formula/source/ui/dlg/formdlgs.hrc +++ b/formula/source/ui/dlg/formdlgs.hrc @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#define BTN_CANCEL 7 -#define BTN_END 10 -#define ED_FORMULA 17 -#define ED_REF 19 -#define RB_REF 20 - // For tab page #define TP_FUNCTION 1 #define TP_STRUCT 2 diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx index d3a50fd6f0a5..8a1f3a774818 100644 --- a/formula/source/ui/dlg/formula.cxx +++ b/formula/source/ui/dlg/formula.cxx @@ -52,7 +52,7 @@ #include "structpg.hxx" #include "parawin.hxx" #include "ModuleHelper.hxx" -#include "ForResId.hrc" +#include "strings.hrc" #include <com/sun/star/sheet/FormulaToken.hpp> #include <com/sun/star/sheet/FormulaLanguage.hpp> #include <com/sun/star/sheet/FormulaMapGroup.hpp> diff --git a/formula/source/ui/dlg/funcpage.cxx b/formula/source/ui/dlg/funcpage.cxx index 466857fabf64..e017a9a6c543 100644 --- a/formula/source/ui/dlg/funcpage.cxx +++ b/formula/source/ui/dlg/funcpage.cxx @@ -25,8 +25,6 @@ #include "formula/IFunctionDescription.hxx" #include "funcpage.hxx" -#include "formdlgs.hrc" -#include "ForResId.hrc" #include "ModuleHelper.hxx" #include <unotools/syslocale.hxx> #include <unotools/charclass.hxx> diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx index 9b218aa09153..e52628d867e6 100644 --- a/formula/source/ui/dlg/funcutl.cxx +++ b/formula/source/ui/dlg/funcutl.cxx @@ -27,7 +27,7 @@ #include "formula/IControlReferenceHandler.hxx" #include "ControlHelper.hxx" #include "ModuleHelper.hxx" -#include "ForResId.hrc" +#include "strings.hrc" #include "bitmaps.hlst" #include "com/sun/star/accessibility/AccessibleRole.hpp" @@ -521,8 +521,8 @@ RefButton::RefButton( vcl::Window* _pParent, WinBits nStyle ) : ImageButton(_pParent, nStyle), aImgRefStart(BitmapEx(RID_BMP_REFBTN1)), aImgRefDone(BitmapEx(RID_BMP_REFBTN2)), - aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ), - aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ), + aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ) ), + aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ) ), pAnyRefDlg( nullptr ), pRefEdit( nullptr ) { diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx index 069a104574a0..f066b40e82a5 100644 --- a/formula/source/ui/dlg/parawin.cxx +++ b/formula/source/ui/dlg/parawin.cxx @@ -27,7 +27,7 @@ #include "formula/IFunctionDescription.hxx" #include <formula/funcvarargs.h> #include "ModuleHelper.hxx" -#include "ForResId.hrc" +#include "strings.hrc" #include "bitmaps.hlst" namespace formula diff --git a/formula/source/ui/dlg/parawin.src b/formula/source/ui/dlg/parawin.src deleted file mode 100644 index 65e3085d4ce1..000000000000 --- a/formula/source/ui/dlg/parawin.src +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- 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 . - */ - -#include "ForResId.hrc" - -String STR_OPTIONAL -{ - Text [ en-US ] = "(optional)" ; -}; - -String STR_REQUIRED -{ - Text [ en-US ] = "(required)" ; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx index c4345bb22208..afebc0cba5c8 100644 --- a/formula/source/ui/dlg/structpg.cxx +++ b/formula/source/ui/dlg/structpg.cxx @@ -23,12 +23,10 @@ #include "svtools/treelistentry.hxx" #include "structpg.hxx" -#include "formdlgs.hrc" #include "formula/formdata.hxx" #include "formula/formula.hxx" #include "ModuleHelper.hxx" #include "formula/IFunctionDescription.hxx" -#include "ForResId.hrc" #include "bitmaps.hlst" namespace formula diff --git a/formula/source/ui/inc/ForResId.hrc b/formula/source/ui/inc/ForResId.hrc deleted file mode 100644 index e41d3aecbba4..000000000000 --- a/formula/source/ui/inc/ForResId.hrc +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- 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_FORRESID_HRC -#define FORMULA_FORRESID_HRC - -#include <svl/solar.hrc> - -#define RID_PAGE_START RID_FORMULA_START -#define RID_ERRORBOX_START RID_FORMULA_START -#define RID_QUERYBOX_START RID_FORMULA_START -#define RID_TOOLBOX_START RID_FORMULA_START -#define RID_BITMAP_START RID_FORMULA_START -#define RID_IMAGE_START RID_FORMULA_START -#define RID_IMAGELIST_START RID_FORMULA_START -#define RID_MENU_START RID_FORMULA_START -#define RID_STRING_START RID_FORMULA_START -#define RID_UNTYPED_START RID_FORMULA_START -#define RID_WARN_START RID_FORMULA_START -#define RID_CONTROL_START RID_FORMULA_START -#define RID_MISC_START RID_FORMULA_START - -// Dialog Control Id's ----------------------------------------------------------- - -// strings -#define RID_STR_SHRINK (RID_STRING_START + 0) -#define RID_STR_EXPAND (RID_STRING_START + 1) -#define STR_OPTIONAL (RID_STRING_START + 4) -#define STR_REQUIRED (RID_STRING_START + 5) -#define STR_END (RID_STRING_START + 6) -#define STR_TITLE1 (RID_STRING_START + 7) -#define STR_TITLE2 (RID_STRING_START + 8) - -#endif // FORMULA_FORRESID_HRC - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/formula/source/ui/inc/ModuleHelper.hxx b/formula/source/ui/inc/ModuleHelper.hxx index 00dca8171167..c5e92847b701 100644 --- a/formula/source/ui/inc/ModuleHelper.hxx +++ b/formula/source/ui/inc/ModuleHelper.hxx @@ -25,8 +25,6 @@ namespace formula { - - //= OModule class OModuleClient; @@ -44,7 +42,7 @@ namespace formula public: /// get the vcl res manager of the module - static ResMgr* getResManager(); + static const std::locale& getResLocale(); protected: /// register a client for the module static void registerClient(); @@ -58,20 +56,10 @@ namespace formula static void ensureImpl(); }; - //= ModuleRes - - /** specialized ResId, using the resource manager provided by the global module - */ - class ModuleRes : public ::ResId - { - public: - ModuleRes(sal_uInt16 _nId) : ResId(_nId, *OModule::getResManager()) { } - }; - + OUString ModuleRes(const char *pId); } // namespace formula - #endif // INCLUDED_FORMULA_SOURCE_UI_INC_MODULEHELPER_HXX diff --git a/formula/source/ui/resource/ModuleHelper.cxx b/formula/source/ui/resource/ModuleHelper.cxx index febf61729092..80636792aa14 100644 --- a/formula/source/ui/resource/ModuleHelper.cxx +++ b/formula/source/ui/resource/ModuleHelper.cxx @@ -26,6 +26,8 @@ #include <rtl/instance.hxx> #include <rtl/uri.hxx> #include <svl/solar.hrc> +#include <vcl/settings.hxx> +#include <vcl/svapp.hxx> #define ENTER_MOD_METHOD() \ ::osl::MutexGuard aGuard(theOModuleMutex::get()); \ @@ -43,34 +45,32 @@ namespace formula */ class OModuleImpl { - std::unique_ptr<ResMgr> m_pResources; + std::unique_ptr<std::locale> m_xResources; public: /// ctor OModuleImpl(); /// get the manager for the resources of the module - ResMgr* getResManager(); + const std::locale& getResLocale(); }; OModuleImpl::OModuleImpl() { } - -ResMgr* OModuleImpl::getResManager() +const std::locale& OModuleImpl::getResLocale() { // note that this method is not threadsafe, which counts for the whole class ! - if (!m_pResources) + if (!m_xResources) { // create a manager with a fixed prefix - m_pResources.reset( ResMgr::CreateResMgr("forui") ); + m_xResources.reset(new std::locale(Translate::Create("for", Application::GetSettings().GetUILanguageTag()))); } - return m_pResources.get(); + return *m_xResources; } - //= OModule namespace @@ -81,13 +81,12 @@ namespace sal_Int32 OModule::s_nClients = 0; OModuleImpl* OModule::s_pImpl = nullptr; -ResMgr* OModule::getResManager() +const std::locale& OModule::getResLocale() { ENTER_MOD_METHOD(); - return s_pImpl->getResManager(); + return s_pImpl->getResLocale(); } - void OModule::registerClient() { ::osl::MutexGuard aGuard(theOModuleMutex::get()); @@ -113,6 +112,10 @@ void OModule::ensureImpl() s_pImpl = new OModuleImpl(); } +OUString ModuleRes(const char *pId) +{ + return Translate::get(pId, OModule::getResLocale()); +}; } // namespace formula diff --git a/formula/uiconfig/ui/formuladialog.ui b/formula/uiconfig/ui/formuladialog.ui index 613272bc13ce..992da1afa011 100644 --- a/formula/uiconfig/ui/formuladialog.ui +++ b/formula/uiconfig/ui/formuladialog.ui @@ -19,7 +19,7 @@ <property name="layout_style">end</property> <child> <object class="GtkCheckButton" id="array"> - <property name="label" translatable="yes">Array</property> + <property name="label" translatable="yes" context="formuladialog|array">Array</property> <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -54,7 +54,7 @@ </child> <child> <object class="GtkButton" id="back"> - <property name="label" translatable="yes"><< _Back</property> + <property name="label" translatable="yes" context="formuladialog|back"><< _Back</property> <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -69,7 +69,7 @@ </child> <child> <object class="GtkButton" id="next"> - <property name="label" translatable="yes">_Next >></property> + <property name="label" translatable="yes" context="formuladialog|next">_Next >></property> <property name="use_action_appearance">False</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -149,7 +149,7 @@ <object class="GtkLabel" id="function"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes">Functions</property> + <property name="label" translatable="yes" context="formuladialog|function">Functions</property> </object> <packing> <property name="tab_fill">False</property> @@ -162,7 +162,7 @@ <object class="GtkLabel" id="struct"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes">Structure</property> + <property name="label" translatable="yes" context="formuladialog|struct">Structure</property> </object> <packing> <property name="position">1</property> @@ -200,7 +200,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">end</property> - <property name="label" translatable="yes">Function result</property> + <property name="label" translatable="yes" context="formuladialog|label2">Function result</property> <property name="use_underline">True</property> <property name="mnemonic_widget">result</property> </object> @@ -341,7 +341,7 @@ <property name="can_focus">False</property> <property name="halign">start</property> <property name="hexpand">True</property> - <property name="label" translatable="yes">For_mula</property> + <property name="label" translatable="yes" context="formuladialog|formula">For_mula</property> <property name="use_underline">True</property> <property name="mnemonic_widget">ed_formula</property> <property name="yalign">1</property> @@ -356,7 +356,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">end</property> - <property name="label" translatable="yes">Result</property> + <property name="label" translatable="yes" context="formuladialog|label1">Result</property> <property name="use_underline">True</property> <property name="mnemonic_widget">formula_result</property> </object> @@ -391,7 +391,7 @@ <property name="hexpand">True</property> <child internal-child="accessible"> <object class="AtkObject" id="ed_formula-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes">Formula</property> + <property name="AtkObject::accessible-name" translatable="yes" context="formuladialog|ed_formula-atkobject">Formula</property> </object> </child> </object> @@ -440,7 +440,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Maximize</property> + <property name="tooltip_text" translatable="yes" context="formuladialog|RB_REF|tooltip_text">Maximize</property> <property name="halign">end</property> </object> <packing> diff --git a/formula/uiconfig/ui/functionpage.ui b/formula/uiconfig/ui/functionpage.ui index a382836741a4..68d13b0475cf 100644 --- a/formula/uiconfig/ui/functionpage.ui +++ b/formula/uiconfig/ui/functionpage.ui @@ -16,7 +16,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">start</property> - <property name="label" translatable="yes">_Search</property> + <property name="label" translatable="yes" context="functionpage|label_search">_Search</property> <property name="use_underline">True</property> <property name="mnemonic_widget">search</property> </object> @@ -44,7 +44,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">start</property> - <property name="label" translatable="yes">_Category</property> + <property name="label" translatable="yes" context="functionpage|label1">_Category</property> <property name="use_underline">True</property> <property name="mnemonic_widget">category</property> </object> @@ -60,8 +60,8 @@ <property name="can_focus">False</property> <property name="hexpand">True</property> <items> - <item translatable="yes">Last Used</item> - <item translatable="yes">All</item> + <item translatable="yes" context="functionpage|category">Last Used</item> + <item translatable="yes" context="functionpage|category">All</item> </items> </object> <packing> @@ -75,7 +75,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">start</property> - <property name="label" translatable="yes">_Function</property> + <property name="label" translatable="yes" context="functionpage|label2">_Function</property> <property name="use_underline">True</property> <property name="mnemonic_widget">function</property> </object> diff --git a/formula/uiconfig/ui/parameter.ui b/formula/uiconfig/ui/parameter.ui index 2677c9266e6f..efc394152239 100644 --- a/formula/uiconfig/ui/parameter.ui +++ b/formula/uiconfig/ui/parameter.ui @@ -27,7 +27,7 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="yalign">0</property> - <property name="label" translatable="yes">Function not known</property> + <property name="label" translatable="yes" context="parameter|editdesc">Function not known</property> <property name="wrap">True</property> </object> <packing> @@ -276,7 +276,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Select</property> + <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG1|tooltip_text">Select</property> <property name="halign">end</property> </object> <packing> @@ -292,7 +292,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Select</property> + <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG2|tooltip_text">Select</property> <property name="halign">end</property> </object> <packing> @@ -308,7 +308,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Select</property> + <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG3|tooltip_text">Select</property> <property name="halign">end</property> </object> <packing> @@ -324,7 +324,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Select</property> + <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG4|tooltip_text">Select</property> <property name="halign">end</property> </object> <packing> diff --git a/formula/uiconfig/ui/structpage.ui b/formula/uiconfig/ui/structpage.ui index b1256231d398..7abdf57e9b6b 100644 --- a/formula/uiconfig/ui/structpage.ui +++ b/formula/uiconfig/ui/structpage.ui @@ -16,7 +16,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">start</property> - <property name="label" translatable="yes">_Structure</property> + <property name="label" translatable="yes" context="structpage|label1">_Structure</property> <property name="use_underline">True</property> <property name="mnemonic_widget">struct</property> </object> |