# HG changeset patch # User Richard M. Stallman # Date 892856194 0 # Node ID 10d8ced94467b688625c3980b2a17b149fb92340 # Parent 83541dfdf8eecd28018ed9caf4227ccd2105d47e (read1): Compute NaN and infinities using 0.0 in a variable, to cope with compilers that think they are smarter than us. diff -r 83541dfdf8ee -r 10d8ced94467 src/lread.c --- a/src/lread.c Fri Apr 17 23:35:14 1998 +0000 +++ b/src/lread.c Fri Apr 17 23:36:34 1998 +0000 @@ -1916,6 +1916,7 @@ #ifdef LISP_FLOAT_TYPE if (isfloat_string (read_buffer)) { + double zero = 0.0; double value = atof (read_buffer); if (read_buffer[0] == '-' && value == 0.0) value *= -1.0; @@ -1924,11 +1925,11 @@ if (p[-1] == 'F' || p[-1] == 'N') { if (p[-1] == 'N') - value = 0.0 / 0.0; + value = zero / zero; else if (read_buffer[0] == '-') - value = -1.0e999; + value = - 1.0 / zero; else - value = 1.0e999; + value = 1.0 / zero; } return make_float (value); }