Bonjour tous,
j'ai un soucis vraiment bizarre :

j'ai une méthode d'une classe qui prend en argument un "unsigned int" et un "double":
voici le prototype:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
double get_DiffusionCoefficient(unsigned int,double);
et voici la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
double Element::get_DiffusionCoefficient(unsigned int _i,double _temperature)
{
    return Diffusion_D0[_i]*exp((-Diffusion_Q[_i])/(R*_temperature));
}

2°) dans un cas j'ai ma fonction qui marche et dans un cas elle ne fonctionne pas pourtant les 2 cas sont similaires:

ici ca fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
A[i]=A[i]-eelement.get_DiffusionCoefficient(0,333)
ici ca fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
A[i]=A[i]-eelement.get_DiffusionCoefficient(0,334)
j'ai regardé les résultats pour la premiere solution et voici ce qui est renvoyé:
5.7942e-025
pour la deuxieme solution si le resultat renvoyé aurait été plus petit encore j'aurais compris: un probleme de zero numerique mais dans le cas 2 le résultat sera plus grand que dans le 1er cas...

j'espere que vous pourrez m'aider...

voici le message d'erreur en PJ