This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[fortran,patch] Patch for PR 14394 - Precision of real type.
- From: Feng Wang <wf_cs at yahoo dot com>
- To: fortran <fortran at gcc dot gnu dot org>, patch <gcc-patches at gcc dot gnu dot org>
- Cc: stevenb at suse dot de, Paul Brook <paul at codesourcery dot com>
- Date: Wed, 10 Mar 2004 12:34:48 +0800 (CST)
- Subject: [fortran,patch] Patch for PR 14394 - Precision of real type.
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