Отрицательный NaN не является NaN?

При написании некоторых тестовых примеров и некоторых тестов проверяют результат NaN.

Я пытался с помощьюstd::isnan но утверждать не удается

Assertion `std::isnan(x)' failed.

После печати значениеxОказалось отрицательно NaN (-nan) что вполне приемлемо в моем случае.

После попытки использовать тот факт, чтоNaN != NaN и используяassert(x == x)компилятор делает мне «одолжение» и оптимизирует утверждение.

Делая мой собственныйisNaN функция также оптимизируется.

Как я могу проверить на равенство NaNа также -NaN?

Ответы на вопрос(6)

Ваш ответ на вопрос