Voy a hacer algunos cálculos matemáticos con C++. El número de punto flotante de entrada es un número válido, pero después de los cálculos, el valor resultante es NaN. Me gustaría rastrear el punto donde aparece el valor de NaN (posiblemente usando GDB), en lugar de insertar una gran cantidad de isNan()
en el código. Pero descubrí que incluso un código como este no activará una excepción cuando aparezca un valor de NaN.Cómo rastrear un NaN en C++
double dirty = 0.0;
double nanvalue = 0.0/dirty;
¿Alguien podría sugerir un método para rastrear el NaN o convertir un NaN en una excepción?
Relacionado: [¿Puedo hacer que gcc me diga cuándo un cálculo da como resultado NaN o inf en tiempo de ejecución?] (Http://stackoverflow.com/questions/2941611/can-i-make-gcc-tell-me-when -a-calculate-results-in-nan-or-inf-at-runtime/20973509) – legends2k
También http://stackoverflow.com/questions/5393997/stopping-the-debugger-when-a-nan-floating-point -number-is-produced – Riot