------- Comment #2 from kargl at gcc dot gnu dot org 2008-05-05 06:06 ------- (In reply to comment #1) > > ERF, ERFC, GAMMA, and LOG_GAMMA returned NaN for REAL*10 inputs in > > my test. EXPONENT returned garbage for REAL*10 and FRACTION > > There is another thing which has to be addressed. On Windows there seems to be > no "long double" support for some C99 functions. FX writes in the same thread: >
This is true for many operating systems. For example, none of the *BSD systems have a complete C99 libm. It's not windows specific. It took me nearly 2 years to get a sqrtl() committed to FreeBSD. Note sqrtl() is special in that ieee754 requires correct rounding in all rounding modes. It took between 6 to 9 months to get sinl(), cosl(), and tanl() committed to FreeBSD. Writing standard conforming libm functions that have accept ULP is much harder than one might think. The simplest fix is to add a note to the Intrinsic Procedure section of the manual stating the ligfortran/gfortran depends on a C99 libm. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36096