Il n'y a pas une bonne méthode pour comparer deux doubles. Il faut regarder le contexte et utiliser quelque chose de sensé pour celui-ci. Si tu dépends de la transitivité, l'utilisation de == est la seule possibilité et tu as intérêt à ne pas avoir de problème d'approximation ou d'arrondi. Si tu en as, quelque chose comme
Code :
- abs(f1-f2) <= K*epsilon*(abs(f1)+abs(f2))
|
où tu choisis K correctement tenir compte de l'importance de ceux-ci peut être la chose à utiliser. Mais si les dénormaux entre en compte, tu vas peut-être devoir faire encore des choses plus complexes.
Message édité par Un Programmeur le 25-07-2009 à 15:51:02
---------------
The truth is rarely pure and never simple (Oscar Wilde)