Anyone have time to commit the following patch.
Correct documentation of FRACTION intrinsic subprogram In transripting the Fortran standard language, the expression in LaTeX $X \times b^{-e}$ was translated into Fortran code. 'b' is the base of the floating point representation and returned by RADIX(X). But, it returns an INTEGER value, so RADIX(X)**(-EXPONENT(x)) is zero for any positive exponent. Use REAL(RADIX(X)). diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 3941914f622..1045cb33825 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -6814,7 +6814,6 @@ GNU extension @end table - @node FRACTION @section @code{FRACTION} --- Fractional part of the model representation @fnindex FRACTION @@ -6840,14 +6839,15 @@ Elemental function @item @emph{Return value}: The return value is of the same type and kind as the argument. The fractional part of the model representation of @code{X} is returned; -it is @code{X * RADIX(X)**(-EXPONENT(X))}. +it is @code{X * REAL(RADIX(X))**(-EXPONENT(X))}. @item @emph{Example}: @smallexample program test_fraction + implicit none real :: x x = 178.1387e-4 - print *, fraction(x), x * radix(x)**(-exponent(x)) + print *, fraction(x), x * real(radix(x))**(-exponent(x)) end program test_fraction @end smallexample -- Steve