Mon programme se compile bien mais une erreur se produit à son lancement et me contrains d'achever son éxecution.
voici la partie du code à considerer:
Donc j'execute ma fonction et le programme s'arrete ici: " ampl[r] = 2.0 * AbsComplex(&c->P[0][0]);". J'ai bien déclaré ampl comme il faut mais à parrament cette ligne provoque l'arret du programme. Aussi, j'ai remarqué que si je plaçait cette ligne au pire, avant " Mat_Vandermonde (C, NL, &zm);", la ligne s'executait. Si je la place après: bug. J'ai pensé que ampl était perdue mais elle est bien déclarée je pense. Les fonctions commencant par Mat_... sont déclarées et déffinies dans un autre fichier, il en est de même pour les fonctions complex.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 void shift_fft (double *son, double *syn_sin, double *freq, double *dec, double *ampl, double *arg) { ... SPdRFFT(son, NZP, 1); //FFT of son Mat_abs (son, NZP); ... freq[r] = 2 * ind_w * PI / NZP; SetComplex(&zm,0,freq[r]); ... Mat_Vandermonde (C, NL, &zm); ... ampl[r] = 2.0 * AbsComplex(&c->P[0][0]); arg[r] = ArgComplex(&c->P[0][0]); ... } ... }
Merci à qui m'aidera.
:D