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:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]);
...
	}
...
}
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.

Merci à qui m'aidera.