![]() |
Как проверить double==NaN?
Использую NaN для разметки области определения дырявой функции на плоскости. Думал, что операция типа
Код:
double f = numeric_limits<double>::quiet_NaN();Как на C++ проверить double==NaN? |
Воспользуйся функцией _isnan из библиотеки float.h:
int _isnan( double x ); _isnan returns a nonzero value (TRUE) if the argument x is a NaN; otherwise it returns 0 (FALSE). |
или
#include <math.h> int isinf(double value); int isnan(double value); int finite(double value); |
Воспользовался, :claps: работает :yees: , спасибо :rolleyes: . Кстати, заметил, что с битовой маской вместо NaN всё быстрее получается, если NaN-ов много. Он что, прерывание (или исключение вызывает)?
|
| Часовой пояс GMT +4, время: 13:57. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.