El manual FFTW says que su tipo fftw_complex
es poco compatible con std::complex<double>
clase en STL. Pero eso no funciona para mí:Problema fundición STL complejo <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);
}
Esto me da un error:
error: invalid cast from type ‘std::complex<double>’ to type ‘double [2]’
¿Qué estoy haciendo mal?
Ok, eso funciona para mí! 3 años sin codificación en C pura :) Muchas gracias. – galadog
@galadog ¿Es necesario el memcpy? ¿Por qué no podría hacer esto: 'std :: complex x (1,0); fftw_complex * fx = & x' –
@Andre Boos: Porque eso rompe las estrictas reglas de alias ... – Goz