Проверьте наличие Нана в --ffast-mathC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте наличие Нана в --ffast-math

Сообщение Anonymous »

Предположим (избегая ночных дискуссий о том, почему) я использую -ffast-math и моя программа выполняет десять итераций Ньютона. Они либо сходятся, либо к этому моменту произойдет NaN.
Это то, что я хочу проверить. Теперь чат GPT сообщил мне, что основные математические операции по-прежнему будут заполнять биты моего числа (например, float, double, float128,...) битами, которые выражают значение NaN, но любая попытка определить этот факт потерпит неудачу ( и я не могу понять, как это вообще возможно).
Итак, предположим, что программа скомпилирована с -ffast-math и предположим для простоты, что существует двойной x в моем коде, и я хочу узнать, является ли x NaN. Как мне это сделать? Мне кажется, что я мог бы просто реализовать isnan(x), проверив, находится ли x в определенных пределах.
Я также проверил этот вопрос, и Chat-GPT дал мне реализацию для double, но все эти битовые сдвиги могут не работать независимо от платформы, и я не хочу в конечном итоге испытывать необходимость тестировать реализации isnan.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ffast-math
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Будет ли std::isfinite корректно работать под -ffast-math в GCC?
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Может ли Clang -ffast -Math оптимизировать сравнение между Quiet_nan и Float?
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Предыдущее представительное значение плавающей запятой с `ffast-math`
    Anonymous » » в форуме C++
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Временная сложность Math.min и Math.max
    Anonymous » » в форуме JAVA
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Почему math.cos(math.pi/2) не возвращает ноль?
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»