Anomalie #68
Erreur dans la macro FLOAT_EQ (comparaison de deux floats) et proposition de solution
Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Start date:
02/09/2010
Due date:
% Done:
100%
Estimated time:
0.00 h
Description
La macro FLOAT_EQ permet de comparer deux float à Epsilon près.
Cependant : FLOAT_EQ(10.0,10.0) retourne TRUE -->OK
mais
V=DataTraits<F_SIMPLE >::default_value::max_value();
FLOAT_EQ(V,V) retourne FALSE !!!
Il faut remplacer la macro actuelle:
#define FLOAT_EQ(x,v) (((v - EPSILON) < x) && (x <( v + EPSILON)))
par celle-ci:
#define FLOAT_EQ(x,y) (abs(x-y) < EPSILON)
No data to display