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@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
committed by
Caolán McNamara
parent
64b720dce8
commit
ace1c780cd
@@ -785,15 +785,14 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
|
|||||||
uint rArraysSize = rArrays.size();
|
uint rArraysSize = rArrays.size();
|
||||||
int nMoreColSize = 0;
|
int nMoreColSize = 0;
|
||||||
DoubleVectorFormula *SvDoubleTemp = new DoubleVectorFormula();
|
DoubleVectorFormula *SvDoubleTemp = new DoubleVectorFormula();
|
||||||
|
nSrcDataSize = pDvr->GetArrayLength();
|
||||||
if( rArraysSize > 1 )
|
if( rArraysSize > 1 )
|
||||||
{
|
{
|
||||||
double *dpMoreColData = NULL;
|
double *dpMoreColData = (double *) malloc(nSrcDataSize * rArraysSize * sizeof(double));
|
||||||
for ( uint loop=0; loop < rArraysSize; loop++ )
|
for ( uint loop=0; loop < rArraysSize; loop++ )
|
||||||
{
|
{
|
||||||
dpOclSrcData = rArrays[loop].mpNumericArray;
|
dpOclSrcData = rArrays[loop].mpNumericArray;
|
||||||
nSrcDataSize = pDvr->GetArrayLength();
|
|
||||||
nMoreColSize += nSrcDataSize;
|
nMoreColSize += nSrcDataSize;
|
||||||
dpMoreColData = (double *) realloc(dpMoreColData,nMoreColSize * sizeof(double));
|
|
||||||
for ( uint j = nMoreColSize - nSrcDataSize, i = 0; i < nSrcDataSize; i++, j++ )
|
for ( uint j = nMoreColSize - nSrcDataSize, i = 0; i < nSrcDataSize; i++, j++ )
|
||||||
{
|
{
|
||||||
dpMoreColData[j] = dpOclSrcData[i];
|
dpMoreColData[j] = dpOclSrcData[i];
|
||||||
@@ -805,7 +804,6 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
dpOclSrcData = rArrays[0].mpNumericArray;
|
dpOclSrcData = rArrays[0].mpNumericArray;
|
||||||
nSrcDataSize = pDvr->GetArrayLength();
|
|
||||||
SvDoubleTemp->mdpInputData = dpOclSrcData;
|
SvDoubleTemp->mdpInputData = dpOclSrcData;
|
||||||
SvDoubleTemp->mnInputDataSize = nSrcDataSize;
|
SvDoubleTemp->mnInputDataSize = nSrcDataSize;
|
||||||
SvDoubleTemp->mnInputStartPosition = mnpOclStartPos[nCountNum*mnRowSize];
|
SvDoubleTemp->mnInputStartPosition = mnpOclStartPos[nCountNum*mnRowSize];
|
||||||
@@ -876,15 +874,14 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
|
|||||||
const std::vector<formula::VectorRefArray>& rArrays = pDvr->GetArrays();
|
const std::vector<formula::VectorRefArray>& rArrays = pDvr->GetArrays();
|
||||||
unsigned int rArraysSize = rArrays.size();
|
unsigned int rArraysSize = rArrays.size();
|
||||||
int nMoreColSize = 0;
|
int nMoreColSize = 0;
|
||||||
|
nSrcDataSize = pDvr->GetArrayLength();
|
||||||
if(rArraysSize > 1)
|
if(rArraysSize > 1)
|
||||||
{
|
{
|
||||||
double *dpMoreColData = NULL;
|
double *dpMoreColData = (double *) malloc(nSrcDataSize * rArraysSize * sizeof(double));
|
||||||
for( uint loop=0; loop < rArraysSize; loop++ )
|
for( uint loop=0; loop < rArraysSize; loop++ )
|
||||||
{
|
{
|
||||||
dpOclSrcData = rArrays[loop].mpNumericArray;
|
dpOclSrcData = rArrays[loop].mpNumericArray;
|
||||||
nSrcDataSize = pDvr->GetArrayLength();
|
|
||||||
nMoreColSize += nSrcDataSize;
|
nMoreColSize += nSrcDataSize;
|
||||||
dpMoreColData = (double *) realloc(dpMoreColData,nMoreColSize * sizeof(double));
|
|
||||||
for(uint j=nMoreColSize-nSrcDataSize,i=0;i<nSrcDataSize;i++,j++)
|
for(uint j=nMoreColSize-nSrcDataSize,i=0;i<nSrcDataSize;i++,j++)
|
||||||
{
|
{
|
||||||
dpMoreColData[j] = dpOclSrcData[i];
|
dpMoreColData[j] = dpOclSrcData[i];
|
||||||
@@ -897,7 +894,6 @@ bool FormulaGroupInterpreterOpenCL::interpret( ScDocument& rDoc, const ScAddress
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
dpOclSrcData = rArrays[0].mpNumericArray;
|
dpOclSrcData = rArrays[0].mpNumericArray;
|
||||||
nSrcDataSize = pDvr->GetArrayLength();
|
|
||||||
}
|
}
|
||||||
srdDataPush( new SourceData( dpOclSrcData,nSrcDataSize,rArraysSize ) );
|
srdDataPush( new SourceData( dpOclSrcData,nSrcDataSize,rArraysSize ) );
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user