| Index: gcc/gcc/fortran/intrinsic.texi
|
| diff --git a/gcc/gcc/fortran/intrinsic.texi b/gcc/gcc/fortran/intrinsic.texi
|
| index 06cdff0c828f11dfd01e964e76ef94f21d11d72b..b9b1c254e9ccdf8fc3cc00d1f04d3acdd018fcce 100644
|
| --- a/gcc/gcc/fortran/intrinsic.texi
|
| +++ b/gcc/gcc/fortran/intrinsic.texi
|
| @@ -1,5 +1,5 @@
|
| @ignore
|
| -Copyright (C) 2005, 2006, 2007, 2008, 2009
|
| +Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
|
| Free Software Foundation, Inc.
|
| This is part of the GNU Fortran manual.
|
| For copying conditions, see the file gfortran.texi.
|
| @@ -167,7 +167,6 @@ Some basic guidelines for editing this document:
|
| * @code{LEADZ}: LEADZ, Number of leading zero bits of an integer
|
| * @code{LEN}: LEN, Length of a character entity
|
| * @code{LEN_TRIM}: LEN_TRIM, Length of a character entity without trailing blank characters
|
| -* @code{LOG_GAMMA}: LOG_GAMMA, Logarithm of the Gamma function
|
| * @code{LGE}: LGE, Lexical greater than or equal
|
| * @code{LGT}: LGT, Lexical greater than
|
| * @code{LINK}: LINK, Create a hard link
|
| @@ -177,6 +176,7 @@ Some basic guidelines for editing this document:
|
| * @code{LOC}: LOC, Returns the address of a variable
|
| * @code{LOG}: LOG, Logarithm function
|
| * @code{LOG10}: LOG10, Base 10 logarithm function
|
| +* @code{LOG_GAMMA}: LOG_GAMMA, Logarithm of the Gamma function
|
| * @code{LOGICAL}: LOGICAL, Convert to logical type
|
| * @code{LONG}: LONG, Convert to integer type
|
| * @code{LSHIFT}: LSHIFT, Left shift bits
|
| @@ -531,7 +531,7 @@ and formatted string representations.
|
| @code{ACOS(X)} computes the arccosine of @var{X} (inverse of @code{COS(X)}).
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -541,14 +541,14 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL} with a magnitude that is
|
| -less than or equal to one.
|
| +@item @var{X} @tab The type shall either be @code{REAL} with a magnitude that is
|
| +less than or equal to one - or the type shall be @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and it lies in the
|
| -range @math{ 0 \leq \acos(x) \leq \pi}. The return value if of the same
|
| -kind as @var{X}.
|
| +The return value is of the same type and kind as @var{X}.
|
| +The real part of the result is in radians and lies in the range
|
| +@math{0 \leq \Re \acos(x) \leq \pi}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -600,7 +600,9 @@ Elemental function
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value has the same type and kind as @var{X}
|
| +The return value has the same type and kind as @var{X}. If @var{X} is
|
| +complex, the imaginary part of the result is in radians and lies between
|
| +@math{ 0 \leq \Im \acosh(x) \leq \pi}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -1170,7 +1172,7 @@ end program test_any
|
| @code{ASIN(X)} computes the arcsine of its @var{X} (inverse of @code{SIN(X)}).
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -1180,14 +1182,14 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}, and a magnitude that is
|
| -less than or equal to one.
|
| +@item @var{X} @tab The type shall be either @code{REAL} and a magnitude that is
|
| +less than or equal to one - or be @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and it lies in the
|
| -range @math{-\pi / 2 \leq \asin (x) \leq \pi / 2}. The kind type
|
| -parameter is the same as @var{X}.
|
| +The return value is of the same type and kind as @var{X}.
|
| +The real part of the result is in radians and lies in the range
|
| +@math{-\pi/2 \leq \Re \asin(x) \leq \pi/2}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -1238,7 +1240,9 @@ Elemental function
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of the same type and kind as @var{X}.
|
| +The return value is of the same type and kind as @var{X}. If @var{X} is
|
| +complex, the imaginary part of the result is in radians and lies between
|
| +@math{-\pi/2 \leq \Im \asinh(x) \leq \pi/2}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -1349,22 +1353,29 @@ end program test_associated
|
| @code{ATAN(X)} computes the arctangent of @var{X}.
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument and for two arguments
|
| +Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
|
|
| @item @emph{Syntax}:
|
| @code{RESULT = ATAN(X)}
|
| +@code{RESULT = ATAN(Y, X)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}.
|
| +@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX};
|
| +if @var{Y} is present, @var{X} shall be REAL.
|
| +@item @var{Y} shall be of the same type and kind as @var{X}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and it lies in the
|
| -range @math{ - \pi / 2 \leq \atan (x) \leq \pi / 2}.
|
| +The return value is of the same type and kind as @var{X}.
|
| +If @var{Y} is present, the result is identical to @code{ATAN2(Y,X)}.
|
| +Otherwise, it the arcus tangent of @var{X}, where the real part of
|
| +the result is in radians and lies in the range
|
| +@math{-\pi/2 \leq \Re \atan(x) \leq \pi/2}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -1396,8 +1407,10 @@ Inverse function: @ref{TAN}
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{ATAN2(Y, X)} computes the arctangent of the complex number
|
| -@math{X + i Y}.
|
| +@code{ATAN2(Y, X)} computes the principal value of the argument
|
| +function of the complex number @math{X + i Y}. This function can
|
| +be used to transform from carthesian into polar coordinates and
|
| +allows to determine the angle in the correct quadrant.
|
|
|
| @item @emph{Standard}:
|
| Fortran 77 and later
|
| @@ -1435,7 +1448,7 @@ end program test_atan2
|
| @item @emph{Specific names}:
|
| @multitable @columnfractions .20 .20 .20 .25
|
| @item Name @tab Argument @tab Return type @tab Standard
|
| -@item @code{DATAN2(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
|
| +@item @code{DATAN2(X, Y)} @tab @code{REAL(8) X}, @code{REAL(8) Y} @tab @code{REAL(8)} @tab Fortran 77 and later
|
| @end multitable
|
| @end table
|
|
|
| @@ -1470,7 +1483,9 @@ Elemental function
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value has same type and kind as @var{X}.
|
| +The return value has same type and kind as @var{X}. If @var{X} is
|
| +complex, the imaginary part of the result is in radians and lies between
|
| +@math{-\pi/2 \leq \Im \atanh(x) \leq \pi/2}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -1634,9 +1649,9 @@ end program test_besjn
|
|
|
| @item @emph{Specific names}:
|
| @multitable @columnfractions .20 .20 .20 .25
|
| -@item Name @tab Argument @tab Return type @tab Standard
|
| -@item @code{DBESJN(X)} @tab @code{INTEGER N} @tab @code{REAL(8)} @tab GNU extension
|
| -@item @tab @code{REAL(8) X} @tab @tab
|
| +@item Name @tab Argument @tab Return type @tab Standard
|
| +@item @code{DBESJN(N, X)} @tab @code{INTEGER N} @tab @code{REAL(8)} @tab GNU extension
|
| +@item @tab @code{REAL(8) X} @tab @tab
|
| @end multitable
|
| @end table
|
|
|
| @@ -1990,9 +2005,6 @@ end program main
|
| @code{C_F_PROCPOINTER(CPTR, FPTR)} Assign the target of the C function pointer
|
| @var{CPTR} to the Fortran procedure pointer @var{FPTR}.
|
|
|
| -Note: Due to the currently lacking support of procedure pointers in GNU Fortran
|
| -this function is not fully operable.
|
| -
|
| @item @emph{Standard}:
|
| Fortran 2003 and later
|
|
|
| @@ -2488,7 +2500,7 @@ Inquiry function
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{INTEGER(4)}
|
| +The return value is an @code{INTEGER} of default kind.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -2635,9 +2647,9 @@ Elemental function
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and it lies in the
|
| -range @math{ -1 \leq \cos (x) \leq 1}. The kind type
|
| -parameter is the same as @var{X}.
|
| +The return value is of the same type and kind as @var{X}. The real part
|
| +of the result is in radians. If @var{X} is of the type @code{REAL},
|
| +the return value lies in the range @math{ -1 \leq \cos (x) \leq 1}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -2676,7 +2688,7 @@ Inverse function: @ref{ACOS}
|
| @code{COSH(X)} computes the hyperbolic cosine of @var{X}.
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -2686,14 +2698,14 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}.
|
| +@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and it is positive
|
| -(@math{ \cosh (x) \geq 0 }). For a @code{REAL} argument @var{X},
|
| -@math{ \cosh (x) \geq 1 }.
|
| -The return value is of the same kind as @var{X}.
|
| +The return value has same type and kind as @var{X}. If @var{X} is
|
| +complex, the imaginary part of the result is in radians. If @var{X}
|
| +is @code{REAL}, the return value has a lower bound of one,
|
| +@math{\cosh (x) \geq 1}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -2726,11 +2738,11 @@ Inverse function: @ref{ACOSH}
|
| @table @asis
|
| @item @emph{Description}:
|
|
|
| -@code{COUNT(MASK [, DIM [, KIND]])} counts the number of @code{.TRUE.}
|
| -elements of @var{MASK} along the dimension of @var{DIM}. If @var{DIM} is
|
| -omitted it is taken to be @code{1}. @var{DIM} is a scalar of type
|
| -@code{INTEGER} in the range of @math{1 /leq DIM /leq n)} where @math{n}
|
| -is the rank of @var{MASK}.
|
| +Counts the number of @code{.TRUE.} elements in a logical @var{MASK},
|
| +or, if the @var{DIM} argument is supplied, counts the number of
|
| +elements along each row of the array in the @var{DIM} direction.
|
| +If the array has zero size, or all of the elements of @var{MASK} are
|
| +@code{.FALSE.}, then the result is @code{0}.
|
|
|
| @item @emph{Standard}:
|
| Fortran 95 and later, with @var{KIND} argument Fortran 2003 and later
|
| @@ -2739,7 +2751,7 @@ Fortran 95 and later, with @var{KIND} argument Fortran 2003 and later
|
| Transformational function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = COUNT(MASK [, DIM [, KIND]])}
|
| +@code{RESULT = COUNT(MASK [, DIM, KIND])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @@ -2752,7 +2764,9 @@ expression indicating the kind parameter of the result.
|
| @item @emph{Return value}:
|
| The return value is of type @code{INTEGER} and of kind @var{KIND}. If
|
| @var{KIND} is absent, the return value is of default integer kind.
|
| -The result has a rank equal to that of @var{MASK}.
|
| +If @var{DIM} is present, the result is an array with a rank one less
|
| +than the rank of @var{ARRAY}, and a size corresponding to the shape
|
| +of @var{ARRAY} with the @var{DIM} dimension removed.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -2849,7 +2863,7 @@ end program test_cpu_time
|
| @code{CSHIFT(ARRAY, SHIFT [, DIM])} performs a circular shift on elements of
|
| @var{ARRAY} along the dimension of @var{DIM}. If @var{DIM} is omitted it is
|
| taken to be @code{1}. @var{DIM} is a scalar of type @code{INTEGER} in the
|
| -range of @math{1 /leq DIM /leq n)} where @math{n} is the rank of @var{ARRAY}.
|
| +range of @math{1 \leq DIM \leq n)} where @math{n} is the rank of @var{ARRAY}.
|
| If the rank of @var{ARRAY} is one, then all elements of @var{ARRAY} are shifted
|
| by @var{SHIFT} places. If rank is greater than one, then all complete rank one
|
| sections of @var{ARRAY} along the given dimension are shifted. Elements
|
| @@ -3397,11 +3411,11 @@ end program test_dreal
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{DTIME(TARRAY, RESULT)} initially returns the number of seconds of runtime
|
| -since the start of the process's execution in @var{RESULT}. @var{TARRAY}
|
| -returns the user and system components of this time in @code{TARRAY(1)} and
|
| -@code{TARRAY(2)} respectively. @var{RESULT} is equal to @code{TARRAY(1) +
|
| -TARRAY(2)}.
|
| +@code{DTIME(VALUES, TIME)} initially returns the number of seconds of runtime
|
| +since the start of the process's execution in @var{TIME}. @var{VALUES}
|
| +returns the user and system components of this time in @code{VALUES(1)} and
|
| +@code{VALUES(2)} respectively. @var{TIME} is equal to @code{VALUES(1) +
|
| +VALUES(2)}.
|
|
|
| Subsequent invocations of @code{DTIME} return values accumulated since the
|
| previous invocation.
|
| @@ -3421,12 +3435,12 @@ results. If possible, use @code{CPU_TIME} instead.
|
| This intrinsic is provided in both subroutine and function forms; however,
|
| only one form can be used in any given program unit.
|
|
|
| -@var{TARRAY} and @var{RESULT} are @code{INTENT(OUT)} and provide the following:
|
| +@var{VALUES} and @var{TIME} are @code{INTENT(OUT)} and provide the following:
|
|
|
| @multitable @columnfractions .15 .30 .40
|
| -@item @tab @code{TARRAY(1)}: @tab User time in seconds.
|
| -@item @tab @code{TARRAY(2)}: @tab System time in seconds.
|
| -@item @tab @code{RESULT}: @tab Run time since start in seconds.
|
| +@item @tab @code{VALUES(1)}: @tab User time in seconds.
|
| +@item @tab @code{VALUES(2)}: @tab System time in seconds.
|
| +@item @tab @code{TIME}: @tab Run time since start in seconds.
|
| @end multitable
|
|
|
| @item @emph{Standard}:
|
| @@ -3437,14 +3451,14 @@ Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| @multitable @columnfractions .80
|
| -@item @code{CALL DTIME(TARRAY, RESULT)}.
|
| -@item @code{RESULT = DTIME(TARRAY)}, (not recommended).
|
| +@item @code{CALL DTIME(VALUES, TIME)}.
|
| +@item @code{TIME = DTIME(VALUES)}, (not recommended).
|
| @end multitable
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{TARRAY}@tab The type shall be @code{REAL, DIMENSION(2)}.
|
| -@item @var{RESULT}@tab The type shall be @code{REAL}.
|
| +@item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
|
| +@item @var{TIME}@tab The type shall be @code{REAL(4)}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -3488,7 +3502,7 @@ end program test_dtime
|
| @code{EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])} performs an end-off shift on
|
| elements of @var{ARRAY} along the dimension of @var{DIM}. If @var{DIM} is
|
| omitted it is taken to be @code{1}. @var{DIM} is a scalar of type
|
| -@code{INTEGER} in the range of @math{1 /leq DIM /leq n)} where @math{n} is the
|
| +@code{INTEGER} in the range of @math{1 \leq DIM \leq n)} where @math{n} is the
|
| rank of @var{ARRAY}. If the rank of @var{ARRAY} is one, then all elements of
|
| @var{ARRAY} are shifted by @var{SHIFT} places. If rank is greater than one,
|
| then all complete rank one sections of @var{ARRAY} along the given dimension are
|
| @@ -3716,10 +3730,10 @@ end program test_erfc_scaled
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{ETIME(TARRAY, RESULT)} returns the number of seconds of runtime
|
| -since the start of the process's execution in @var{RESULT}. @var{TARRAY}
|
| -returns the user and system components of this time in @code{TARRAY(1)} and
|
| -@code{TARRAY(2)} respectively. @var{RESULT} is equal to @code{TARRAY(1) + TARRAY(2)}.
|
| +@code{ETIME(VALUES, TIME)} returns the number of seconds of runtime
|
| +since the start of the process's execution in @var{TIME}. @var{VALUES}
|
| +returns the user and system components of this time in @code{VALUES(1)} and
|
| +@code{VALUES(2)} respectively. @var{TIME} is equal to @code{VALUES(1) + VALUES(2)}.
|
|
|
| On some systems, the underlying timings are represented using types with
|
| sufficiently small limits that overflows (wrap around) are possible, such as
|
| @@ -3730,12 +3744,12 @@ run of the compiled program.
|
| This intrinsic is provided in both subroutine and function forms; however,
|
| only one form can be used in any given program unit.
|
|
|
| -@var{TARRAY} and @var{RESULT} are @code{INTENT(OUT)} and provide the following:
|
| +@var{VALUES} and @var{TIME} are @code{INTENT(OUT)} and provide the following:
|
|
|
| @multitable @columnfractions .15 .30 .60
|
| -@item @tab @code{TARRAY(1)}: @tab User time in seconds.
|
| -@item @tab @code{TARRAY(2)}: @tab System time in seconds.
|
| -@item @tab @code{RESULT}: @tab Run time since start in seconds.
|
| +@item @tab @code{VALUES(1)}: @tab User time in seconds.
|
| +@item @tab @code{VALUES(2)}: @tab System time in seconds.
|
| +@item @tab @code{TIME}: @tab Run time since start in seconds.
|
| @end multitable
|
|
|
| @item @emph{Standard}:
|
| @@ -3746,14 +3760,14 @@ Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| @multitable @columnfractions .80
|
| -@item @code{CALL ETIME(TARRAY, RESULT)}.
|
| -@item @code{RESULT = ETIME(TARRAY)}, (not recommended).
|
| +@item @code{CALL ETIME(VALUES, TIME)}.
|
| +@item @code{TIME = ETIME(VALUES)}, (not recommended).
|
| @end multitable
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{TARRAY}@tab The type shall be @code{REAL, DIMENSION(2)}.
|
| -@item @var{RESULT}@tab The type shall be @code{REAL}.
|
| +@item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
|
| +@item @var{TIME}@tab The type shall be @code{REAL(4)}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -4557,7 +4571,7 @@ END PROGRAM
|
| @code{FSTAT} is identical to @ref{STAT}, except that information about an
|
| already opened file is obtained.
|
|
|
| -The elements in @code{BUFF} are the same as described by @ref{STAT}.
|
| +The elements in @code{VALUES} are the same as described by @ref{STAT}.
|
|
|
| This intrinsic is provided in both subroutine and function forms; however,
|
| only one form can be used in any given program unit.
|
| @@ -4569,12 +4583,12 @@ GNU extension
|
| Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL FSTAT(UNIT, BUFF [, STATUS])}
|
| +@code{CALL FSTAT(UNIT, VALUES [, STATUS])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @item @var{UNIT} @tab An open I/O unit number of type @code{INTEGER}.
|
| -@item @var{BUFF} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| +@item @var{VALUES} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| @item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)}. Returns 0
|
| on success and a system specific error code otherwise.
|
| @end multitable
|
| @@ -4817,18 +4831,24 @@ Fortran 2003 and later
|
| Subroutine
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL GET_COMMAND(COMMAND)}
|
| +@code{CALL GET_COMMAND([COMMAND, LENGTH, STATUS])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{COMMAND} @tab Shall be of type @code{CHARACTER} and of default
|
| -kind.
|
| +@item @var{COMMAND} @tab (Optional) shall be of type @code{CHARACTER} and
|
| +of default kind.
|
| +@item @var{LENGTH} @tab (Optional) Shall be of type @code{INTEGER} and of
|
| +default kind.
|
| +@item @var{STATUS} @tab (Optional) Shall be of type @code{INTEGER} and of
|
| +default kind.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -Stores the entire command line that was used to invoke the program in
|
| -@var{COMMAND}. If @var{COMMAND} is not large enough, the command will be
|
| -truncated.
|
| +If @var{COMMAND} is present, stores the entire command line that was used
|
| +to invoke the program in @var{COMMAND}. If @var{LENGTH} is present, it is
|
| +assigned the length of the command line. If @var{STATUS} is present, it
|
| +is assigned 0 upon success of the command, -1 if @var{COMMAND} is too
|
| +short to store the command line, or a positive value in case of an error.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -4867,12 +4887,14 @@ Subroutine
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER(4)},
|
| -@math{@var{NUMBER} \geq 0}
|
| +@item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER} and of
|
| +default kind, @math{@var{NUMBER} \geq 0}
|
| @item @var{VALUE} @tab Shall be a scalar of type @code{CHARACTER}
|
| and of default kind.
|
| -@item @var{LENGTH} @tab (Option) Shall be a scalar of type @code{INTEGER(4)}.
|
| -@item @var{STATUS} @tab (Option) Shall be a scalar of type @code{INTEGER(4)}.
|
| +@item @var{LENGTH} @tab (Option) Shall be a scalar of type @code{INTEGER}
|
| +and of default kind.
|
| +@item @var{STATUS} @tab (Option) Shall be a scalar of type @code{INTEGER}
|
| +and of default kind.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -5022,11 +5044,16 @@ Subroutine
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{NAME} @tab Shall be a scalar of type @code{CHARACTER(1)}.
|
| -@item @var{VALUE} @tab Shall be a scalar of type @code{CHARACTER(1)}.
|
| -@item @var{LENGTH} @tab Shall be a scalar of type @code{INTEGER(4)}.
|
| -@item @var{STATUS} @tab Shall be a scalar of type @code{INTEGER(4)}.
|
| -@item @var{TRIM_NAME} @tab Shall be a scalar of type @code{LOGICAL(4)}.
|
| +@item @var{NAME} @tab Shall be a scalar of type @code{CHARACTER}
|
| +and of default kind.
|
| +@item @var{VALUE} @tab Shall be a scalar of type @code{CHARACTER}
|
| +and of default kind.
|
| +@item @var{LENGTH} @tab Shall be a scalar of type @code{INTEGER}
|
| +and of default kind.
|
| +@item @var{STATUS} @tab Shall be a scalar of type @code{INTEGER}
|
| +and of default kind.
|
| +@item @var{TRIM_NAME} @tab Shall be a scalar of type @code{LOGICAL}
|
| +and of default kind.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -5707,9 +5734,9 @@ end program read_val
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{IDATE(TARRAY)} Fills @var{TARRAY} with the numerical values at the
|
| +@code{IDATE(VALUES)} Fills @var{VALUES} with the numerical values at the
|
| current local time. The day (in the range 1-31), month (in the range 1-12),
|
| -and year appear in elements 1, 2, and 3 of @var{TARRAY}, respectively.
|
| +and year appear in elements 1, 2, and 3 of @var{VALUES}, respectively.
|
| The year has four significant digits.
|
|
|
| @item @emph{Standard}:
|
| @@ -7212,13 +7239,14 @@ The return value is of type @code{INTEGER} and of the same kind as
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{LSTAT} is identical to @ref{STAT}, except that if path is a symbolic link,
|
| -then the link itself is statted, not the file that it refers to.
|
| +@code{LSTAT} is identical to @ref{STAT}, except that if path is a
|
| +symbolic link, then the link itself is statted, not the file that it
|
| +refers to.
|
|
|
| -The elements in @code{BUFF} are the same as described by @ref{STAT}.
|
| +The elements in @code{VALUES} are the same as described by @ref{STAT}.
|
|
|
| -This intrinsic is provided in both subroutine and function forms; however,
|
| -only one form can be used in any given program unit.
|
| +This intrinsic is provided in both subroutine and function forms;
|
| +however, only one form can be used in any given program unit.
|
|
|
| @item @emph{Standard}:
|
| GNU extension
|
| @@ -7227,13 +7255,13 @@ GNU extension
|
| Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL LSTAT(FILE, BUFF [, STATUS])}
|
| +@code{CALL LSTAT(NAME, VALUES [, STATUS])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{FILE} @tab The type shall be @code{CHARACTER} of the default
|
| +@item @var{NAME} @tab The type shall be @code{CHARACTER} of the default
|
| kind, a valid path within the file system.
|
| -@item @var{BUFF} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| +@item @var{VALUES} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| @item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)}.
|
| Returns 0 on success and a system specific error code otherwise.
|
| @end multitable
|
| @@ -7254,8 +7282,8 @@ To stat an open file: @ref{FSTAT}, to stat a file: @ref{STAT}
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -Given a system time value @var{STIME} (as provided by the @code{TIME8()}
|
| -intrinsic), fills @var{TARRAY} with values extracted from it appropriate
|
| +Given a system time value @var{TIME} (as provided by the @code{TIME8()}
|
| +intrinsic), fills @var{VALUES} with values extracted from it appropriate
|
| to the local time zone using @code{localtime(3)}.
|
|
|
| @item @emph{Standard}:
|
| @@ -7265,18 +7293,18 @@ GNU extension
|
| Subroutine
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL LTIME(STIME, TARRAY)}
|
| +@code{CALL LTIME(TIME, VALUES)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{STIME} @tab An @code{INTEGER} scalar expression
|
| +@item @var{TIME} @tab An @code{INTEGER} scalar expression
|
| corresponding to a system time, with @code{INTENT(IN)}.
|
| -@item @var{TARRAY} @tab A default @code{INTEGER} array with 9 elements,
|
| +@item @var{VALUES} @tab A default @code{INTEGER} array with 9 elements,
|
| with @code{INTENT(OUT)}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The elements of @var{TARRAY} are assigned as follows:
|
| +The elements of @var{VALUES} are assigned as follows:
|
| @enumerate
|
| @item Seconds after the minute, range 0--59 or 0--61 to allow for leap
|
| seconds
|
| @@ -7530,8 +7558,8 @@ Transformational function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
| -@code{REAL}, or @code{CHARACTER}.
|
| +@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or
|
| +@code{REAL}.
|
| @item @var{DIM} @tab (Optional) Shall be a scalar of type
|
| @code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
| inclusive. It may not be an optional dummy argument.
|
| @@ -7586,8 +7614,8 @@ Transformational function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
| -@code{REAL}, or @code{CHARACTER}.
|
| +@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or
|
| +@code{REAL}.
|
| @item @var{DIM} @tab (Optional) Shall be a scalar of type
|
| @code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
| inclusive. It may not be an optional dummy argument.
|
| @@ -7841,8 +7869,8 @@ Transformational function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
| -@code{REAL}, or @code{CHARACTER}.
|
| +@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or
|
| +@code{REAL}.
|
| @item @var{DIM} @tab (Optional) Shall be a scalar of type
|
| @code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
| inclusive. It may not be an optional dummy argument.
|
| @@ -7897,8 +7925,8 @@ Transformational function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
|
| -@code{REAL}, or @code{CHARACTER}.
|
| +@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or
|
| +@code{REAL}.
|
| @item @var{DIM} @tab (Optional) Shall be a scalar of type
|
| @code{INTEGER}, with a value between one and the rank of @var{ARRAY},
|
| inclusive. It may not be an optional dummy argument.
|
| @@ -8046,8 +8074,8 @@ end program
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{MOVE_ALLOC(SRC, DEST)} moves the allocation from @var{SRC} to
|
| -@var{DEST}. @var{SRC} will become deallocated in the process.
|
| +@code{MOVE_ALLOC(FROM, TO)} moves the allocation from @var{FROM} to
|
| +@var{TO}. @var{FROM} will become deallocated in the process.
|
|
|
| @item @emph{Standard}:
|
| Fortran 2003 and later
|
| @@ -8056,14 +8084,14 @@ Fortran 2003 and later
|
| Subroutine
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL MOVE_ALLOC(SRC, DEST)}
|
| +@code{CALL MOVE_ALLOC(FROM, TO)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{SRC} @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
|
| +@item @var{FROM} @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
|
| of any type and kind.
|
| -@item @var{DEST} @tab @code{ALLOCATABLE}, @code{INTENT(OUT)}, shall be
|
| -of the same type, kind and rank as @var{SRC}.
|
| +@item @var{TO} @tab @code{ALLOCATABLE}, @code{INTENT(OUT)}, shall be
|
| +of the same type, kind and rank as @var{FROM}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -8219,7 +8247,7 @@ end program newline
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{NINT(X)} rounds its argument to the nearest whole number.
|
| +@code{NINT(A)} rounds its argument to the nearest whole number.
|
|
|
| @item @emph{Standard}:
|
| Fortran 77 and later, with @var{KIND} argument Fortran 90 and later
|
| @@ -8228,11 +8256,11 @@ Fortran 77 and later, with @var{KIND} argument Fortran 90 and later
|
| Elemental function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = NINT(X [, KIND])}
|
| +@code{RESULT = NINT(A [, KIND])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type of the argument shall be @code{REAL}.
|
| +@item @var{A} @tab The type of the argument shall be @code{REAL}.
|
| @item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
| expression indicating the kind parameter of the result.
|
| @end multitable
|
| @@ -8368,13 +8396,13 @@ GNU extension
|
| Function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = OR(X, Y)}
|
| +@code{RESULT = OR(I, J)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be either a scalar @code{INTEGER}
|
| +@item @var{I} @tab The type shall be either a scalar @code{INTEGER}
|
| type or a scalar @code{LOGICAL} type.
|
| -@item @var{Y} @tab The type shall be the same as the type of @var{X}.
|
| +@item @var{J} @tab The type shall be the same as the type of @var{J}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -8606,8 +8634,10 @@ Fortran 95 and later
|
| Transformational function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = PRODUCT(ARRAY[, MASK])}
|
| -@code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
|
| +@multitable @columnfractions .80
|
| +@item @code{RESULT = PRODUCT(ARRAY[, MASK])}
|
| +@item @code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
|
| +@end multitable
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @@ -8732,11 +8762,11 @@ GNU extension
|
| Function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = RAND(FLAG)}
|
| +@code{RESULT = RAND(I)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{FLAG} @tab Shall be a scalar @code{INTEGER} of kind 4.
|
| +@item @var{I} @tab Shall be a scalar @code{INTEGER} of kind 4.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -8839,7 +8869,7 @@ Fortran 95 and later
|
| Subroutine
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL RANDOM_SEED(SIZE, PUT, GET)}
|
| +@code{CALL RANDOM_SEED([SIZE, PUT, GET])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @@ -8924,8 +8954,8 @@ See @code{PRECISION} for an example.
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{REAL(X [, KIND])} converts its argument @var{X} to a real type. The
|
| -@code{REALPART(X)} function is provided for compatibility with @command{g77},
|
| +@code{REAL(A [, KIND])} converts its argument @var{A} to a real type. The
|
| +@code{REALPART} function is provided for compatibility with @command{g77},
|
| and its use is strongly discouraged.
|
|
|
| @item @emph{Standard}:
|
| @@ -8936,13 +8966,13 @@ Elemental function
|
|
|
| @item @emph{Syntax}:
|
| @multitable @columnfractions .80
|
| -@item @code{RESULT = REAL(X [, KIND])}
|
| +@item @code{RESULT = REAL(A [, KIND])}
|
| @item @code{RESULT = REALPART(Z)}
|
| @end multitable
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab Shall be @code{INTEGER}, @code{REAL}, or
|
| +@item @var{A} @tab Shall be @code{INTEGER}, @code{REAL}, or
|
| @code{COMPLEX}.
|
| @item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
|
| expression indicating the kind parameter of the result.
|
| @@ -8954,14 +8984,14 @@ the following rules:
|
|
|
| @table @asis
|
| @item (A)
|
| -@code{REAL(X)} is converted to a default real type if @var{X} is an
|
| +@code{REAL(A)} is converted to a default real type if @var{A} is an
|
| integer or real variable.
|
| @item (B)
|
| -@code{REAL(X)} is converted to a real type with the kind type parameter
|
| -of @var{X} if @var{X} is a complex variable.
|
| +@code{REAL(A)} is converted to a real type with the kind type parameter
|
| +of @var{A} if @var{A} is a complex variable.
|
| @item (C)
|
| -@code{REAL(X, KIND)} is converted to a real type with kind type
|
| -parameter @var{KIND} if @var{X} is a complex, integer, or real
|
| +@code{REAL(A, KIND)} is converted to a real type with kind type
|
| +parameter @var{KIND} if @var{A} is a complex, integer, or real
|
| variable.
|
| @end table
|
|
|
| @@ -9432,9 +9462,9 @@ end program ascii_kind
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -@code{SELECTED_INT_KIND(I)} return the kind value of the smallest integer
|
| -type that can represent all values ranging from @math{-10^I} (exclusive)
|
| -to @math{10^I} (exclusive). If there is no integer kind that accommodates
|
| +@code{SELECTED_INT_KIND(R)} return the kind value of the smallest integer
|
| +type that can represent all values ranging from @math{-10^R} (exclusive)
|
| +to @math{10^R} (exclusive). If there is no integer kind that accommodates
|
| this range, @code{SELECTED_INT_KIND} returns @math{-1}.
|
|
|
| @item @emph{Standard}:
|
| @@ -9444,11 +9474,11 @@ Fortran 95 and later
|
| Transformational function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = SELECTED_INT_KIND(I)}
|
| +@code{RESULT = SELECTED_INT_KIND(R)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{I} @tab Shall be a scalar and of type @code{INTEGER}.
|
| +@item @var{R} @tab Shall be a scalar and of type @code{INTEGER}.
|
| @end multitable
|
|
|
| @item @emph{Example}:
|
| @@ -9489,7 +9519,7 @@ Fortran 95 and later
|
| Transformational function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = SELECTED_REAL_KIND(P, R)}
|
| +@code{RESULT = SELECTED_REAL_KIND([P, R])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @@ -9804,7 +9834,7 @@ end program test_sin
|
| @code{SINH(X)} computes the hyperbolic sine of @var{X}.
|
|
|
| @item @emph{Standard}:
|
| -Fortran 95 and later
|
| +Fortran 95 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -9814,11 +9844,11 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}.
|
| +@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL}.
|
| +The return value has same type and kind as @var{X}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -10212,21 +10242,21 @@ This function returns information about a file. No permissions are required on
|
| the file itself, but execute (search) permission is required on all of the
|
| directories in path that lead to the file.
|
|
|
| -The elements that are obtained and stored in the array @code{BUFF}:
|
| +The elements that are obtained and stored in the array @code{VALUES}:
|
| @multitable @columnfractions .15 .70
|
| -@item @code{buff(1)} @tab Device ID
|
| -@item @code{buff(2)} @tab Inode number
|
| -@item @code{buff(3)} @tab File mode
|
| -@item @code{buff(4)} @tab Number of links
|
| -@item @code{buff(5)} @tab Owner's uid
|
| -@item @code{buff(6)} @tab Owner's gid
|
| -@item @code{buff(7)} @tab ID of device containing directory entry for file (0 if not available)
|
| -@item @code{buff(8)} @tab File size (bytes)
|
| -@item @code{buff(9)} @tab Last access time
|
| -@item @code{buff(10)} @tab Last modification time
|
| -@item @code{buff(11)} @tab Last file status change time
|
| -@item @code{buff(12)} @tab Preferred I/O block size (-1 if not available)
|
| -@item @code{buff(13)} @tab Number of blocks allocated (-1 if not available)
|
| +@item @code{VALUES(1)} @tab Device ID
|
| +@item @code{VALUES(2)} @tab Inode number
|
| +@item @code{VALUES(3)} @tab File mode
|
| +@item @code{VALUES(4)} @tab Number of links
|
| +@item @code{VALUES(5)} @tab Owner's uid
|
| +@item @code{VALUES(6)} @tab Owner's gid
|
| +@item @code{VALUES(7)} @tab ID of device containing directory entry for file (0 if not available)
|
| +@item @code{VALUES(8)} @tab File size (bytes)
|
| +@item @code{VALUES(9)} @tab Last access time
|
| +@item @code{VALUES(10)} @tab Last modification time
|
| +@item @code{VALUES(11)} @tab Last file status change time
|
| +@item @code{VALUES(12)} @tab Preferred I/O block size (-1 if not available)
|
| +@item @code{VALUES(13)} @tab Number of blocks allocated (-1 if not available)
|
| @end multitable
|
|
|
| Not all these elements are relevant on all systems.
|
| @@ -10242,13 +10272,13 @@ GNU extension
|
| Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| -@code{CALL STAT(FILE,BUFF[,STATUS])}
|
| +@code{CALL STAT(NAME, VALUES [, STATUS])}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{FILE} @tab The type shall be @code{CHARACTER}, of the
|
| +@item @var{NAME} @tab The type shall be @code{CHARACTER}, of the
|
| default kind and a valid path within the file system.
|
| -@item @var{BUFF} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| +@item @var{VALUES} @tab The type shall be @code{INTEGER(4), DIMENSION(13)}.
|
| @item @var{STATUS} @tab (Optional) status flag of type @code{INTEGER(4)}. Returns 0
|
| on success and a system specific error code otherwise.
|
| @end multitable
|
| @@ -10305,8 +10335,10 @@ Fortran 95 and later
|
| Transformational function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = SUM(ARRAY[, MASK])}
|
| -@code{RESULT = SUM(ARRAY, DIM[, MASK])}
|
| +@multitable @columnfractions .80
|
| +@item @code{RESULT = SUM(ARRAY[, MASK])}
|
| +@item @code{RESULT = SUM(ARRAY, DIM[, MASK])}
|
| +@end multitable
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @@ -10490,7 +10522,7 @@ END PROGRAM
|
| @code{TAN(X)} computes the tangent of @var{X}.
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -10500,12 +10532,11 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}.
|
| +@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL}. The kind type parameter is
|
| -the same as @var{X}.
|
| +The return value has same type and kind as @var{X}.
|
|
|
| @item @emph{Example}:
|
| @smallexample
|
| @@ -10540,7 +10571,7 @@ end program test_tan
|
| @code{TANH(X)} computes the hyperbolic tangent of @var{X}.
|
|
|
| @item @emph{Standard}:
|
| -Fortran 77 and later
|
| +Fortran 77 and later, for a complex argument Fortran 2008 or later
|
|
|
| @item @emph{Class}:
|
| Elemental function
|
| @@ -10550,11 +10581,13 @@ Elemental function
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be @code{REAL}.
|
| +@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| -The return value is of type @code{REAL} and lies in the range
|
| +The return value has same type and kind as @var{X}. If @var{X} is
|
| +complex, the imaginary part of the result is in radians. If @var{X}
|
| +is @code{REAL}, the return value lies in the range
|
| @math{ - 1 \leq tanh(x) \leq 1 }.
|
|
|
| @item @emph{Example}:
|
| @@ -10965,22 +10998,24 @@ the relevant dimension.
|
|
|
| @table @asis
|
| @item @emph{Description}:
|
| -Sets the file creation mask to @var{MASK} and returns the old value in
|
| -argument @var{OLD} if it is supplied. See @code{umask(2)}.
|
| +Sets the file creation mask to @var{MASK}. If called as a function, it
|
| +returns the old value. If called as a subroutine and argument @var{OLD}
|
| +if it is supplied, it is set to the old value. See @code{umask(2)}.
|
|
|
| @item @emph{Standard}:
|
| GNU extension
|
|
|
| @item @emph{Class}:
|
| -Subroutine
|
| +Subroutine, function
|
|
|
| @item @emph{Syntax}:
|
| @code{CALL UMASK(MASK [, OLD])}
|
| +@code{OLD = UMASK(MASK)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| @item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
|
| -@item @var{MASK} @tab (Optional) Shall be a scalar of type
|
| +@item @var{OLD} @tab (Optional) Shall be a scalar of type
|
| @code{INTEGER}.
|
| @end multitable
|
|
|
| @@ -11145,7 +11180,8 @@ Bitwise logical exclusive or.
|
|
|
| This intrinsic routine is provided for backwards compatibility with
|
| GNU Fortran 77. For integer arguments, programmers should consider
|
| -the use of the @ref{IEOR} intrinsic defined by the Fortran standard.
|
| +the use of the @ref{IEOR} intrinsic and for logical arguments the
|
| +@code{.NEQV.} operator, which are both defined by the Fortran standard.
|
|
|
| @item @emph{Standard}:
|
| GNU extension
|
| @@ -11154,13 +11190,13 @@ GNU extension
|
| Function
|
|
|
| @item @emph{Syntax}:
|
| -@code{RESULT = XOR(X, Y)}
|
| +@code{RESULT = XOR(I, J)}
|
|
|
| @item @emph{Arguments}:
|
| @multitable @columnfractions .15 .70
|
| -@item @var{X} @tab The type shall be either a scalar @code{INTEGER}
|
| +@item @var{I} @tab The type shall be either a scalar @code{INTEGER}
|
| type or a scalar @code{LOGICAL} type.
|
| -@item @var{Y} @tab The type shall be the same as the type of @var{I}.
|
| +@item @var{J} @tab The type shall be the same as the type of @var{I}.
|
| @end multitable
|
|
|
| @item @emph{Return value}:
|
| @@ -11191,11 +11227,18 @@ Fortran 95 elemental function: @ref{IEOR}
|
| @chapter Intrinsic Modules
|
| @cindex intrinsic Modules
|
|
|
| -@c @node ISO_FORTRAN_ENV
|
| +@menu
|
| +* ISO_FORTRAN_ENV::
|
| +* ISO_C_BINDING::
|
| +* OpenMP Modules OMP_LIB and OMP_LIB_KINDS::
|
| +@end menu
|
| +
|
| +@node ISO_FORTRAN_ENV
|
| @section @code{ISO_FORTRAN_ENV}
|
| @table @asis
|
| @item @emph{Standard}:
|
| -Fortran 2003 and later
|
| +Fortran 2003 and later; @code{INT8}, @code{INT16}, @code{INT32}, @code{INT64},
|
| +@code{REAL32}, @code{REAL64}, @code{REAL128} are Fortran 2008 or later
|
| @end table
|
|
|
| The @code{ISO_FORTRAN_ENV} module provides the following scalar default-integer
|
| @@ -11215,6 +11258,11 @@ Size in bits of the file-storage unit.
|
| Identifies the preconnected unit identified by the asterisk
|
| (@code{*}) in @code{READ} statement.
|
|
|
| +@item @code{INT8}, @code{INT16}, @code{INT32}, @code{INT64}
|
| +Kind type parameters to specify an INTEGER type with a storage
|
| +size of 16, 32, and 64 bits. It is negative if a target platform
|
| +does not support the particular kind.
|
| +
|
| @item @code{IOSTAT_END}:
|
| The value assigned to the variable passed to the IOSTAT= specifier of
|
| an input/output statement if an end-of-file condition occurred.
|
| @@ -11229,9 +11277,16 @@ The size in bits of the numeric storage unit.
|
| @item @code{OUTPUT_UNIT}:
|
| Identifies the preconnected unit identified by the asterisk
|
| (@code{*}) in @code{WRITE} statement.
|
| +
|
| +@item @code{REAL32}, @code{REAL64}, @code{REAL128}
|
| +Kind type parameters to specify a REAL type with a storage
|
| +size of 32, 64, and 128 bits. It is negative if a target platform
|
| +does not support the particular kind.
|
| @end table
|
|
|
| -@c @node ISO_C_BINDING
|
| +
|
| +
|
| +@node ISO_C_BINDING
|
| @section @code{ISO_C_BINDING}
|
| @table @asis
|
| @item @emph{Standard}:
|
| @@ -11252,12 +11307,8 @@ manual.
|
| @c TODO: Vertical spacing between C_FUNLOC and C_LOC wrong in PDF,
|
| @c don't really know why.
|
|
|
| -The @code{ISO_C_BINDING} module provides the following named constants of the
|
| -type integer, which can be used as KIND type parameter. Note that GNU
|
| -Fortran currently does not support the @code{C_INT_FAST...} KIND type
|
| -parameters (marked by an asterisk (@code{*}) in the list below).
|
| -The @code{C_INT_FAST...} parameters have therefore the value @math{-2}
|
| -and cannot be used as KIND type parameter of the @code{INTEGER} type.
|
| +The @code{ISO_C_BINDING} module provides the following named constants of
|
| +type default integer, which can be used as KIND type parameters.
|
|
|
| In addition to the integer named constants required by the Fortran 2003
|
| standard, GNU Fortran provides as an extension named constants for the
|
| @@ -11276,17 +11327,17 @@ C_INT_LEAST128_T, C_INT_FAST128_T}.
|
| @item @code{INTEGER}@tab @code{C_INT16_T} @tab @code{int16_t}
|
| @item @code{INTEGER}@tab @code{C_INT32_T} @tab @code{int32_t}
|
| @item @code{INTEGER}@tab @code{C_INT64_T} @tab @code{int64_t}
|
| -@item @code{INTEGER}@tab @code{C_INT128_T} @tab @code{int128_t} @tab Ext.
|
| +@item @code{INTEGER}@tab @code{C_INT128_T} @tab @code{int128_t} @tab Ext.
|
| @item @code{INTEGER}@tab @code{C_INT_LEAST8_T} @tab @code{int_least8_t}
|
| @item @code{INTEGER}@tab @code{C_INT_LEAST16_T} @tab @code{int_least16_t}
|
| @item @code{INTEGER}@tab @code{C_INT_LEAST32_T} @tab @code{int_least32_t}
|
| @item @code{INTEGER}@tab @code{C_INT_LEAST64_T} @tab @code{int_least64_t}
|
| -@item @code{INTEGER}@tab @code{C_INT_LEAST128_T} @tab @code{int_least128_t} @tab Ext.
|
| -@item @code{INTEGER}@tab @code{C_INT_FAST8_T}* @tab @code{int_fast8_t}
|
| -@item @code{INTEGER}@tab @code{C_INT_FAST16_T}* @tab @code{int_fast16_t}
|
| -@item @code{INTEGER}@tab @code{C_INT_FAST32_T}* @tab @code{int_fast32_t}
|
| -@item @code{INTEGER}@tab @code{C_INT_FAST64_T}* @tab @code{int_fast64_t}
|
| -@item @code{INTEGER}@tab @code{C_INT_FAST128_T}* @tab @code{int_fast128_t} @tab Ext.
|
| +@item @code{INTEGER}@tab @code{C_INT_LEAST128_T}@tab @code{int_least128_t} @tab Ext.
|
| +@item @code{INTEGER}@tab @code{C_INT_FAST8_T} @tab @code{int_fast8_t}
|
| +@item @code{INTEGER}@tab @code{C_INT_FAST16_T} @tab @code{int_fast16_t}
|
| +@item @code{INTEGER}@tab @code{C_INT_FAST32_T} @tab @code{int_fast32_t}
|
| +@item @code{INTEGER}@tab @code{C_INT_FAST64_T} @tab @code{int_fast64_t}
|
| +@item @code{INTEGER}@tab @code{C_INT_FAST128_T} @tab @code{int_fast128_t} @tab Ext.
|
| @item @code{INTEGER}@tab @code{C_INTMAX_T} @tab @code{intmax_t}
|
| @item @code{INTEGER}@tab @code{C_INTPTR_T} @tab @code{intptr_t}
|
| @item @code{REAL} @tab @code{C_FLOAT} @tab @code{float}
|
| @@ -11299,8 +11350,8 @@ C_INT_LEAST128_T, C_INT_FAST128_T}.
|
| @item @code{CHARACTER}@tab @code{C_CHAR} @tab @code{char}
|
| @end multitable
|
|
|
| -Additionally, the following @code{(CHARACTER(KIND=C_CHAR))} are
|
| -defined.
|
| +Additionally, the following parameters of type @code{CHARACTER(KIND=C_CHAR)}
|
| +are defined.
|
|
|
| @multitable @columnfractions .20 .45 .15
|
| @item Name @tab C definition @tab Value
|
| @@ -11314,7 +11365,7 @@ defined.
|
| @item @code{C_VERTICAL_TAB} @tab vertical tab @tab @code{'\v'}
|
| @end multitable
|
|
|
| -@c @node OpenMP Modules OMP_LIB and OMP_LIB_KINDS
|
| +@node OpenMP Modules OMP_LIB and OMP_LIB_KINDS
|
| @section OpenMP Modules @code{OMP_LIB} and @code{OMP_LIB_KINDS}
|
| @table @asis
|
| @item @emph{Standard}:
|
|
|