![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: The following code produces incorrect answers on VMS 7.1. This file shows that when placing a double (that is underflowing) into a float the incorrect value is placed in the float. VMS 6.2 gives the correct results. The code was compiled on VMS 6.2 with the following compile flags: CC/NOLIST/EXTERN=STRICT_REFDEF/ANSI/PREFIX=(ALL,EXCEPT=GETHOSTNAME) /FLOAT=IEEE_FLOAT/IEEE_MODE=DENORM_RESULTS/OPT=(inline=none,level=1,unroll=0 )/NODEBUG ------------------ Here is the output from VMS 6.2: value: 1.34858e-77 0 ------------------ Here is the output from VMS 7.1 value: 1.34858e-77 1.56155 ----------cow.c starts here-------- #include <stdio.h> #include <math.h> int main(int c, char *v[]){ float cow; cow = exp(-177.f); printf("value: %g\t%g\n", exp(-177.f), cow); return(1); The Answer is : Please contact the customer support center for assistance. Expect to be asked for the version of the DEC C compiler in use, among other questions.
|