<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">> Hi all,<br>
><br>
> I'm porting the FFT Vocoder from AMS to ams.lv2.<br>
> The FFT Vocoder is using fftw_complex, and I can compile my code if I use<br>
> -std=c99 but not if I use -std=c++11<br>
><br>
> I get error like:<br>
><br>
> error: incompatible types in assignment of ‘float’ to ‘fftw_complex {aka<br>
> double [2]}’<br>
>    modinforward[l2] = modbuf[l2] * window[l2];<br>
><br>
> error: cannot convert ‘double*’ to ‘__complex__ double’ for argument ‘1’ to<br>
> ‘double creal(__complex__ double)’<br>
>    p(p_modulatorfft)[l2] = logf(fabs (creal (modoutforward[l2])) + 1.0);<br>
><br>
> error: invalid array assignment<br>
>    modinbackward[ lclfrq ] = modoutforward [l2];<br>
><br>
> carrinforward, carroutforward, carrinbackward,<br>
> carroutbackward, modinforward, modoutforward, modinbackward, modoutbackward<br>
> are pointers to fftw_complex.<br>
><br>
><br>
> Would you guys have any idea why it doesn't compile in the c++11 standard?<br>
>>From my research I saw there were some changes between c99 and c11 with<br>
> complex numbers, but I can't figure out how to bring the code to C++11.<br>
><br><br>
</div></div>Just to make sure I understand correctly. Your goal is to rewrite the<br>
code from c99 to c++11 and not c11?<br>
<br>
</blockquote></div><br></div><div class="gmail_extra">Well all the plugins in ams.lv2 are coded in c++ and are compiled with the c++11 standard.</div><div class="gmail_extra">But when ported the FFT Vocoder, it only compiles when using the c99 standard.</div><div class="gmail_extra"><br></div><div class="gmail_extra">So I guess yes, I would like to rewrite the code from c99 to c++11.</div></div>