summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-05-10 12:07:19 +0200
committerEike Rathke <erack@redhat.com>2017-05-10 14:00:31 +0200
commit656cf4d2e7c7d193d4d23900a344d6625fc217ac (patch)
tree405a1611c6f2c62adbcbb63d4dfd8ccf88e1446b /sc
parent4d047221945b34a9023d852bbd19a2a24a7f54c3 (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.hxx1
-rw-r--r--sc/source/core/tool/parclass.cxx340
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;