systems that support a core dump, @code{ABORT} produces a core dump.
It also prints a backtrace, unless @code{-fno-backtrace} is given.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
end program test_abort
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{EXIT}, @*
@ref{KILL}, @*
@item @emph{Description}:
@code{ABS(A)} computes the absolute value of @code{A}.
-@item @emph{Standard}:
-Fortran 77 and later, has overloads that are GNU extensions
-
@item @emph{Class}:
Elemental function
@item @code{ZABS(A)} @tab @code{COMPLEX(8) A} @tab @code{REAL(8)} @tab GNU extension
@item @code{CDABS(A)} @tab @code{COMPLEX(8) A} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, has overloads that are GNU extensions
@end table
executable check, @code{ACCESS} can be replaced by
Fortran 95's @code{INQUIRE}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Inquiry function
print *, trim(file2),' is readable, writable and executable'
end program access_test
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
@code{ACHAR(I)} returns the character located at position @code{I}
in the @acronym{ASCII} collating sequence.
-@item @emph{Standard}:
-Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
See @ref{ICHAR} for a discussion of converting between numerical values
and formatted string representations.
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{CHAR}, @*
@ref{IACHAR}, @*
@item @emph{Description}:
@code{ACOS(X)} computes the arccosine of @var{X} (inverse of @code{COS(X)}).
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DACOS(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument Fortran 2008 or later
+
@item @emph{See also}:
Inverse function: @*
@ref{COS} @*
@code{ACOSD(X)} computes the arccosine of @var{X} in degrees (inverse of
@code{COSD(X)}).
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{DACOSD(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{COSD} @*
@item @emph{Description}:
@code{ACOSH(X)} computes the inverse hyperbolic cosine of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@item @code{DACOSH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
Inverse function: @*
@ref{COSH}
@code{ADJUSTL(STRING)} left adjusts a string by removing leading spaces.
Spaces are inserted at the end of the string as needed.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
end program test_adjustl
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{ADJUSTR}, @*
@ref{TRIM}
@code{ADJUSTR(STRING)} right adjusts a string by removing trailing spaces.
Spaces are inserted at the start of the string as needed.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
end program test_adjustr
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{ADJUSTL}, @*
@ref{TRIM}
for compatibility with @command{g77}, and their use in new code is
strongly discouraged.
-@item @emph{Standard}:
-Fortran 77 and later, has overloads that are GNU extensions
-
@item @emph{Class}:
Elemental function
@item @code{IMAG(Z)} @tab @code{COMPLEX Z} @tab @code{REAL} @tab GNU extension
@item @code{IMAGPART(Z)} @tab @code{COMPLEX Z} @tab @code{REAL} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, has overloads that are GNU extensions
@end table
@item @emph{Description}:
@code{AINT(A [, KIND])} truncates its argument to a whole number.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{AINT(A)} @tab @code{REAL(4) A} @tab @code{REAL(4)} @tab Fortran 77 and later
@item @code{DINT(A)} @tab @code{REAL(8) A} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
any previously scheduled alarm was due to be delivered, or zero if there
was no previously scheduled alarm.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
@end smallexample
This causes the external routine @var{handler_print} to be called
after 3 seconds.
+
+@item @emph{Standard}:
+GNU extension
@end table
@code{ALL(MASK [, DIM])} determines if all the values are true in @var{MASK}
in the array along dimension @var{DIM}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
end subroutine section
end program test_all
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@code{ALLOCATED(ARRAY)} and @code{ALLOCATED(SCALAR)} check the allocation
status of @var{ARRAY} and @var{SCALAR}, respectively.
-@item @emph{Standard}:
-Fortran 90 and later. Note, the @code{SCALAR=} keyword and allocatable
-scalar entities are available in Fortran 2003 and later.
-
@item @emph{Class}:
Inquiry function
if (.not. allocated(x)) allocate(x(i))
end program test_allocated
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later. Note, the @code{SCALAR=} keyword and allocatable
+scalar entities are available in Fortran 2003 and later.
@end table
GNU Fortran 77. For integer arguments, programmers should consider
the use of the @ref{IAND} intrinsic defined by the Fortran standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
Fortran 95 elemental function: @*
@ref{IAND}
@item @emph{Description}:
@code{ANINT(A [, KIND])} rounds its argument to the nearest whole number.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{ANINT(A)} @tab @code{REAL(4) A} @tab @code{REAL(4)} @tab Fortran 77 and later
@item @code{DNINT(A)} @tab @code{REAL(8) A} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
@code{ANY(MASK [, DIM])} determines if any of the values in the logical array
@var{MASK} along dimension @var{DIM} are @code{.TRUE.}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
end subroutine section
end program test_any
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
@code{ASIN(X)} computes the arcsine of its @var{X} (inverse of @code{SIN(X)}).
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DASIN(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument Fortran 2008 or later
+
@item @emph{See also}:
Inverse function: @*
@ref{SIN} @*
@code{ASIND(X)} computes the arcsine of its @var{X} in degrees (inverse of
@code{SIND(X)}).
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{DASIND(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{SIND} @*
@item @emph{Description}:
@code{ASINH(X)} computes the inverse hyperbolic sine of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@item @code{DASINH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension.
@end multitable
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
Inverse function: @*
@ref{SINH}
@code{ASSOCIATED(POINTER [, TARGET])} determines the status of the pointer
@var{POINTER} or if @var{POINTER} is associated with the target @var{TARGET}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
end program test_associated
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{NULL}
@end table
@item @emph{Description}:
@code{ATAN(X)} computes the arctangent of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument and for two arguments
-Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DATAN(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument and for two arguments
+Fortran 2008 or later
+
@item @emph{See also}:
Inverse function: @*
@ref{TAN} @*
@code{ATAND(X)} computes the arctangent of @var{X} in degrees (inverse of
@ref{TAND}).
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{DATAND(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{TAND} @*
be used to transform from Cartesian into polar coordinates and
allows to determine the angle in the correct quadrant.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{DATAN2(X, Y)} @tab @code{REAL(8) X, Y} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
Alias: @*
@ref{ATAN} @*
be used to transform from Cartesian into polar coordinates and
allows to determine the angle in the correct quadrant.
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{DATAN2D(X, Y)} @tab @code{REAL(8) X, Y} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Alias: @*
@ref{ATAND} @*
@item @emph{Description}:
@code{ATANH(X)} computes the inverse hyperbolic tangent of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@item @code{DATANH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
Inverse function: @*
@ref{TANH}
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_FETCH_ADD}, @*
value of @code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote
image has failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_FETCH_AND}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_REF}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-Fortran 2008 and later; with @var{STAT}, TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later; with @var{STAT}, TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_REF}, @*
@ref{ATOMIC_CAS}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_ADD}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_AND}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_OR}, @*
@code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image has
failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_XOR}, @*
value of @code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote
image has failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_FETCH_OR}, @*
of @code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote image
has failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-Fortran 2008 and later; with @var{STAT}, TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later; with @var{STAT}, TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_CAS}, @*
value of @code{ISO_FORTRAN_ENV}'s @code{STAT_STOPPED_IMAGE} and if the remote
image has failed, the value @code{STAT_FAILED_IMAGE}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
Atomic subroutine
end program atomic
@end smallexample
+@item @emph{Standard}:
+TS 18508 or later
+
@item @emph{See also}:
@ref{ATOMIC_DEFINE}, @*
@ref{ATOMIC_FETCH_XOR}, @*
execution continues normally afterwards. The backtrace information is printed
to the unit corresponding to @code{ERROR_UNIT} in @code{ISO_FORTRAN_ENV}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
@item @emph{Arguments}:
None
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ABORT}
@end table
order 0 of @var{X}. This function is available under the name
@code{BESJ0} as a GNU extension.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DBESJ0(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
order 1 of @var{X}. This function is available under the name
@code{BESJ1} as a GNU extension.
-@item @emph{Standard}:
-Fortran 2008
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DBESJ1(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008
@end table
@code{BESSEL_JN(N1, N2, X)} returns an array with the Bessel functions
of the first kind of the orders @var{N1} to @var{N2}.
-@item @emph{Standard}:
-Fortran 2008 and later, negative @var{N} is allowed as GNU extension
-
@item @emph{Class}:
Elemental function, except for the transformational function
@code{BESSEL_JN(N1, N2, X)}
@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
+
+@item @emph{Standard}:
+Fortran 2008 and later, negative @var{N} is allowed as GNU extension
@end table
order 0 of @var{X}. This function is available under the name
@code{BESY0} as a GNU extension.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DBESY0(X)}@tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
order 1 of @var{X}. This function is available under the name
@code{BESY1} as a GNU extension.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DBESY1(X)}@tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@code{BESSEL_YN(N1, N2, X)} returns an array with the Bessel functions
of the first kind of the orders @var{N1} to @var{N2}.
-@item @emph{Standard}:
-Fortran 2008 and later, negative @var{N} is allowed as GNU extension
-
@item @emph{Class}:
Elemental function, except for the transformational function
@code{BESSEL_YN(N1, N2, X)}
@item @code{DBESYN(N,X)} @tab @code{INTEGER N} @tab @code{REAL(8)} @tab GNU extension
@item @tab @code{REAL(8) X} @tab @tab
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later, negative @var{N} is allowed as GNU extension
@end table
Determines whether an integral is a bitwise greater than or equal to
another.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
For @code{UNSIGNED} arguments, this function is identical to the
@code{.GE.} and @code{>=} operators.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{BGT}, @*
@ref{BLE}, @*
@item @emph{Description}:
Determines whether an integral is a bitwise greater than another.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
For @code{UNSIGNED} arguments, this function is identical to the
@code{.GT.} and @code{>} operators.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{BGE}, @*
@ref{BLE}, @*
plus the sign bit) represented by the type of @var{I}. The result of
@code{BIT_SIZE(I)} is independent of the actual value of @var{I}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Inquiry function
print *, size
end program test_bit_size
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
Determines whether an integral is a bitwise less than or equal to
another.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
For @code{UNSIGNED} arguments, this function is identical to the
@code{.LE.} and @code{<=} operators.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{BGT}, @*
@ref{BGE}, @*
@item @emph{Description}:
Determines whether an integral is a bitwise less than another.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
For @code{UNSIGNED} arguments, this function is identical to the
@code{.LT.} and @code{<} operators.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{BGE}, @*
@ref{BGT}, @*
@code{BTEST(I,POS)} returns logical @code{.TRUE.} if the bit at @var{POS}
in @var{I} is set. The counting of the bits starts at 0.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions; extension
-for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{BJTEST(I,POS)} @tab @code{INTEGER(4) I,POS} @tab @code{LOGICAL(4)} @tab GNU extension
@item @code{BKTEST(I,POS)} @tab @code{INTEGER(8) I,POS} @tab @code{LOGICAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions; extension
+for @code{UNSIGNED} (@pxref{Unsigned integers})
@end table
@node C_ASSOCIATED
@code{C_ASSOCIATED(c_ptr_1[, c_ptr_2])} determines the status of the C pointer
@var{c_ptr_1} or if @var{c_ptr_1} is associated with the target @var{c_ptr_2}.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
end subroutine association_test
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{C_LOC}, @*
@ref{C_FUNLOC}
@code{C_F_POINTER(CPTR, FPTR[, SHAPE])} assigns the target of the C pointer
@var{CPTR} to the Fortran pointer @var{FPTR} and specifies its shape.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Subroutine
end program main
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{C_LOC}, @*
@ref{C_F_PROCPOINTER}
@code{C_F_PROCPOINTER(CPTR, FPTR)} Assign the target of the C function pointer
@var{CPTR} to the Fortran procedure pointer @var{FPTR}.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Subroutine
end program main
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{C_LOC}, @*
@ref{C_F_POINTER}
@item @emph{Description}:
@code{C_FUNLOC(x)} determines the C address of the argument.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
end program main
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{C_ASSOCIATED}, @*
@ref{C_LOC}, @*
@item @emph{Description}:
@code{C_LOC(X)} determines the C address of the argument.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
end subroutine association_test
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{C_ASSOCIATED}, @*
@ref{C_FUNLOC}, @*
@code{C_SIZEOF(X)} calculates the number of bytes of storage the
expression @code{X} occupies.
-@item @emph{Standard}:
-Fortran 2008
-
@item @emph{Class}:
Inquiry function of the module @code{ISO_C_BINDING}
The example prints @code{T} unless you are using a platform
where default @code{REAL} variables are unusually padded.
+@item @emph{Standard}:
+Fortran 2008
+
@item @emph{See also}:
@ref{SIZEOF}, @*
@ref{STORAGE_SIZE}
@item @emph{Description}:
@code{CEILING(A)} returns the least integer greater than or equal to @var{A}.
-@item @emph{Standard}:
-Fortran 95 and later
-
@item @emph{Class}:
Elemental function
end program test_ceiling
@end smallexample
+@item @emph{Standard}:
+Fortran 95 and later
+
@item @emph{See also}:
@ref{FLOOR}, @*
@ref{NINT}
@item @emph{Description}:
@code{CHAR(I [, KIND])} returns the character represented by the integer @var{I}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
See @ref{ICHAR} for a discussion of converting between numerical values
and formatted string representations.
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{ACHAR}, @*
@ref{IACHAR}, @*
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
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GETCWD}
@end table
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
-
@item @emph{Class}:
Subroutine, function
end program chmod_test
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
component. If @var{Y} is not present then the imaginary component is set to
0.0. If @var{X} is complex then @var{Y} must not be present.
-@item @emph{Standard}:
-Fortran 77 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
end program test_cmplx
@end smallexample
+@item @emph{Standard}:
+Fortran 77 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{COMPLEX}
@end table
execution failed, @var{STAT} gets assigned a nonzero value and, if present,
@var{ERRMSG} gets assigned a value describing the occurred error.
-@item @emph{Standard}:
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Collective subroutine
end program test
@end smallexample
+@item @emph{Standard}:
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{CO_MAX}, @*
@ref{CO_MIN}, @*
execution failed, @var{STAT} gets assigned a nonzero value and, if present,
@var{ERRMSG} gets assigned a value describing the occurred error.
-@item @emph{Standard}:
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Collective subroutine
end program test
@end smallexample
+@item @emph{Standard}:
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{CO_MIN}, @*
@ref{CO_SUM}, @*
execution failed, @var{STAT} gets assigned a nonzero value and, if present,
@var{ERRMSG} gets assigned a value describing the occurred error.
-@item @emph{Standard}:
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Collective subroutine
end program test
@end smallexample
+@item @emph{Standard}:
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{CO_MAX}, @*
@ref{CO_SUM}, @*
a nonzero value and, if present, @var{ERRMSG} gets assigned a value describing
the occurred error.
-@item @emph{Standard}:
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Collective subroutine
function, which takes two arguments of the same type and returning that
type as result.
+@item @emph{Standard}:
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{CO_MIN}, @*
@ref{CO_MAX}, @*
execution failed, @var{STAT} gets assigned a nonzero value and, if present,
@var{ERRMSG} gets assigned a value describing the occurred error.
-@item @emph{Standard}:
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Collective subroutine
end program test
@end smallexample
+@item @emph{Standard}:
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{CO_MAX}, @*
@ref{CO_MIN}, @*
@code{COMMAND_ARGUMENT_COUNT} returns the number of arguments passed on the
command line when the containing program was invoked.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
end program test_command_argument_count
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{GET_COMMAND}, @*
@ref{GET_COMMAND_ARGUMENT}
@code{COMPILER_OPTIONS} returns a string with the options used for
compiling.
-@item @emph{Standard}:
-Fortran 2008
-
@item @emph{Class}:
Inquiry function of the module @code{ISO_FORTRAN_ENV}
end
@end smallexample
+@item @emph{Standard}:
+Fortran 2008
+
@item @emph{See also}:
@ref{COMPILER_VERSION}, @*
@ref{ISO_FORTRAN_ENV}
@code{COMPILER_VERSION} returns a string with the name and the
version of the compiler.
-@item @emph{Standard}:
-Fortran 2008
-
@item @emph{Class}:
Inquiry function of the module @code{ISO_FORTRAN_ENV}
end
@end smallexample
+@item @emph{Standard}:
+Fortran 2008
+
@item @emph{See also}:
@ref{COMPILER_OPTIONS}, @*
@ref{ISO_FORTRAN_ENV}
to the real component and @var{Y} is converted to the imaginary
component.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
end program test_complex
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CMPLX}
@end table
@code{CONJG(Z)} returns the conjugate of @var{Z}. If @var{Z} is @code{(x, y)}
then the result is @code{(x, -y)}
-@item @emph{Standard}:
-Fortran 77 and later, has an overload that is a GNU extension
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DCONJG(Z)} @tab @code{COMPLEX(8) Z} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, has an overload that is a GNU extension
@end table
@item @emph{Description}:
@code{COS(X)} computes the cosine of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, has overloads that are GNU extensions
-
@item @emph{Class}:
Elemental function
@item @code{CDCOS(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, has overloads that are GNU extensions
+
@item @emph{See also}:
Inverse function: @*
@ref{ACOS} @*
@item @emph{Description}:
@code{COSD(X)} computes the cosine of @var{X} in degrees.
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{CDCOSD(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{ACOSD} @*
@item @emph{Description}:
@code{COSH(X)} computes the hyperbolic cosine of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DCOSH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument Fortran 2008 or later
+
@item @emph{See also}:
Inverse function: @*
@ref{ACOSH}
This function is for compatibility only and should be avoided in favor of
standard constructs wherever possible.
-@item @emph{Standard}:
-GNU extension, enabled with @option{-fdec-math}.
-
@item @emph{Class}:
Elemental function
@item @code{DCOTAN(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+GNU extension, enabled with @option{-fdec-math}.
+
@item @emph{See also}:
Converse function: @*
@ref{TAN} @*
@code{COTAND(X)} computes the cotangent of @var{X} in degrees. Equivalent to
@code{COSD(x)} divided by @code{SIND(x)}, or @code{1 / TAND(x)}.
-@item @emph{Standard}:
-GNU extension.
-
-This function is for compatibility only and should be avoided in favor of
-standard constructs wherever possible.
-
@item @emph{Class}:
Elemental function
@item @code{DCOTAND(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+GNU extension.
+
+This function is for compatibility only and should be avoided in favor of
+standard constructs wherever possible.
+
@item @emph{See also}:
Converse function: @*
@ref{TAND} @*
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 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Transformational function
print '(3i3)', count(mask, 2)
end program test_count
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
@end table
value is meaningless; only differences between subsequent calls to
this subroutine, as shown in the example below, should be used.
-@item @emph{Standard}:
-Fortran 95 and later
-
@item @emph{Class}:
Subroutine
end program test_cpu_time
@end smallexample
+@item @emph{Standard}:
+Fortran 95 and later
+
@item @emph{See also}:
@ref{SYSTEM_CLOCK}, @*
@ref{DATE_AND_TIME}
sections of @var{ARRAY} along the given dimension are shifted. Elements
shifted out one end of each rank one section are shifted back in the other end.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
print '(3i3)', a(3,:)
end program test_cshift
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
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
-
@item @emph{Class}:
Subroutine, function
end program test_ctime
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{GMTIME}, @*
@item @code{VALUES(8)}: @tab The milliseconds of the second
@end multitable
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Subroutine
end program test_time_and_date
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{CPU_TIME}, @*
@ref{SYSTEM_CLOCK}
@item @emph{Description}:
@code{DBLE(A)} Converts @var{A} to double precision real type.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
end program test_dble
@end smallexample
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{REAL}
@end table
imaginary component. If @var{Y} is not present then the imaginary component is
set to 0.0. If @var{X} is complex then @var{Y} must not be present.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
print *, dcmplx(x,i)
end program test_dcmplx
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
model representation of @var{X}. For example, on a system using a 32-bit
floating point representation, a default real number would likely return 24.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Inquiry function
print *, digits(y)
end program test_digits
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
@code{DIM(X,Y)} returns the difference @code{X-Y} if the result is positive;
otherwise returns zero.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{IDIM(X,Y)} @tab @code{INTEGER(4) X, Y} @tab @code{INTEGER(4)} @tab Fortran 77 and later
@item @code{DDIM(X,Y)} @tab @code{REAL(8) X, Y} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
or @var{VECTOR_B} is @code{UNSIGNED}, the other one shall also be
@code{UNSIGNED}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
print *, dot_product(a,b)
end program test_dot_prod
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
@item @emph{Description}:
@code{DPROD(X,Y)} returns the product @code{X*Y}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{DPROD(X,Y)} @tab @code{REAL(4) X, Y} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
@item @emph{Description}:
@code{DREAL(Z)} returns the real part of complex variable @var{Z}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
end program test_dreal
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{AIMAG}
bits of @var{J}, and the remaining bits are the rightmost bits of
@var{I}.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
The return value is the same type and type kind parameter as @var{I} or,
if @var{I} is a BOZ constant, @var{J}.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{DSHIFTR}
@end table
bits of @var{I}, and the remaining bits are the leftmost bits of
@var{J}.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
The return value is the same type and type kind parameter as @var{I} or,
if @var{I} is a BOZ constant, @var{J}.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{DSHIFTL}
@end table
@item @code{TIME}: @tab Run time since start in seconds.
@end multitable
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
end program test_dtime
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CPU_TIME}
@item Character(@var{len}) @tab @var{len} blanks.
@end multitable
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
print '(3i3)', a(3,:)
end program test_eoshift
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
@code{EPSILON(X)} returns the smallest number @var{E} of the same kind
as @var{X} such that @math{1 + E > 1}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
print *, EPSILON(y)
end program test_epsilon
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
@code{ERF(X)} computes the error function of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DERF(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@item @emph{Description}:
@code{ERFC(X)} computes the complementary error function of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@headitem Name @tab Argument @tab Return type @tab Standard
@item @code{DERFC(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@code{ERFC_SCALED(X)} computes the exponentially-scaled complementary
error function of @var{X}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
x = erfc_scaled(x)
end program test_erfc_scaled
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@item @code{TIME}: @tab Run time since start in seconds.
@end multitable
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
end program test_etime
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CPU_TIME}
it is assigned the value 0. If it is present and the invocation fails,
it is assigned a positive value and @var{COUNT} is assigned the value @math{-1}.
-@item @emph{Standard}:
-TS 18508 or later
-
@item @emph{Class}:
subroutine
end program atomic
@end smallexample
+
+@item @emph{Standard}:
+TS 18508 or later
@end table
@code{posix_spawn} or @code{fork} functions are used. Also, a signal
handler for the @code{SIGCHLD} signal is installed.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Subroutine
such, if the parent process is terminated, the child process might not be
terminated alongside.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{SYSTEM}
@end table
is omitted it returns the canonical @emph{success} for the system. All Fortran
I/O units are closed.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
end program test_exit
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ABORT}, @*
@ref{KILL}
@item @emph{Description}:
@code{EXP(X)} computes the base @math{e} exponential of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, has overloads that are GNU extensions
-
@item @emph{Class}:
Elemental function
@item @code{ZEXP(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@item @code{CDEXP(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, has overloads that are GNU extensions
@end table
@code{EXPONENT(X)} returns the value of the exponent part of @var{X}. If @var{X}
is zero the value returned is zero.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
print *, exponent(0.0)
end program test_exponent
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
Query dynamic type for extension.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
The return value is a scalar of type default logical. It is true if and only if
the dynamic type of A is an extension type of the dynamic type of MOLD.
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{SAME_TYPE_AS}
@end table
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
-
@item @emph{Class}:
Subroutine, function
end program test_fdate
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CTIME}
Programmers should consider the use of new stream IO feature in new code
for future portability. See also @ref{Fortran 2003 status}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FGETC}, @*
@ref{FPUT}, @*
Programmers should consider the use of new stream IO feature in new code
for future portability. See also @ref{Fortran 2003 status}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FGET}, @*
@ref{FPUT}, @*
elements of @var{MASK} along a given row are zero, the result value
for that row is zero.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Transformational function
is present, the result is an integer of kind @var{KIND}, otherwise it
is of default kind.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{MAXLOC}, @*
@ref{MINLOC}
@item @emph{Description}:
@code{FLOOR(A)} returns the greatest integer less than or equal to @var{A}.
-@item @emph{Standard}:
-Fortran 95 and later
-
@item @emph{Class}:
Elemental function
end program test_floor
@end smallexample
+@item @emph{Standard}:
+Fortran 95 and later
+
@item @emph{See also}:
@ref{CEILING}, @*
@ref{NINT}
Flushes Fortran unit(s) currently open for output. Without the optional
argument, all units are flushed, otherwise just the unit specified.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
if (ret /= 0) stop "Error calling FSYNC"
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
@code{FNUM(UNIT)} returns the POSIX file descriptor number corresponding to the
open Fortran I/O unit @code{UNIT}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
close (10)
end program test_fnum
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
Programmers should consider the use of new stream IO feature in new code
for future portability. See also @ref{Fortran 2003 status}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FPUTC}, @*
@ref{FGET}, @*
Programmers should consider the use of new stream IO feature in new code
for future portability. See also @ref{Fortran 2003 status}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FPUT}, @*
@ref{FGET}, @*
@code{FRACTION(X)} returns the fractional part of the model
representation of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
end program test_fraction
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
new code using Fortran 95 pointers, the memory de-allocation intrinsic is
@code{DEALLOCATE}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
@item @emph{Example}:
See @code{MALLOC} for an example.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{MALLOC}
@end table
Programmers should consider the use of new stream IO feature in new code
for future portability. See also @ref{Fortran 2003 status}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FTELL}
@end table
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
-
@item @emph{Class}:
Subroutine, function
@item @emph{Example}:
See @ref{STAT} for an example.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
To stat a link: @*
@ref{LSTAT} @*
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
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FSEEK}
@end table
$$
@end tex
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@item @code{DGAMMA(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
Logarithm of the Gamma function: @*
@ref{LOG_GAMMA}
Returns the system error message corresponding to the last system error.
This resembles the functionality of @code{strerror(3)} in C.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{IERRNO}, @*
@ref{PERROR}
the @ref{GET_COMMAND_ARGUMENT} intrinsic defined by the Fortran 2003
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
GNU Fortran 77 compatibility function: @*
@ref{IARGC} @*
@item @emph{Description}:
Retrieve the entire command line that was used to invoke the program.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{GET_COMMAND_ARGUMENT}, @*
@ref{COMMAND_ARGUMENT_COUNT}
Retrieve the @var{NUMBER}-th argument that was passed on the
command line when the containing program was invoked.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{GET_COMMAND}, @*
@ref{COMMAND_ARGUMENT_COUNT}
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
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CHDIR}
@end table
responsibility of the user to ensure that the environment is not being
updated concurrently with a call to the @code{GETENV} intrinsic.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GET_ENVIRONMENT_VARIABLE}
@end table
not being updated concurrently with a call to the
@code{GET_ENVIRONMENT_VARIABLE} intrinsic.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Subroutine
WRITE (*,*) TRIM(homedir)
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
@item @emph{Description}:
Returns the numerical group ID of the current process.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
@item @emph{Example}:
See @code{GETPID} for an example.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GETPID}, @*
@ref{GETUID}
@item @emph{Description}:
Gets the username under which the program is running.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GETUID}
@end table
@item @emph{Description}:
Returns the numerical process identifier of the current process.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
end program info
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GETGID}, @*
@ref{GETUID}
@item @emph{Description}:
Returns the numerical user ID of the current process.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
@item @emph{Example}:
See @code{GETPID} for an example.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{GETPID}, @*
@ref{GETLOG}
the @ref{DATE_AND_TIME} intrinsic defined by the Fortran 95
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
effect, zero if not, and negative if the information is not available.
@end enumerate
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CTIME}, @*
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
-
@item @emph{Class}:
Subroutine, function
In either syntax, @var{NAME} is set to the current hostname if it can
be obtained, or to a blank string otherwise.
+
+@item @emph{Standard}:
+GNU extension
@end table
@code{HUGE(X)} returns the largest number that is not an infinity in
the model of the type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Inquiry function
print *, tiny(0.0), tiny(0.0d0)
end program test_huge_tiny
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
@code{HYPOT(X,Y)} is the Euclidean distance function. It is equal to
@math{\sqrt{X^2 + Y^2}}, without undue underflow or overflow.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
x = hypot(x,y)
end program test_hypot
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@code{IACHAR(C)} returns the code for the @acronym{ASCII} character
in the first character position of @code{C}.
-@item @emph{Standard}:
-Fortran 95 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
See @ref{ICHAR} for a discussion of converting between numerical values
and formatted string representations.
+@item @emph{Standard}:
+Fortran 95 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{ACHAR}, @*
@ref{CHAR}, @*
Reduces with bitwise AND the elements of @var{ARRAY} along dimension @var{DIM}
if the corresponding element in @var{MASK} is @code{TRUE}.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{IANY}, @*
@ref{IPARITY}, @*
@item @emph{Description}:
Bitwise logical @code{AND}.
-@item @emph{Standard}:
-Fortran 90 and later, with boz-literal-constant Fortran 2008 and
-later, has overloads that are GNU extensions. Extension for
-@code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIAND(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, with boz-literal-constant Fortran 2008 and
+later, has overloads that are GNU extensions. Extension for
+@code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IOR}, @*
@ref{IEOR}, @*
Reduces with bitwise OR (inclusive or) the elements of @var{ARRAY} along
dimension @var{DIM} if the corresponding element in @var{MASK} is @code{TRUE}.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{IPARITY}, @*
@ref{IALL}, @*
the @ref{COMMAND_ARGUMENT_COUNT} intrinsic defined by the Fortran 2003
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
@item @emph{Example}:
See @ref{GETARG}
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
GNU Fortran 77 compatibility subroutine: @*
@ref{GETARG} @*
@code{IBCLR} returns the value of @var{I} with the bit at position
@var{POS} set to zero.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension
-for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIBCLR(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension
+for @code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IBITS}, @*
@ref{IBSET}, @*
zeroed. The value of @code{POS+LEN} must be less than or equal to the
value @code{BIT_SIZE(I)}.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension
-for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIBITS(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension
+for @code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{BIT_SIZE}, @*
@ref{IBCLR}, @*
@code{IBSET} returns the value of @var{I} with the bit at position
@var{POS} set to one.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension
-for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIBSET(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension
+for @code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IBCLR}, @*
@ref{IBITS}, @*
The correspondence between characters and their codes is not necessarily
the same across different GNU Fortran implementations.
-@item @emph{Standard}:
-Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
end program read_val
@end smallexample
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{ACHAR}, @*
@ref{CHAR}, @*
the @ref{DATE_AND_TIME} intrinsic defined by the Fortran 95
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
end program test_idate
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}
@end table
@code{IEOR} returns the bitwise Boolean exclusive-OR of @var{I} and
@var{J}.
-@item @emph{Standard}:
-Fortran 90 and later, with boz-literal-constant Fortran 2008 and
-later, has overloads that are GNU extensions. Extension for
-@code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIEOR(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, with boz-literal-constant Fortran 2008 and
+later, has overloads that are GNU extensions. Extension for
+@code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IOR}, @*
@ref{IAND}, @*
Returns the last system error number, as given by the C @code{errno}
variable.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
The return value is of type @code{INTEGER} and of the default integer
kind.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{PERROR}
@end table
@item @emph{Description}:
Returns the image index belonging to a cosubscript.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Inquiry function.
WRITE (*,*) IMAGE_INDEX (array, [2,0,3,1])
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{THIS_IMAGE}, @*
@ref{NUM_IMAGES}
the @var{BACK} argument is present and true, the return value is the
start of the last occurrence rather than the first.
-@item @emph{Standard}:
-Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
@item @code{INDEX(STRING,SUBSTRING)} @tab @code{CHARACTER} @tab @code{INTEGER(4)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{SCAN}, @*
@ref{VERIFY}
@item @emph{Description}:
Convert to integer type
-@item @emph{Standard}:
-Fortran 77 and later, with boz-literal-constant Fortran 2008 and later.
-
@item @emph{Class}:
Elemental function, extension for @code{UNSIGNED} (@pxref{Unsigned
integers}).
@item @code{IDINT(A)} @tab @code{REAL(8) A} @tab @code{INTEGER} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, with boz-literal-constant Fortran 2008 and later.
@end table
standard @code{INT} intrinsic with an optional argument of
@code{KIND=2}, and is only included for backwards compatibility.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The return value is a @code{INTEGER(2)} variable.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{INT}, @*
@ref{INT8}
standard @code{INT} intrinsic with an optional argument of
@code{KIND=8}, and is only included for backwards compatibility.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The return value is a @code{INTEGER(8)} variable.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{INT}, @*
@ref{INT2}
@code{IOR} returns the bitwise Boolean inclusive-OR of @var{I} and
@var{J}.
-@item @emph{Standard}:
-Fortran 90 and later, with boz-literal-constant Fortran 2008 and
-later, has overloads that are GNU extensions. Extension for
-@code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KIOR(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, with boz-literal-constant Fortran 2008 and
+later, has overloads that are GNU extensions. Extension for
+@code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IEOR}, @*
@ref{IAND}, @*
Reduces with bitwise XOR (exclusive or) the elements of @var{ARRAY} along
dimension @var{DIM} if the corresponding element in @var{MASK} is @code{TRUE}.
-@item @emph{Standard}:
-Fortran 2008 and later. Extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later. Extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{IANY}, @*
@ref{IALL}, @*
by @command{g77}. For new code, one should consider the use of
@ref{RANDOM_NUMBER} as it implements a superior algorithm.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
end program test_irand
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
@item @emph{Description}:
@code{IS_CONTIGUOUS} tests whether an array is contiguous.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Inquiry function
end subroutine sub
end program test
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
with the @code{IOSTAT_END} parameter of the intrinsic module
@code{ISO_FORTRAN_ENV}.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
IF(IS_IOSTAT_END(stat)) STOP 'END OF FILE'
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
variable with the @code{IOSTAT_EOR} parameter of the intrinsic module
@code{ISO_FORTRAN_ENV}.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
IF(IS_IOSTAT_EOR(stat)) STOP 'END OF RECORD'
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
@item @emph{Description}:
Determine whether a unit is connected to a terminal device.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{TTYNAM}
@end table
value is undefined. Bits shifted out from the left end or right end are
lost; zeros are shifted in from the opposite end.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension for
-@code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KISHFT(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension for
+@code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{ISHFTC}
@end table
@var{SIZE}. If the @var{SIZE} argument is omitted, it is taken to be
equivalent to @code{BIT_SIZE(I)}.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension for
-@code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KISHFTC(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension for
+@code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{ISHFT}
@end table
@code{ISNAN} tests whether a floating-point value is an IEEE
Not-a-Number (NaN).
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
if (isnan(x)) stop '"x" is a NaN'
end program test_nan
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
the @ref{DATE_AND_TIME} intrinsic defined by the Fortran 95
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
end program test_itime
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}
@end table
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
-
@item @emph{Class}:
Subroutine, function
Returns 0 on success; otherwise a system-specific error code is returned.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ABORT}, @*
@ref{EXIT}
@item @emph{Description}:
@code{KIND(X)} returns the kind value of the entity @var{X}.
-@item @emph{Standard}:
-Fortran 95 and later
-
@item @emph{Class}:
Inquiry function
end program test_kind
@end smallexample
+
+@item @emph{Standard}:
+Fortran 95 and later
@end table
Returns the lower bounds of an array, or a single lower bound
along the @var{DIM} dimension.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
structure component, or if it has a zero extent along the relevant
dimension, the lower bound is taken to be 1.
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{UBOUND}, @*
@ref{LCOBOUND}
Returns the lower bounds of a coarray, or a single lower cobound
along the @var{DIM} codimension.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Inquiry function
@var{COARRAY}. If @var{DIM} is present, the result is a scalar
corresponding to the lower cobound of the array along that codimension.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{UCOBOUND}, @*
@ref{LBOUND}
@item @emph{Description}:
@code{LEADZ} returns the number of leading zero bits of an integer.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{BIT_SIZE}, @*
@ref{TRAILZ}, @*
@var{STRING} need not be defined when this intrinsic is invoked, since
only the length, not the content, of @var{STRING} is needed.
-@item @emph{Standard}:
-Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
@item @code{LEN(STRING)} @tab @code{CHARACTER} @tab @code{INTEGER} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{LEN_TRIM}, @*
@ref{ADJUSTL}, @*
@item @emph{Description}:
Returns the length of a character string, ignoring any trailing blanks.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
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.
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{LEN}, @*
@ref{ADJUSTL}, @*
ASCII on some targets), whereas the former always use the ASCII
ordering.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{LGE(STRING_A,STRING_B)} @tab @code{CHARACTER} @tab @code{LOGICAL} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{LGT}, @*
@ref{LLE}, @*
ASCII on some targets), whereas the former always use the ASCII
ordering.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{LGT(STRING_A,STRING_B)} @tab @code{CHARACTER} @tab @code{LOGICAL} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{LGE}, @*
@ref{LLE}, @*
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
-
@item @emph{Class}:
Subroutine, function
@item @var{STATUS} @tab (Optional) Shall be of default @code{INTEGER} type.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{SYMLNK}, @*
@ref{UNLINK}
ASCII on some targets), whereas the former always use the ASCII
ordering.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{LLE(STRING_A,STRING_B)} @tab @code{CHARACTER} @tab @code{LOGICAL} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{LGE}, @*
@ref{LGT}, @*
ASCII on some targets), whereas the former always use the ASCII
ordering.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{LLT(STRING_A,STRING_B)} @tab @code{CHARACTER} @tab @code{LOGICAL} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
@ref{LGE}, @*
@ref{LGT}, @*
This is identical to the standard @code{LEN_TRIM} intrinsic, and is only
included for backwards compatibility.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The return value is of @code{INTEGER(kind=4)} type.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{INDEX intrinsic}, @*
@ref{LEN_TRIM}
@item @emph{Description}:
@code{LOC(X)} returns the address of @var{X} as an integer.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Inquiry function
print *, i
end program test_loc
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
@code{LOG(X)} computes the natural logarithm of @var{X}, i.e. the
logarithm to the base @math{e}.
-@item @emph{Standard}:
-Fortran 77 and later, has GNU extensions
-
@item @emph{Class}:
Elemental function
@item @code{ZLOG(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@item @code{CDLOG(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later, has GNU extensions
@end table
@item @emph{Description}:
@code{LOG10(X)} computes the base 10 logarithm of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{ALOG10(X)} @tab @code{REAL(4) X} @tab @code{REAL(4)} @tab Fortran 77 and later
@item @code{DLOG10(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
@code{LOG_GAMMA(X)} computes the natural logarithm of the absolute value
of the Gamma (@math{\Gamma}) function.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
@item @code{DLGAMA(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
Gamma function: @*
@ref{GAMMA}
@item @emph{Description}:
Converts one kind of @code{LOGICAL} variable to another.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
kind corresponding to @var{KIND}, or of the default logical kind if
@var{KIND} is not given.
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{INT}, @*
@ref{REAL}, @*
is standard in Fortran 95 and later, and the @code{SHIFTL} intrinsic,
which is standard in Fortran 2008 and later.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
The return value is of type @code{INTEGER} and of the same kind as
@var{I}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ISHFT}, @*
@ref{ISHFTC}, @*
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
-
@item @emph{Class}:
Subroutine, function
@item @emph{Example}:
See @ref{STAT} for an example.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
To stat an open file: @*
@ref{FSTAT} @*
the @ref{DATE_AND_TIME} intrinsic defined by the Fortran 95
standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
effect, zero if not, and negative if the information is not available.
@end enumerate
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CTIME}, @*
using Fortran 95 pointers, the memory allocation intrinsic is
@code{ALLOCATE}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
end program test_malloc
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{FREE}
@end table
@code{MASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
remaining bits set to 0.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
specifies the kind value of the return type; otherwise, it is of the
default integer kind.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{MASKR}
@end table
@code{MASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
remaining bits set to 0.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
specifies the kind value of the return type; otherwise, it is of the
default integer kind.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{MASKL}
@end table
@item @emph{Description}:
Performs a matrix multiplication on numeric or logical arguments.
-@item @emph{Standard}:
-Fortran 90 and later. Extension for@code{UNSIGNED}
-(@pxref{Unsigned integers})
-
@item @emph{Class}:
Transformational function
The matrix product of @var{MATRIX_A} and @var{MATRIX_B}. The type and
kind of the result follow the usual type and kind promotion rules, as
for the @code{*} or @code{.AND.} operators.
+
+@item @emph{Standard}:
+Fortran 90 and later. Extension for@code{UNSIGNED}
+(@pxref{Unsigned integers})
@end table
@item @emph{Description}:
Returns the argument with the largest (most positive) value.
-@item @emph{Standard}:
-Fortran 77 and later. Extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
@item @code{DMAX1(A1)} @tab @code{REAL(8) A1} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later. Extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{MAXLOC} @*
@ref{MAXVAL}, @*
@code{MAXEXPONENT(X)} returns the maximum exponent in the model of the
type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
print *, minexponent(y), maxexponent(y)
end program exponents
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
and all of the elements of @var{MASK} along a given row are zero, the
result value for that row is zero.
-@item @emph{Standard}:
-Fortran 95 and later; @var{ARRAY} of @code{CHARACTER} and the
-@var{KIND} argument are available in Fortran 2003 and later.
-The @var{BACK} argument is available in Fortran 2008 and later.
-Extension for@code{UNSIGNED} (@pxref{Unsigned integers}).
-
@item @emph{Class}:
Transformational function
is present, the result is an integer of kind @var{KIND}, otherwise it
is of default kind.
+@item @emph{Standard}:
+Fortran 95 and later; @var{ARRAY} of @code{CHARACTER} and the
+@var{KIND} argument are available in Fortran 2003 and later.
+The @var{BACK} argument is available in Fortran 2008 and later.
+Extension for@code{UNSIGNED} (@pxref{Unsigned integers}).
+
@item @emph{See also}:
@ref{FINDLOC}, @*
@ref{MAX}, @*
if it is type @code{UNSIGNED}. or a string of nulls if @var{ARRAY} is of
character type.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
the size of @var{ARRAY} with the @var{DIM} dimension removed. In all
cases, the result is of the same type and kind as @var{ARRAY}.
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{MAX}, @*
@ref{MAXLOC}
numerically less than previous values, during a single run of the
compiled program.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
number of clock ticks since the start of the process, or @code{-1} if
the system does not support @code{clock(3)}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CTIME}, @*
@ref{GMTIME}, @*
returned by this intrinsic might be or become negative or numerically
less than previous values during a single run of the compiled program.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
number of clock ticks since the start of the process, or @code{-1} if
the system does not support @code{clock(3)}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CTIME}, @*
@ref{GMTIME}, @*
is equal to @var{TSOURCE} if @var{MASK} is @code{.TRUE.}, or equal to
@var{FSOURCE} if it is @code{.FALSE.}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The result is of the same type and type parameters as @var{TSOURCE}.
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
i-th bit of @var{I} if the i-th bit of @var{MASK} is 1; it is equal to
the i-th bit of @var{J} otherwise.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The result is of the same type and kind as @var{I}.
+
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
@end table
@item @emph{Description}:
Returns the argument with the smallest (most negative) value.
-@item @emph{Standard}:
-Fortran 77 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
@item @code{DMIN1(A1)} @tab @code{REAL(8) A1} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{MAX}, @*
@ref{MINLOC}, @*
@code{MINEXPONENT(X)} returns the minimum exponent in the model of the
type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
@item @emph{Example}:
See @code{MAXEXPONENT} for an example.
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
and all of the elements of @var{MASK} along a given row are zero, the
result value for that row is zero.
-@item @emph{Standard}:
-Fortran 90 and later; @var{ARRAY} of @code{CHARACTER} and the
-@var{KIND} argument are available in Fortran 2003 and later.
-The @var{BACK} argument is available in Fortran 2008 and later.
-Extension for @code{UNSIGNED} (@pxref{Unsigned integers}).
-
@item @emph{Class}:
Transformational function
is present, the result is an integer of kind @var{KIND}, otherwise it
is of default kind.
+@item @emph{Standard}:
+Fortran 90 and later; @var{ARRAY} of @code{CHARACTER} and the
+@var{KIND} argument are available in Fortran 2003 and later.
+The @var{BACK} argument is available in Fortran 2008 and later.
+Extension for @code{UNSIGNED} (@pxref{Unsigned integers}).
+
@item @emph{See also}:
@ref{FINDLOC}, @*
@ref{MIN}, @*
@var{ARRAY} is numeric, or a string of @code{CHAR(255)} characters if
@var{ARRAY} is of character type.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
the size of @var{ARRAY} with the @var{DIM} dimension removed. In all
cases, the result is of the same type and kind as @var{ARRAY}.
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{MIN}, @*
@ref{MINLOC}
@item @emph{Description}:
@code{MOD(A,P)} computes the remainder of the division of A by P@.
-@item @emph{Standard}:
-Fortran 77 and later, has overloads that are GNU extensions. Extension
-for @code{UNSIGNED}.
-
@item @emph{Class}:
Elemental function
@item @code{KMOD(A,P)} @tab @code{INTEGER(8) A,P} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, has overloads that are GNU extensions. Extension
+for @code{UNSIGNED}.
+
@item @emph{See also}:
@ref{MODULO}
@item @emph{Description}:
@code{MODULO(A,P)} computes the @var{A} modulo @var{P}.
-@item @emph{Standard}:
-Fortran 95 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
end program
@end smallexample
+@item @emph{Standard}:
+Fortran 95 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{MOD}
@code{MOVE_ALLOC(FROM, TO)} moves the allocation from @var{FROM} to
@var{TO}. @var{FROM} becomes deallocated in the process.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Pure subroutine
print *, b
end program test_move_alloc
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
@code{FROMPOS+LEN-1} and @code{TOPOS+LEN-1} must be less than
@code{BIT_SIZE(FROM)}.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions. Extension
-for @code{UNSIGNED} (@pxref{Unsigned integers}).
-
@item @emph{Class}:
Elemental subroutine
@item @code{KMVBITS(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions. Extension
+for @code{UNSIGNED} (@pxref{Unsigned integers}).
+
@item @emph{See also}:
@ref{IBCLR}, @*
@ref{IBSET}, @*
@code{NEAREST(X, S)} returns the processor-representable number nearest
to @code{X} in the direction indicated by the sign of @code{S}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
write (*,"(3(G20.15))") x, y, x - y
end program test_nearest
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
@code{NEW_LINE(C)} returns the new-line character.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
write(*,'(A)') 'This is record 1.'//NEW_LINE('A')//'This is record 2.'
end program newline
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
@item @emph{Description}:
@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
-
@item @emph{Class}:
Elemental function
@item @code{IDNINT(A)} @tab @code{REAL(8) A} @tab @code{INTEGER} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 90 and later
+
@item @emph{See also}:
@ref{CEILING}, @*
@ref{FLOOR}
Calculates the Euclidean vector norm (@math{L_2} norm)
of @var{ARRAY} along dimension @var{DIM}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Transformational function
print *, NORM2(x) ! = sqrt(55.) ~ 7.416
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
@item @emph{Description}:
@code{NOT} returns the bitwise Boolean inverse of @var{I}.
-@item @emph{Standard}:
-Fortran 90 and later, has overloads that are GNU extensions, extension
-for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
@item @code{KNOT(A)} @tab @code{INTEGER(8) A} @tab @code{INTEGER(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, has overloads that are GNU extensions, extension
+for @code{UNSIGNED} (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{IAND}, @*
@ref{IEOR}, @*
In Fortran 95, @var{MOLD} is optional. Please note that Fortran 2003
includes cases where it is required.
-@item @emph{Standard}:
-Fortran 95 and later
-
@item @emph{Class}:
Transformational function
REAL, POINTER, DIMENSION(:) :: VEC => NULL ()
@end smallexample
+@item @emph{Standard}:
+Fortran 95 and later
+
@item @emph{See also}:
@ref{ASSOCIATED}
@end table
@item @emph{Description}:
Returns the number of images.
-@item @emph{Standard}:
-Fortran 2008 and later. With @var{DISTANCE} or @var{FAILED} argument,
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Transformational function
END IF
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later. With @var{DISTANCE} or @var{FAILED} argument,
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{THIS_IMAGE}, @*
@ref{IMAGE_INDEX}
GNU Fortran 77. For integer arguments, programmers should consider
the use of the @ref{IOR} intrinsic defined by the Fortran standard.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
Fortran 95 elemental function: @*
@ref{IOR}
@code{OUT_OF_RANGE(X, MOLD[, ROUND])} determines if the value of @code{X}
can be safely converted to an object with the type of argument @code{MOLD}.
-@item @emph{Standard}:
-Fortran 2018
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2018
@end table
equals @code{TRUE}. Afterwards, positions are filled with elements taken from
@var{VECTOR}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{UNPACK}
@end table
Calculates the parity, i.e. the reduction using @code{.XOR.},
of @var{MASK} along dimension @var{DIM}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Transformational function
print *, PARITY(x) ! prints "T" (true).
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2008 and later
@end table
message corresponding to the last system error. This is prefixed by
@var{STRING}, a colon and a space. See @code{perror(3)}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
default kind.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{IERRNO}
@end table
@code{POPCNT(I)} returns the number of bits set ('1' bits) in the binary
representation of @code{I}.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
end program test_population
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{POPPAR}, @*
@ref{LEADZ}, @*
@code{I}. It is equal to 0 if @code{I} has an even number of bits set,
and 1 for an odd number of '1' bits.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
end program test_population
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{POPCNT}, @*
@ref{LEADZ}, @*
@code{PRECISION(X)} returns the decimal precision in the model of the
type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
end program prec_and_range
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{SELECTED_REAL_KIND}, @*
@ref{RANGE}
@item @emph{Description}:
Determines whether an optional dummy argument is present.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
END FUNCTION
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
Multiplies the elements of @var{ARRAY} along dimension @var{DIM} if
the corresponding element in @var{MASK} is @code{TRUE}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{SUM}
@end table
@item @emph{Description}:
@code{RADIX(X)} returns the base of the model representing the entity @var{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
end program test_radix
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{SELECTED_REAL_KIND}
@end table
provided as an alias for @code{RAND}. See @ref{RAND} for complete
documentation.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{RAND}, @*
@ref{RANDOM_NUMBER}
by @command{g77}. For new code, one should consider the use of
@ref{RANDOM_NUMBER} as it implements a superior algorithm.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
end program test_rand
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{SRAND}, @*
@ref{RANDOM_NUMBER}
Initializes the state of the pseudorandom number generator used by
@code{RANDOM_NUMBER}.
-@item @emph{Standard}:
-Fortran 2018
-
@item @emph{Class}:
Subroutine
end program test_random_seed
@end smallexample
+@item @emph{Standard}:
+Fortran 2018
+
@item @emph{See also}:
@ref{RANDOM_NUMBER}, @*
@ref{RANDOM_SEED}
seeding procedure, see the documentation for the @code{RANDOM_SEED}
intrinsic.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Subroutine
end program
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{RANDOM_SEED}, @*
@ref{RANDOM_INIT}
threads that have used @code{RANDOM_NUMBER} so far during the program
execution.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Subroutine
end program test_random_seed
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{RANDOM_NUMBER}, @*
@ref{RANDOM_INIT}
@code{RANGE(X)} returns the decimal exponent range in the model of the
type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Inquiry function
@item @emph{Example}:
See @code{PRECISION} for an example.
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{SELECTED_REAL_KIND}, @*
@ref{PRECISION}
@item @emph{Description}:
@code{RANK(A)} returns the rank of a scalar or array data object.
-@item @emph{Standard}:
-Technical Specification (TS) 29113
-
@item @emph{Class}:
Inquiry function
end program test_rank
@end smallexample
+
+@item @emph{Standard}:
+Technical Specification (TS) 29113
@end table
@code{REALPART} function is provided for compatibility with @command{g77},
and its use is strongly discouraged.
-@item @emph{Standard}:
-Fortran 77 and later, with @var{KIND} argument Fortran 90 and later,
-has GNU extensions. Extension for @code{UNSIGNED} (@pxref{Unsigned
-integers}).
-
@item @emph{Class}:
Elemental function
@item @code{SNGL(A)} @tab @code{REAL(8)} @tab @code{REAL(4)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, with @var{KIND} argument Fortran 90 and later,
+has GNU extensions. Extension for @code{UNSIGNED} (@pxref{Unsigned
+integers}).
+
@item @emph{See also}:
@ref{DBLE}
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
-
@item @emph{Class}:
Subroutine, function
@item @var{STATUS} @tab (Optional) Shall be of default @code{INTEGER} type.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{LINK}
@item @emph{Description}:
Concatenates @var{NCOPIES} copies of a string.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
write(*,*) repeat("x", 5) ! "xxxxx"
end program
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
the new array may be padded with elements from @var{PAD} or permuted
as defined by @var{ORDER}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{SHAPE}
@end table
@code{RRSPACING(X)} returns the reciprocal of the relative spacing of
model numbers near @var{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
The value returned is equal to
@code{ABS(FRACTION(X)) * FLOAT(RADIX(X))**DIGITS(X)}.
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{SPACING}
@end table
This function has been superseded by the @code{SHIFTA} intrinsic, which
is standard in Fortran 2008 and later.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Elemental function
The return value is of type @code{INTEGER} and of the same kind as
@var{I}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ISHFT}, @*
@ref{ISHFTC}, @*
@item @emph{Description}:
Query dynamic types for equality.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
The return value is a scalar of type default logical. It is true if and
only if the dynamic type of A is the same as the dynamic type of B.
+@item @emph{Standard}:
+Fortran 2003 and later
+
@item @emph{See also}:
@ref{EXTENDS_TYPE_OF}
@item @emph{Description}:
@code{SCALE(X,I)} returns @code{X * RADIX(X)**I}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
end program test_scale
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
is returned. If no character of @var{SET} is found in @var{STRING}, the
result is zero.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{INDEX intrinsic}, @*
@ref{VERIFY}
seconds from midnight is returned. This function is non-standard and its
use is discouraged.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
print *, "Something took ", t2, " seconds."
end program test_secnds
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
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
-
@item @emph{Class}:
Subroutine, function
In either syntax, @var{TIME} is set to the process's current runtime in
seconds.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{CPU_TIME}
``ASCII'' and ``DEFAULT'', which are equivalent, and ``ISO_10646''
(Universal Character Set, UCS-4) which is commonly known as Unicode.
-@item @emph{Standard}:
-Fortran 2003 and later
-
@item @emph{Class}:
Transformational function
write (*,*) trim (hello_world)
end program character_kind
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2003 and later
@end table
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}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
print *, huge(i15) >= 10_k15**15-1
end program large_integers
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
logical type whose storage size in bits is at least @var{BITS}. If there
is no such logical kind, @code{SELECTED_LOGICAL_KIND} returns @math{-1}.
-@item @emph{Standard}:
-Fortran 2023 and later
-
@item @emph{Class}:
Transformational function
print *, storage_size(l1), storage_size(l40)
end program logical_kinds
@end smallexample
+
+@item @emph{Standard}:
+Fortran 2023 and later
@end table
with decimal precision of at least @code{P} digits, exponent range of
at least @code{R}, and with a radix of @code{RADIX}.
-@item @emph{Standard}:
-Fortran 90 and later, with @code{RADIX} Fortran 2008 or later
-
@item @emph{Class}:
Transformational function
end program real_kinds
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, with @code{RADIX} Fortran 2008 or later
+
@item @emph{See also}:
@ref{PRECISION}, @*
@ref{RANGE}, @*
@math{10^R} (exclusive). If there is no unsigned kind that accommodates
this range, @code{SELECTED_UNSIGNED_KIND} returns @math{-1}.
-@item @emph{Standard}:
-Extension for @code{UNSIGNED} (@pxref{Unsigned integers})
-
@item @emph{Class}:
Transformational function
print *, huge(i5), huge(i15)
end program large_unsigned
@end smallexample
+
+@item @emph{Standard}:
+Extension for @code{UNSIGNED} (@pxref{Unsigned integers})
@end table
@code{SET_EXPONENT(X, I)} returns the real number whose fractional part
is that of @var{X} and whose exponent part is @var{I}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
Determines the shape of an array.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{RESHAPE}, @*
@ref{SIZE}
end are equal to the leftmost bit, which in two's complement
representation is the sign bit.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The return value is of the same type and kind as @var{I}.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{SHIFTL}, @*
@ref{SHIFTR}
the result value is undefined. Bits shifted out from the left end are
lost, and bits shifted in from the right end are set to 0.
-@item @emph{Standard}:
-Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Elemental function
@item @emph{Return value}:
The return value is of the same type and kind as @var{I}.
+@item @emph{Standard}:
+Fortran 2008 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{SHIFTA}, @*
@ref{SHIFTR}
the result value is undefined. Bits shifted out from the right end
are lost, and bits shifted in from the left end are set to 0.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
The return value is of type @code{INTEGER} and of the same kind as
@var{I}.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{SHIFTA}, @*
@ref{SHIFTL}
@item @emph{Description}:
@code{SIGN(A,B)} returns the value of @var{A} with the sign of @var{B}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{ISIGN(A,B)} @tab @code{INTEGER(4) A, B} @tab @code{INTEGER(4)} @tab Fortran 77 and later
@item @code{DSIGN(A,B)} @tab @code{REAL(8) A, B} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
If @code{SIGNAL} is called as a subroutine and the @var{STATUS} argument
is supplied, it is set to the value returned by @code{signal(2)}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
call sleep (30)
end program test_signal
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
@item @emph{Description}:
@code{SIN(X)} computes the sine of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{CDSIN(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later
+
@item @emph{See also}:
Inverse function: @*
@ref{ASIN} @*
@item @emph{Description}:
@code{SIND(X)} computes the sine of @var{X} in degrees.
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{CDSIND(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{ASIND} @*
@item @emph{Description}:
@code{SINH(X)} computes the hyperbolic sine of @var{X}.
-@item @emph{Standard}:
-Fortran 90 and later, for a complex argument Fortran 2008 or later, has
-a GNU extension
-
@item @emph{Class}:
Elemental function
@item @code{DSINH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 90 and later
@end multitable
+@item @emph{Standard}:
+Fortran 90 and later, for a complex argument Fortran 2008 or later, has
+a GNU extension
+
@item @emph{See also}:
@ref{ASINH}
@end table
Determine the extent of @var{ARRAY} along a specified dimension @var{DIM},
or the total number of elements in @var{ARRAY} if @var{DIM} is absent.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{SHAPE}, @*
@ref{RESHAPE}
@code{SIZEOF(X)} calculates the number of bytes of storage the
expression @code{X} occupies.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Inquiry function
The example prints @code{.TRUE.} unless you are using a platform
where default @code{REAL} variables are unusually padded.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{C_SIZEOF}, @*
@ref{STORAGE_SIZE}
@item @emph{Description}:
Calling this subroutine causes the process to pause for @var{SECONDS} seconds.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
call sleep(5)
end
@end smallexample
+
+@item @emph{Standard}:
+GNU extension
@end table
Determines the distance between the argument @var{X} and the nearest
adjacent number of the same type.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{RRSPACING}
@end table
Replicates a @var{SOURCE} array @var{NCOPIES} times along a specified
dimension @var{DIM}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{UNPACK}
@end table
@item @emph{Description}:
@code{SQRT(X)} computes the square root of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later
-
@item @emph{Class}:
Elemental function
@item @code{ZSQRT(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@item @code{CDSQRT(X)} @tab @code{COMPLEX(8) X} @tab @code{COMPLEX(8)} @tab GNU extension
@end multitable
+
+@item @emph{Standard}:
+Fortran 77 and later
@end table
called by @code{RAND} and @code{IRAND}. The new seed used by the
generator is specified by the required argument @var{SEED}.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine
@code{RANDOM_SEED} on the other hand) access two independent
pseudo-random number generators.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{RAND}, @*
@ref{RANDOM_SEED}, @*
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
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
To stat an open file: @*
@ref{FSTAT} @*
@item @emph{Description}:
Returns the storage size of argument @var{A} in bits.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Inquiry function
expressed in bits for an element of an array that has the dynamic type and type
parameters of A.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{C_SIZEOF}, @*
@ref{SIZEOF}
Adds the elements of @var{ARRAY} along dimension @var{DIM} if
the corresponding element in @var{MASK} is @code{TRUE}.
-@item @emph{Standard}:
-Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
-integers})
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, extension for @code{UNSIGNED} (@pxref{Unsigned
+integers})
+
@item @emph{See also}:
@ref{PRODUCT}
@end table
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
-
@item @emph{Class}:
Subroutine, function
@item @var{STATUS} @tab (Optional) Shall be of default @code{INTEGER} type.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{LINK}, @*
@ref{UNLINK}
the responsibility of the user to ensure that @code{system} is not
called concurrently.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Subroutine, function
@item @var{STATUS} @tab (Optional) Shall be of default @code{INTEGER} type.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{EXECUTE_COMMAND_LINE}, which is part of the Fortran 2008 standard
and should considered in new code for future portability.
@code{QueryPerformanceCounterFrequency}. For more information, and
potential caveats, please see the platform documentation.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Subroutine
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CPU_TIME}
@item @emph{Description}:
@code{TAN(X)} computes the tangent of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DTAN(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument Fortran 2008 or later
+
@item @emph{See also}:
Inverse function: @*
@ref{ATAN} @*
@item @emph{Description}:
@code{TAND(X)} computes the tangent of @var{X} in degrees.
-@item @emph{Standard}:
-Fortran 2023
-
@item @emph{Class}:
Elemental function
@item @code{DTAND(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab GNU extension
@end multitable
+@item @emph{Standard}:
+Fortran 2023
+
@item @emph{See also}:
Inverse function: @*
@ref{ATAND} @*
@item @emph{Description}:
@code{TANH(X)} computes the hyperbolic tangent of @var{X}.
-@item @emph{Standard}:
-Fortran 77 and later, for a complex argument Fortran 2008 or later
-
@item @emph{Class}:
Elemental function
@item @code{DTANH(X)} @tab @code{REAL(8) X} @tab @code{REAL(8)} @tab Fortran 77 and later
@end multitable
+@item @emph{Standard}:
+Fortran 77 and later, for a complex argument Fortran 2008 or later
+
@item @emph{See also}:
@ref{ATANH}
@end table
@item @emph{Description}:
Returns the cosubscript for this image.
-@item @emph{Standard}:
-Fortran 2008 and later. With @var{DISTANCE} argument,
-Technical Specification (TS) 18508 or later
-
@item @emph{Class}:
Transformational function
error stop "something is rotten here"
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later. With @var{DISTANCE} argument,
+Technical Specification (TS) 18508 or later
+
@item @emph{See also}:
@ref{NUM_IMAGES}, @*
@ref{IMAGE_INDEX}
portable to more GNU Fortran implementations, though to fewer Fortran
compilers.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(4)}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CTIME}, @*
returned by this intrinsic might be or become negative or numerically
less than previous values during a single run of the compiled program.
-@item @emph{Standard}:
-GNU extension
-
@item @emph{Class}:
Function
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(8)}.
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{DATE_AND_TIME}, @*
@ref{CTIME}, @*
@code{TINY(X)} returns the smallest positive (non zero) number
in the model of the type of @code{X}.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Inquiry function
@item @emph{Example}:
See @code{HUGE} for an example.
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
@code{TRAILZ} returns the number of trailing zero bits of an integer.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{BIT_SIZE}, @*
@ref{LEADZ}, @*
This is approximately equivalent to the C concept of @emph{casting} one
type to another.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
print *, transfer(x, 1.0) ! prints "NaN" on i686
END PROGRAM
@end smallexample
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
Transpose an array of rank two. Element (i, j) of the result has the value
@code{MATRIX(j, i)}, for all i, j.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
@item @emph{Return value}:
The result has the same type as @var{MATRIX}, and has shape
@code{(/ m, n /)} if @var{MATRIX} has shape @code{(/ n, m /)}.
+
+@item @emph{Standard}:
+Fortran 90 and later
@end table
@item @emph{Description}:
Removes trailing blank characters of a string.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{ADJUSTL}, @*
@ref{ADJUSTR}
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
-
@item @emph{Class}:
Subroutine, function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{ISATTY}
@end table
Returns the upper bounds of an array, or a single upper bound
along the @var{DIM} dimension.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Inquiry function
dimension, the upper bound is taken to be the number of elements along
the relevant dimension.
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{LBOUND}, @*
@ref{LCOBOUND}
Returns the upper cobounds of a coarray, or a single upper cobound
along the @var{DIM} codimension.
-@item @emph{Standard}:
-Fortran 2008 and later
-
@item @emph{Class}:
Inquiry function
@var{COARRAY}. If @var{DIM} is present, the result is a scalar
corresponding to the lower cobound of the array along that codimension.
+@item @emph{Standard}:
+Fortran 2008 and later
+
@item @emph{See also}:
@ref{LCOBOUND}, @*
@ref{LBOUND}
@item @emph{Description}:
Convert to unsigned type
-@item @emph{Standard}:
-Extension.
-
@item @emph{Class}:
Elemental function
@item @var{KIND} @tab (Optional) A scalar @code{INTEGER} constant
expression indicating the kind parameter of the result.
@end multitable
+
+@item @emph{Standard}:
+Extension.
@end table
@node UMASK
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, function
@code{INTEGER}.
@end multitable
+
+@item @emph{Standard}:
+GNU extension
@end table
@node UMASKL
@code{UMASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
remaining bits set to 0.
-@item @emph{Standard}:
-Extension (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
specifies the kind value of the return type; otherwise, it is of the
default unsigned kind.
+@item @emph{Standard}:
+Extension (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{MASKL}, @*
@ref{MASKR}, @*
@code{UMASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
remaining bits set to 0.
-@item @emph{Standard}:
-Extension (@pxref{Unsigned integers})
-
@item @emph{Class}:
Elemental function
specifies the kind value of the return type; otherwise, it is of the
default integer kind.
+@item @emph{Standard}:
+Extension (@pxref{Unsigned integers})
+
@item @emph{See also}:
@ref{MASKL}, @*
@ref{MASKR}, @*
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
-
@item @emph{Class}:
Subroutine, function
@item @var{STATUS} @tab (Optional) Shall be of default @code{INTEGER} type.
@end multitable
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
@ref{LINK}, @*
@ref{SYMLNK}
@item @emph{Description}:
Store the elements of @var{VECTOR} in an array of higher rank.
-@item @emph{Standard}:
-Fortran 90 and later
-
@item @emph{Class}:
Transformational function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later
+
@item @emph{See also}:
@ref{PACK}, @*
@ref{SPREAD}
position is returned. If all characters of @var{STRING} are found in
@var{SET}, the result is zero.
-@item @emph{Standard}:
-Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
-
@item @emph{Class}:
Elemental function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+Fortran 90 and later, with @var{KIND} argument Fortran 2003 and later
+
@item @emph{See also}:
@ref{SCAN}, @*
@ref{INDEX intrinsic}
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
-
@item @emph{Class}:
Function
END PROGRAM
@end smallexample
+@item @emph{Standard}:
+GNU extension
+
@item @emph{See also}:
Fortran 95 elemental function: @*
@ref{IEOR}