std:: fpclassify
|
Défini dans l'en-tête
<cmath>
|
||
| (1) | ||
|
int
fpclassify
(
float
num
)
;
int
fpclassify
(
double
num
)
;
|
(depuis C++11)
(jusqu'à C++23) |
|
|
constexpr
int
fpclassify
(
/* floating-point-type */
num
)
;
|
(depuis C++23) | |
|
Défini dans l'en-tête
<cmath>
|
||
|
template
<
class
Integer
>
int fpclassify ( Integer num ) ; |
(A) |
(depuis C++11)
(constexpr depuis C++23) |
std::fpclassify
pour tous les types à virgule flottante non qualifiés cv comme type du paramètre
num
.
(depuis C++23)
Table des matières |
Paramètres
| num | - | valeur à virgule flottante ou entière |
Valeur de retour
l'un de FP_INFINITE , FP_NAN , FP_NORMAL , FP_SUBNORMAL , FP_ZERO ou un type défini par l'implémentation, spécifiant la catégorie de num .
Notes
Les surcharges supplémentaires ne sont pas requises d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: fpclassify ( num ) ait le même effet que std :: fpclassify ( static_cast < double > ( num ) ) .
Exemple
#include <cfloat> #include <cmath> #include <iostream> auto show_classification(double x) { switch (std::fpclassify(x)) { case FP_INFINITE: return "Inf"; case FP_NAN: return "NaN"; case FP_NORMAL: return "normal"; case FP_SUBNORMAL: return "subnormal"; case FP_ZERO: return "zero"; default: return "unknown"; } } int main() { std::cout << "1.0/0.0 is " << show_classification(1 / 0.0) << '\n' << "0.0/0.0 is " << show_classification(0.0 / 0.0) << '\n' << "DBL_MIN/2 is " << show_classification(DBL_MIN / 2) << '\n' << "-0.0 is " << show_classification(-0.0) << '\n' << "1.0 is " << show_classification(1.0) << '\n'; }
Sortie :
1.0/0.0 is Inf 0.0/0.0 is NaN DBL_MIN/2 is subnormal -0.0 is zero 1.0 is normal
Voir aussi
|
(C++11)
|
vérifie si le nombre donné a une valeur finie
(fonction) |
|
(C++11)
|
vérifie si le nombre donné est infini
(fonction) |
|
(C++11)
|
vérifie si le nombre donné est NaN
(fonction) |
|
(C++11)
|
vérifie si le nombre donné est normal
(fonction) |
|
fournit une interface pour interroger les propriétés de tous les types numériques fondamentaux
(modèle de classe) |
|
|
Documentation C
pour
fpclassify
|
|