[Libreoffice-commits] core.git: sc/source
Julien Nabet
serval2412 at yahoo.fr
Mon Sep 30 03:13:02 PDT 2013
sc/source/core/opencl/formulagroupcl.cxx | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
New commits:
commit ace1c780cdf2e3e49b84199d59a5e565efbb96f4
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Fri Sep 27 22:31:42 2013 +0200
n realloc -> 1 malloc + n same assignments -> 1 only
Change-Id: Ib65fabfb7445c8548845f89e5fa957a412b4222f
Reviewed-on: https://gerrit.libreoffice.org/6063
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index 929177f..5d7d7fa 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -785,15 +785,14 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
uint rArraysSize = rArrays.size();
int nMoreColSize = 0;
DoubleVectorFormula *SvDoubleTemp = new DoubleVectorFormula();
+ nSrcDataSize = pDvr->GetArrayLength();
if( rArraysSize > 1 )
{
- double *dpMoreColData = NULL;
+ double *dpMoreColData = (double *) malloc(nSrcDataSize * rArraysSize * sizeof(double));
for ( uint loop=0; loop < rArraysSize; loop++ )
{
dpOclSrcData = rArrays[loop].mpNumericArray;
- nSrcDataSize = pDvr->GetArrayLength();
nMoreColSize += nSrcDataSize;
- dpMoreColData = (double *) realloc(dpMoreColData,nMoreColSize * sizeof(double));
for ( uint j = nMoreColSize - nSrcDataSize, i = 0; i < nSrcDataSize; i++, j++ )
{
dpMoreColData[j] = dpOclSrcData[i];
@@ -805,7 +804,6 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
else
{
dpOclSrcData = rArrays[0].mpNumericArray;
- nSrcDataSize = pDvr->GetArrayLength();
SvDoubleTemp->mdpInputData = dpOclSrcData;
SvDoubleTemp->mnInputDataSize = nSrcDataSize;
SvDoubleTemp->mnInputStartPosition = mnpOclStartPos[nCountNum*mnRowSize];
@@ -876,15 +874,14 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
const std::vector<formula::VectorRefArray>& rArrays = pDvr->GetArrays();
unsigned int rArraysSize = rArrays.size();
int nMoreColSize = 0;
+ nSrcDataSize = pDvr->GetArrayLength();
if(rArraysSize > 1)
{
- double *dpMoreColData = NULL;
+ double *dpMoreColData = (double *) malloc(nSrcDataSize * rArraysSize * sizeof(double));
for( uint loop=0; loop < rArraysSize; loop++ )
{
dpOclSrcData = rArrays[loop].mpNumericArray;
- nSrcDataSize = pDvr->GetArrayLength();
nMoreColSize += nSrcDataSize;
- dpMoreColData = (double *) realloc(dpMoreColData,nMoreColSize * sizeof(double));
for(uint j=nMoreColSize-nSrcDataSize,i=0;i<nSrcDataSize;i++,j++)
{
dpMoreColData[j] = dpOclSrcData[i];
@@ -897,7 +894,6 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
else
{
dpOclSrcData = rArrays[0].mpNumericArray;
- nSrcDataSize = pDvr->GetArrayLength();
}
srdDataPush( new SourceData( dpOclSrcData,nSrcDataSize,rArraysSize ) );
}
More information about the Libreoffice-commits
mailing list