diff options
author | Eike Rathke <erack@redhat.com> | 2017-05-10 12:07:19 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-05-10 14:00:31 +0200 |
commit | 656cf4d2e7c7d193d4d23900a344d6625fc217ac (patch) | |
tree | 405a1611c6f2c62adbcbb63d4dfd8ccf88e1446b /sc | |
parent | 4d047221945b34a9023d852bbd19a2a24a7f54c3 (diff) |
Add ParamClass ScParameterClassification::CommonData::eReturn, tdf#107724 prep
Init with Value, could be Unknown or any other value except Reference as well
at the moment, actually DontCare.
Change-Id: I689eb2ed297bec3a5ad333f8bb247ec2184faf5a
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/inc/parclass.hxx | 1 | ||||
-rw-r--r-- | sc/source/core/tool/parclass.cxx | 340 |
2 files changed, 171 insertions, 170 deletions
diff --git a/sc/source/core/inc/parclass.hxx b/sc/source/core/inc/parclass.hxx index 9c7f34224b7f..18a4026679ae 100644 --- a/sc/source/core/inc/parclass.hxx +++ b/sc/source/core/inc/parclass.hxx @@ -63,6 +63,7 @@ private: formula::ParamClass nParam[nMaxParams]; sal_uInt8 nRepeatLast; + formula::ParamClass eReturn; }; struct RawData diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx index c4b0f717e125..17ef5b257d0b 100644 --- a/sc/source/core/tool/parclass.cxx +++ b/sc/source/core/tool/parclass.cxx @@ -49,180 +49,180 @@ using namespace formula; const ScParameterClassification::RawData ScParameterClassification::pRawData[] = { - // { OpCode, {{ Type, ... }, nRepeatLast }}, + // { OpCode, {{ ParamClass, ... }, nRepeatLast, ReturnClass }}, // IF() and CHOOSE() are somewhat special, since the ScJumpMatrix is // created inside those functions and ConvertMatrixParameters() is not // called for them. - { ocIf, {{ Array, Reference, Reference }, 0 }}, - { ocIfError, {{ Array, Reference }, 0 }}, - { ocIfNA, {{ Array, Reference }, 0 }}, - { ocChoose, {{ Array, Reference }, 1 }}, + { ocIf, {{ Array, Reference, Reference }, 0, Value }}, + { ocIfError, {{ Array, Reference }, 0, Value }}, + { ocIfNA, {{ Array, Reference }, 0, Value }}, + { ocChoose, {{ Array, Reference }, 1, Value }}, // Other specials. - { ocOpen, {{ Bounds }, 0 }}, - { ocClose, {{ Bounds }, 0 }}, - { ocSep, {{ Bounds }, 0 }}, - { ocNoName, {{ Bounds }, 0 }}, - { ocStop, {{ Bounds }, 0 }}, - { ocUnion, {{ Reference, Reference }, 0 }}, - { ocRange, {{ Reference, Reference }, 0 }}, + { ocOpen, {{ Bounds }, 0, Value }}, + { ocClose, {{ Bounds }, 0, Value }}, + { ocSep, {{ Bounds }, 0, Value }}, + { ocNoName, {{ Bounds }, 0, Value }}, + { ocStop, {{ Bounds }, 0, Value }}, + { ocUnion, {{ Reference, Reference }, 0, Value }}, + { ocRange, {{ Reference, Reference }, 0, Value }}, // Functions with Value parameters only but not in resource. - { ocBackSolver, {{ Value, Value, Value }, 0 }}, - { ocTableOp, {{ Value, Value, Value, Value, Value }, 0 }}, + { ocBackSolver, {{ Value, Value, Value }, 0, Value }}, + { ocTableOp, {{ Value, Value, Value, Value, Value }, 0, Value }}, // Operators and functions. - { ocAdd, {{ Array, Array }, 0 }}, - { ocAggregate, {{ Value, Value, Reference }, 1 }}, - { ocAmpersand, {{ Array, Array }, 0 }}, - { ocAnd, {{ Reference }, 1 }}, - { ocAreas, {{ Reference }, 0 }}, - { ocAveDev, {{ Reference }, 1 }}, - { ocAverage, {{ Reference }, 1 }}, - { ocAverageA, {{ Reference }, 1 }}, - { ocAverageIf, {{ Reference, Value, Reference }, 0 }}, - { ocAverageIfs, {{ Reference, Reference, Value }, 2 }}, - { ocCell, {{ Value, Reference }, 0 }}, - { ocColumn, {{ Reference }, 0 }}, - { ocColumns, {{ Reference }, 1 }}, - { ocConcat_MS, {{ Reference }, 1 }}, - { ocCorrel, {{ ForceArray, ForceArray }, 0 }}, - { ocCount, {{ Reference }, 1 }}, - { ocCount2, {{ Reference }, 1 }}, - { ocCountEmptyCells, {{ Reference }, 0 }}, - { ocCountIf, {{ Reference, Value }, 0 }}, - { ocCountIfs, {{ Reference, Value }, 2 }}, - { ocCovar, {{ ForceArray, ForceArray }, 0 }}, - { ocCovarianceP, {{ ForceArray, ForceArray }, 0 }}, - { ocCovarianceS, {{ ForceArray, ForceArray }, 0 }}, - { ocDBAverage, {{ Reference, Reference, Reference }, 0 }}, - { ocDBCount, {{ Reference, Reference, Reference }, 0 }}, - { ocDBCount2, {{ Reference, Reference, Reference }, 0 }}, - { ocDBGet, {{ Reference, Reference, Reference }, 0 }}, - { ocDBMax, {{ Reference, Reference, Reference }, 0 }}, - { ocDBMin, {{ Reference, Reference, Reference }, 0 }}, - { ocDBProduct, {{ Reference, Reference, Reference }, 0 }}, - { ocDBStdDev, {{ Reference, Reference, Reference }, 0 }}, - { ocDBStdDevP, {{ Reference, Reference, Reference }, 0 }}, - { ocDBSum, {{ Reference, Reference, Reference }, 0 }}, - { ocDBVar, {{ Reference, Reference, Reference }, 0 }}, - { ocDBVarP, {{ Reference, Reference, Reference }, 0 }}, - { ocDevSq, {{ Reference }, 1 }}, - { ocDiv, {{ Array, Array }, 0 }}, - { ocEqual, {{ Array, Array }, 0 }}, - { ocFTest, {{ ForceArray, ForceArray }, 0 }}, - { ocForecast, {{ Value, ForceArray, ForceArray }, 0 }}, - { ocForecast_ETS_ADD, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0 }}, - { ocForecast_ETS_MUL, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0 }}, - { ocForecast_ETS_PIA, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value, Value }, 0 }}, - { ocForecast_ETS_PIM, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value, Value }, 0 }}, - { ocForecast_ETS_SEA, {{ ForceArray, ForceArray, Value, Value }, 0 }}, - { ocForecast_ETS_STA, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0 }}, - { ocForecast_ETS_STM, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0 }}, - { ocFormula, {{ Reference }, 0 }}, - { ocFrequency, {{ Reference, Reference }, 0 }}, - { ocGCD, {{ Reference }, 1 }}, - { ocGeoMean, {{ Reference }, 1 }}, - { ocGreater, {{ Array, Array }, 0 }}, - { ocGreaterEqual, {{ Array, Array }, 0 }}, - { ocGrowth, {{ Reference, Reference, Reference, Value }, 0 }}, - { ocHLookup, {{ Value, ReferenceOrForceArray, Value, Value }, 0 }}, - { ocHarMean, {{ Reference }, 1 }}, - { ocIRR, {{ Reference, Value }, 0 }}, - { ocIndex, {{ Reference, Value, Value, Value }, 0 }}, - { ocIntercept, {{ ForceArray, ForceArray }, 0 }}, - { ocIntersect, {{ Reference, Reference }, 0 }}, - { ocIsRef, {{ Reference }, 0 }}, - { ocKurt, {{ Reference }, 1 }}, - { ocLCM, {{ Reference }, 1 }}, - { ocLarge, {{ Reference, Value }, 0 }}, - { ocLess, {{ Array, Array }, 0 }}, - { ocLessEqual, {{ Array, Array }, 0 }}, - { ocLinest, {{ ForceArray, ForceArray, Value, Value }, 0 }}, - { ocLogest, {{ ForceArray, ForceArray, Value, Value }, 0 }}, - { ocLookup, {{ Value, ReferenceOrForceArray, ReferenceOrForceArray }, 0 }}, - { ocMIRR, {{ Reference, Value, Value }, 0 }}, - { ocMatDet, {{ ForceArray }, 0 }}, - { ocMatInv, {{ ForceArray }, 0 }}, - { ocMatMult, {{ ForceArray, ForceArray }, 0 }}, - { ocMatTrans, {{ Array }, 0 }}, // strange, but Xcl doesn't force MatTrans array - { ocMatValue, {{ Reference, Value, Value }, 0 }}, - { ocMatch, {{ Value, ReferenceOrForceArray, Value }, 0 }}, - { ocMax, {{ Reference }, 1 }}, - { ocMaxA, {{ Reference }, 1 }}, - { ocMedian, {{ Reference }, 1 }}, - { ocMin, {{ Reference }, 1 }}, - { ocMinA, {{ Reference }, 1 }}, - { ocModalValue, {{ ForceArray }, 1 }}, - { ocModalValue_MS, {{ ForceArray }, 1 }}, - { ocModalValue_Multi,{{ ForceArray }, 1 }}, - { ocMul, {{ Array, Array }, 0 }}, - { ocMultiArea, {{ Reference }, 1 }}, - { ocNPV, {{ Value, Reference }, 1 }}, - { ocNeg, {{ Array }, 0 }}, - { ocNegSub, {{ Array }, 0 }}, - { ocNetWorkdays, {{ Value, Value, Reference, Reference }, 0 }}, - { ocNetWorkdays_MS, {{ Value, Value, Value, Reference }, 0 }}, - { ocNot, {{ Array }, 0 }}, - { ocNotEqual, {{ Array, Array }, 0 }}, - { ocOffset, {{ Reference, Value, Value, Value, Value }, 0 }}, - { ocOr, {{ Reference }, 1 }}, - { ocPearson, {{ ForceArray, ForceArray }, 0 }}, - { ocPercentile, {{ Reference, Value }, 0 }}, - { ocPercentile_Exc, {{ Reference, Value }, 0 }}, - { ocPercentile_Inc, {{ Reference, Value }, 0 }}, - { ocPercentrank, {{ Reference, Value, Value }, 0 }}, - { ocPercentrank_Exc, {{ Reference, Value, Value }, 0 }}, - { ocPercentrank_Inc, {{ Reference, Value, Value }, 0 }}, - { ocPow, {{ Array, Array }, 0 }}, - { ocPower, {{ Array, Array }, 0 }}, - { ocProb, {{ ForceArray, ForceArray, Value, Value }, 0 }}, - { ocProduct, {{ Reference }, 1 }}, - { ocQuartile, {{ Reference, Value }, 0 }}, - { ocQuartile_Exc, {{ Reference, Value }, 0 }}, - { ocQuartile_Inc, {{ Reference, Value }, 0 }}, - { ocRSQ, {{ ForceArray, ForceArray }, 0 }}, - { ocRank, {{ Value, Reference, Value }, 0 }}, - { ocRank_Avg, {{ Value, Reference, Value }, 0 }}, - { ocRank_Eq, {{ Value, Reference, Value }, 0 }}, - { ocRow, {{ Reference }, 0 }}, - { ocRows, {{ Reference }, 1 }}, - { ocSTEYX, {{ ForceArray, ForceArray }, 0 }}, - { ocSheet, {{ Reference }, 0 }}, - { ocSheets, {{ Reference }, 1 }}, - { ocSkew, {{ Reference }, 1 }}, - { ocSkewp, {{ Reference }, 1 }}, - { ocSlope, {{ ForceArray, ForceArray }, 0 }}, - { ocSmall, {{ Reference, Value }, 0 }}, - { ocStDev, {{ Reference }, 1 }}, - { ocStDevA, {{ Reference }, 1 }}, - { ocStDevP, {{ Reference }, 1 }}, - { ocStDevPA, {{ Reference }, 1 }}, - { ocStDevP_MS, {{ Reference }, 1 }}, - { ocStDevS, {{ Reference }, 1 }}, - { ocSub, {{ Array, Array }, 0 }}, - { ocSubTotal, {{ Value, Reference }, 1 }}, - { ocSum, {{ Reference }, 1 }}, - { ocSumIf, {{ Reference, Value, Reference }, 0 }}, - { ocSumIfs, {{ Reference, Reference, Value }, 2 }}, - { ocSumProduct, {{ ForceArray }, 1 }}, - { ocSumSQ, {{ Reference }, 1 }}, - { ocSumX2DY2, {{ ForceArray, ForceArray }, 0 }}, - { ocSumX2MY2, {{ ForceArray, ForceArray }, 0 }}, - { ocSumXMY2, {{ ForceArray, ForceArray }, 0 }}, - { ocTTest, {{ ForceArray, ForceArray, Value, Value }, 0 }}, - { ocTextJoin_MS, {{ Reference, Value, Reference }, 1 }}, - { ocTrend, {{ Reference, Reference, Reference, Value }, 0 }}, - { ocTrimMean, {{ Reference, Value }, 0 }}, - { ocVLookup, {{ Value, ReferenceOrForceArray, Value, Value }, 0 }}, - { ocVar, {{ Reference }, 1 }}, - { ocVarA, {{ Reference }, 1 }}, - { ocVarP, {{ Reference }, 1 }}, - { ocVarPA, {{ Reference }, 1 }}, - { ocVarP_MS, {{ Reference }, 1 }}, - { ocVarS, {{ Reference }, 1 }}, - { ocWorkday_MS, {{ Value, Value, Value, Reference }, 0 }}, - { ocXor, {{ Reference }, 1 }}, - { ocZTest, {{ Reference, Value, Value }, 0 }}, - { ocZTest_MS, {{ Reference, Value, Value }, 0 }}, + { ocAdd, {{ Array, Array }, 0, Value }}, + { ocAggregate, {{ Value, Value, Reference }, 1, Value }}, + { ocAmpersand, {{ Array, Array }, 0, Value }}, + { ocAnd, {{ Reference }, 1, Value }}, + { ocAreas, {{ Reference }, 0, Value }}, + { ocAveDev, {{ Reference }, 1, Value }}, + { ocAverage, {{ Reference }, 1, Value }}, + { ocAverageA, {{ Reference }, 1, Value }}, + { ocAverageIf, {{ Reference, Value, Reference }, 0, Value }}, + { ocAverageIfs, {{ Reference, Reference, Value }, 2, Value }}, + { ocCell, {{ Value, Reference }, 0, Value }}, + { ocColumn, {{ Reference }, 0, Value }}, + { ocColumns, {{ Reference }, 1, Value }}, + { ocConcat_MS, {{ Reference }, 1, Value }}, + { ocCorrel, {{ ForceArray, ForceArray }, 0, Value }}, + { ocCount, {{ Reference }, 1, Value }}, + { ocCount2, {{ Reference }, 1, Value }}, + { ocCountEmptyCells, {{ Reference }, 0, Value }}, + { ocCountIf, {{ Reference, Value }, 0, Value }}, + { ocCountIfs, {{ Reference, Value }, 2, Value }}, + { ocCovar, {{ ForceArray, ForceArray }, 0, Value }}, + { ocCovarianceP, {{ ForceArray, ForceArray }, 0, Value }}, + { ocCovarianceS, {{ ForceArray, ForceArray }, 0, Value }}, + { ocDBAverage, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBCount, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBCount2, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBGet, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBMax, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBMin, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBProduct, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBStdDev, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBStdDevP, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBSum, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBVar, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDBVarP, {{ Reference, Reference, Reference }, 0, Value }}, + { ocDevSq, {{ Reference }, 1, Value }}, + { ocDiv, {{ Array, Array }, 0, Value }}, + { ocEqual, {{ Array, Array }, 0, Value }}, + { ocFTest, {{ ForceArray, ForceArray }, 0, Value }}, + { ocForecast, {{ Value, ForceArray, ForceArray }, 0, Value }}, + { ocForecast_ETS_ADD, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0, Value }}, + { ocForecast_ETS_MUL, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0, Value }}, + { ocForecast_ETS_PIA, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value, Value }, 0, Value }}, + { ocForecast_ETS_PIM, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value, Value }, 0, Value }}, + { ocForecast_ETS_SEA, {{ ForceArray, ForceArray, Value, Value }, 0, Value }}, + { ocForecast_ETS_STA, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0, Value }}, + { ocForecast_ETS_STM, {{ ForceArray, ForceArray, ForceArray, Value, Value, Value }, 0, Value }}, + { ocFormula, {{ Reference }, 0, Value }}, + { ocFrequency, {{ Reference, Reference }, 0, Value }}, + { ocGCD, {{ Reference }, 1, Value }}, + { ocGeoMean, {{ Reference }, 1, Value }}, + { ocGreater, {{ Array, Array }, 0, Value }}, + { ocGreaterEqual, {{ Array, Array }, 0, Value }}, + { ocGrowth, {{ Reference, Reference, Reference, Value }, 0, Value }}, + { ocHLookup, {{ Value, ReferenceOrForceArray, Value, Value }, 0, Value }}, + { ocHarMean, {{ Reference }, 1, Value }}, + { ocIRR, {{ Reference, Value }, 0, Value }}, + { ocIndex, {{ Reference, Value, Value, Value }, 0, Value }}, + { ocIntercept, {{ ForceArray, ForceArray }, 0, Value }}, + { ocIntersect, {{ Reference, Reference }, 0, Value }}, + { ocIsRef, {{ Reference }, 0, Value }}, + { ocKurt, {{ Reference }, 1, Value }}, + { ocLCM, {{ Reference }, 1, Value }}, + { ocLarge, {{ Reference, Value }, 0, Value }}, + { ocLess, {{ Array, Array }, 0, Value }}, + { ocLessEqual, {{ Array, Array }, 0, Value }}, + { ocLinest, {{ ForceArray, ForceArray, Value, Value }, 0, Value }}, + { ocLogest, {{ ForceArray, ForceArray, Value, Value }, 0, Value }}, + { ocLookup, {{ Value, ReferenceOrForceArray, ReferenceOrForceArray }, 0, Value }}, + { ocMIRR, {{ Reference, Value, Value }, 0, Value }}, + { ocMatDet, {{ ForceArray }, 0, Value }}, + { ocMatInv, {{ ForceArray }, 0, Value }}, + { ocMatMult, {{ ForceArray, ForceArray }, 0, Value }}, + { ocMatTrans, {{ Array }, 0, Value }}, // strange, but Xcl doesn't force MatTrans array + { ocMatValue, {{ Reference, Value, Value }, 0, Value }}, + { ocMatch, {{ Value, ReferenceOrForceArray, Value }, 0, Value }}, + { ocMax, {{ Reference }, 1, Value }}, + { ocMaxA, {{ Reference }, 1, Value }}, + { ocMedian, {{ Reference }, 1, Value }}, + { ocMin, {{ Reference }, 1, Value }}, + { ocMinA, {{ Reference }, 1, Value }}, + { ocModalValue, {{ ForceArray }, 1, Value }}, + { ocModalValue_MS, {{ ForceArray }, 1, Value }}, + { ocModalValue_Multi,{{ ForceArray }, 1, Value }}, + { ocMul, {{ Array, Array }, 0, Value }}, + { ocMultiArea, {{ Reference }, 1, Value }}, + { ocNPV, {{ Value, Reference }, 1, Value }}, + { ocNeg, {{ Array }, 0, Value }}, + { ocNegSub, {{ Array }, 0, Value }}, + { ocNetWorkdays, {{ Value, Value, Reference, Reference }, 0, Value }}, + { ocNetWorkdays_MS, {{ Value, Value, Value, Reference }, 0, Value }}, + { ocNot, {{ Array }, 0, Value }}, + { ocNotEqual, {{ Array, Array }, 0, Value }}, + { ocOffset, {{ Reference, Value, Value, Value, Value }, 0, Value }}, + { ocOr, {{ Reference }, 1, Value }}, + { ocPearson, {{ ForceArray, ForceArray }, 0, Value }}, + { ocPercentile, {{ Reference, Value }, 0, Value }}, + { ocPercentile_Exc, {{ Reference, Value }, 0, Value }}, + { ocPercentile_Inc, {{ Reference, Value }, 0, Value }}, + { ocPercentrank, {{ Reference, Value, Value }, 0, Value }}, + { ocPercentrank_Exc, {{ Reference, Value, Value }, 0, Value }}, + { ocPercentrank_Inc, {{ Reference, Value, Value }, 0, Value }}, + { ocPow, {{ Array, Array }, 0, Value }}, + { ocPower, {{ Array, Array }, 0, Value }}, + { ocProb, {{ ForceArray, ForceArray, Value, Value }, 0, Value }}, + { ocProduct, {{ Reference }, 1, Value }}, + { ocQuartile, {{ Reference, Value }, 0, Value }}, + { ocQuartile_Exc, {{ Reference, Value }, 0, Value }}, + { ocQuartile_Inc, {{ Reference, Value }, 0, Value }}, + { ocRSQ, {{ ForceArray, ForceArray }, 0, Value }}, + { ocRank, {{ Value, Reference, Value }, 0, Value }}, + { ocRank_Avg, {{ Value, Reference, Value }, 0, Value }}, + { ocRank_Eq, {{ Value, Reference, Value }, 0, Value }}, + { ocRow, {{ Reference }, 0, Value }}, + { ocRows, {{ Reference }, 1, Value }}, + { ocSTEYX, {{ ForceArray, ForceArray }, 0, Value }}, + { ocSheet, {{ Reference }, 0, Value }}, + { ocSheets, {{ Reference }, 1, Value }}, + { ocSkew, {{ Reference }, 1, Value }}, + { ocSkewp, {{ Reference }, 1, Value }}, + { ocSlope, {{ ForceArray, ForceArray }, 0, Value }}, + { ocSmall, {{ Reference, Value }, 0, Value }}, + { ocStDev, {{ Reference }, 1, Value }}, + { ocStDevA, {{ Reference }, 1, Value }}, + { ocStDevP, {{ Reference }, 1, Value }}, + { ocStDevPA, {{ Reference }, 1, Value }}, + { ocStDevP_MS, {{ Reference }, 1, Value }}, + { ocStDevS, {{ Reference }, 1, Value }}, + { ocSub, {{ Array, Array }, 0, Value }}, + { ocSubTotal, {{ Value, Reference }, 1, Value }}, + { ocSum, {{ Reference }, 1, Value }}, + { ocSumIf, {{ Reference, Value, Reference }, 0, Value }}, + { ocSumIfs, {{ Reference, Reference, Value }, 2, Value }}, + { ocSumProduct, {{ ForceArray }, 1, Value }}, + { ocSumSQ, {{ Reference }, 1, Value }}, + { ocSumX2DY2, {{ ForceArray, ForceArray }, 0, Value }}, + { ocSumX2MY2, {{ ForceArray, ForceArray }, 0, Value }}, + { ocSumXMY2, {{ ForceArray, ForceArray }, 0, Value }}, + { ocTTest, {{ ForceArray, ForceArray, Value, Value }, 0, Value }}, + { ocTextJoin_MS, {{ Reference, Value, Reference }, 1, Value }}, + { ocTrend, {{ Reference, Reference, Reference, Value }, 0, Value }}, + { ocTrimMean, {{ Reference, Value }, 0, Value }}, + { ocVLookup, {{ Value, ReferenceOrForceArray, Value, Value }, 0, Value }}, + { ocVar, {{ Reference }, 1, Value }}, + { ocVarA, {{ Reference }, 1, Value }}, + { ocVarP, {{ Reference }, 1, Value }}, + { ocVarPA, {{ Reference }, 1, Value }}, + { ocVarP_MS, {{ Reference }, 1, Value }}, + { ocVarS, {{ Reference }, 1, Value }}, + { ocWorkday_MS, {{ Value, Value, Value, Reference }, 0, Value }}, + { ocXor, {{ Reference }, 1, Value }}, + { ocZTest, {{ Reference, Value, Value }, 0, Value }}, + { ocZTest_MS, {{ Reference, Value, Value }, 0, Value }}, // Excel doubts: // ocN, ocT: Excel says (and handles) Reference, error? This means no // position dependent SingleRef if DoubleRef, and no array calculation, @@ -230,10 +230,10 @@ const ScParameterClassification::RawData ScParameterClassification::pRawData[] = // for ocN (position dependent intersection worked before but array // didn't). No specifics in ODFF, so the general rule applies. Gnumeric // does the same. - { ocN, {{ Value }, 0 }}, - { ocT, {{ Value }, 0 }}, + { ocN, {{ Value }, 0, Value }}, + { ocT, {{ Value }, 0, Value }}, // The stopper. - { ocNone, {{ Bounds }, 0 } } + { ocNone, {{ Bounds }, 0, Value }} }; ScParameterClassification::RunData * ScParameterClassification::pData = nullptr; |