From 3118121aaa26f0d96520d5626c3458817bb67003 Mon Sep 17 00:00:00 2001 From: torset Date: Thu, 5 Feb 2009 08:37:28 +0000 Subject: Add free(to free the malloc) when missing --- src/auxiliaryFunctions/find/testFind.c | 8 +++ src/auxiliaryFunctions/rand/testRand.c | 3 +- src/matrixOperations/chol/cchola.c | 1 + src/matrixOperations/chol/schola.c | 2 +- src/matrixOperations/chol/testDoubleChol.c | 1 + src/matrixOperations/determ/cdeterma.c | 2 + src/matrixOperations/determ/ddeterma.c | 2 + src/matrixOperations/determ/sdeterma.c | 2 + src/matrixOperations/determ/zdeterma.c | 2 + src/matrixOperations/division/cldivma.c | 2 +- src/matrixOperations/division/srdivma.c | 2 +- .../division/testMatrixRDivision.c | 3 + src/matrixOperations/inversion/dinverma.c | 3 + src/matrixOperations/inversion/zinverma.c | 3 +- src/matrixOperations/logm/clogma.c | 4 ++ src/matrixOperations/logm/dlogma.c | 2 + src/matrixOperations/logm/slogma.c | 5 +- src/matrixOperations/logm/testDoubleLogm.c | 3 + src/matrixOperations/logm/zlogma.c | 8 +++ src/signalProcessing/conv/cconva.c | 4 ++ src/signalProcessing/conv/sconva.c | 2 + src/signalProcessing/crossCorr/ccrossCorra.c | 3 +- src/signalProcessing/crossCorr/dcrossCorra.c | 4 +- src/signalProcessing/crossCorr/scrossCorra.c | 4 +- .../crossCorr/testDoubleCrossCorr.c | 2 +- .../crossCorr/testFloatCrossCorr.c | 2 +- src/signalProcessing/crossCorr/zcrossCorra.c | 2 + src/signalProcessing/fft/dfftbi.c | 3 + src/signalProcessing/fft/testDoubleFft.c | 72 +++++++++++++++++----- src/signalProcessing/fft/testFloatFft.c | 41 +++++++++++- src/signalProcessing/fft/testMatFft.c | 13 ++++ src/signalProcessing/fft/zfftma.c | 6 +- src/signalProcessing/hilbert/testHilbert.c | 37 ++++++++++- src/signalProcessing/ifft/difftbi.c | 5 +- src/signalProcessing/ifft/testDoubleIfft.c | 56 +++++++++++++++++ src/signalProcessing/ifft/testFloatIfft.c | 48 ++++++++++++--- src/signalProcessing/ifft/testMatIfft.c | 14 ++++- src/signalProcessing/ifft/zifftma.c | 5 ++ src/signalProcessing/lpc2cep/dlpc2cepa.c | 2 + src/signalProcessing/lpc2cep/slpc2cepa.c | 2 + .../variance/testDoubleVarianceNono.c | 14 ++++- .../variance/testFloatVarianceNono.c | 15 ++++- 42 files changed, 369 insertions(+), 45 deletions(-) diff --git a/src/auxiliaryFunctions/find/testFind.c b/src/auxiliaryFunctions/find/testFind.c index 71db0f31..a685fa07 100644 --- a/src/auxiliaryFunctions/find/testFind.c +++ b/src/auxiliaryFunctions/find/testFind.c @@ -46,6 +46,8 @@ int sfindaTest() { printf("%f ",outBad[0]); printf("\n"); + free(outBad); + free(outGood); return result; } @@ -84,6 +86,8 @@ int dfindaTest() { printf("%f ",outBad[0]); printf("\n"); + free(outBad); + free(outGood); return result; } @@ -134,6 +138,8 @@ int cfindaTest() { printf("%f ",outBad[0]); printf("\n"); + free(outBad); + free(outGood); return result; } @@ -186,6 +192,8 @@ int zfindaTest() { printf("%f ",outBad[0]); printf("\n"); + free(outBad); + free(outGood); return result; } diff --git a/src/auxiliaryFunctions/rand/testRand.c b/src/auxiliaryFunctions/rand/testRand.c index c700df8e..c4ed31f8 100644 --- a/src/auxiliaryFunctions/rand/testRand.c +++ b/src/auxiliaryFunctions/rand/testRand.c @@ -61,7 +61,7 @@ int drandaTest() { printf("%1.20f\n",result[i]); assert(result[i] != nan);} - + free(result); return 0; } @@ -78,6 +78,7 @@ int zrandaTest() { printf("%1.20f+%1.20f\n",zreals(result[i]),zimags(result[i])); assert(zreals(result[i]) != nan);} + free(result); return 0; } diff --git a/src/matrixOperations/chol/cchola.c b/src/matrixOperations/chol/cchola.c index a00718c1..4ebf473e 100644 --- a/src/matrixOperations/chol/cchola.c +++ b/src/matrixOperations/chol/cchola.c @@ -54,6 +54,7 @@ void cchola(floatComplex * in, int size, floatComplex *out){ out[j+i*size]=FloatComplex(0,0); } } + free(tmp); #else /* Do not use Lapack functions*/ diff --git a/src/matrixOperations/chol/schola.c b/src/matrixOperations/chol/schola.c index 1c9e9a6e..79c739b9 100644 --- a/src/matrixOperations/chol/schola.c +++ b/src/matrixOperations/chol/schola.c @@ -46,7 +46,7 @@ void schola(float * in, int size, float *out){ out[j+i*size]=0; } } - + free(tmp); #else /* Do not use Lapack functions*/ int i=0, j=0, k=0; diff --git a/src/matrixOperations/chol/testDoubleChol.c b/src/matrixOperations/chol/testDoubleChol.c index bf58480c..b96888ff 100644 --- a/src/matrixOperations/chol/testDoubleChol.c +++ b/src/matrixOperations/chol/testDoubleChol.c @@ -91,6 +91,7 @@ static void zcholaTest(void){ if (zimags(out[i])>1e-16) assert( (fabs(zimags(out[i])-resI[i]) / fabs(zimags(out[i]))) <1e-15); } + free(out); } diff --git a/src/matrixOperations/determ/cdeterma.c b/src/matrixOperations/determ/cdeterma.c index 343b0a83..f55a6703 100644 --- a/src/matrixOperations/determ/cdeterma.c +++ b/src/matrixOperations/determ/cdeterma.c @@ -138,6 +138,8 @@ floatComplex cdeterma(floatComplex *in, int size){ for (i=0;i double ****/ #include "matrixDivision.h" diff --git a/src/matrixOperations/division/srdivma.c b/src/matrixOperations/division/srdivma.c index a4ecad61..f1706ccd 100644 --- a/src/matrixOperations/division/srdivma.c +++ b/src/matrixOperations/division/srdivma.c @@ -10,7 +10,7 @@ * */ - +/****FIXME****/ /**** WARNING NOT WORK AT ALL FOR THE MOMENT ***/ /**** Because of problem of conversion float-> double ****/ #include "matrixDivision.h" diff --git a/src/matrixOperations/division/testMatrixRDivision.c b/src/matrixOperations/division/testMatrixRDivision.c index 87c58461..2fb086a7 100644 --- a/src/matrixOperations/division/testMatrixRDivision.c +++ b/src/matrixOperations/division/testMatrixRDivision.c @@ -451,6 +451,9 @@ static void zrdivmaTest ( void ){ assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-15 ) ; } + + free(Result); + free(out); } static int testRDivma (void) { diff --git a/src/matrixOperations/inversion/dinverma.c b/src/matrixOperations/inversion/dinverma.c index 56161942..6f2508fd 100644 --- a/src/matrixOperations/inversion/dinverma.c +++ b/src/matrixOperations/inversion/dinverma.c @@ -30,6 +30,9 @@ void dinverma ( double* in, double* out, int leadDimIn ) dgetrf_ ( &leadDimIn, &leadDimIn, out, &leadDimIn, vectPivot, &info ); dgetri_ ( &leadDimIn, out, &leadDimIn , vectPivot, work , &leadDimIn , &info ); + + free(vectPivot); + free(work); } diff --git a/src/matrixOperations/inversion/zinverma.c b/src/matrixOperations/inversion/zinverma.c index 8bb69661..bc9d80b1 100644 --- a/src/matrixOperations/inversion/zinverma.c +++ b/src/matrixOperations/inversion/zinverma.c @@ -30,6 +30,7 @@ void zinverma ( doubleComplex* in, doubleComplex* out, int leadDimIn ) zgetrf_ ( &leadDimIn, &leadDimIn, out, &leadDimIn, vectPivot, &info ); zgetri_ ( &leadDimIn, out, &leadDimIn , vectPivot, work , &leadDimIn , &info ); - + free(vectPivot); + free(work); } diff --git a/src/matrixOperations/logm/clogma.c b/src/matrixOperations/logm/clogma.c index ebad5814..f2614b0e 100644 --- a/src/matrixOperations/logm/clogma.c +++ b/src/matrixOperations/logm/clogma.c @@ -30,6 +30,10 @@ void clogma (floatComplex* in, int size, floatComplex* out){ for(i=0;i1e-16) assert( (fabs(cimags(out37[i])+resI37[i]) / fabs(cimags(out37[i])) )<1e-5); else assert(1); } - + + free(out2); + free(out3); + free(out4); + free(out5); + free(out7); + + free(out12); + free(out13); + free(out14); + free(out15); + free(out17); + + free(out31); + free(out32); + free(out34); + free(out35); + free(out37); } diff --git a/src/signalProcessing/ifft/difftbi.c b/src/signalProcessing/ifft/difftbi.c index e4cf74d7..2b60ef27 100644 --- a/src/signalProcessing/ifft/difftbi.c +++ b/src/signalProcessing/ifft/difftbi.c @@ -314,5 +314,8 @@ c ********************************************* lnow = istak[lnow-1] ; in-- ; } - return ; + + free(istak); + free(rstak); + return ; } diff --git a/src/signalProcessing/ifft/testDoubleIfft.c b/src/signalProcessing/ifft/testDoubleIfft.c index 3f304789..bf188e1e 100644 --- a/src/signalProcessing/ifft/testDoubleIfft.c +++ b/src/signalProcessing/ifft/testDoubleIfft.c @@ -396,6 +396,9 @@ static void zifftmaTest2 (void ) } + free(out); + free(in); + free(Result); } @@ -448,6 +451,10 @@ static void zifftmaTest3 (void ) } + free(out); + free(in); + free(Result); + } @@ -494,6 +501,10 @@ static void zifftmaTest4 (void ) */ } + free(out); + free(in); + free(Result); + } @@ -547,6 +558,10 @@ static void zifftmaTest5 (void ) } + free(out); + free(in); + free(Result); + } @@ -600,6 +615,10 @@ static void zifftmaTest6 (void ) } + free(out); + free(in); + free(Result); + } @@ -653,6 +672,10 @@ static void zifftmaTest7 (void ) } + free(out); + free(in); + free(Result); + } @@ -698,6 +721,10 @@ static void zifftmaTest8 (void ) */ } + free(out); + free(in); + free(Result); + } @@ -744,6 +771,10 @@ static void zifftmaTest9 (void ) } + free(out); + free(in); + free(Result); + } @@ -799,6 +830,9 @@ static void zifftmaTest10 (void ) } + free(out); + free(in); + } static void zifftmaTest11 (void ) @@ -853,6 +887,9 @@ static void zifftmaTest11 (void ) } + free(out); + free(in); + } @@ -908,6 +945,9 @@ static void zifftmaTest12 (void ) } + free(out); + free(in); + } @@ -963,6 +1003,9 @@ static void zifftmaTest13 (void ) } + free(out); + free(in); + } @@ -1018,6 +1061,9 @@ static void zifftmaTest14 (void ) } + free(out); + free(in); + } @@ -1074,6 +1120,9 @@ static void zifftmaTest15 (void ) } + free(out); + free(in); + } @@ -1130,6 +1179,9 @@ static void zifftmaTest16 (void ) } + free(out); + free(in); + } @@ -1186,6 +1238,10 @@ static void zifftmaTest32 (void ) } + free(out); + free(in); + + } static int testFft(void) { diff --git a/src/signalProcessing/ifft/testFloatIfft.c b/src/signalProcessing/ifft/testFloatIfft.c index af73d6ac..4dc0f442 100644 --- a/src/signalProcessing/ifft/testFloatIfft.c +++ b/src/signalProcessing/ifft/testFloatIfft.c @@ -393,6 +393,9 @@ static void cifftmaTest2 (void ) } + free(out); + free(in); + free(Result); } @@ -444,7 +447,9 @@ static void cifftmaTest3 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; */ } - + free(out); + free(in); + free(Result); } @@ -490,7 +495,9 @@ static void cifftmaTest4 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; */ } - + free(out); + free(in); + free(Result); } @@ -543,7 +550,9 @@ static void cifftmaTest5 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); + free(Result); } @@ -596,7 +605,9 @@ static void cifftmaTest6 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); + free(Result); } @@ -649,7 +660,9 @@ static void cifftmaTest7 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); + free(Result); } @@ -694,7 +707,9 @@ static void cifftmaTest8 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); + free(Result); } @@ -740,7 +755,9 @@ static void cifftmaTest9 (void ) assert ( fabs( cimags(out[i]) - cimags (Result[i]) ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); + free(Result); } @@ -795,7 +812,8 @@ static void cifftmaTest10 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } - + free(out); + free(in); } static void cifftmaTest11 (void ) @@ -849,6 +867,8 @@ static void cifftmaTest11 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -904,6 +924,8 @@ static void cifftmaTest12 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -959,6 +981,8 @@ static void cifftmaTest13 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -1014,6 +1038,8 @@ static void cifftmaTest14 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -1070,6 +1096,8 @@ static void cifftmaTest15 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -1126,6 +1154,8 @@ static void cifftmaTest16 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } @@ -1182,6 +1212,8 @@ static void cifftmaTest32 (void ) assert ( fabs( cimags(out[i]) - tImagResult[i] ) / fabs (cimags (out[i])) < 1e-4 ) ; } + free(out); + free(in); } diff --git a/src/signalProcessing/ifft/testMatIfft.c b/src/signalProcessing/ifft/testMatIfft.c index 5973f1fe..60e74607 100644 --- a/src/signalProcessing/ifft/testMatIfft.c +++ b/src/signalProcessing/ifft/testMatIfft.c @@ -212,7 +212,19 @@ static int testIfft(void){ if (zimags(out9[i])>1e-15) assert( (fabs(zimags(out9[i])-resI9[i]) / fabs(zimags(out9[i]))) < 1e-15 ); else assert(1); - } + } + free(in1); + free(in2); + free(in3); + free(in4); + free(in6); + free(in9); + free(out1); + free(out2); + free(out3); + free(out4); + free(out6); + free(out9); return 0; } diff --git a/src/signalProcessing/ifft/zifftma.c b/src/signalProcessing/ifft/zifftma.c index 316d3f5b..b02f0fed 100644 --- a/src/signalProcessing/ifft/zifftma.c +++ b/src/signalProcessing/ifft/zifftma.c @@ -147,6 +147,11 @@ void zifftma ( doubleComplex* in , int rows, int cols, doubleComplex* out) } } + + free(realIn); + free(imagIn); + free(inCopy); + free(inTemp); } diff --git a/src/signalProcessing/lpc2cep/dlpc2cepa.c b/src/signalProcessing/lpc2cep/dlpc2cepa.c index d16da102..ebae7549 100644 --- a/src/signalProcessing/lpc2cep/dlpc2cepa.c +++ b/src/signalProcessing/lpc2cep/dlpc2cepa.c @@ -31,5 +31,7 @@ void dlpc2cepa(double* in, int size, double* out){ zifftma(inCpx,size, size, inCpx); zreala(inCpx,size*size,out); + + free(inCpx); } diff --git a/src/signalProcessing/lpc2cep/slpc2cepa.c b/src/signalProcessing/lpc2cep/slpc2cepa.c index e9640f09..bcf153ad 100644 --- a/src/signalProcessing/lpc2cep/slpc2cepa.c +++ b/src/signalProcessing/lpc2cep/slpc2cepa.c @@ -30,6 +30,8 @@ void slpc2cepa(float *in, int size, float*out){ cifftma(inCpx,size,size,inCpx); creala(inCpx,size*size,out); + + free(inCpx); } diff --git a/src/statisticsFunctions/variance/testDoubleVarianceNono.c b/src/statisticsFunctions/variance/testDoubleVarianceNono.c index e1047238..92f76b81 100644 --- a/src/statisticsFunctions/variance/testDoubleVarianceNono.c +++ b/src/statisticsFunctions/variance/testDoubleVarianceNono.c @@ -48,6 +48,9 @@ static int doubleVariance(void){ for (i=0;i<4;i++)assert(fabs(outRows[i]-resultRows[i])/fabs(outRows[i]) <1e-16); for (i=0;i<5;i++)assert(fabs(outColumns[i]-resultColumns[i])/fabs(outColumns[i]) <1e-16); + + free(outColumns); + free(outRows); } @@ -119,7 +122,9 @@ static int doubleVariance(void){ for (i=0;i<10;i++)assert(fabs(outRows2[i]-resultRows2[i])/fabs(outRows2[i]) <1e-16); for (i=0;i<7;i++)assert(fabs(outColumns2[i]-resultColumns2[i])/fabs(outColumns2[i]) <1e-16); - + + free(outColumns2); + free(outRows2); } @@ -187,7 +192,9 @@ static int doubleComplexVariance(void){ assert(fabs(zimags(outCol[i])-colVarianceI[i])/fabs(zimags(outCol[i])) <1e-15); } - + free(in); + free(outCol); + free(outRow); } @@ -325,6 +332,9 @@ static int doubleComplexVariance(void){ assert(fabs(zreals(outCol[i])-colVarianceR[i])/fabs(zreals(outCol[i])) <1e-15); assert(fabs(zimags(outCol[i])-colVarianceI[i])/fabs(zimags(outCol[i])) <1e-14); } + free(in); + free(outCol); + free(outRow); } diff --git a/src/statisticsFunctions/variance/testFloatVarianceNono.c b/src/statisticsFunctions/variance/testFloatVarianceNono.c index dff7d4e1..71c9b859 100644 --- a/src/statisticsFunctions/variance/testFloatVarianceNono.c +++ b/src/statisticsFunctions/variance/testFloatVarianceNono.c @@ -48,7 +48,9 @@ static int floatVariance(void){ for (i=0;i<4;i++)assert(fabs(outRows[i]-resultRows[i])/fabs(outRows[i]) <1e-06); for (i=0;i<5;i++)assert(fabs(outColumns[i]-resultColumns[i])/fabs(outColumns[i]) <1e-06); - + + free(outColumns); + free(outRows); } @@ -118,7 +120,10 @@ static int floatVariance(void){ assert(fabs(out2-result2)/fabs(out2) <1e-06); for (i=0;i<10;i++)assert(fabs(outRows2[i]-resultRows2[i])/fabs(outRows2[i]) <1e-06); - for (i=0;i<7;i++)assert(fabs(outColumns2[i]-resultColumns2[i])/fabs(outColumns2[i]) <1e-06); + for (i=0;i<7;i++)assert(fabs(outColumns2[i]-resultColumns2[i])/fabs(outColumns2[i]) <1e-06); + + free(outColumns2); + free(outRows2); } @@ -187,6 +192,9 @@ static int floatComplexVariance(void){ assert(fabs(cimags(outCol[i])-colVarianceI[i])/fabs(cimags(outCol[i])) <1e-5); } + free(in); + free(outCol); + free(outRow); } @@ -326,6 +334,9 @@ static int floatComplexVariance(void){ assert(fabs(cimags(outCol[i])-colVarianceI[i])/fabs(cimags(outCol[i])) <1e-5); } + free(in); + free(outCol); + free(outRow); } return 0; -- cgit