[fortran,patch] Patch for PR 14394 - Precision of real type.

Feng Wang wf_cs@yahoo.com
Wed Mar 10 04:34:00 GMT 2004


Hi, all
  This patch fix PR 14394. Reported by Bud. Test case:
cat z.f
        REAL AVS,BVS
        BVS = 1.5747025767
        AVS = TAN(BVS)
        PRINT*,AVS
        END
  There is one problem converting the real type from mpf to gcc tree. With
-fdump-parse-tree we can see fortran gets the input and parse correctly.
gfc_conv_mpf_to_tree in trans-const.c use string as the intermediate of the
conversion. As convert mpf to string, we specify the maximum digits number of
the real value. In my patch, I loosen the limit. 
  I tested real and real*8 type with the patch. The real type got the same
result with Intel's compiler. But with real*8 type, gfortran gave the result:
-255.998704134517, compared with Intel's -255.995833263172. The difference of
them is above 0.002. With calculator I comfirmed the gfortran's result should
be correct. But can anyone give more comparation with other compilers. What's
your opinion?


Feng Wang

_________________________________________________________
Do You Yahoo!? 
\xCD\xEAȫ\xC3\xE2\xB7ѵ\xC4\xD1Ż\xA2\xB5\xE7\xD3ʣ\xAC\xC2\xED\xC9\xCFע\xB2\xE1\xBB\xF1\xD4\xF9\xB6\xEE\xCD\xE260\xD5\xD7\xCD\xF8\xC2\xE7\xB4洢\xBFռ\xE4
http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.mail.yahoo.com



More information about the Gcc-patches mailing list