diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-02-27 11:28:54 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-02-27 11:28:54 +0000 |
commit | fd8b8833603a4ea824ff77ec4800a6358aa65547 (patch) | |
tree | 445385992c9541d62e8e003a4f3fd60d8e4196c3 /sc/source/filter/excel/xlformula.cxx | |
parent | b4071353b03b3739819575e478655f57b909b428 (diff) |
INTEGRATION: CWS calcwarnings (1.16.46); FILE MERGED
2007/02/19 15:56:43 nn 1.16.46.3: RESYNC: (1.16-1.18); FILE MERGED
2006/12/12 16:42:46 dr 1.16.46.2: #i69284# remove compiler warnings for unxlngi6
2006/12/01 14:42:29 dr 1.16.46.1: #i69284# remove compiler warnings for wntmsci10
Diffstat (limited to 'sc/source/filter/excel/xlformula.cxx')
-rw-r--r-- | sc/source/filter/excel/xlformula.cxx | 521 |
1 files changed, 260 insertions, 261 deletions
diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx index 3ae6e3050f90..7830f2a9b4fe 100644 --- a/sc/source/filter/excel/xlformula.cxx +++ b/sc/source/filter/excel/xlformula.cxx @@ -4,9 +4,9 @@ * * $RCSfile: xlformula.cxx,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: obo $ $Date: 2007-01-22 13:17:41 $ + * last change: $Author: vg $ $Date: 2007-02-27 12:28:54 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -76,268 +76,268 @@ const sal_uInt8 I = EXC_FUNC_PAR_INVALID; /** Functions new in BIFF2. */ static const XclFunctionInfo saFuncTable_2[] = { - { ocCount, 0, 0, 30, V, { R } }, - { ocIf, 1, 2, 3, R, { V, R } }, - { ocIsNV, 2, 1, 1, V, { V } }, - { ocIsError, 3, 1, 1, V, { V } }, - { ocSum, 4, 0, 30, V, { R } }, - { ocAverage, 5, 1, 30, V, { R } }, - { ocMin, 6, 1, 30, V, { R } }, - { ocMax, 7, 1, 30, V, { R } }, - { ocRow, 8, 0, 1, V, { R } }, - { ocColumn, 9, 0, 1, V, { R } }, - { ocNoValue, 10, 0, 0, V }, - { ocNBW, 11, 2, 30, V, { V, R } }, - { ocStDev, 12, 1, 30, V, { R } }, - { ocCurrency, 13, 1, 2, V, { V } }, - { ocFixed, 14, 1, 2, V, { V, V, C, I } }, - { ocSin, 15, 1, 1, V, { V } }, - { ocCos, 16, 1, 1, V, { V } }, - { ocTan, 17, 1, 1, V, { V } }, - { ocCot, 17, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY }, - { ocArcTan, 18, 1, 1, V, { V } }, - { ocArcCot, 18, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY }, - { ocPi, 19, 0, 0, V }, - { ocSqrt, 20, 1, 1, V, { V } }, - { ocExp, 21, 1, 1, V, { V } }, - { ocLn, 22, 1, 1, V, { V } }, - { ocLog10, 23, 1, 1, V, { V } }, - { ocAbs, 24, 1, 1, V, { V } }, - { ocInt, 25, 1, 1, V, { V } }, - { ocPlusMinus, 26, 1, 1, V, { V } }, - { ocRound, 27, 2, 2, V, { V } }, - { ocLookup, 28, 2, 3, V, { V, R } }, - { ocIndex, 29, 2, 4, R, { R, V } }, - { ocRept, 30, 2, 2, V, { V } }, - { ocMid, 31, 3, 3, V, { V } }, - { ocLen, 32, 1, 1, V, { V } }, - { ocValue, 33, 1, 1, V, { V } }, - { ocTrue, 34, 0, 0, V }, - { ocFalse, 35, 0, 0, V }, - { ocAnd, 36, 1, 30, V, { R } }, - { ocOr, 37, 1, 30, V, { R } }, - { ocNot, 38, 1, 1, V, { V } }, - { ocMod, 39, 2, 2, V, { V } }, - { ocDBCount, 40, 3, 3, V, { R } }, - { ocDBSum, 41, 3, 3, V, { R } }, - { ocDBAverage, 42, 3, 3, V, { R } }, - { ocDBMin, 43, 3, 3, V, { R } }, - { ocDBMax, 44, 3, 3, V, { R } }, - { ocDBStdDev, 45, 3, 3, V, { R } }, - { ocVar, 46, 1, 30, V, { R } }, - { ocDBVar, 47, 3, 3, V, { R } }, - { ocText, 48, 2, 2, V, { V } }, - { ocRGP, 49, 1, 2, A, { R, R, C, C, I } }, - { ocTrend, 50, 1, 3, A, { R, R, R, C, I } }, - { ocRKP, 51, 1, 2, A, { R, R, C, C, I } }, - { ocGrowth, 52, 1, 3, A, { R, R, R, C, I } }, - { ocBW, 56, 3, 5, V, { V } }, - { ocZW, 57, 3, 5, V, { V } }, - { ocZZR, 58, 3, 5, V, { V } }, - { ocRMZ, 59, 3, 5, V, { V } }, - { ocZins, 60, 3, 6, V, { V } }, - { ocMIRR, 61, 3, 3, V, { R, V } }, - { ocIKV, 62, 1, 2, V, { R, V } }, - { ocRandom, 63, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE }, - { ocMatch, 64, 2, 3, V, { V, R } }, - { ocGetDate, 65, 3, 3, V, { V } }, - { ocGetTime, 66, 3, 3, V, { V } }, - { ocGetDay, 67, 1, 1, V, { V } }, - { ocGetMonth, 68, 1, 1, V, { V } }, - { ocGetYear, 69, 1, 1, V, { V } }, - { ocGetDayOfWeek, 70, 1, 1, V, { V, C, I } }, - { ocGetHour, 71, 1, 1, V, { V } }, - { ocGetMin, 72, 1, 1, V, { V } }, - { ocGetSec, 73, 1, 1, V, { V } }, - { ocGetActTime, 74, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE }, - { ocAreas, 75, 1, 1, V, { R } }, - { ocRows, 76, 1, 1, V, { R } }, - { ocColumns, 77, 1, 1, V, { R } }, - { ocOffset, 78, 3, 5, R, { R, V }, EXC_FUNCFLAG_VOLATILE }, - { ocSearch, 82, 2, 3, V, { V } }, - { ocMatTrans, 83, 1, 1, A, { A } }, - { ocType, 86, 1, 1, V, { V } }, - { ocArcTan2, 97, 2, 2, V, { V } }, - { ocArcSin, 98, 1, 1, V, { V } }, - { ocArcCos, 99, 1, 1, V, { V } }, - { ocChose, 100, 2, 30, R, { V, R } }, - { ocHLookup, 101, 3, 3, V, { V, R, R, C, I } }, - { ocVLookup, 102, 3, 3, V, { V, R, R, C, I } }, - { ocIsRef, 105, 1, 1, V, { R } }, - { ocLog, 109, 1, 2, V, { V } }, - { ocChar, 111, 1, 1, V, { V } }, - { ocLower, 112, 1, 1, V, { V } }, - { ocUpper, 113, 1, 1, V, { V } }, - { ocPropper, 114, 1, 1, V, { V } }, - { ocLeft, 115, 1, 2, V, { V } }, - { ocRight, 116, 1, 2, V, { V } }, - { ocExact, 117, 2, 2, V, { V } }, - { ocTrim, 118, 1, 1, V, { V } }, - { ocReplace, 119, 4, 4, V, { V } }, - { ocSubstitute, 120, 3, 4, V, { V } }, - { ocCode, 121, 1, 1, V, { V } }, - { ocFind, 124, 2, 3, V, { V } }, - { ocCell, 125, 1, 2, V, { V, R }, EXC_FUNCFLAG_VOLATILE }, - { ocIsErr, 126, 1, 1, V, { V } }, - { ocIsString, 127, 1, 1, V, { V } }, - { ocIsValue, 128, 1, 1, V, { V } }, - { ocIsEmpty, 129, 1, 1, V, { V } }, - { ocT, 130, 1, 1, V, { R } }, - { ocN, 131, 1, 1, V, { R } }, - { ocGetDateValue, 140, 1, 1, V, { V } }, - { ocGetTimeValue, 141, 1, 1, V, { V } }, - { ocLIA, 142, 3, 3, V, { V } }, - { ocDIA, 143, 4, 4, V, { V } }, - { ocGDA, 144, 4, 5, V, { V } }, - { ocIndirect, 148, 1, 2, R, { V }, EXC_FUNCFLAG_VOLATILE }, - { ocClean, 162, 1, 1, V, { V } }, - { ocMatDet, 163, 1, 1, V, { A } }, - { ocMatInv, 164, 1, 1, A, { A } }, - { ocMatMult, 165, 2, 2, A, { A } }, - { ocZinsZ, 167, 4, 6, V, { V } }, - { ocKapz, 168, 4, 6, V, { V } }, - { ocCount2, 169, 0, 30, V, { R } }, - { ocProduct, 183, 0, 30, V, { R } }, - { ocFact, 184, 1, 1, V, { V } }, - { ocDBProduct, 189, 3, 3, V, { R } }, - { ocIsNonString, 190, 1, 1, V, { V } }, - { ocStDevP, 193, 1, 30, V, { R } }, - { ocVarP, 194, 1, 30, V, { R } }, - { ocDBStdDevP, 195, 3, 3, V, { R } }, - { ocDBVarP, 196, 3, 3, V, { R } }, - { ocTrunc, 197, 1, 1, V, { V, C, I } }, - { ocIsLogical, 198, 1, 1, V, { V } }, - { ocDBCount2, 199, 3, 3, V, { R } }, - { ocCurrency, 204, 1, 2, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, - { ocRoundUp, 212, 2, 2, V, { V } }, - { ocRoundDown, 213, 2, 2, V, { V } }, - { ocExternal, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_IMPORTONLY } + { ocCount, 0, 0, 30, V, { R }, 0, 0 }, + { ocIf, 1, 2, 3, R, { V, R }, 0, 0 }, + { ocIsNV, 2, 1, 1, V, { V }, 0, 0 }, + { ocIsError, 3, 1, 1, V, { V }, 0, 0 }, + { ocSum, 4, 0, 30, V, { R }, 0, 0 }, + { ocAverage, 5, 1, 30, V, { R }, 0, 0 }, + { ocMin, 6, 1, 30, V, { R }, 0, 0 }, + { ocMax, 7, 1, 30, V, { R }, 0, 0 }, + { ocRow, 8, 0, 1, V, { R }, 0, 0 }, + { ocColumn, 9, 0, 1, V, { R }, 0, 0 }, + { ocNoValue, 10, 0, 0, V, {}, 0, 0 }, + { ocNBW, 11, 2, 30, V, { V, R }, 0, 0 }, + { ocStDev, 12, 1, 30, V, { R }, 0, 0 }, + { ocCurrency, 13, 1, 2, V, { V }, 0, 0 }, + { ocFixed, 14, 1, 2, V, { V, V, C, I }, 0, 0 }, + { ocSin, 15, 1, 1, V, { V }, 0, 0 }, + { ocCos, 16, 1, 1, V, { V }, 0, 0 }, + { ocTan, 17, 1, 1, V, { V }, 0, 0 }, + { ocCot, 17, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocArcTan, 18, 1, 1, V, { V }, 0, 0 }, + { ocArcCot, 18, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocPi, 19, 0, 0, V, {}, 0, 0 }, + { ocSqrt, 20, 1, 1, V, { V }, 0, 0 }, + { ocExp, 21, 1, 1, V, { V }, 0, 0 }, + { ocLn, 22, 1, 1, V, { V }, 0, 0 }, + { ocLog10, 23, 1, 1, V, { V }, 0, 0 }, + { ocAbs, 24, 1, 1, V, { V }, 0, 0 }, + { ocInt, 25, 1, 1, V, { V }, 0, 0 }, + { ocPlusMinus, 26, 1, 1, V, { V }, 0, 0 }, + { ocRound, 27, 2, 2, V, { V }, 0, 0 }, + { ocLookup, 28, 2, 3, V, { V, R }, 0, 0 }, + { ocIndex, 29, 2, 4, R, { R, V }, 0, 0 }, + { ocRept, 30, 2, 2, V, { V }, 0, 0 }, + { ocMid, 31, 3, 3, V, { V }, 0, 0 }, + { ocLen, 32, 1, 1, V, { V }, 0, 0 }, + { ocValue, 33, 1, 1, V, { V }, 0, 0 }, + { ocTrue, 34, 0, 0, V, {}, 0, 0 }, + { ocFalse, 35, 0, 0, V, {}, 0, 0 }, + { ocAnd, 36, 1, 30, V, { R }, 0, 0 }, + { ocOr, 37, 1, 30, V, { R }, 0, 0 }, + { ocNot, 38, 1, 1, V, { V }, 0, 0 }, + { ocMod, 39, 2, 2, V, { V }, 0, 0 }, + { ocDBCount, 40, 3, 3, V, { R }, 0, 0 }, + { ocDBSum, 41, 3, 3, V, { R }, 0, 0 }, + { ocDBAverage, 42, 3, 3, V, { R }, 0, 0 }, + { ocDBMin, 43, 3, 3, V, { R }, 0, 0 }, + { ocDBMax, 44, 3, 3, V, { R }, 0, 0 }, + { ocDBStdDev, 45, 3, 3, V, { R }, 0, 0 }, + { ocVar, 46, 1, 30, V, { R }, 0, 0 }, + { ocDBVar, 47, 3, 3, V, { R }, 0, 0 }, + { ocText, 48, 2, 2, V, { V }, 0, 0 }, + { ocRGP, 49, 1, 2, A, { R, R, C, C, I }, 0, 0 }, + { ocTrend, 50, 1, 3, A, { R, R, R, C, I }, 0, 0 }, + { ocRKP, 51, 1, 2, A, { R, R, C, C, I }, 0, 0 }, + { ocGrowth, 52, 1, 3, A, { R, R, R, C, I }, 0, 0 }, + { ocBW, 56, 3, 5, V, { V }, 0, 0 }, + { ocZW, 57, 3, 5, V, { V }, 0, 0 }, + { ocZZR, 58, 3, 5, V, { V }, 0, 0 }, + { ocRMZ, 59, 3, 5, V, { V }, 0, 0 }, + { ocZins, 60, 3, 6, V, { V }, 0, 0 }, + { ocMIRR, 61, 3, 3, V, { R, V }, 0, 0 }, + { ocIKV, 62, 1, 2, V, { R, V }, 0, 0 }, + { ocRandom, 63, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocMatch, 64, 2, 3, V, { V, R }, 0, 0 }, + { ocGetDate, 65, 3, 3, V, { V }, 0, 0 }, + { ocGetTime, 66, 3, 3, V, { V }, 0, 0 }, + { ocGetDay, 67, 1, 1, V, { V }, 0, 0 }, + { ocGetMonth, 68, 1, 1, V, { V }, 0, 0 }, + { ocGetYear, 69, 1, 1, V, { V }, 0, 0 }, + { ocGetDayOfWeek, 70, 1, 1, V, { V, C, I }, 0, 0 }, + { ocGetHour, 71, 1, 1, V, { V }, 0, 0 }, + { ocGetMin, 72, 1, 1, V, { V }, 0, 0 }, + { ocGetSec, 73, 1, 1, V, { V }, 0, 0 }, + { ocGetActTime, 74, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocAreas, 75, 1, 1, V, { R }, 0, 0 }, + { ocRows, 76, 1, 1, V, { R }, 0, 0 }, + { ocColumns, 77, 1, 1, V, { R }, 0, 0 }, + { ocOffset, 78, 3, 5, R, { R, V }, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocSearch, 82, 2, 3, V, { V }, 0, 0 }, + { ocMatTrans, 83, 1, 1, A, { A }, 0, 0 }, + { ocType, 86, 1, 1, V, { V }, 0, 0 }, + { ocArcTan2, 97, 2, 2, V, { V }, 0, 0 }, + { ocArcSin, 98, 1, 1, V, { V }, 0, 0 }, + { ocArcCos, 99, 1, 1, V, { V }, 0, 0 }, + { ocChose, 100, 2, 30, R, { V, R }, 0, 0 }, + { ocHLookup, 101, 3, 3, V, { V, R, R, C, I }, 0, 0 }, + { ocVLookup, 102, 3, 3, V, { V, R, R, C, I }, 0, 0 }, + { ocIsRef, 105, 1, 1, V, { R }, 0, 0 }, + { ocLog, 109, 1, 2, V, { V }, 0, 0 }, + { ocChar, 111, 1, 1, V, { V }, 0, 0 }, + { ocLower, 112, 1, 1, V, { V }, 0, 0 }, + { ocUpper, 113, 1, 1, V, { V }, 0, 0 }, + { ocPropper, 114, 1, 1, V, { V }, 0, 0 }, + { ocLeft, 115, 1, 2, V, { V }, 0, 0 }, + { ocRight, 116, 1, 2, V, { V }, 0, 0 }, + { ocExact, 117, 2, 2, V, { V }, 0, 0 }, + { ocTrim, 118, 1, 1, V, { V }, 0, 0 }, + { ocReplace, 119, 4, 4, V, { V }, 0, 0 }, + { ocSubstitute, 120, 3, 4, V, { V }, 0, 0 }, + { ocCode, 121, 1, 1, V, { V }, 0, 0 }, + { ocFind, 124, 2, 3, V, { V }, 0, 0 }, + { ocCell, 125, 1, 2, V, { V, R }, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocIsErr, 126, 1, 1, V, { V }, 0, 0 }, + { ocIsString, 127, 1, 1, V, { V }, 0, 0 }, + { ocIsValue, 128, 1, 1, V, { V }, 0, 0 }, + { ocIsEmpty, 129, 1, 1, V, { V }, 0, 0 }, + { ocT, 130, 1, 1, V, { R }, 0, 0 }, + { ocN, 131, 1, 1, V, { R }, 0, 0 }, + { ocGetDateValue, 140, 1, 1, V, { V }, 0, 0 }, + { ocGetTimeValue, 141, 1, 1, V, { V }, 0, 0 }, + { ocLIA, 142, 3, 3, V, { V }, 0, 0 }, + { ocDIA, 143, 4, 4, V, { V }, 0, 0 }, + { ocGDA, 144, 4, 5, V, { V }, 0, 0 }, + { ocIndirect, 148, 1, 2, R, { V }, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocClean, 162, 1, 1, V, { V }, 0, 0 }, + { ocMatDet, 163, 1, 1, V, { A }, 0, 0 }, + { ocMatInv, 164, 1, 1, A, { A }, 0, 0 }, + { ocMatMult, 165, 2, 2, A, { A }, 0, 0 }, + { ocZinsZ, 167, 4, 6, V, { V }, 0, 0 }, + { ocKapz, 168, 4, 6, V, { V }, 0, 0 }, + { ocCount2, 169, 0, 30, V, { R }, 0, 0 }, + { ocProduct, 183, 0, 30, V, { R }, 0, 0 }, + { ocFact, 184, 1, 1, V, { V }, 0, 0 }, + { ocDBProduct, 189, 3, 3, V, { R }, 0, 0 }, + { ocIsNonString, 190, 1, 1, V, { V }, 0, 0 }, + { ocStDevP, 193, 1, 30, V, { R }, 0, 0 }, + { ocVarP, 194, 1, 30, V, { R }, 0, 0 }, + { ocDBStdDevP, 195, 3, 3, V, { R }, 0, 0 }, + { ocDBVarP, 196, 3, 3, V, { R }, 0, 0 }, + { ocTrunc, 197, 1, 1, V, { V, C, I }, 0, 0 }, + { ocIsLogical, 198, 1, 1, V, { V }, 0, 0 }, + { ocDBCount2, 199, 3, 3, V, { R }, 0, 0 }, + { ocCurrency, 204, 1, 2, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, + { ocRoundUp, 212, 2, 2, V, { V }, 0, 0 }, + { ocRoundDown, 213, 2, 2, V, { V }, 0, 0 }, + { ocExternal, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_IMPORTONLY, 0 } }; /** Functions new in BIFF3. */ static const XclFunctionInfo saFuncTable_3[] = { - { ocRGP, 49, 1, 4, A, { R, R, V, V } }, // BIFF2: 1-2, BIFF3: 1-4 - { ocTrend, 50, 1, 4, A, { R, R, R, V } }, // BIFF2: 1-3, BIFF3: 1-4 - { ocRKP, 51, 1, 4, A, { R, R, V, V } }, // BIFF2: 1-2, BIFF3: 1-4 - { ocGrowth, 52, 1, 4, A, { R, R, R, V } }, // BIFF2: 1-3, BIFF3: 1-4 - { ocTrunc, 197, 1, 2, V, { V } }, // BIFF2: 1, BIFF3: 1-2 - { ocAddress, 219, 2, 5, V, { V, V, V, E, V } }, - { ocGetDiffDate360, 220, 2, 2, V, { V, V, C, I } }, - { ocGetActDate, 221, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE }, - { ocVBD, 222, 5, 7, V, { V } }, - { ocMedian, 227, 1, 30, V, { R } }, - { ocSumProduct, 228, 1, 30, V, { A } }, - { ocSinHyp, 229, 1, 1, V, { V } }, - { ocCosHyp, 230, 1, 1, V, { V } }, - { ocTanHyp, 231, 1, 1, V, { V } }, - { ocCotHyp, 231, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY }, - { ocArcSinHyp, 232, 1, 1, V, { V } }, - { ocArcCosHyp, 233, 1, 1, V, { V } }, - { ocArcTanHyp, 234, 1, 1, V, { V } }, - { ocArcCotHyp, 234, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY }, - { ocDBGet, 235, 3, 3, V, { R } }, - { ocInfo, 244, 1, 1, V, { V }, EXC_FUNCFLAG_VOLATILE } + { ocRGP, 49, 1, 4, A, { R, R, V, V }, 0, 0 }, // BIFF2: 1-2, BIFF3: 1-4 + { ocTrend, 50, 1, 4, A, { R, R, R, V }, 0, 0 }, // BIFF2: 1-3, BIFF3: 1-4 + { ocRKP, 51, 1, 4, A, { R, R, V, V }, 0, 0 }, // BIFF2: 1-2, BIFF3: 1-4 + { ocGrowth, 52, 1, 4, A, { R, R, R, V }, 0, 0 }, // BIFF2: 1-3, BIFF3: 1-4 + { ocTrunc, 197, 1, 2, V, { V }, 0, 0 }, // BIFF2: 1, BIFF3: 1-2 + { ocAddress, 219, 2, 5, V, { V, V, V, E, V }, 0, 0 }, + { ocGetDiffDate360, 220, 2, 2, V, { V, V, C, I }, 0, 0 }, + { ocGetActDate, 221, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE, 0 }, + { ocVBD, 222, 5, 7, V, { V }, 0, 0 }, + { ocMedian, 227, 1, 30, V, { R }, 0, 0 }, + { ocSumProduct, 228, 1, 30, V, { A }, 0, 0 }, + { ocSinHyp, 229, 1, 1, V, { V }, 0, 0 }, + { ocCosHyp, 230, 1, 1, V, { V }, 0, 0 }, + { ocTanHyp, 231, 1, 1, V, { V }, 0, 0 }, + { ocCotHyp, 231, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocArcSinHyp, 232, 1, 1, V, { V }, 0, 0 }, + { ocArcCosHyp, 233, 1, 1, V, { V }, 0, 0 }, + { ocArcTanHyp, 234, 1, 1, V, { V }, 0, 0 }, + { ocArcCotHyp, 234, 1, 1, V, { V }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocDBGet, 235, 3, 3, V, { R }, 0, 0 }, + { ocInfo, 244, 1, 1, V, { V }, EXC_FUNCFLAG_VOLATILE, 0 } }; /** Functions new in BIFF4. Unsupported functions: ASC, DBCS. */ static const XclFunctionInfo saFuncTable_4[] = { - { ocFixed, 14, 1, 3, V, { V } }, // BIFF2-3: 1-2, BIFF4: 1-3 - { ocNoName, 214, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, // ASC - { ocNoName, 215, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, // DBCS - { ocRank, 216, 2, 3, V, { V, R, V } }, - { ocGDA2, 247, 4, 5, V, { V } }, - { ocFrequency, 252, 2, 2, A, { R } }, - { ocErrorType, 261, 1, 1, V, { V } }, - { ocAveDev, 269, 1, 30, V, { R } }, - { ocBetaDist, 270, 3, 5, V, { V } }, - { ocGammaLn, 271, 1, 1, V, { V } }, - { ocBetaInv, 272, 3, 5, V, { V } }, - { ocBinomDist, 273, 4, 4, V, { V } }, - { ocChiDist, 274, 2, 2, V, { V } }, - { ocChiInv, 275, 2, 2, V, { V } }, - { ocKombin, 276, 2, 2, V, { V } }, - { ocConfidence, 277, 3, 3, V, { V } }, - { ocKritBinom, 278, 3, 3, V, { V } }, - { ocEven, 279, 1, 1, V, { V } }, - { ocExpDist, 280, 3, 3, V, { V } }, - { ocFDist, 281, 3, 3, V, { V } }, - { ocFInv, 282, 3, 3, V, { V } }, - { ocFisher, 283, 1, 1, V, { V } }, - { ocFisherInv, 284, 1, 1, V, { V } }, - { ocFloor, 285, 2, 2, V, { V, V, C, I } }, - { ocGammaDist, 286, 4, 4, V, { V } }, - { ocGammaInv, 287, 3, 3, V, { V } }, - { ocCeil, 288, 2, 2, V, { V, V, C, I } }, - { ocHypGeomDist, 289, 4, 4, V, { V } }, - { ocLogNormDist, 290, 3, 3, V, { V } }, - { ocLogInv, 291, 3, 3, V, { V } }, - { ocNegBinomVert, 292, 3, 3, V, { V } }, - { ocNormDist, 293, 4, 4, V, { V } }, - { ocStdNormDist, 294, 1, 1, V, { V } }, - { ocNormInv, 295, 3, 3, V, { V } }, - { ocSNormInv, 296, 1, 1, V, { V } }, - { ocStandard, 297, 3, 3, V, { V } }, - { ocOdd, 298, 1, 1, V, { V } }, - { ocVariationen, 299, 2, 2, V, { V } }, - { ocPoissonDist, 300, 3, 3, V, { V } }, - { ocTDist, 301, 3, 3, V, { V } }, - { ocWeibull, 302, 4, 4, V, { V } }, - { ocSumXMY2, 303, 2, 2, V, { A } }, - { ocSumX2MY2, 304, 2, 2, V, { A } }, - { ocSumX2DY2, 305, 2, 2, V, { A } }, - { ocChiTest, 306, 2, 2, V, { A } }, - { ocCorrel, 307, 2, 2, V, { A } }, - { ocCovar, 308, 2, 2, V, { A } }, - { ocForecast, 309, 3, 3, V, { V, A } }, - { ocFTest, 310, 2, 2, V, { A } }, - { ocIntercept, 311, 2, 2, V, { A } }, - { ocPearson, 312, 2, 2, V, { A } }, - { ocRSQ, 313, 2, 2, V, { A } }, - { ocSTEYX, 314, 2, 2, V, { A } }, - { ocSlope, 315, 2, 2, V, { A } }, - { ocTTest, 316, 4, 4, V, { A, A, V } }, - { ocProb, 317, 3, 4, V, { A, A, V } }, - { ocDevSq, 318, 1, 30, V, { R } }, - { ocGeoMean, 319, 1, 30, V, { R } }, - { ocHarMean, 320, 1, 30, V, { R } }, - { ocSumSQ, 321, 0, 30, V, { R } }, - { ocKurt, 322, 1, 30, V, { R } }, - { ocSchiefe, 323, 1, 30, V, { R } }, - { ocZTest, 324, 2, 3, V, { R, V } }, - { ocLarge, 325, 2, 2, V, { R, V } }, - { ocSmall, 326, 2, 2, V, { R, V } }, - { ocQuartile, 327, 2, 2, V, { R, V } }, - { ocPercentile, 328, 2, 2, V, { R, V } }, - { ocPercentrank, 329, 2, 3, V, { R, V } }, - { ocModalValue, 330, 1, 30, V, { A } }, - { ocTrimMean, 331, 2, 2, V, { R, V } }, - { ocTInv, 332, 2, 2, V, { V } } + { ocFixed, 14, 1, 3, V, { V }, 0, 0 }, // BIFF2-3: 1-2, BIFF4: 1-3 + { ocNoName, 214, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // ASC + { ocNoName, 215, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // DBCS + { ocRank, 216, 2, 3, V, { V, R, V }, 0, 0 }, + { ocGDA2, 247, 4, 5, V, { V }, 0, 0 }, + { ocFrequency, 252, 2, 2, A, { R }, 0, 0 }, + { ocErrorType, 261, 1, 1, V, { V }, 0, 0 }, + { ocAveDev, 269, 1, 30, V, { R }, 0, 0 }, + { ocBetaDist, 270, 3, 5, V, { V }, 0, 0 }, + { ocGammaLn, 271, 1, 1, V, { V }, 0, 0 }, + { ocBetaInv, 272, 3, 5, V, { V }, 0, 0 }, + { ocBinomDist, 273, 4, 4, V, { V }, 0, 0 }, + { ocChiDist, 274, 2, 2, V, { V }, 0, 0 }, + { ocChiInv, 275, 2, 2, V, { V }, 0, 0 }, + { ocKombin, 276, 2, 2, V, { V }, 0, 0 }, + { ocConfidence, 277, 3, 3, V, { V }, 0, 0 }, + { ocKritBinom, 278, 3, 3, V, { V }, 0, 0 }, + { ocEven, 279, 1, 1, V, { V }, 0, 0 }, + { ocExpDist, 280, 3, 3, V, { V }, 0, 0 }, + { ocFDist, 281, 3, 3, V, { V }, 0, 0 }, + { ocFInv, 282, 3, 3, V, { V }, 0, 0 }, + { ocFisher, 283, 1, 1, V, { V }, 0, 0 }, + { ocFisherInv, 284, 1, 1, V, { V }, 0, 0 }, + { ocFloor, 285, 2, 2, V, { V, V, C, I }, 0, 0 }, + { ocGammaDist, 286, 4, 4, V, { V }, 0, 0 }, + { ocGammaInv, 287, 3, 3, V, { V }, 0, 0 }, + { ocCeil, 288, 2, 2, V, { V, V, C, I }, 0, 0 }, + { ocHypGeomDist, 289, 4, 4, V, { V }, 0, 0 }, + { ocLogNormDist, 290, 3, 3, V, { V }, 0, 0 }, + { ocLogInv, 291, 3, 3, V, { V }, 0, 0 }, + { ocNegBinomVert, 292, 3, 3, V, { V }, 0, 0 }, + { ocNormDist, 293, 4, 4, V, { V }, 0, 0 }, + { ocStdNormDist, 294, 1, 1, V, { V }, 0, 0 }, + { ocNormInv, 295, 3, 3, V, { V }, 0, 0 }, + { ocSNormInv, 296, 1, 1, V, { V }, 0, 0 }, + { ocStandard, 297, 3, 3, V, { V }, 0, 0 }, + { ocOdd, 298, 1, 1, V, { V }, 0, 0 }, + { ocVariationen, 299, 2, 2, V, { V }, 0, 0 }, + { ocPoissonDist, 300, 3, 3, V, { V }, 0, 0 }, + { ocTDist, 301, 3, 3, V, { V }, 0, 0 }, + { ocWeibull, 302, 4, 4, V, { V }, 0, 0 }, + { ocSumXMY2, 303, 2, 2, V, { A }, 0, 0 }, + { ocSumX2MY2, 304, 2, 2, V, { A }, 0, 0 }, + { ocSumX2DY2, 305, 2, 2, V, { A }, 0, 0 }, + { ocChiTest, 306, 2, 2, V, { A }, 0, 0 }, + { ocCorrel, 307, 2, 2, V, { A }, 0, 0 }, + { ocCovar, 308, 2, 2, V, { A }, 0, 0 }, + { ocForecast, 309, 3, 3, V, { V, A }, 0, 0 }, + { ocFTest, 310, 2, 2, V, { A }, 0, 0 }, + { ocIntercept, 311, 2, 2, V, { A }, 0, 0 }, + { ocPearson, 312, 2, 2, V, { A }, 0, 0 }, + { ocRSQ, 313, 2, 2, V, { A }, 0, 0 }, + { ocSTEYX, 314, 2, 2, V, { A }, 0, 0 }, + { ocSlope, 315, 2, 2, V, { A }, 0, 0 }, + { ocTTest, 316, 4, 4, V, { A, A, V }, 0, 0 }, + { ocProb, 317, 3, 4, V, { A, A, V }, 0, 0 }, + { ocDevSq, 318, 1, 30, V, { R }, 0, 0 }, + { ocGeoMean, 319, 1, 30, V, { R }, 0, 0 }, + { ocHarMean, 320, 1, 30, V, { R }, 0, 0 }, + { ocSumSQ, 321, 0, 30, V, { R }, 0, 0 }, + { ocKurt, 322, 1, 30, V, { R }, 0, 0 }, + { ocSchiefe, 323, 1, 30, V, { R }, 0, 0 }, + { ocZTest, 324, 2, 3, V, { R, V }, 0, 0 }, + { ocLarge, 325, 2, 2, V, { R, V }, 0, 0 }, + { ocSmall, 326, 2, 2, V, { R, V }, 0, 0 }, + { ocQuartile, 327, 2, 2, V, { R, V }, 0, 0 }, + { ocPercentile, 328, 2, 2, V, { R, V }, 0, 0 }, + { ocPercentrank, 329, 2, 3, V, { R, V }, 0, 0 }, + { ocModalValue, 330, 1, 30, V, { A }, 0, 0 }, + { ocTrimMean, 331, 2, 2, V, { R, V }, 0, 0 }, + { ocTInv, 332, 2, 2, V, { V }, 0, 0 } }; /** Functions new in BIFF5/BIFF7. Unsupported functions: DATEDIF, DATESTRING, NUMBERSTRING. */ static const XclFunctionInfo saFuncTable_5[] = { - { ocGetDayOfWeek, 70, 1, 2, V, { V } }, // BIFF2-4: 1, BIFF5: 1-2 - { ocHLookup, 101, 3, 4, V, { V, R, R, V } }, // BIFF2-4: 3, BIFF5: 3-4 - { ocVLookup, 102, 3, 4, V, { V, R, R, V } }, // BIFF2-4: 3, BIFF5: 3-4 - { ocGetDiffDate360, 220, 2, 3, V, { V } }, // BIFF3-4: 2, BIFF5: 2-3 - { ocMacro, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_EXPORTONLY }, - { ocExternal, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_EXPORTONLY }, - { ocConcat, 336, 0, 30, V, { V } }, - { ocPower, 337, 2, 2, V, { V } }, - { ocRad, 342, 1, 1, V, { V } }, - { ocDeg, 343, 1, 1, V, { V } }, - { ocSubTotal, 344, 2, 30, V, { V, R } }, - { ocSumIf, 345, 2, 3, V, { R, V, R } }, - { ocCountIf, 346, 2, 2, V, { R, V } }, - { ocCountEmptyCells, 347, 1, 1, V, { R } }, - { ocISPMT, 350, 4, 4, V, { V } }, - { ocNoName, 351, 3, 3, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, // DATEDIF - { ocNoName, 352, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, // DATESTRING - { ocNoName, 353, 2, 2, V, { V }, EXC_FUNCFLAG_IMPORTONLY }, // NUMBERSTRING - { ocRoman, 354, 1, 2, V, { V } } + { ocGetDayOfWeek, 70, 1, 2, V, { V }, 0, 0 }, // BIFF2-4: 1, BIFF5: 1-2 + { ocHLookup, 101, 3, 4, V, { V, R, R, V }, 0, 0 }, // BIFF2-4: 3, BIFF5: 3-4 + { ocVLookup, 102, 3, 4, V, { V, R, R, V }, 0, 0 }, // BIFF2-4: 3, BIFF5: 3-4 + { ocGetDiffDate360, 220, 2, 3, V, { V }, 0, 0 }, // BIFF3-4: 2, BIFF5: 2-3 + { ocMacro, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocExternal, 255, 1, 30, R, { E, R }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocConcat, 336, 0, 30, V, { V }, 0, 0 }, + { ocPower, 337, 2, 2, V, { V }, 0, 0 }, + { ocRad, 342, 1, 1, V, { V }, 0, 0 }, + { ocDeg, 343, 1, 1, V, { V }, 0, 0 }, + { ocSubTotal, 344, 2, 30, V, { V, R }, 0, 0 }, + { ocSumIf, 345, 2, 3, V, { R, V, R }, 0, 0 }, + { ocCountIf, 346, 2, 2, V, { R, V }, 0, 0 }, + { ocCountEmptyCells, 347, 1, 1, V, { R }, 0, 0 }, + { ocISPMT, 350, 4, 4, V, { V }, 0, 0 }, + { ocNoName, 351, 3, 3, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // DATEDIF + { ocNoName, 352, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // DATESTRING + { ocNoName, 353, 2, 2, V, { V }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // NUMBERSTRING + { ocRoman, 354, 1, 2, V, { V }, 0, 0 } }; #define EXC_FUNCNAME_PREFIX "_xlfn." @@ -347,15 +347,15 @@ const sal_Char* const EXC_FUNCNAME_BAHTTEXT = EXC_FUNCNAME_PREFIX "BAHTTEXT"; /** Functions new in BIFF8. Unsupported functions: PHONETIC. */ static const XclFunctionInfo saFuncTable_8[] = { - { ocHyperLink, 359, 1, 2, V, { V } }, - { ocNoName, 360, 1, 1, V, { R }, EXC_FUNCFLAG_IMPORTONLY }, // PHONETIC - { ocAverageA, 361, 1, 30, V, { R } }, - { ocMaxA, 362, 1, 30, V, { R } }, - { ocMinA, 363, 1, 30, V, { R } }, - { ocStDevPA, 364, 1, 30, V, { R } }, - { ocVarPA, 365, 1, 30, V, { R } }, - { ocStDevA, 366, 1, 30, V, { R } }, - { ocVarA, 367, 1, 30, V, { R } }, + { ocHyperLink, 359, 1, 2, V, { V }, 0, 0 }, + { ocNoName, 360, 1, 1, V, { R }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // PHONETIC + { ocAverageA, 361, 1, 30, V, { R }, 0, 0 }, + { ocMaxA, 362, 1, 30, V, { R }, 0, 0 }, + { ocMinA, 363, 1, 30, V, { R }, 0, 0 }, + { ocStDevPA, 364, 1, 30, V, { R }, 0, 0 }, + { ocVarPA, 365, 1, 30, V, { R }, 0, 0 }, + { ocStDevA, 366, 1, 30, V, { R }, 0, 0 }, + { ocVarA, 367, 1, 30, V, { R }, 0, 0 }, { ocBahtText, 368, 1, 1, V, { V }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME_BAHTTEXT }, { ocBahtText, 255, 2, 2, V, { E, V }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME_BAHTTEXT } }; @@ -613,6 +613,7 @@ bool XclTokenArrayHelper::GetStringList( String& rStringList, const ScTokenArray if( bRet ) rStringList.Append( cSep ); eState = (bRet && (++aIt).Is()) ? STATE_STR : STATE_END; break; + default:; } return bRet; } @@ -670,7 +671,6 @@ inline bool lclGetAddress( ScAddress& rAddress, const ScToken& rToken ) bool XclTokenArrayHelper::GetMultipleOpRefs( XclMultipleOpRefs& rRefs, const ScTokenArray& rScTokArr ) { rRefs.mbDblRefMode = false; - bool bRet = false; enum { stBegin, stTableOp, stOpen, stFormula, stFormulaSep, @@ -680,8 +680,7 @@ bool XclTokenArrayHelper::GetMultipleOpRefs( XclMultipleOpRefs& rRefs, const ScT for( XclTokenArrayIterator aIt( rScTokArr, true ); aIt.Is() && (eState != stError); ++aIt ) { OpCode eOpCode = aIt->GetOpCode(); - bool bIsSingleRef = (eOpCode == ocPush) && (aIt->GetType() == svSingleRef); - bool bIsSep = (eOpCode == ocSep); + bool bIsSep = eOpCode == ocSep; switch( eState ) { case stBegin: |