Bonjour,
J'utilise sous gcc finitef pour vérifier qu'un flottant est valide.
Maintenant sous visual c++ la bibliothèque math.h ne connaît
apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michael DOUBEZ
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
}
A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Michael
Bonjour,
J'utilise sous gcc finitef pour vérifier qu'un flottant est valide.
Maintenant sous visual c++ la bibliothèque math.h ne connaît
apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98.
Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h
#include <cmath>
...
double x;
if(!isfinite(x))
{ // x est nan, +inf ou -inf
}
A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre
est "trop petit pour être représenté en format normalisé." (d'après mon
man).
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
}
A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Michael
MacMac
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
Le Mon, 19 Mar 2007 15:09:30 +0100, Michael DOUBEZ a écrit :
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
} A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Michael
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h)
sous visual c++ mathc est effectivement connu mais isfinite n'est pas
connu.
Le Mon, 19 Mar 2007 15:09:30 +0100, Michael DOUBEZ a écrit :
Bonjour,
J'utilise sous gcc finitef pour vérifier qu'un flottant est valide.
Maintenant sous visual c++ la bibliothèque math.h ne connaît
apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable
que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h
#include <cmath>
...
double x;
if(!isfinite(x))
{ // x est nan, +inf ou -inf
}
A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre
est "trop petit pour être représenté en format normalisé." (d'après
mon man).
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
Le Mon, 19 Mar 2007 15:09:30 +0100, Michael DOUBEZ a écrit :
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
} A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Michael
Sylvain
MacMac wrote on 19/03/2007 16:49:
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
ces fct là sont, sous VC, dans float.h
VC98 utilise les "IEEE recommended functions", soit par exemple int _finite(double)
je n'ai pas vérifié si VC03, VC05 introduisent d'autres noms, si c'était le cas, les déf. de 98 sont certainement tjrs présentes.
Sylvain.
MacMac wrote on 19/03/2007 16:49:
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h)
sous visual c++ mathc est effectivement connu mais isfinite n'est pas
connu.
ces fct là sont, sous VC, dans float.h
VC98 utilise les "IEEE recommended functions", soit par exemple
int _finite(double)
je n'ai pas vérifié si VC03, VC05 introduisent d'autres noms, si c'était
le cas, les déf. de 98 sont certainement tjrs présentes.
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
ces fct là sont, sous VC, dans float.h
VC98 utilise les "IEEE recommended functions", soit par exemple int _finite(double)
je n'ai pas vérifié si VC03, VC05 introduisent d'autres noms, si c'était le cas, les déf. de 98 sont certainement tjrs présentes.
Sylvain.
Michael DOUBEZ
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
} A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Je ne sais pas quel est ton environnement mais ce n'est pas une question de gcc mais de libstdc++ utilisée. Et avec un peu de google, j'ai vu des packages libstdc++-5.0 compilés sous gcc3.3 (qui contiennent cmath).
Maintenant, de toutes façon tu n'aura pas de solution standard mais rien ne t'empêche de faire une fonction
Ce sera peut être un poil plus portable; je n'en sais rien.
Michael
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h)
sous visual c++ mathc est effectivement connu mais isfinite n'est pas
connu.
Bonjour,
J'utilise sous gcc finitef pour vérifier qu'un flottant est valide.
Maintenant sous visual c++ la bibliothèque math.h ne connaît
apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable
que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h
#include <cmath>
...
double x;
if(!isfinite(x))
{ // x est nan, +inf ou -inf
}
A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre
est "trop petit pour être représenté en format normalisé." (d'après
mon man).
Je ne sais pas quel est ton environnement mais ce n'est pas une question
de gcc mais de libstdc++ utilisée. Et avec un peu de google, j'ai vu des
packages libstdc++-5.0 compilés sous gcc3.3 (qui contiennent cmath).
Maintenant, de toutes façon tu n'aura pas de solution standard mais rien
ne t'empêche de faire une fonction
sous gcc 3.3 , mathc est inconnu ( mais isfinite est connu par math.h) sous visual c++ mathc est effectivement connu mais isfinite n'est pas connu.
Bonjour, J'utilise sous gcc finitef pour vérifier qu'un flottant est valide. Maintenant sous visual c++ la bibliothèque math.h ne connaît apparemment pas ca . Qu'est ce qu'il faudrait donc utiliser ?
finitef est une fonction BSD et a été remplacé par isfinite(double) en
C99.
Ce n'est pas du C++ standard car post C++98. Maintenant, il est probable que gcc le fournisse pour la compatibilité.
//Inclure cmath et pas math.h #include <cmath>
... double x; if(!isfinite(x)) { // x est nan, +inf ou -inf
} A noter que C99 fourni aussi isnormal(x) qui teste en plus si le nombre est "trop petit pour être représenté en format normalisé." (d'après mon man).
Je ne sais pas quel est ton environnement mais ce n'est pas une question de gcc mais de libstdc++ utilisée. Et avec un peu de google, j'ai vu des packages libstdc++-5.0 compilés sous gcc3.3 (qui contiennent cmath).
Maintenant, de toutes façon tu n'aura pas de solution standard mais rien ne t'empêche de faire une fonction