[VC++] comment stocker NaN dans une variable

comment stocker NaN dans une variable [VC++] - Programmation

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é!  --
Reply

Marsh Posté le 25-04-2001 à 09:06:00   

Reply

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...

Reply

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+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

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).

Reply

Marsh Posté le 25-04-2001 à 23:26:51    

Thanks a lot :) :) :)  :jap:  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

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...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed