Kaydet (Commit) 2021275f authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Revert "Check number of cells referenced by group instead of group size"

This reverts commit cc4dbc0c.
üst 9a531861
......@@ -410,10 +410,6 @@ public:
bool IsSharedTop() const;
SCROW GetSharedTopRow() const;
SCROW GetSharedLength() const;
// An estimate of the number of cells referenced by the formula
sal_Int32 GetWeight() const;
ScTokenArray* GetSharedCode();
const ScTokenArray* GetSharedCode() const;
......
......@@ -60,9 +60,6 @@ public:
virtual ~ScTokenArray();
ScTokenArray* Clone() const; /// True copy!
// An estimate of the number of cells referenced by the token array
sal_Int32 GetWeight() const;
void GenHash();
size_t GetHash() const { return mnHashValue;}
......
......@@ -3752,7 +3752,7 @@ bool ScFormulaCell::InterpretFormulaGroup()
if (mxGroup->meCalcState == sc::GroupCalcDisabled)
return false;
if (GetWeight() < ScInterpreter::GetGlobalConfig().mnOpenCLMinimumFormulaGroupSize)
if (GetSharedLength() < ScInterpreter::GetGlobalConfig().mnOpenCLMinimumFormulaGroupSize)
{
mxGroup->meCalcState = sc::GroupCalcDisabled;
return false;
......@@ -4130,13 +4130,6 @@ SCROW ScFormulaCell::GetSharedLength() const
return mxGroup ? mxGroup->mnLength : 0;
}
sal_Int32 ScFormulaCell::GetWeight() const
{
if (!mxGroup)
return pCode->GetWeight();
return GetSharedLength() * GetSharedCode()->GetWeight();
}
ScTokenArray* ScFormulaCell::GetSharedCode()
{
return mxGroup ? mxGroup->mpCode : NULL;
......
......@@ -1417,33 +1417,6 @@ bool ScTokenArray::ImplGetReference( ScRange& rRange, const ScAddress& rPos, boo
return bIs;
}
sal_Int32 ScTokenArray::GetWeight() const
{
sal_Int32 result(0);
FormulaToken** p = pCode;
FormulaToken** pEnd = p + static_cast<size_t>(nLen);
for (; p != pEnd; ++p)
{
switch ((*p)->GetType())
{
case svDoubleRef :
case svExternalDoubleRef:
{
const ScComplexRefData& rRef = *(*p)->GetDoubleRef();
result += ( (rRef.Ref2.Row() - rRef.Ref1.Row() + 1) * (rRef.Ref2.Col() - rRef.Ref1.Col() + 1) );
}
break;
default:
break;
}
}
// Just print out the this pointer. It turns out to be quite complicated to get
// a symbolic printout of the ScTokenArray here.
SAL_INFO("sc.token", "GetWeight(" << this << "): " << result);
return result;
}
namespace {
// we want to compare for similar not identical formulae
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment