Re: Question de C!

Top Page

Reply to this message
Author: Edgar Bonet
Date:  
To: guilde
Subject: Re: Question de C!
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.