Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!sun-barr!decwrl!ucbvax!BRL.MIL!gwyn From: gwyn@BRL.MIL (Doug Gwyn, VLD/VMB) Newsgroups: comp.sys.sgi Subject: Irix 3.2 (4D) ldexp() function broken Message-ID: <8912140834.aa03045@VGR.BRL.MIL> Date: 14 Dec 89 13:34:13 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 16 $ cat > foo.c #include #include main() { printf( "%g\n", ldexp( 0.0, 0 ) ); return 0; } ^D $ cc -o foo foo.c ./foo $ ./foo 1.11254e-308 $ # answer should be "0"; works properly on all other BRL UNIX systems $ # I think the problem is that they're treating true-0 as a denormalized $ # number and "rounding" it. This is RONG.