Как отследить NaN в C ++
Я собираюсь сделать некоторые математические вычисления с использованием C ++. Входное число с плавающей запятой является действительным числом, но после вычислений результирующее значение равно NaN. Я хотел бы проследить точку, где появляется значение NaN (возможно, с использованием GDB), вместо того, чтобы вставлять многоisNan()
в код. Но я обнаружил, что даже такой код не будет вызывать исключение при появлении значения NaN.
double dirty = 0.0;
double nanvalue = 0.0/dirty;
Может ли кто-нибудь предложить метод для отслеживания NaN или превращения NaN в исключение?