[comp.sys.sgi] Irix 3.2

gwyn@BRL.MIL (Doug Gwyn, VLD/VMB) (12/14/89)

$ cat > foo.c	
#include <math.h>
#include <stdio.h>

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.

davea@quasar.wpd.sgi.com (David B. Anderson) (12/16/89)

In article <8912140834.aa03045@VGR.BRL.MIL>, gwyn@BRL.MIL (Doug Gwyn, VLD/VMB) writes:
[various lines deleted for brevity]
> 	printf( "%g\n", ldexp( 0.0, 0 ) );
> $ ./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.

Doug is right on all counts.  We need to fix this.

Regards,
[ David B. Anderson    davea    Bldg-9    MS 9U500     extension 1548 ]