std:: fpclassify
|
Определено в заголовке
<cmath>
|
||
| (1) | ||
|
int
fpclassify
(
float
num
)
;
int
fpclassify
(
double
num
)
;
|
(начиная с C++11)
(до C++23) |
|
|
constexpr
int
fpclassify
(
/* floating-point-type */
num
)
;
|
(начиная с C++23) | |
|
Определено в заголовке
<cmath>
|
||
|
template
<
class
Integer
>
int fpclassify ( Integer num ) ; |
(A) |
(начиная с C++11)
(constexpr начиная с C++23) |
std::fpclassify
для всех неквалифицированных cv типов с плавающей точкой в качестве типа параметра
num
.
(since C++23)
Содержание |
Параметры
| num | - | значение с плавающей точкой или целочисленное значение |
Возвращаемое значение
один из FP_INFINITE , FP_NAN , FP_NORMAL , FP_SUBNORMAL , FP_ZERO или тип, определённый реализацией, указывающий категорию num .
Примечания
Дополнительные перегрузки не обязаны быть предоставлены в точности как (A) . Они должны быть достаточными, чтобы гарантировать, что для их аргумента num целочисленного типа, std :: fpclassify ( num ) имеет тот же эффект, что и std :: fpclassify ( static_cast < double > ( num ) ) .
Пример
#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'; }
Вывод:
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
Смотрите также
|
(C++11)
|
проверяет, имеет ли данное число конечное значение
(функция) |
|
(C++11)
|
проверяет, является ли данное число бесконечным
(функция) |
|
(C++11)
|
проверяет, является ли данное число NaN
(функция) |
|
(C++11)
|
проверяет, является ли данное число нормальным
(функция) |
|
предоставляет интерфейс для запроса свойств всех фундаментальных числовых типов
(шаблон класса) |
|
|
Документация C
для
fpclassify
|
|