[fortran,patch] Complete front-end support for __float128

FX fxcoudert@gmail.com
Thu Aug 26 18:52:00 GMT 2010


>>> Oh, and last but not least: I don't know how the quad-math library will turn up being licensed/distributed, but we probably should only link it in when necessary, shouldn't we?
>> Well, let's see how that part of intergation will turn out.
> 
> Yep, that's my responsibility ;-) I hope to find some time Saturday (in spite of the fact that this technically still my summer holiday, I have very little time now).

In order for this to progress, please find at http://quatramaran.ens.fr/~coudert/tmp/libquad.tar.bz2 my first attempt at making a clean package of the quad math support library.

The prototypes of the exported functions are in src/quad.h. They are:

 -- rounding functions, division: lroundq, llroundq, truncq, roundq, ceilq, floorq, fmodq, modfq, remainderq
 -- exponent manipulation: frexpq, ldexpq, scalbnq, scalblnq
 -- sign/infinities/NaNs: isinfq, isnanq, nanq, finiteq, fabsq, copysignq, signbitq, nextafterq
 -- roots and powers: sqrtq, cbrtq, powq, hypotq
 -- exp and log: expq, expm1q, logq, log10q, log1pq
 -- trigonometric functions: {a,}{cos,sin,tan}{h,}q, sincosq, atan2q
 -- special functions: erfq, erfcq, tgammaq, lgammaq
 -- Bessel functions: j0q, j1q, jnq, y0q, y1q, ynq
 -- complex C99-like functions: cabsq, cargq, csqrtq, cpowq, cexpq, cexpiq, clogq, clog10q, csinq, ccosq, ctanq, csinhq, ccoshq, ctanhq

The I/O routines have two entry points specifically tailored for libgfortran: strtopQ and g_Qfmt.

I've called the complex type corresponding to __float128... __complex128.

All comments welcome,
FX



More information about the Fortran mailing list