[gfortran] I/O of large integer and real kinds, round 2

Steve Kargl sgk@troutmask.apl.washington.edu
Fri Jun 24 05:08:00 GMT 2005


On Thu, Jun 23, 2005 at 09:23:28PM -0700, Jerry DeLisle wrote:
> 
> It would not make sense to me to implement higher precision and not use 
> hardware support when available, so the configure scripts need to make a 
> determination of the platform capabilities and build accordingly.  I am 
> assuming that real 10 would be IEEE extended 80 bit or similar.

Yes, I think you are correct with the caveat that the OS
needs to enforce certain aspects of IEEE to strictly conform
to 754 (e.g., rounding modes).

> I was thinking along the lines of the wrapper functions also.  When 
> support for real(16) in hardware comes along, which it will, then the 
> implementation can be modeled after (edited from) the wrappers for real(10).

If I understand a comment made by Richard Henderson, gfortran will
map either real(10) or real(16) to C's long double.  I don't know
if there is a target that supports both real(10) and real(16).  If
libm contains long double versions of the functions, then we should
use those.

> Does mpfr recognize when it has hardware available and use it?  That 
> would be really nice.

mpfr is built on top of gmp.  gmp has numerous hand optimized
assembly routines for several different CPUs.  AFAIK, these
routines are low level arithmetic operations.

-- 
Steve



More information about the Fortran mailing list