Patrick Dupré a écrit :
> si je decommente la ligne //# include <complex.h>
> Cela ne compile plus.
>
> fftw_complex *in = fftw_malloc ( sizeof ( fftw_complex ) * nbpt );
>
> for (unsigned int i = 0; i < nbpt; i++ ) {
> in[i][0] = ( double ) rand ( ) / ( double ) RAND_MAX;
> in[i][1] = ( double ) rand ( ) / ( double ) RAND_MAX;
> }
D'après la doc dont Patrice Karatchentzeff a donné le lien :
if you #include <complex.h> before <fftw3.h>, then
fftw_complex is defined to be the native complex type
Et d'après gcc :
error: subscripted value is neither array nor pointer nor vector
14 | in[i][0] = ( double ) rand ( ) / ( double ) RAND_MAX;
| ^
Maintenant, in[i] est un nombre complexe, et plus un tableau. Tu ne peux
donc pas l'indicer. Essaye ça :
in[i] = ( double ) rand ( ) / ( double ) RAND_MAX
+ I * ( double ) rand ( ) / ( double ) RAND_MAX;
À+,
Edgar.