[LAD] fftw_complex and C++11

From: Aurélien Leblond <blablack@email-addr-hidden>
Date: Sat Jan 03 2015 - 22:18:25 EET

Hi all,

I'm porting the FFT Vocoder from AMS to ams.lv2.
The FFT Vocoder is using fftw_complex, and I can compile my code if I use
-std=c99 but not if I use -std=c++11

I get error like:

error: incompatible types in assignment of ‘float’ to ‘fftw_complex {aka
double [2]}’
   modinforward[l2] = modbuf[l2] * window[l2];

error: cannot convert ‘double*’ to ‘__complex__ double’ for argument ‘1’ to
‘double creal(__complex__ double)’
   p(p_modulatorfft)[l2] = logf(fabs (creal (modoutforward[l2])) + 1.0);

error: invalid array assignment
   modinbackward[ lclfrq ] = modoutforward [l2];

carrinforward, carroutforward, carrinbackward,
carroutbackward, modinforward, modoutforward, modinbackward, modoutbackward
are pointers to fftw_complex.

Would you guys have any idea why it doesn't compile in the c++11 standard?
From my research I saw there were some changes between c99 and c11 with
complex numbers, but I can't figure out how to bring the code to C++11.

Thanks in advance for the help,

Aurélien

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sat, 3 Jan 2015 20:18:25 +0000

This archive was generated by hypermail 2.1.8 : Sun Jan 04 2015 - 00:15:01 EET