comment stocker NaN dans une variable [VC++] - Programmation
Marsh Posté le 25-04-2001 à 10:20:44
gilou a écrit a écrit : Dans le code de libxml, on veut stocker NaN dans une variable de type double: double xmlXPathNAN = 0.0 / 0.0; pour faire des tests sur des operations par la suite: if (d == xmlXPathNAN)... et trapper les eventuelles erreurs. VC++ n'aime pas ca, et envoie un message d'erreur (division par 0). Je sais que le support de la norme IEEE 754 n'a jamais ete le fort de VC++, mais y a t'il moyen (#pragma?...) de debrancher ce diagnostic? A+, |
pour tester Nan, INF et autres _isfinite()... qui renvoie false dans ces cas...
Marsh Posté le 25-04-2001 à 10:31:42
Oui, mais je veux pas tester si un nombre est NaN, je veux assigner NaN a une variable.
Microsoft supporte correctement NaN dans JS, j'esperais que leur implem merdique du support IEEE avait progresse, mais apparemment on en est toujours au niveau de ce qui existait a l'epoque du i386, c'est a dire une implementation non conforme.
A+,
Marsh Posté le 25-04-2001 à 16:35:19
Essaie ça :
float f;
unsigned long mf = 0xFFFFFFFF;
f = *(float *)&mf;
f vaut alors -1.#QNAN
#QNAN (Quiet NAN) c'est #NAN avec le bit de poids fort à 1
(s'il est à zéro c'est #SNAN, Signalling NAN).
Marsh Posté le 25-04-2001 à 23:26:51
Thanks a lot
A+,
Marsh Posté le 26-04-2001 à 09:06:30
gilou a écrit a écrit : Oui, mais je veux pas tester si un nombre est NaN, je veux assigner NaN a une variable. |
dans ton premier message tu disais que c'etait pour faire des comparaisons... c'est pour cela que je te proposais _finite...
Marsh Posté le 25-04-2001 à 09:06:00
Dans le code de libxml, on veut stocker NaN dans une variable de type double:
double xmlXPathNAN = 0.0 / 0.0;
pour faire des tests sur des operations par la suite:
if (d == xmlXPathNAN)... et trapper les eventuelles erreurs.
VC++ n'aime pas ca, et envoie un message d'erreur (division par 0). Je sais que le support de la norme IEEE 754 n'a jamais ete le fort de VC++, mais y a t'il moyen (#pragma?...) de debrancher ce diagnostic?
A+,
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --