cc floating point problems

From: Ernie Bisson, MIT Bates Linear Accelerator <BISSON_at_AESIR.MIT.EDU>
Date: Tue, 26 Sep 1995 16:20:45 -0400 (EDT)

I'm having a bizarre problem with floating-point operations in C on an
AlphaServer 1000 4/200 running Digital-Unix V3.2A.

Here is a simple C program to demonstrate:

#include <stdio.h>

main()

{
float fff = 4.333;
float ggg = 1/65535;
  
printf("ggg = %f\n",ggg);
printf("1/65535 = %f\n",1/65535);
printf("fff = %f\n",fff);
printf("1/65535 = %f\n",1/65535);
printf("ggg = %f\n",ggg);

}


The results produced after building it using the compiler /usr/bin/cc:

ggg = 0.000000
1/65535 = 0.000000
fff = 4.333000
1/65535 = 4.333000
ggg = 0.000000

I get the same results from V3.0 and V3.2 systems.
I get Correct results on Ultrix V4.3A and SunOS 4.1.3_U1 systems.
Translating from the mips binary to AXP, via "mx", also works correctly.
Does anyone know of any problems that could be causing this?


Thanks for any help,

Ernie Bisson
M.I.T. Bates Linear Accelerator
P.O. Box 846
Middleton, Massachusetts 01949-2846
(617) 774-2370

E-Mail: bisson_at_bates.mit.edu
Received on Tue Sep 26 1995 - 21:54:37 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:46 NZDT