Date: Thu, 07 Mar 1996 10:02:55 +0100 (MET) From: erik AT tntnhb3 DOT tn DOT tudelft DOT nl (Erik Luijten) Subject: floating p. exception behaves strange To: djgpp AT delorie DOT com (djgpp) Message-id: <9603070902.AA07840@tntnhb3.tn.tudelft.nl> Content-type: text Content-transfer-encoding: 7BIT Hi! I have continued some experiments with paranoia.c and found some very strange behavior (IMHO) when paranoia tries to calculate 1/0 and 0/0. I have compiled the program on a 386 and run it on several machines. These are the results: 386+387 (CWSDPMI): 1/0 = FLOATING POINT EXCEPTION 289 0/0 = 0.0000000000 486DX (CWSDPMI): 1/0 = FLOATING POINT EXCEPTION 289 0/0 = 0.0000000000 Pentium (Win95) : 1/0 = FLOATING POINT EXCEPTION 289 0/0 = FLOATING POINT EXCEPTION 289 But there is more: if I run the program twice, it behaves the second time precisely like it did the first time (on the 386 and 486). However, on the Pentium, the program immediately quits with "signal SGIFPE" the second time it is run. If I then start it for the third time, everything is normal again. In other words: it seems that the floating point exception of a previous run affect the next run (at least if Win95 is the DPMI-host). Isn't this strange? Erik -- Erik Luijten | Theoretical Physics Section erik AT tntnhb3 DOT tn DOT tudelft DOT nl | Faculty of Applied Physics | Delft University of Technology tel. +31-15-2786156 | P.O. Box 5046 fax +31-15-2781203 | 2600 GA Delft --- The Netherlands