This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Thanks to Tianjiao and Steve.

To sum up,
-255.998704134517: NAG(gcc BE), gcc, pgf90 -r8 and f77 WorkShop Compilers 4.2
on SunOS.
-255.995833263172: pgf90 (without -r8), ifort (Intel's) and orf90 (Sgi's, I
tested later)

Hard to judge. As Tianjiao said, if we use gcc to check the accuracy, the patch
is acceptable. At least, I think the difference is caused by backend, the patch
fixed gfortran's frontend.


Feng Wang

 --- Feng Wang <wf_cs@yahoo.com> wrote:> 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!? 
完全免费的雅虎电邮,马上注册获赠额外60兆网络存储空间
http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.mail.yahoo.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]