Il manuale FFTW says che il suo tipo fftw_complex
è bit compatibile con la classe std::complex<double>
in AWL. Ma questo non funziona per me:Problema di colata Complesso STL <double> a fftw_complex
#include <complex>
#include <fftw3.h>
int main()
{
std::complex<double> x(1,0);
fftw_complex fx;
fx = reinterpret_cast<fftw_complex>(x);
}
Questo mi dà un errore:
error: invalid cast from type ‘std::complex<double>’ to type ‘double [2]’
Che cosa sto facendo di sbagliato?
Ok, questo funziona per me! 3 anni non codifica in pura C :) Grazie mille. – galadog
@galadog La memcpy è necessaria? Perché non potresti farlo: 'std :: complex x (1,0); fftw_complex * fx = & x' –
@Andre Boos: Perché questo infrange le rigide regole di aliasing ... – Goz