emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/lread.c


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/lread.c
Date: Sat, 25 Jun 2005 00:31:50 -0400

Index: emacs/src/lread.c
diff -c emacs/src/lread.c:1.332 emacs/src/lread.c:1.333
*** emacs/src/lread.c:1.332     Thu Jun 23 16:10:06 2005
--- emacs/src/lread.c   Sat Jun 25 04:31:49 2005
***************
*** 2595,2600 ****
--- 2595,2617 ----
                    break;
                  case 'N':
                    value = zero / zero;
+ 
+                   /* If that made a "negative" NaN, negate it.  */
+ 
+                   {
+                     int i;
+                     union { double d; char c[sizeof (double)]; } u_data, 
u_minus_zero;
+ 
+                     u_data.d = value;
+                     u_minus_zero.d = - 0.0;
+                     for (i = 0; i < sizeof (double); i++)
+                       if (u_data.c[i] & u_minus_zero.c[i])
+                         {
+                           value = - value;
+                           break;
+                         }
+                   }
+                   /* Now VALUE is a positive NaN.  */
                    break;
                  default:
                    value = atof (read_buffer + negative);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]