@chapter Intrinsic Procedures
@cindex intrinsic procedures
-This portion of the document is incomplete and undergoing massive expansion
-and editing. All contributions and corrections are strongly encouraged.
-
-Implemented intrinsics are fully functional and available to the user to apply.
-Some intrinsics have documentation yet to be completed as indicated by 'documentation pending'.
-
@comment Missing intrinsics (double check with #19292)
@comment - MClock
@comment - Short
print *, 'Status: ', status
end program chmod_test
@end smallexample
-@item @emph{Specific names}:
-@item @emph{See also}:
@end table
+@node FSEEK
+@section @code{FSEEK} --- Low level file positioning subroutine
+@cindex @code{FSEEK} intrinsic
+@cindex file system operations
+
+Not yet implemented in GNU Fortran.
+
+@table @asis
+@item @emph{Description}:
+
+@item @emph{Standard}:
+GNU extension
+
+@item @emph{Class}:
+Subroutine
+
+@item @emph{Syntax}:
+@item @emph{Arguments}:
+@item @emph{Return value}:
+@item @emph{Example}:
+@item @emph{Specific names}:
+@item @emph{See also}:
+@uref{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19292, g77 features lacking in gfortran}
+
+@end table
+
+
@node FSTAT
@section @code{FSTAT} --- Get file status
-@node FSEEK
-@section @code{FSEEK} --- Low level file positioning subroutine
-@cindex @code{FSEEK} intrinsic
-@cindex file system operations
-
-Not yet implemented in GNU Fortran.
-
-@table @asis
-@item @emph{Description}:
-
-@item @emph{Standard}:
-GNU extension
-
-@item @emph{Class}:
-Subroutine
-
-@item @emph{Syntax}:
-@item @emph{Arguments}:
-@item @emph{Return value}:
-@item @emph{Example}:
-@item @emph{Specific names}:
-@item @emph{See also}:
-@uref{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19292, g77 features lacking in gfortran}
-
-@end table
-
-
-
@node FTELL
@section @code{FTELL} --- Current stream position
@cindex @code{FTELL} intrinsic
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{N} @tab Shall of type @code{INTEGER(4)}, @math{@var{N} \geq 0}
+@item @var{N} @tab Shall be of type @code{INTEGER(4)}, @math{@var{N} \geq 0}
@item @var{ARG} @tab Shall be of type @code{CHARACTER(*)}.
@end multitable
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{N} @tab Shall of type @code{INTEGER(4)}, @math{@var{N} \geq 0}
+@item @var{N} @tab Shall be of type @code{INTEGER(4)}, @math{@var{N} \geq 0}
@item @var{ARG} @tab Shall be of type @code{CHARACTER(*)}.
@end multitable
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL} or @code{INTEGER}.
+@item @var{X} @tab Shall be of type @code{REAL} or @code{INTEGER}.
@end multitable
@item @emph{Return value}:
@end smallexample
@item @emph{Note}:
-No intrinsic exists to convert a printable character string to a numerical
-value. For example, there is no intrinsic that, given the @code{CHARACTER}
-value 154, returns an @code{INTEGER} or @code{REAL} value with the
-value 154.
+No intrinsic exists to convert a printable character string to a
+numerical value. For example, there is no intrinsic that, given the
+@code{CHARACTER} value @code{'154'}, returns an @code{INTEGER} or
+@code{REAL} value with the value 154.
Instead, you can use internal-file I/O to do this kind of conversion. For
example:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{INTEGER(*)},
+@item @var{X} @tab Shall be of type @code{INTEGER(*)},
@code{REAL(*)}, or @code{COMPLEX(*)}.
@item @var{KIND} @tab (Optional) An @code{INTEGER(*)} initialization
expression indicating the kind parameter of
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{FLAG} @tab shall be a scalar @code{INTEGER} of kind 4.
+@item @var{FLAG} @tab Shall be a scalar @code{INTEGER} of kind 4.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
+@item @var{X} @tab Shall be of type @code{REAL}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
+@item @var{X} @tab Shall be of type @code{REAL}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{A} @tab shall be a scalar of type @code{INTEGER} or @code{REAL}
-@item @var{P} @tab shall be a scalar of the same type as @var{A} and not
+@item @var{A} @tab Shall be a scalar of type @code{INTEGER} or @code{REAL}
+@item @var{P} @tab Shall be a scalar of the same type as @var{A} and not
equal to zero
@end multitable
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{A} @tab shall be a scalar of type @code{INTEGER} or @code{REAL}
-@item @var{P} @tab shall be a scalar of the same type and kind as @var{A}
+@item @var{A} @tab Shall be a scalar of type @code{INTEGER} or @code{REAL}
+@item @var{P} @tab Shall be a scalar of the same type and kind as @var{A}
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
+@item @var{X} @tab Shall be of type @code{REAL}.
@item @var{S} @tab (Optional) shall be of type @code{REAL} and
not equal to zero.
@end multitable
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL} or @code{COMPLEX}.
+@item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{FLAG} @tab shall be a scalar @code{INTEGER} of kind 4.
+@item @var{FLAG} @tab Shall be a scalar @code{INTEGER} of kind 4.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL} or @code{COMPLEX}.
+@item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be @code{INTEGER(*)}, @code{REAL(*)}, or
+@item @var{X} @tab Shall be @code{INTEGER(*)}, @code{REAL(*)}, or
@code{COMPLEX(*)}.
@item @var{KIND} @tab (Optional) An @code{INTEGER(*)} initialization
expression indicating the kind parameter of
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
+@item @var{X} @tab Shall be of type @code{REAL}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{I} @tab shall be a scalar and of type @code{INTEGER}.
+@item @var{I} @tab Shall be a scalar and of type @code{INTEGER}.
@end multitable
@item @emph{Example}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
-@item @var{I} @tab shall be of type @code{INTEGER}.
+@item @var{X} @tab Shall be of type @code{REAL}.
+@item @var{I} @tab Shall be of type @code{INTEGER}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{A} @tab shall be a scalar of type @code{INTEGER} or @code{REAL}
-@item @var{B} @tab shall be a scalar of the same type and kind as @var{A}
+@item @var{A} @tab Shall be a scalar of type @code{INTEGER} or @code{REAL}
+@item @var{B} @tab Shall be a scalar of the same type and kind as @var{A}
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{NUMBER} @tab shall be a scalar integer, with @code{INTENT(IN)}
+@item @var{NUMBER} @tab Shall be a scalar integer, with @code{INTENT(IN)}
@item @var{HANDLER}@tab Signal handler (@code{INTEGER FUNCTION} or
@code{SUBROUTINE}) or dummy/global @code{INTEGER} scalar.
@code{INTEGER}. It is @code{INTENT(IN)}.
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{SEED} @tab shall be a scalar @code{INTEGER(kind=4)}.
+@item @var{SEED} @tab Shall be a scalar @code{INTEGER(kind=4)}.
@end multitable
@item @emph{Return value}:
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
-@item @var{X} @tab shall be of type @code{REAL}.
+@item @var{X} @tab Shall be of type @code{REAL}.
@end multitable
@item @emph{Return value}: