diff options
Diffstat (limited to 'src/signalProcessing')
21 files changed, 292 insertions, 35 deletions
diff --git a/src/signalProcessing/conv/cconva.c b/src/signalProcessing/conv/cconva.c index 66b7989a..99f0b1de 100644 --- a/src/signalProcessing/conv/cconva.c +++ b/src/signalProcessing/conv/cconva.c @@ -44,6 +44,10 @@ void cconva(floatComplex *in1, int size1, floatComplex *in2,int size2, floatComp for (i=0;i<size1+size2-1;i++){ out[i]=result[i]; } + + free(in1b); + free(in2b); + free(result); } diff --git a/src/signalProcessing/conv/sconva.c b/src/signalProcessing/conv/sconva.c index 55f06834..09288381 100644 --- a/src/signalProcessing/conv/sconva.c +++ b/src/signalProcessing/conv/sconva.c @@ -36,6 +36,8 @@ void sconva(float *in1, int size1, float *in2,int size2, float *out){ creala(result,size1+size2-1,out); free(result); + free(in1Cpx); + free(in2Cpx); } diff --git a/src/signalProcessing/crossCorr/ccrossCorra.c b/src/signalProcessing/crossCorr/ccrossCorra.c index 2310520e..bd61305b 100644 --- a/src/signalProcessing/crossCorr/ccrossCorra.c +++ b/src/signalProcessing/crossCorr/ccrossCorra.c @@ -26,7 +26,8 @@ void ccrossCorra(floatComplex* in1, int rows1, int cols1, floatComplex* in2, int for (i=0;i<(rows2*cols2);i++) in2Copy[i]=cconjs(in2[rows2*cols2-1-i]); cconv2da(in1, rows1, cols1, in2Copy, rows2, cols2, out); - + + free(in2Copy); } diff --git a/src/signalProcessing/crossCorr/dcrossCorra.c b/src/signalProcessing/crossCorr/dcrossCorra.c index e537f7f4..b34176a9 100644 --- a/src/signalProcessing/crossCorr/dcrossCorra.c +++ b/src/signalProcessing/crossCorr/dcrossCorra.c @@ -21,12 +21,14 @@ void dcrossCorra(double* in1, int rows1, int cols1, double* in2, int rows2, int double *in2Copy; int i; - in2Copy=malloc((uint)rows2*sizeof(double)); + in2Copy=malloc((uint)(rows2*cols2)*sizeof(double)); /* We change in2 to be in appropriate form in in2Copy*/ for (i=0;i<(rows2*cols2);i++) in2Copy[i]=in2[rows2*cols2-1-i]; dconv2da(in1, rows1, cols1, in2Copy, rows2, cols2, out); + + free(in2Copy); } diff --git a/src/signalProcessing/crossCorr/scrossCorra.c b/src/signalProcessing/crossCorr/scrossCorra.c index bd2013ed..9c592c2b 100644 --- a/src/signalProcessing/crossCorr/scrossCorra.c +++ b/src/signalProcessing/crossCorr/scrossCorra.c @@ -19,11 +19,13 @@ void scrossCorra(float* in1, int rows1, int cols1, float* in2, int rows2, int co float *in2Copy; int i; - in2Copy=malloc((uint)rows2*sizeof(float)); + in2Copy=malloc((uint)(rows2*cols2)*sizeof(float)); /* We change in2 to be in appropriate form in in2Copy*/ for (i=0;i<(rows2*cols2);i++) in2Copy[i]=in2[rows2*cols2-1-i]; sconv2da(in1, rows1, cols1, in2Copy, rows2, cols2, out); + + free(in2Copy); } diff --git a/src/signalProcessing/crossCorr/testDoubleCrossCorr.c b/src/signalProcessing/crossCorr/testDoubleCrossCorr.c index 20847fd3..96f00530 100644 --- a/src/signalProcessing/crossCorr/testDoubleCrossCorr.c +++ b/src/signalProcessing/crossCorr/testDoubleCrossCorr.c @@ -43,7 +43,7 @@ static void dcrossCorraTest(void){ } } - +/*FIXME : aucun test pour les complexes*/ static void zcrossCorraTest(void){ } diff --git a/src/signalProcessing/crossCorr/testFloatCrossCorr.c b/src/signalProcessing/crossCorr/testFloatCrossCorr.c index 603227ed..aace4b9e 100644 --- a/src/signalProcessing/crossCorr/testFloatCrossCorr.c +++ b/src/signalProcessing/crossCorr/testFloatCrossCorr.c @@ -29,7 +29,7 @@ static void scrossCorraTest(void){ } } - +/*FIXME : aucun test pour les complexes*/ static void ccrossCorraTest(void){ } diff --git a/src/signalProcessing/crossCorr/zcrossCorra.c b/src/signalProcessing/crossCorr/zcrossCorra.c index 49ac5a7a..fbb86217 100644 --- a/src/signalProcessing/crossCorr/zcrossCorra.c +++ b/src/signalProcessing/crossCorr/zcrossCorra.c @@ -26,6 +26,8 @@ void zcrossCorra(doubleComplex* in1, int rows1, int cols1, doubleComplex* in2, i for (i=0;i<(rows2*cols2);i++) in2Copy[i]=zconjs(in2[rows2*cols2-1-i]); zconv2da(in1, rows1, cols1, in2Copy, rows2, cols2, out); + + free(in2Copy); } diff --git a/src/signalProcessing/fft/dfftbi.c b/src/signalProcessing/fft/dfftbi.c index ad0fb0f1..8ddef44f 100644 --- a/src/signalProcessing/fft/dfftbi.c +++ b/src/signalProcessing/fft/dfftbi.c @@ -315,5 +315,8 @@ c ********************************************* lnow = istak[lnow-1] ; in-- ; } + free(istak); + free(rstak); + return ; } diff --git a/src/signalProcessing/fft/testDoubleFft.c b/src/signalProcessing/fft/testDoubleFft.c index 1de431d6..36a5c391 100644 --- a/src/signalProcessing/fft/testDoubleFft.c +++ b/src/signalProcessing/fft/testDoubleFft.c @@ -352,7 +352,10 @@ static void zfftmaTest2 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -404,7 +407,10 @@ static void zfftmaTest3 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -450,7 +456,10 @@ static void zfftmaTest4 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -504,7 +513,10 @@ static void zfftmaTest5 (void ) } - + + free(out); + free(in); + free(Result); } @@ -556,7 +568,10 @@ static void zfftmaTest6 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -609,7 +624,10 @@ static void zfftmaTest7 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -654,7 +672,10 @@ static void zfftmaTest8 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -700,7 +721,10 @@ static void zfftmaTest9 (void ) assert ( fabs( zimags(out[i]) - zimags (Result[i]) ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); + free(Result); } @@ -755,7 +779,9 @@ static void zfftmaTest10 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } static void zfftmaTest11 (void ) @@ -809,7 +835,9 @@ static void zfftmaTest11 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -864,7 +892,9 @@ static void zfftmaTest12 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -919,7 +949,9 @@ static void zfftmaTest13 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -974,7 +1006,9 @@ static void zfftmaTest14 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -1030,7 +1064,9 @@ static void zfftmaTest15 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -1086,7 +1122,9 @@ static void zfftmaTest16 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } @@ -1142,7 +1180,9 @@ static void zfftmaTest32 (void ) assert ( fabs( zimags(out[i]) - tImagResult[i] ) / fabs (zimags (out[i])) < 1e-12 ) ; } - + + free(out); + free(in); } static int testFft(void) { diff --git a/src/signalProcessing/fft/testFloatFft.c b/src/signalProcessing/fft/testFloatFft.c index 46bef567..3405b767 100644 --- a/src/signalProcessing/fft/testFloatFft.c +++ b/src/signalProcessing/fft/testFloatFft.c @@ -355,7 +355,9 @@ static void cfftmaTest2 (void ) } - + free(out); + free(in); + free(Result); } static void cfftmaTest3 (void ) @@ -408,6 +410,9 @@ static void cfftmaTest3 (void ) } + free(out); + free(in); + free(Result); } @@ -453,6 +458,9 @@ static void cfftmaTest4 (void ) } + free(out); + free(in); + free(Result); } @@ -506,6 +514,9 @@ static void cfftmaTest5 (void ) } + free(out); + free(in); + free(Result); } @@ -560,6 +571,9 @@ static void cfftmaTest6 (void ) } + free(out); + free(in); + free(Result); } @@ -612,6 +626,9 @@ static void cfftmaTest7 (void ) } + free(out); + free(in); + free(Result); } @@ -657,6 +674,9 @@ static void cfftmaTest8 (void ) } + free(out); + free(in); + free(Result); } @@ -703,6 +723,9 @@ static void cfftmaTest9 (void ) } + free(out); + free(in); + free(Result); } @@ -758,6 +781,8 @@ static void cfftmaTest10 (void ) } + free(out); + free(in); } static void cfftmaTest11 (void ) @@ -812,6 +837,8 @@ static void cfftmaTest11 (void ) } + free(out); + free(in); } @@ -867,6 +894,8 @@ static void cfftmaTest12 (void ) } + free(out); + free(in); } @@ -922,6 +951,8 @@ static void cfftmaTest13 (void ) } + free(out); + free(in); } @@ -977,6 +1008,8 @@ static void cfftmaTest14 (void ) } + free(out); + free(in); } @@ -1033,6 +1066,8 @@ static void cfftmaTest15 (void ) } + free(out); + free(in); } @@ -1089,6 +1124,8 @@ static void cfftmaTest16 (void ) } + free(out); + free(in); } @@ -1145,6 +1182,8 @@ static void cfftmaTest32 (void ) } + free(out); + free(in); } static int testFft(void) { diff --git a/src/signalProcessing/fft/testMatFft.c b/src/signalProcessing/fft/testMatFft.c index d199c042..ee29cf72 100644 --- a/src/signalProcessing/fft/testMatFft.c +++ b/src/signalProcessing/fft/testMatFft.c @@ -213,6 +213,19 @@ static int testFft(void){ 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/fft/zfftma.c b/src/signalProcessing/fft/zfftma.c index 5cdbf40a..24b0a7ad 100644 --- a/src/signalProcessing/fft/zfftma.c +++ b/src/signalProcessing/fft/zfftma.c @@ -146,6 +146,10 @@ void zfftma ( doubleComplex* in , int rows, int cols, doubleComplex* out) } } - + + free(realIn); + free(imagIn); + free(inCopy); + free(inTemp); } diff --git a/src/signalProcessing/hilbert/testHilbert.c b/src/signalProcessing/hilbert/testHilbert.c index d4d091d8..8a41760d 100644 --- a/src/signalProcessing/hilbert/testHilbert.c +++ b/src/signalProcessing/hilbert/testHilbert.c @@ -516,7 +516,23 @@ static void dhilbertaTest(void){ 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); } static void shilbertaTest(void){ @@ -794,7 +810,24 @@ static void shilbertaTest(void){ if (cimags(out37[i])>1e-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); } |