summaryrefslogtreecommitdiff
path: root/sc/source/core/tool/interpr5.cxx
diff options
context:
space:
mode:
authorWinfried Donkers <winfrieddonkers@libreoffice.org>2018-03-21 16:57:36 +0100
committerEike Rathke <erack@redhat.com>2018-03-29 21:46:43 +0200
commitfc121c32ca0effb47d219066a6848435cba562cc (patch)
tree5a24125f814443ccbfd3734384f2bbcad5b5a590 /sc/source/core/tool/interpr5.cxx
parentffc49bd2fba97659919d9232ae42ca675c1aa9d0 (diff)
tdf#97977 make MODE.MULT fully compatible with Excel.
Also, improve efficiency of function. Change-Id: Id01542bdd997e0cacfdfd16683d1ac832d22fa35 Reviewed-on: https://gerrit.libreoffice.org/51708 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/core/tool/interpr5.cxx')
-rw-r--r--sc/source/core/tool/interpr5.cxx63
1 files changed, 0 insertions, 63 deletions
diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index 1e61811ab997..739be97c0176 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -837,69 +837,6 @@ void ScInterpreter::ScMatDet()
}
}
-void ScInterpreter::ScModalValue_Multi()
-{
- sal_uInt8 nParamCount = GetByte();
- if ( !MustHaveParamCountMin( nParamCount, 1 ) )
- return;
- vector<double> aSortArray;
- GetSortArray( nParamCount, aSortArray, nullptr, false, false );
- SCSIZE nSize = aSortArray.size();
- if ( aSortArray.empty() || nSize == 0 || nGlobalError != FormulaError::NONE )
- PushNoValue();
- else
- {
- SCSIZE nMax = 1, nCount = 1;
- double nOldVal = aSortArray[0];
- vector<double> aResultArray;
- aResultArray.resize( 1 );
- aResultArray[ 0 ] = aSortArray[ 0 ];
- SCSIZE i;
-
- for ( i = 1; i < nSize; i++ )
- {
- if ( aSortArray[ i ] == nOldVal )
- {
- nCount++;
- if ( nCount > nMax && aResultArray.size() > 1 )
- {
- aResultArray.clear();
- aResultArray.resize( 1 );
- aResultArray[ 0 ] = nOldVal;
- }
- }
- else
- {
- nOldVal = aSortArray[ i ];
- if ( nCount >= nMax )
- {
- if ( nCount > nMax )
- nMax = nCount;
- aResultArray.emplace_back();
- }
- aResultArray[ aResultArray.size() -1 ] = nOldVal;
- nCount = 1;
- }
- }
- if ( nCount > nMax )
- nMax = nCount;
- else
- {
- if ( nCount < nMax )
- aResultArray.resize( aResultArray.size() - 1 );
- }
-
- if ( nMax == 1 && nCount == 1 )
- PushNoValue();
- else
- {
- ScMatrixRef pResMatrix = GetNewMat( 1, aResultArray.size(), true );
- pResMatrix->PutDoubleVector( aResultArray, 0, 0 );
- PushMatrix( pResMatrix );
- }
- }
-}
-
void ScInterpreter::ScMatInv()
{
if ( MustHaveParamCount( GetByte(), 1 ) )