Date: Sat, 30 Aug 2003 20:48:54 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Kbwms AT aol DOT com Message-Id: <1438-Sat30Aug2003204854+0300-eliz@elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: <114.2823ab81.2c822fce@aol.com> (Kbwms@aol.com) Subject: Re: Arithmetic Exceptions in C99 References: <114 DOT 2823ab81 DOT 2c822fce AT aol DOT com> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Kbwms AT aol DOT com > Date: Sat, 30 Aug 2003 12:50:22 EDT > > Has anyone bothered to look at the source for libm.a to see what they do? > I see expressions like (x-x)/(x-x) to produce a NaN and turn on the > floating point invalid exception and "huge + x" (where huge =3D 1.0e30) > to turn on the floating point inexact exception. In the log function > is "-two54/zero" to turn on the floating point divide-by-zero exception > and generate -infinity. All these tricks will trigger SIGFPE unless we force the x87 to suppress exceptions.