summaryrefslogtreecommitdiff
path: root/src/signalProcessing/conv/cconva.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/signalProcessing/conv/cconva.c')
-rw-r--r--src/signalProcessing/conv/cconva.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/signalProcessing/conv/cconva.c b/src/signalProcessing/conv/cconva.c
index 99f0b1de..6debe139 100644
--- a/src/signalProcessing/conv/cconva.c
+++ b/src/signalProcessing/conv/cconva.c
@@ -17,16 +17,16 @@ void cconva(floatComplex *in1, int size1, floatComplex *in2,int size2, floatComp
floatComplex *in1b, *in2b, *result;
- m1=(int)floor(log(size1+size2-1)/log(2)+1);
- m1=(int)pow(2,m1);
+ m1=(int)floor( log(float(size1+size2-1)) / log((float)2) + 1 );
+ m1=(int)pow((float)2,(float)m1);
- in1b=malloc((unsigned int)(2*m1)*sizeof(float));
+ in1b=(floatComplex *)malloc((unsigned int)(2*m1)*sizeof(float));
for(i=0;i<m1;i++){
if (i<size1) in1b[i]=in1[i];
else in1b[i]=FloatComplex(0,0);
}
- in2b=malloc((unsigned int)(2*m1)*sizeof(float));
+ in2b=(floatComplex *)malloc((unsigned int)(2*m1)*sizeof(float));
for(i=0;i<m1;i++){
if (i<size2) in2b[i]=in2[i];
else in2b[i]=FloatComplex(0,0);
@@ -37,7 +37,7 @@ void cconva(floatComplex *in1, int size1, floatComplex *in2,int size2, floatComp
cfftma(in1b,m1,1,in1b);
cfftma(in2b,m1,1,in2b);
- result=malloc((unsigned int)(2*m1)*sizeof(float));
+ result=(floatComplex *)malloc((unsigned int)(2*m1)*sizeof(float));
cmula(in1b,in2b,m1,result);
cifftma(result,m1,1,result);