@cindex libgfortran initialization, set_args
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_args (int argc, char *argv[])}
+
@item @emph{Description}:
@code{_gfortran_set_args} saves the command-line arguments; this
initialization is required if any of the command-line intrinsics
is called. Additionally, it shall be called if backtracing is
enabled (see @code{_gfortran_set_options}).
-@item @emph{Syntax}:
-@code{void _gfortran_set_args (int argc, char *argv[])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{argc} @tab number of command line argument strings
@cindex libgfortran initialization, set_options
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_options (int num, int options[])}
+
@item @emph{Description}:
@code{_gfortran_set_options} sets several flags related to the Fortran
standard to be used, whether backtracing should be enabled
@pxref{Code Gen Options}. Please note that not all flags are actually
used.
-@item @emph{Syntax}:
-@code{void _gfortran_set_options (int num, int options[])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{num} @tab number of options passed
@cindex libgfortran initialization, set_convert
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_convert (int conv)}
+
@item @emph{Description}:
@code{_gfortran_set_convert} set the representation of data for
unformatted files.
-@item @emph{Syntax}:
-@code{void _gfortran_set_convert (int conv)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{conv} @tab Endian conversion, possible values:
@cindex libgfortran initialization, set_record_marker
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_record_marker (int val)}
+
@item @emph{Description}:
@code{_gfortran_set_record_marker} sets the length of record markers
for unformatted files.
-@item @emph{Syntax}:
-@code{void _gfortran_set_record_marker (int val)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{val} @tab Length of the record marker; valid values
@cindex libgfortran initialization, set_fpe
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_fpe (int val)}
+
@item @emph{Description}:
@code{_gfortran_set_fpe} enables floating point exception traps for
the specified exceptions. On most systems, this results in a
@code{SIGFPE} signal being sent and the program being aborted.
-@item @emph{Syntax}:
-@code{void _gfortran_set_fpe (int val)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{option}[0] @tab IEEE exceptions. Possible values are
@cindex libgfortran initialization, set_max_subrecord_length
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_set_max_subrecord_length (int val)}
+
@item @emph{Description}:
@code{_gfortran_set_max_subrecord_length} set the maximum length
for a subrecord. This option only makes sense for testing and
debugging of unformatted I/O.
-@item @emph{Syntax}:
-@code{void _gfortran_set_max_subrecord_length (int val)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{val} @tab the maximum length for a subrecord;
@cindex Coarray, _gfortran_caf_init
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_init (int *argc, char ***argv)}
+
@item @emph{Description}:
This function is called at startup of the program before the Fortran main
program, if the latter has been compiled with @option{-fcoarray=lib}.
permitted to pass two @code{NULL} pointers as argument; if non-@code{NULL},
the library is permitted to modify the arguments.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_init (int *argc, char ***argv)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{argc} @tab intent(inout) An integer pointer with the number of
@cindex Coarray, _gfortran_caf_finish
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_finish (void)}
+
@item @emph{Description}:
This function is called at the end of the Fortran main program, if it has
been compiled with the @option{-fcoarray=lib} option.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_finish (void)}
-
@item @emph{Notes}:
For non-Fortran programs, it is recommended to call the function at the end
of the main program. To ensure that the shutdown is also performed for
@cindex Coarray, _gfortran_caf_this_image
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_this_image (int distance)}
+
@item @emph{Description}:
This function returns the current image number, which is a positive number.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_this_image (int distance)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{distance} @tab As specified for the @code{this_image} intrinsic
@cindex Coarray, _gfortran_caf_num_images
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_num_images(int distance, int failed)}
+
@item @emph{Description}:
This function returns the number of images in the current team, if
@var{distance} is 0 or the number of images in the parent team at the specified
the specified distance; if it is 0, the function returns the number of
nonfailed images, and if it is 1, it returns the number of failed images.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_num_images(int distance, int failed)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{distance} @tab the distance from this image to the ancestor.
@cindex Coarray, _gfortran_caf_image_status
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_image_status (int image, caf_team_t * team)}
+
@item @emph{Description}:
Get the status of the image given by the id @var{image} of the team given by
@var{team}. Valid results are zero, for image is ok, @code{STAT_STOPPED_IMAGE}
@code{STAT_FAILED_IMAGE} also from ISO_FORTRAN_ENV to indicate that the image
has executed a @code{FAIL IMAGE} statement.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_image_status (int image, caf_team_t * team)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{image} @tab the positive scalar id of the image in the current TEAM.
@cindex Coarray, _gfortran_caf_failed_images
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_failed_images (caf_team_t * team, int * kind)}
+
@item @emph{Description}:
Get an array of image indexes in the current @var{team} that have failed. The
array is sorted ascendingly. When @var{team} is not provided the current team
integer kind else it is of default integer kind. The returns an unallocated
size zero array when no images have failed.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_failed_images (caf_team_t * team, int * kind)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{team} @tab optional; team on the which the inquiry is to be
@cindex Coarray, _gfortran_caf_stopped_images
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)}
+
@item @emph{Description}:
Get an array of image indexes in the current @var{team} that have stopped. The
array is sorted ascendingly. When @var{team} is not provided the current team
integer kind else it is of default integer kind. The returns an unallocated
size zero array when no images have failed.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{team} @tab optional; team on the which the inquiry is to be
@cindex Coarray, _gfortran_caf_register
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register (size_t size, caf_register_t type,
+caf_token_t *token, gfc_descriptor_t *desc, int *stat, char *errmsg,
+size_t errmsg_len)}
+
@item @emph{Description}:
Registers memory for a coarray and creates a token to identify the coarray. The
routine is called for both coarrays with @code{SAVE} attribute and using an
in the @var{DESC}'s data-ptr is registered or allocate when the data-ptr is
@code{NULL}.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register (size_t size, caf_register_t type,
-caf_token_t *token, gfc_descriptor_t *desc, int *stat, char *errmsg,
-size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{size} @tab For normal coarrays, the byte size of the coarray to be
@cindex Coarray, _gfortran_caf_deregister
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_deregister (caf_token_t *token, caf_deregister_t type,
+int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Called to free or deregister the memory of a coarray; the processor calls this
function for automatic and explicit deallocation. In case of an error, this
not null. The library is only expected to free memory it allocated itself
during a call to @code{_gfortran_caf_register}.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_deregister (caf_token_t *token, caf_deregister_t type,
-int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab the token to free.
@cindex Coarray, _gfortran_caf_register_accessor
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register_accessor (const int hash,
+void (*accessor)(void **, int32_t *, void *, void *, size_t *,
+size_t *))}
+
@item @emph{Description}:
Identification of access funtions across images is done using a unique hash.
For each given hash an accessor has to be registered. This routine is expected
time. I.e. it is expected to add the hash and accessor to a buffer and return.
Sorting shall be done in @code{_gfortran_caf_register_accessors_finish}.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register_accessor (const int hash,
-void (*accessor)(void **, int32_t *, void *, void *, size_t *,
-size_t *))}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{hash} @tab intent(in) The unique hash value this accessor is to be
@cindex Coarray, _gfortran_caf_register_accessors_finish
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_register_accessors_finish ()}
+
@item @emph{Description}:
Called to finalize registering of accessor functions. This function is expected
to prepare a lookup table that has fast lookup time for the hash supplied to
@code{_gfortran_caf_get_remote_function_index} and constant access time for
indexing operations.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_register_accessors_finish ()}
-
@item @emph{Arguments}:
No arguments.
@cindex Coarray, _gfortran_caf_get_remote_function_index
@table @asis
+@item @emph{Synopsis}:
+@code{int _gfortran_caf_get_remote_function_index (const int hash)}
+
@item @emph{Description}:
Return the index of the accessor in the lookup table build by
@ref{_gfortran_caf_register_accessor} and
hash and the result be stored in a static variable to prevent future redundant
lookups.
-@item @emph{Syntax}:
-@code{int _gfortran_caf_get_remote_function_index (const int hash)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{hash} @tab intent(in) The hash of the accessor desired.
@cindex Coarray, _gfortran_caf_get_from_remote
@table @asis
-@item @emph{Description}:
-Called to get a scalar, an array section or a whole array from a remote image
-identified by the @var{image_index}.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_get_from_remote (caf_token_t token,
const gfc_descriptor_t *opt_src_desc, const size_t *opt_src_charlen,
const int image_index, const size_t dst_size, void **dst_data,
const bool may_realloc_dst, const int getter_index, void *get_data,
const size_t get_data_size, int *stat, caf_team_t *team, int *team_number)}
+@item @emph{Description}:
+Called to get a scalar, an array section or a whole array from a remote image
+identified by the @var{image_index}.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_is_present_on_remote
@table @asis
+@item @emph{Synopsis}:
+@code{int32_t _gfortran_caf_is_present_on_remote (caf_token_t token,
+const int image_index, const int is_present_index, void *add_data,
+const size_t add_data_size)}
+
@item @emph{Description}:
Check if an allocatable coarray or a component of a derived type coarray is
allocated on the remote image identified by the @var{image_index}. The check
is done by calling routine on the remote side.
-@item @emph{Syntax}:
-@code{int32_t _gfortran_caf_is_present_on_remote (caf_token_t token,
-const int image_index, const int is_present_index, void *add_data,
-const size_t add_data_size)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_send_to_remote
@table @asis
-@item @emph{Description}:
-Called to send a scalar, an array section or a whole array to a remote image
-identified by the @var{image_index}. The call modifies the memory of the remote
-image.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_send_to_remote (caf_token_t token,
gfc_descriptor_t *opt_dst_desc, const size_t *opt_dst_charlen,
const int image_index, const size_t src_size, const void *src_data,
const int setter_index, void *add_data, const size_t add_data_size, int *stat,
caf_team_t *team, int *team_number)}
+@item @emph{Description}:
+Called to send a scalar, an array section or a whole array to a remote image
+identified by the @var{image_index}. The call modifies the memory of the remote
+image.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_transfer_between_remotes
@table @asis
-@item @emph{Description}:
-Initiates a transfer of data from one remote image to another remote image.
-The call modifies the memory of the receiving remote image given by
-@code{dst_image_index}. The @code{src_image_index}'s memory is not modified.
-The call returns when the transfer has commenced.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_transfer_between_remotes (caf_token_t dst_token,
gfc_descriptor_t *opt_dst_desc, size_t *opt_dst_charlen,
const int dst_image_index, const int dst_access_index, void *dst_add_data,
int *dst_team_number, caf_team_t *src_team, int *src_team_number)
}
+@item @emph{Description}:
+Initiates a transfer of data from one remote image to another remote image.
+The call modifies the memory of the receiving remote image given by
+@code{dst_image_index}. The @code{src_image_index}'s memory is not modified.
+The call returns when the transfer has commenced.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{dst_token} @tab intent(in) An opaque pointer identifying the coarray
@cindex Coarray, _gfortran_caf_sendget_by_ref
@table @asis
-@item @emph{Description}:
-Called to send a scalar, an array section or a whole array from a remote image
-identified by the @var{src_image_index} to a remote image identified by the
-@var{dst_image_index}.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_sendget_by_ref (caf_token_t dst_token,
int dst_image_index, caf_reference_t *dst_refs,
caf_token_t src_token, int src_image_index, caf_reference_t *src_refs,
int dst_kind, int src_kind, bool may_require_tmp, int *dst_stat,
int *src_stat, int dst_type, int src_type)}
+@item @emph{Description}:
+Called to send a scalar, an array section or a whole array from a remote image
+identified by the @var{src_image_index} to a remote image identified by the
+@var{dst_image_index}.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{dst_token} @tab intent(in) An opaque pointer identifying the
@cindex Coarray, _gfortran_caf_lock
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index,
+int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Acquire a lock on the given image on a scalar locking variable or for the
given array element for an array-valued variable. If the @var{acquired_lock}
the lock could be obtained and false (zero) otherwise. Locking a lock variable
that has already been locked by the same image is an error.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index,
-int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_unlock
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index,
+int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Release a lock on the given image on a scalar locking variable or for the
given array element for an array-valued variable. Unlocking a lock variable
that is unlocked or has been locked by a different image is an error.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index,
-int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_event_post
@table @asis
-@item @emph{Description}:
-Increment the event count of the specified event variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_event_post (caf_token_t token, size_t index,
int image_index, int *stat, char *errmsg, size_t errmsg_len)}
+@item @emph{Description}:
+Increment the event count of the specified event variable.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_event_wait
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_event_wait (caf_token_t token, size_t index,
+int until_count, int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Wait until the event count has reached at least the specified
@var{until_count}; if so, atomically decrement the event variable by this
amount and return.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_event_wait (caf_token_t token, size_t index,
-int until_count, int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_event_query
@table @asis
-@item @emph{Description}:
-Return the event count of the specified event variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_event_query (caf_token_t token, size_t index,
int image_index, int *count, int *stat)}
+@item @emph{Description}:
+Return the event count of the specified event variable.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_sync_all
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Synchronization of all images in the current team; the program only continues
on a given image after this function has been called on all images of the
current team. Additionally, it ensures that all pending data transfers of
previous segment have completed.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
@cindex Coarray, _gfortran_caf_sync_images
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_images (int count, int images[], int *stat,
+char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Synchronization between the specified images; the program only continues on a
given image after this function has been called on all images specified for
image. Additionally, @code{sync images} ensures that all pending data
transfers of previous segments have completed.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_images (int count, int images[], int *stat,
-char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{count} @tab intent(in) The number of images that are provided in
@cindex Coarray, _gfortran_caf_sync_memory
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Acts as optimization barrier between different segments. It also ensures that
all pending memory operations of this image have been completed.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{stat} @tab intent(out) Stores the status STAT= and may be NULL.
@cindex Coarray, _gfortran_caf_error_stop
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_error_stop (int error)}
+
@item @emph{Description}:
Invoked for an @code{ERROR STOP} statement that has an integer argument. The
function should terminate the program with the specified exit code.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_error_stop (int error)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{error} @tab intent(in) The exit status to be used.
@cindex Coarray, _gfortran_caf_error_stop_str
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_error_stop (const char *string, size_t len)}
+
@item @emph{Description}:
Invoked for an @code{ERROR STOP} statement that has a string as argument. The
function should terminate the program with a nonzero-exit code.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_error_stop (const char *string, size_t len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{string} @tab intent(in) the error message (not zero terminated)
@cindex Coarray, _gfortran_caf_fail_image
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_fail_image ()}
+
@item @emph{Description}:
Invoked for an @code{FAIL IMAGE} statement. The function should terminate the
current image.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_fail_image ()}
-
@item @emph{Notes}:
This function follows TS18508.
@end table
@cindex Coarray, _gfortran_caf_atomic_define
@table @asis
-@item @emph{Description}:
-Assign atomically a value to an integer or logical variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_atomic_define (caf_token_t token, size_t offset,
int image_index, void *value, int *stat, int type, int kind)}
+@item @emph{Description}:
+Assign atomically a value to an integer or logical variable.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_atomic_ref
@table @asis
-@item @emph{Description}:
-Reference atomically a value of a kind-4 integer or logical variable.
-
-@item @emph{Syntax}:
+@item @emph{Synopsis}:
@code{void _gfortran_caf_atomic_ref (caf_token_t token, size_t offset,
int image_index, void *value, int *stat, int type, int kind)}
+@item @emph{Description}:
+Reference atomically a value of a kind-4 integer or logical variable.
+
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_atomic_cas
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset,
+int image_index, void *old, void *compare, void *new_val, int *stat,
+int type, int kind)}
+
@item @emph{Description}:
Atomic compare and swap of a kind-4 integer or logical variable. Assigns
atomically the specified value to the atomic variable, if the latter has
the value specified by the passed condition value.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset,
-int image_index, void *old, void *compare, void *new_val, int *stat,
-int type, int kind)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{token} @tab intent(in) An opaque pointer identifying the coarray.
@cindex Coarray, _gfortran_caf_atomic_op
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset,
+int image_index, void *value, void *old, int *stat, int type, int kind)}
+
@item @emph{Description}:
Apply an operation atomically to an atomic integer or logical variable.
After the operation, @var{old} contains the value just before the operation,
between the atomic variable and @var{value}; the result is then stored in the
atomic variable.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset,
-int image_index, void *value, void *old, int *stat, int type, int kind)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{op} @tab intent(in) the operation to be performed; possible values
@cindex Coarray, _gfortran_caf_co_broadcast
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_broadcast (gfc_descriptor_t *a,
+int source_image, int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Distribute a value from a given image to all other images in the team. Has to
be called collectively.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_broadcast (gfc_descriptor_t *a,
-int source_image, int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{a} @tab intent(inout) An array descriptor with the data to be
@cindex Coarray, _gfortran_caf_co_max
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
@item @emph{Description}:
Calculates for each array element of the variable @var{a} the maximum
value for that element in the current team; if @var{result_image} has the
specified image. This function operates on numeric values and character
strings.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{a} @tab intent(inout) An array descriptor for the data to be
@cindex Coarray, _gfortran_caf_co_min
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
@item @emph{Description}:
Calculates for each array element of the variable @var{a} the minimum
value for that element in the current team; if @var{result_image} has the
specified image. This function operates on numeric values and character
strings.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{a} @tab intent(inout) An array descriptor for the data to be
@cindex Coarray, _gfortran_caf_co_sum
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image,
+int *stat, char *errmsg, size_t errmsg_len)}
+
@item @emph{Description}:
Calculates for each array element of the variable @var{a} the sum of all
values for that element in the current team; if @var{result_image} has the
value 0, the result shall be stored on all images, otherwise, only on the
specified image. This function operates on numeric values only.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image,
-int *stat, char *errmsg, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{a} @tab intent(inout) An array descriptor with the data to be
@cindex Coarray, _gfortran_caf_co_reduce
@table @asis
+@item @emph{Synopsis}:
+@code{void _gfortran_caf_co_reduce (gfc_descriptor_t *a,
+void * (*opr) (void *, void *), int opr_flags, int result_image,
+int *stat, char *errmsg, int a_len, size_t errmsg_len)}
+
@item @emph{Description}:
Calculates for each array element of the variable @var{a} the reduction
value for that element in the current team; if @var{result_image} has the
@code{GFC_CAF_ARG_DESC} (8) whether the arguments shall be passed by descriptor.
-@item @emph{Syntax}:
-@code{void _gfortran_caf_co_reduce (gfc_descriptor_t *a,
-void * (*opr) (void *, void *), int opr_flags, int result_image,
-int *stat, char *errmsg, int a_len, size_t errmsg_len)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{a} @tab intent(inout) An array descriptor with the data to be
@cindex core, dump
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ABORT}
+
@item @emph{Description}:
@code{ABORT} causes immediate termination of the program. On operating
systems that support a core dump, @code{ABORT} produces a core dump.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL ABORT}
-
@item @emph{Return value}:
Does not return.
@cindex absolute value
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ABS(A)}
+
@item @emph{Description}:
@code{ABS(A)} computes the absolute value of @code{A}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ABS(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be an @code{INTEGER},
@cindex file system, access mode
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACCESS(NAME, MODE)}
+
@item @emph{Description}:
@code{ACCESS(NAME, MODE)} checks whether the file @var{NAME}
exists, is readable, writable or executable. Except for the
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = ACCESS(NAME, MODE)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab Scalar @code{CHARACTER} of default kind with the
@cindex collating sequence, @acronym{ASCII}
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACHAR(I [, KIND])}
+
@item @emph{Description}:
@code{ACHAR(I)} returns the character located at position @code{I}
in the @acronym{ASCII} collating sequence.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ACHAR(I [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@cindex cosine, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOS(X)}
+
@item @emph{Description}:
@code{ACOS(X)} computes the arccosine of @var{X} (inverse of @code{COS(X)}).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ACOS(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall either be @code{REAL} with a magnitude that is
@cindex cosine, inverse, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOSD(X)}
+
@item @emph{Description}:
@code{ACOSD(X)} computes the arccosine of @var{X} in degrees (inverse of
@code{COSD(X)}).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ACOSD(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall either be @code{REAL} with a magnitude that is
@cindex cosine, hyperbolic, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ACOSH(X)}
+
@item @emph{Description}:
@code{ACOSH(X)} computes the inverse hyperbolic cosine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ACOSH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex adjust string
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ADJUSTL(STRING)}
+
@item @emph{Description}:
@code{ADJUSTL(STRING)} left adjusts a string by removing leading spaces.
Spaces are inserted at the end of the string as needed.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ADJUSTL(STRING)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab The type shall be @code{CHARACTER}.
@cindex adjust string
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ADJUSTR(STRING)}
+
@item @emph{Description}:
@code{ADJUSTR(STRING)} right adjusts a string by removing trailing spaces.
Spaces are inserted at the start of the string as needed.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ADJUSTR(STRING)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STR} @tab The type shall be @code{CHARACTER}.
@cindex complex numbers, imaginary part
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AIMAG(Z)}
+
@item @emph{Description}:
@code{AIMAG(Z)} yields the imaginary part of complex argument @code{Z}.
The @code{IMAG(Z)} and @code{IMAGPART(Z)} intrinsic functions are provided
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = AIMAG(Z)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{Z} @tab The type of the argument shall be @code{COMPLEX}.
@cindex rounding, floor
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AINT(A [, KIND])}
+
@item @emph{Description}:
@code{AINT(A [, KIND])} truncates its argument to a whole number.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = AINT(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be @code{REAL}.
@cindex delayed execution
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ALARM(SECONDS, HANDLER [, STATUS])}
+
@item @emph{Description}:
@code{ALARM(SECONDS, HANDLER [, STATUS])} causes external subroutine @var{HANDLER}
to be executed after a delay of @var{SECONDS} by using @code{alarm(2)} to
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL ALARM(SECONDS, HANDLER [, STATUS])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SECONDS} @tab The type of the argument shall be a scalar
@cindex array, condition testing
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ALL(MASK [, DIM])}
+
@item @emph{Description}:
@code{ALL(MASK [, DIM])} determines if all the values are true in @var{MASK}
in the array along dimension @var{DIM}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = ALL(MASK [, DIM])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MASK} @tab The type of the argument shall be @code{LOGICAL} and
@cindex allocation, status
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ALLOCATED(ARRAY)}
+@item @code{RESULT = ALLOCATED(SCALAR)}
+@end multitable
+
@item @emph{Description}:
@code{ALLOCATED(ARRAY)} and @code{ALLOCATED(SCALAR)} check the allocation
status of @var{ARRAY} and @var{SCALAR}, respectively.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ALLOCATED(ARRAY)}
-@item @code{RESULT = ALLOCATED(SCALAR)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab The argument shall be an @code{ALLOCATABLE} array.
@cindex logical and, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = AND(I, J)}
+
@item @emph{Description}:
Bitwise logical @code{AND}.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = AND(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be either a scalar @code{INTEGER}
@cindex rounding, ceiling
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ANINT(A [, KIND])}
+
@item @emph{Description}:
@code{ANINT(A [, KIND])} rounds its argument to the nearest whole number.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ANINT(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be @code{REAL}.
@cindex array, condition testing
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ANY(MASK [, DIM])}
+
@item @emph{Description}:
@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{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = ANY(MASK [, DIM])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MASK} @tab The type of the argument shall be @code{LOGICAL} and
@cindex sine, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASIN(X)}
+
@item @emph{Description}:
@code{ASIN(X)} computes the arcsine of its @var{X} (inverse of @code{SIN(X)}).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ASIN(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be either @code{REAL} and a magnitude that is
@cindex sine, inverse, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASIND(X)}
+
@item @emph{Description}:
@code{ASIND(X)} computes the arcsine of its @var{X} in degrees (inverse of
@code{SIND(X)}).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ASIND(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be either @code{REAL} and a magnitude that is
@cindex sine, hyperbolic, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASINH(X)}
+
@item @emph{Description}:
@code{ASINH(X)} computes the inverse hyperbolic sine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ASINH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex association status
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ASSOCIATED(POINTER [, TARGET])}
+
@item @emph{Description}:
@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{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = ASSOCIATED(POINTER [, TARGET])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{POINTER} @tab @var{POINTER} shall have the @code{POINTER} attribute
@cindex tangent, inverse
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ATAN(X)}
+@item @code{RESULT = ATAN(Y, X)}
+@end multitable
+
@item @emph{Description}:
@code{ATAN(X)} computes the arctangent of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ATAN(X)}
-@item @code{RESULT = ATAN(Y, X)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX};
@cindex tangent, inverse, degrees
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = ATAND(X)}
+@end multitable
+
@item @emph{Description}:
@code{ATAND(X)} computes the arctangent of @var{X} in degrees (inverse of
@ref{TAND}).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = ATAND(X)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL};
@cindex tangent, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATAN2(Y, X)}
+
@item @emph{Description}:
@code{ATAN2(Y, X)} computes the principal value of the argument
function of the complex number @math{X + i Y}. This function can
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ATAN2(Y, X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{Y} @tab The type shall be @code{REAL}.
@cindex tangent, inverse, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATAN2D(Y, X)}
+
@item @emph{Description}:
@code{ATAN2D(Y, X)} computes the principal value of the argument
function of the complex number @math{X + i Y} in degrees. This function can
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ATAN2D(Y, X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{Y} @tab The type shall be @code{REAL}.
@cindex tangent, hyperbolic, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ATANH(X)}
+
@item @emph{Description}:
@code{ATANH(X)} computes the inverse hyperbolic tangent of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ATANH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex Atomic subroutine, add
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_ADD (ATOM, VALUE [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_ADD(ATOM, VALUE)} atomically adds the value of @var{VALUE} to the
variable @var{ATOM}. When @var{STAT} is present and the invocation was
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_ADD (ATOM, VALUE [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, AND
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_AND (ATOM, VALUE [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_AND(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
AND between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_AND (ATOM, VALUE [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, compare and swap
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_CAS} compares the variable @var{ATOM} with the value of
@var{COMPARE}; if the value is the same, @var{ATOM} is set to the value
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of either integer
@cindex Atomic subroutine, define
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_DEFINE(ATOM, VALUE)} defines the variable @var{ATOM} with the value
@var{VALUE} atomically. When @var{STAT} is present and the invocation was
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of either integer
@cindex Atomic subroutine, ADD with fetch
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)} atomically stores the value of
@var{ATOM} in @var{OLD} and adds the value of @var{VALUE} to the
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, AND with fetch
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_AND(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
@var{OLD} and defines @var{ATOM} with the bitwise AND between the values of
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, OR with fetch
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_OR(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
@var{OLD} and defines @var{ATOM} with the bitwise OR between the values of
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, XOR with fetch
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_XOR(ATOM, VALUE)} atomically stores the value of @var{ATOM} in
@var{OLD} and defines @var{ATOM} with the bitwise XOR between the values of
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, OR
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_OR (ATOM, VALUE [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_OR(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
AND between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_OR (ATOM, VALUE [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex Atomic subroutine, reference
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_REF(VALUE, ATOM [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_DEFINE(ATOM, VALUE)} atomically assigns the value of the
variable @var{ATOM} to @var{VALUE}. When @var{STAT} is present and the
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_REF(VALUE, ATOM [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VALUE} @tab Scalar of the same type as @var{ATOM}. If the kind
@cindex Atomic subroutine, XOR
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ATOMIC_XOR (ATOM, VALUE [, STAT])}
+
@item @emph{Description}:
@code{ATOMIC_AND(ATOM, VALUE)} atomically defines @var{ATOM} with the bitwise
XOR between the values of @var{ATOM} and @var{VALUE}. When @var{STAT} is present
@item @emph{Class}:
Atomic subroutine
-@item @emph{Syntax}:
-@code{CALL ATOMIC_XOR (ATOM, VALUE [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ATOM} @tab Scalar coarray or coindexed variable of integer
@cindex backtrace
@table @asis
+@item @emph{Synopsis}:
+@code{CALL BACKTRACE}
+
@item @emph{Description}:
@code{BACKTRACE} shows a backtrace at an arbitrary place in user code. Program
execution continues normally afterwards. The backtrace information is printed
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL BACKTRACE}
-
@item @emph{Arguments}:
None
@cindex Bessel function, first kind
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_J0(X)}
+
@item @emph{Description}:
@code{BESSEL_J0(X)} computes the Bessel function of the first kind of
order 0 of @var{X}. This function is available under the name
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_J0(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex Bessel function, first kind
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_J1(X)}
+
@item @emph{Description}:
@code{BESSEL_J1(X)} computes the Bessel function of the first kind of
order 1 of @var{X}. This function is available under the name
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_J1(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex Bessel function, first kind
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = BESSEL_JN(N, X)}
+@item @code{RESULT = BESSEL_JN(N1, N2, X)}
+@end multitable
+
@item @emph{Description}:
@code{BESSEL_JN(N, X)} computes the Bessel function of the first kind of
order @var{N} of @var{X}. This function is available under the name
Elemental function, except for the transformational function
@code{BESSEL_JN(N1, N2, X)}
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = BESSEL_JN(N, X)}
-@item @code{RESULT = BESSEL_JN(N1, N2, X)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{N} @tab Shall be a scalar or an array of type @code{INTEGER}.
@cindex Bessel function, second kind
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_Y0(X)}
+
@item @emph{Description}:
@code{BESSEL_Y0(X)} computes the Bessel function of the second kind of
order 0 of @var{X}. This function is available under the name
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_Y0(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex Bessel function, second kind
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BESSEL_Y1(X)}
+
@item @emph{Description}:
@code{BESSEL_Y1(X)} computes the Bessel function of the second kind of
order 1 of @var{X}. This function is available under the name
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BESSEL_Y1(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex Bessel function, second kind
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = BESSEL_YN(N, X)}
+@item @code{RESULT = BESSEL_YN(N1, N2, X)}
+@end multitable
+
@item @emph{Description}:
@code{BESSEL_YN(N, X)} computes the Bessel function of the second kind of
order @var{N} of @var{X}. This function is available under the name
Elemental function, except for the transformational function
@code{BESSEL_YN(N1, N2, X)}
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = BESSEL_YN(N, X)}
-@item @code{RESULT = BESSEL_YN(N1, N2, X)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{N} @tab Shall be a scalar or an array of type @code{INTEGER} .
@cindex bitwise comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BGE(I, J)}
+
@item @emph{Description}:
Determines whether an integral is a bitwise greater than or equal to
another.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BGE(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@cindex bitwise comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BGT(I, J)}
+
@item @emph{Description}:
Determines whether an integral is a bitwise greater than another.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BGT(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@cindex size of a variable, in bits
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BIT_SIZE(I)}
+
@item @emph{Description}:
@code{BIT_SIZE(I)} returns the number of bits (for integers, the precision
plus the sign bit) represented by the type of @var{I}. The result of
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = BIT_SIZE(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex bitwise comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BLE(I, J)}
+
@item @emph{Description}:
Determines whether an integral is a bitwise less than or equal to
another.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BLE(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@cindex bitwise comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BLT(I, J)}
+
@item @emph{Description}:
Determines whether an integral is a bitwise less than another.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BLT(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of @code{INTEGER} or @code{UNSIGNED} type.
@cindex bits, testing
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = BTEST(I, POS)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = BTEST(I, POS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex pointer, C association status
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])}
+
@item @emph{Description}:
@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{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{c_ptr_1} @tab Scalar of the type @code{C_PTR} or @code{C_FUNPTR}.
@cindex pointer, convert C to Fortran
@table @asis
+@item @emph{Synopsis}:
+@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])}
+
@item @emph{Description}:
@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{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL C_F_POINTER(CPTR, FPTR[, SHAPE])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{CPTR} @tab scalar of the type @code{C_PTR}. It is
@cindex pointer, C address of pointers
@table @asis
+@item @emph{Synopsis}:
+@code{CALL C_F_PROCPOINTER(cptr, fptr)}
+
@item @emph{Description}:
@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{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL C_F_PROCPOINTER(cptr, fptr)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{CPTR} @tab scalar of the type @code{C_FUNPTR}. It is
@cindex pointer, C address of procedures
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_FUNLOC(x)}
+
@item @emph{Description}:
@code{C_FUNLOC(x)} determines the C address of the argument.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = C_FUNLOC(x)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{x} @tab Interoperable function or pointer to such function.
@cindex procedure pointer, convert C to Fortran
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = C_LOC(X)}
+
@item @emph{Description}:
@code{C_LOC(X)} determines the C address of the argument.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = C_LOC(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .10 .75
@item @var{X} @tab Shall have either the POINTER or TARGET attribute. It shall not be a coindexed object. It shall either be a variable with interoperable type and kind type parameters, or be a scalar, nonpolymorphic variable with no length type parameters.
@cindex size of an expression
@table @asis
+@item @emph{Synopsis}:
+@code{N = C_SIZEOF(X)}
+
@item @emph{Description}:
@code{C_SIZEOF(X)} calculates the number of bytes of storage the
expression @code{X} occupies.
@item @emph{Class}:
Inquiry function of the module @code{ISO_C_BINDING}
-@item @emph{Syntax}:
-@code{N = C_SIZEOF(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The argument shall be an interoperable data entity.
@cindex rounding, ceiling
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CEILING(A [, KIND])}
+
@item @emph{Description}:
@code{CEILING(A)} returns the least integer greater than or equal to @var{A}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = CEILING(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{REAL}.
@cindex conversion, to character
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CHAR(I [, KIND])}
+
@item @emph{Description}:
@code{CHAR(I [, KIND])} returns the character represented by the integer @var{I}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = CHAR(I [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@cindex system, working directory
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CHDIR(NAME [, STATUS])}
+@item @code{STATUS = CHDIR(NAME)}
+@end multitable
+
@item @emph{Description}:
Change current working directory to a specified path.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CHDIR(NAME [, STATUS])}
-@item @code{STATUS = CHDIR(NAME)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab The type shall be @code{CHARACTER} of default
@cindex file system, change access mode
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CHMOD(NAME, MODE[, STATUS])}
+@item @code{STATUS = CHMOD(NAME, MODE)}
+@end multitable
+
@item @emph{Description}:
@code{CHMOD} changes the permissions of a file.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CHMOD(NAME, MODE[, STATUS])}
-@item @code{STATUS = CHMOD(NAME, MODE)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@cindex conversion, to complex
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CMPLX(X [, Y [, KIND]])}
+
@item @emph{Description}:
@code{CMPLX(X [, Y [, KIND]])} returns a complex number where @var{X} is converted to
the real component. If @var{Y} is present it is converted to the imaginary
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = CMPLX(X [, Y [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
@cindex Collectives, value broadcasting
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])}
+
@item @emph{Description}:
@code{CO_BROADCAST} copies the value of argument @var{A} on the image with
image index @code{SOURCE_IMAGE} to all images in the current team. @var{A}
@item @emph{Class}:
Collective subroutine
-@item @emph{Syntax}:
-@code{CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{A} @tab INTENT(INOUT) argument; shall have the same
@cindex Collectives, maximal value
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
@item @emph{Description}:
@code{CO_MAX} determines element-wise the maximal value of @var{A} on all
images of the current team. If @var{RESULT_IMAGE} is present, the maximum
@item @emph{Class}:
Collective subroutine
-@item @emph{Syntax}:
-@code{CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{A} @tab shall be an integer, real or character variable,
@cindex Collectives, minimal value
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
@item @emph{Description}:
@code{CO_MIN} determines element-wise the minimal value of @var{A} on all
images of the current team. If @var{RESULT_IMAGE} is present, the minimal
@item @emph{Class}:
Collective subroutine
-@item @emph{Syntax}:
-@code{CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{A} @tab shall be an integer, real or character variable,
@cindex Collectives, generic reduction
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])}
+
@item @emph{Description}:
@code{CO_REDUCE} determines element-wise the reduction of the value of @var{A}
on all images of the current team. The pure function passed as @var{OPERATION}
@item @emph{Class}:
Collective subroutine
-@item @emph{Syntax}:
-@code{CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{A} @tab is an @code{INTENT(INOUT)} argument and shall be
@cindex Collectives, sum of values
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])}
+
@item @emph{Description}:
@code{CO_SUM} sums up the values of each element of @var{A} on all
images of the current team. If @var{RESULT_IMAGE} is present, the summed-up
@item @emph{Class}:
Collective subroutine
-@item @emph{Syntax}:
-@code{CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{A} @tab shall be an integer, real or complex variable,
@cindex arguments, to program
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COMMAND_ARGUMENT_COUNT()}
+
@item @emph{Description}:
@code{COMMAND_ARGUMENT_COUNT} returns the number of arguments passed on the
command line when the containing program was invoked.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = COMMAND_ARGUMENT_COUNT()}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item None
@cindex compiler flags inquiry function
@table @asis
+@item @emph{Synopsis}:
+@code{STR = COMPILER_OPTIONS()}
+
@item @emph{Description}:
@code{COMPILER_OPTIONS} returns a string with the options used for
compiling.
@item @emph{Class}:
Inquiry function of the module @code{ISO_FORTRAN_ENV}
-@item @emph{Syntax}:
-@code{STR = COMPILER_OPTIONS()}
-
@item @emph{Arguments}:
None
@cindex version of the compiler
@table @asis
+@item @emph{Synopsis}:
+@code{STR = COMPILER_VERSION()}
+
@item @emph{Description}:
@code{COMPILER_VERSION} returns a string with the name and the
version of the compiler.
@item @emph{Class}:
Inquiry function of the module @code{ISO_FORTRAN_ENV}
-@item @emph{Syntax}:
-@code{STR = COMPILER_VERSION()}
-
@item @emph{Arguments}:
None
@cindex conversion, to complex
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COMPLEX(X, Y)}
+
@item @emph{Description}:
@code{COMPLEX(X, Y)} returns a complex number where @var{X} is converted
to the real component and @var{Y} is converted to the imaginary
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = COMPLEX(X, Y)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER} or @code{REAL}.
@cindex complex conjugate
@table @asis
+@item @emph{Synopsis}:
+@code{Z = CONJG(Z)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{Z = CONJG(Z)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{Z} @tab The type shall be @code{COMPLEX}.
@cindex cosine
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COS(X)}
+
@item @emph{Description}:
@code{COS(X)} computes the cosine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = COS(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or
@cindex cosine, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COSD(X)}
+
@item @emph{Description}:
@code{COSD(X)} computes the cosine of @var{X} in degrees.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = COSD(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex cosine, hyperbolic
@table @asis
+@item @emph{Synopsis}:
+@code{X = COSH(X)}
+
@item @emph{Description}:
@code{COSH(X)} computes the hyperbolic cosine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{X = COSH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex cotangent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COTAN(X)}
+
@item @emph{Description}:
@code{COTAN(X)} computes the cotangent of @var{X}. Equivalent to @code{COS(x)}
divided by @code{SIN(x)}, or @code{1 / TAN(x)}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = COTAN(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex cotangent, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COTAND(X)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = COTAND(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex array, number of elements
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = COUNT(MASK [, DIM, KIND])}
+
@item @emph{Description}:
Counts the number of @code{.TRUE.} elements in a logical @var{MASK},
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = COUNT(MASK [, DIM, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MASK} @tab The type shall be @code{LOGICAL}.
@cindex time, elapsed
@table @asis
+@item @emph{Synopsis}:
+@code{CALL CPU_TIME(TIME)}
+
@item @emph{Description}:
Returns a @code{REAL} value representing the elapsed CPU time in
seconds. This is useful for testing segments of code to determine
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL CPU_TIME(TIME)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab The type shall be @code{REAL} with @code{INTENT(OUT)}.
@cindex array, rotate
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = CSHIFT(ARRAY, SHIFT [, DIM])}
+
@item @emph{Description}:
@code{CSHIFT(ARRAY, SHIFT [, DIM])} performs a circular shift on elements of
@var{ARRAY} along the dimension of @var{DIM}. If @var{DIM} is omitted it is
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = CSHIFT(ARRAY, SHIFT [, DIM])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of any type.
@cindex conversion, to string
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL CTIME(TIME, RESULT)}.
+@item @code{RESULT = CTIME(TIME)}.
+@end multitable
+
@item @emph{Description}:
@code{CTIME} converts a system time value, such as returned by
@ref{TIME8}, to a string. The output is of the form @samp{Sat
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL CTIME(TIME, RESULT)}.
-@item @code{RESULT = CTIME(TIME)}.
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab The type shall be of type @code{INTEGER}.
@cindex current time
@table @asis
+@item @emph{Synopsis}:
+@code{CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])}
+
@item @emph{Description}:
@code{DATE_AND_TIME(DATE, TIME, ZONE, VALUES)} gets the corresponding date and
time information from the real-time system clock. @var{DATE} is
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{DATE} @tab (Optional) Scalar of type default @code{CHARACTER}.
@cindex conversion, to real
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DBLE(A)}
+
@item @emph{Description}:
@code{DBLE(A)} Converts @var{A} to double precision real type.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DBLE(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{INTEGER}, @code{REAL},
@cindex conversion, to complex
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DCMPLX(X [, Y])}
+
@item @emph{Description}:
@code{DCMPLX(X [,Y])} returns a double complex number where @var{X} is
converted to the real component. If @var{Y} is present it is converted to the
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DCMPLX(X [, Y])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL},
@cindex model representation, significant digits
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DIGITS(X)}
+
@item @emph{Description}:
@code{DIGITS(X)} returns the number of significant binary digits of the internal
model representation of @var{X}. For example, on a system using a 32-bit
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = DIGITS(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type may be @code{INTEGER}, @code{REAL} or @code{UNSIGNED}.
@cindex positive difference
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DIM(X, Y)}
+
@item @emph{Description}:
@code{DIM(X,Y)} returns the difference @code{X-Y} if the result is positive;
otherwise returns zero.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DIM(X, Y)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{INTEGER} or @code{REAL}
@cindex product, vector
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)}
+
@item @emph{Description}:
@code{DOT_PRODUCT(VECTOR_A, VECTOR_B)} computes the dot product multiplication
of two vectors @var{VECTOR_A} and @var{VECTOR_B}. The two vectors may be
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VECTOR_A} @tab The type shall be numeric or @code{LOGICAL}, rank 1.
@cindex product, double-precision
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DPROD(X, Y)}
+
@item @emph{Description}:
@code{DPROD(X,Y)} returns the product @code{X*Y}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DPROD(X, Y)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex complex numbers, real part
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DREAL(A)}
+
@item @emph{Description}:
@code{DREAL(Z)} returns the real part of complex variable @var{Z}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DREAL(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{COMPLEX(8)}.
@cindex shift, left
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DSHIFTL(I, J, SHIFT)}
+
@item @emph{Description}:
@code{DSHIFTL(I, J, SHIFT)} combines bits of @var{I} and @var{J}. The
rightmost @var{SHIFT} bits of the result are the leftmost @var{SHIFT}
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DSHIFTL(I, J, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED} or
@cindex shift, right
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = DSHIFTR(I, J, SHIFT)}
+
@item @emph{Description}:
@code{DSHIFTR(I, J, SHIFT)} combines bits of @var{I} and @var{J}. The
leftmost @var{SHIFT} bits of the result are the rightmost @var{SHIFT}
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = DSHIFTR(I, J, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED} or
@cindex elapsed time
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL DTIME(VALUES, TIME)}.
+@item @code{TIME = DTIME(VALUES)}, (not recommended).
+@end multitable
+
@item @emph{Description}:
@code{DTIME(VALUES, TIME)} initially returns the number of seconds of runtime
since the start of the process's execution in @var{TIME}. @var{VALUES}
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL DTIME(VALUES, TIME)}.
-@item @code{TIME = DTIME(VALUES)}, (not recommended).
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
@cindex array, shift
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])}
+
@item @emph{Description}:
@code{EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])} performs an end-off shift on
elements of @var{ARRAY} along the dimension of @var{DIM}. If @var{DIM} is
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab May be any type, not scalar.
@cindex model representation, epsilon
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EPSILON(X)}
+
@item @emph{Description}:
@code{EPSILON(X)} returns the smallest number @var{E} of the same kind
as @var{X} such that @math{1 + E > 1}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = EPSILON(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex error function
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERF(X)}
+
@item @emph{Description}:
@code{ERF(X)} computes the error function of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ERF(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex error function, complementary
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERFC(X)}
+
@item @emph{Description}:
@code{ERFC(X)} computes the complementary error function of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ERFC(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex error function, complementary, exponentially-scaled
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ERFC_SCALED(X)}
+
@item @emph{Description}:
@code{ERFC_SCALED(X)} computes the exponentially-scaled complementary
error function of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ERFC_SCALED(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex time, elapsed
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL ETIME(VALUES, TIME)}.
+@item @code{TIME = ETIME(VALUES)}, (not recommended).
+@end multitable
+
@item @emph{Description}:
@code{ETIME(VALUES, TIME)} returns the number of seconds of runtime
since the start of the process's execution in @var{TIME}. @var{VALUES}
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL ETIME(VALUES, TIME)}.
-@item @code{TIME = ETIME(VALUES)}, (not recommended).
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VALUES}@tab The type shall be @code{REAL(4), DIMENSION(2)}.
@cindex Events, EVENT_QUERY
@table @asis
+@item @emph{Synopsis}:
+@code{CALL EVENT_QUERY (EVENT, COUNT [, STAT])}
+
@item @emph{Description}:
@code{EVENT_QUERY} assigns the number of events to @var{COUNT} that have been
posted to the @var{EVENT} variable and not yet been removed by calling
@item @emph{Class}:
subroutine
-@item @emph{Syntax}:
-@code{CALL EVENT_QUERY (EVENT, COUNT [, STAT])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{EVENT} @tab (intent(IN)) Scalar of type @code{EVENT_TYPE},
@cindex command line
@table @asis
+@item @emph{Synopsis}:
+@code{CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])}
+
@item @emph{Description}:
@code{EXECUTE_COMMAND_LINE} runs a shell command, synchronously or
asynchronously.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{COMMAND} @tab Shall be a default @code{CHARACTER} scalar.
@cindex terminate program
@table @asis
+@item @emph{Synopsis}:
+@code{CALL EXIT([STATUS])}
+
@item @emph{Description}:
@code{EXIT} causes immediate termination of the program with status. If status
is omitted it returns the canonical @emph{success} for the system. All Fortran
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL EXIT([STATUS])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STATUS} @tab Shall be an @code{INTEGER} of the default kind.
@cindex logarithm function, inverse
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXP(X)}
+
@item @emph{Description}:
@code{EXP(X)} computes the base @math{e} exponential of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = EXP(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or
@cindex floating point, exponent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXPONENT(X)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = EXPONENT(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@fnindex EXTENDS_TYPE_OF
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = EXTENDS_TYPE_OF(A, MOLD)}
+
@item @emph{Description}:
Query dynamic type for extension.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = EXTENDS_TYPE_OF(A, MOLD)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be an object of extensible declared type or
@cindex current date
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FDATE(DATE)}.
+@item @code{DATE = FDATE()}.
+@end multitable
+
@item @emph{Description}:
@code{FDATE(DATE)} returns the current date (using the same format as
@ref{CTIME}) in @var{DATE}. It is equivalent to @code{CALL CTIME(DATE,
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FDATE(DATE)}.
-@item @code{DATE = FDATE()}.
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{DATE}@tab The type shall be of type @code{CHARACTER} of the
@cindex file operation, read character
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FGET(C [, STATUS])}
+@item @code{STATUS = FGET(C)}
+@end multitable
+
@item @emph{Description}:
Read a single character in stream mode from stdin by bypassing normal
formatted output. Stream I/O should not be mixed with normal record-oriented
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FGET(C [, STATUS])}
-@item @code{STATUS = FGET(C)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
@cindex file operation, read character
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FGETC(UNIT, C [, STATUS])}
+@item @code{STATUS = FGETC(UNIT, C)}
+@end multitable
+
@item @emph{Description}:
Read a single character in stream mode by bypassing normal formatted output.
Stream I/O should not be mixed with normal record-oriented (formatted or
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FGETC(UNIT, C [, STATUS])}
-@item @code{STATUS = FGETC(UNIT, C)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
@cindex findloc
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])}
+@end multitable
+
@item @emph{Description}:
Determines the location of the element in the array with the value
given in the @var{VALUE} argument, or, if the @var{DIM} argument is
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of intrinsic type.
@cindex rounding, floor
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = FLOOR(A [, KIND])}
+
@item @emph{Description}:
@code{FLOOR(A)} returns the greatest integer less than or equal to @var{A}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = FLOOR(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type shall be @code{REAL}.
@cindex file operation, flush
@table @asis
+@item @emph{Synopsis}:
+@code{CALL FLUSH(UNIT)}
+
@item @emph{Description}:
Flushes Fortran unit(s) currently open for output. Without the optional
argument, all units are flushed, otherwise just the unit specified.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL FLUSH(UNIT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab (Optional) The type shall be @code{INTEGER}.
@cindex file operation, file number
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = FNUM(UNIT)}
+
@item @emph{Description}:
@code{FNUM(UNIT)} returns the POSIX file descriptor number corresponding to the
open Fortran I/O unit @code{UNIT}.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = FNUM(UNIT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
@cindex file operation, write character
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FPUT(C [, STATUS])}
+@item @code{STATUS = FPUT(C)}
+@end multitable
+
@item @emph{Description}:
Write a single character in stream mode to stdout by bypassing normal
formatted output. Stream I/O should not be mixed with normal record-oriented
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FPUT(C [, STATUS])}
-@item @code{STATUS = FPUT(C)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default
@cindex file operation, write character
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FPUTC(UNIT, C [, STATUS])}
+@item @code{STATUS = FPUTC(UNIT, C)}
+@end multitable
+
@item @emph{Description}:
Write a single character in stream mode by bypassing normal formatted
output. Stream I/O should not be mixed with normal record-oriented
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FPUTC(UNIT, C [, STATUS])}
-@item @code{STATUS = FPUTC(UNIT, C)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab The type shall be @code{INTEGER}.
@cindex floating point, fraction
@table @asis
+@item @emph{Synopsis}:
+@code{Y = FRACTION(X)}
+
@item @emph{Description}:
@code{FRACTION(X)} returns the fractional part of the model
representation of @code{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{Y = FRACTION(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type of the argument shall be a @code{REAL}.
@cindex pointer, cray
@table @asis
+@item @emph{Synopsis}:
+@code{CALL FREE(PTR)}
+
@item @emph{Description}:
Frees memory previously allocated by @code{MALLOC}. The @code{FREE}
intrinsic is an extension intended to be used with Cray pointers, and is
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL FREE(PTR)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PTR} @tab The type shall be @code{INTEGER}. It represents the
@cindex file operation, position
@table @asis
+@item @emph{Synopsis}:
+@code{CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])}
+
@item @emph{Description}:
Moves @var{UNIT} to the specified @var{OFFSET}. If @var{WHENCE}
is set to 0, the @var{OFFSET} is taken as an absolute value @code{SEEK_SET},
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab Shall be a scalar of type @code{INTEGER}.
@cindex file system, file status
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FSTAT(UNIT, VALUES [, STATUS])}
+@item @code{STATUS = FSTAT(UNIT, VALUES)}
+@end multitable
+
@item @emph{Description}:
@code{FSTAT} is identical to @ref{STAT}, except that information about an
already opened file is obtained.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FSTAT(UNIT, VALUES [, STATUS])}
-@item @code{STATUS = FSTAT(UNIT, VALUES)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab An open I/O unit number of type @code{INTEGER}.
@cindex file operation, position
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL FTELL(UNIT, OFFSET)}
+@item @code{OFFSET = FTELL(UNIT)}
+@end multitable
+
@item @emph{Description}:
Retrieves the current position within an open file.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL FTELL(UNIT, OFFSET)}
-@item @code{OFFSET = FTELL(UNIT)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{OFFSET} @tab Shall of type @code{INTEGER}.
@cindex Factorial function
@table @asis
+@item @emph{Synopsis}:
+@code{X = GAMMA(X)}
+
@item @emph{Description}:
@code{GAMMA(X)} computes Gamma (@math{\Gamma}) of @var{X}. For positive,
integer values of @var{X} the Gamma function simplifies to the factorial
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{X = GAMMA(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL} and neither zero
@cindex system, error handling
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GERROR(RESULT)}
+
@item @emph{Description}:
Returns the system error message corresponding to the last system error.
This resembles the functionality of @code{strerror(3)} in C.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GERROR(RESULT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{RESULT} @tab Shall be of type @code{CHARACTER} and of default kind.
@cindex arguments, to program
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GETARG(POS, VALUE)}
+
@item @emph{Description}:
Retrieve the @var{POS}-th argument that was passed on the
command line when the containing program was invoked.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GETARG(POS, VALUE)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{POS} @tab Shall be of type @code{INTEGER} and not wider than
@cindex arguments, to program
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_COMMAND([COMMAND, LENGTH, STATUS])}
+
@item @emph{Description}:
Retrieve the entire command line that was used to invoke the program.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GET_COMMAND([COMMAND, LENGTH, STATUS])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{COMMAND} @tab (Optional) shall be of type @code{CHARACTER} and
@cindex arguments, to program
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])}
+
@item @emph{Description}:
Retrieve the @var{NUMBER}-th argument that was passed on the
command line when the containing program was invoked.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NUMBER} @tab Shall be a scalar of type @code{INTEGER} and of
@cindex system, working directory
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL GETCWD(C [, STATUS])}
+@item @code{STATUS = GETCWD(C)}
+@end multitable
+
@item @emph{Description}:
Get current working directory.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL GETCWD(C [, STATUS])}
-@item @code{STATUS = GETCWD(C)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The type shall be @code{CHARACTER} and of default kind.
@cindex environment variable
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GETENV(NAME, VALUE)}
+
@item @emph{Description}:
Get the @var{VALUE} of the environmental variable @var{NAME}.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GETENV(NAME, VALUE)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab Shall be of type @code{CHARACTER} and of default kind.
@cindex environment variable
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)}
+
@item @emph{Description}:
Get the @var{VALUE} of the environmental variable @var{NAME}.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab Shall be a scalar of type @code{CHARACTER}
@cindex system, group ID
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETGID()}
+
@item @emph{Description}:
Returns the numerical group ID of the current process.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = GETGID()}
-
@item @emph{Return value}:
The return value of @code{GETGID} is an @code{INTEGER} of the default
kind.
@cindex login name
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GETLOG(C)}
+
@item @emph{Description}:
Gets the username under which the program is running.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GETLOG(C)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall be of type @code{CHARACTER} and of default kind.
@cindex process ID
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETPID()}
+
@item @emph{Description}:
Returns the numerical process identifier of the current process.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = GETPID()}
-
@item @emph{Return value}:
The return value of @code{GETPID} is an @code{INTEGER} of the default
kind.
@cindex user id
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = GETUID()}
+
@item @emph{Description}:
Returns the numerical user ID of the current process.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = GETUID()}
-
@item @emph{Return value}:
The return value of @code{GETUID} is an @code{INTEGER} of the default
kind.
@cindex time, conversion to GMT info
@table @asis
+@item @emph{Synopsis}:
+@code{CALL GMTIME(TIME, VALUES)}
+
@item @emph{Description}:
Given a system time value @var{TIME} (as provided by the @ref{TIME}
intrinsic), fills @var{VALUES} with values extracted from it appropriate
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL GMTIME(TIME, VALUES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab An @code{INTEGER} scalar expression
@cindex system, host name
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL HOSTNM(C [, STATUS])}
+@item @code{STATUS = HOSTNM(NAME)}
+@end multitable
+
@item @emph{Description}:
Retrieves the host name of the system on which the program is running.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL HOSTNM(C [, STATUS])}
-@item @code{STATUS = HOSTNM(NAME)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall of type @code{CHARACTER} and of default kind.
@cindex model representation, largest number
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = HUGE(X)}
+
@item @emph{Description}:
@code{HUGE(X)} returns the largest number that is not an infinity in
the model of the type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = HUGE(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}, @code{INTEGER} or
@cindex Euclidean distance
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = HYPOT(X, Y)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = HYPOT(X, Y)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex conversion, to integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IACHAR(C [, KIND])}
+
@item @emph{Description}:
@code{IACHAR(C)} returns the code for the @acronym{ASCII} character
in the first character position of @code{C}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IACHAR(C [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@cindex bits, AND of array elements
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IALL(ARRAY[, MASK])}
+@item @code{RESULT = IALL(ARRAY, DIM[, MASK])}
+@end multitable
+
@item @emph{Description}:
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{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IALL(ARRAY[, MASK])}
-@item @code{RESULT = IALL(ARRAY, DIM[, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or @code{UNSIGNED}
@cindex logical and, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IAND(I, J)}
+
@item @emph{Description}:
Bitwise logical @code{AND}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IAND(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED}
@cindex bits, OR of array elements
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IANY(ARRAY[, MASK])}
+@item @code{RESULT = IANY(ARRAY, DIM[, MASK])}
+@end multitable
+
@item @emph{Description}:
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{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IANY(ARRAY[, MASK])}
-@item @code{RESULT = IANY(ARRAY, DIM[, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER} or @code{UNSIGNED}
@cindex arguments, to program
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IARGC()}
+
@item @emph{Description}:
@code{IARGC} returns the number of arguments passed on the
command line when the containing program was invoked.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = IARGC()}
-
@item @emph{Arguments}:
None
@cindex bits, clear
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBCLR(I, POS)}
+
@item @emph{Description}:
@code{IBCLR} returns the value of @var{I} with the bit at position
@var{POS} set to zero.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IBCLR(I, POS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex bits, extract
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBITS(I, POS, LEN)}
+
@item @emph{Description}:
@code{IBITS} extracts a field of length @var{LEN} from @var{I},
starting from bit position @var{POS} and extending left for @var{LEN}
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IBITS(I, POS, LEN)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex bits, set
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IBSET(I, POS)}
+
@item @emph{Description}:
@code{IBSET} returns the value of @var{I} with the bit at position
@var{POS} set to one.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IBSET(I, POS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex conversion, to integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ICHAR(C [, KIND])}
+
@item @emph{Description}:
@code{ICHAR(C)} returns the code for the character in the first character
position of @code{C} in the system's native character set.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ICHAR(C [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab Shall be a scalar @code{CHARACTER}, with @code{INTENT(IN)}
@cindex current date
@table @asis
+@item @emph{Synopsis}:
+@code{CALL IDATE(VALUES)}
+
@item @emph{Description}:
@code{IDATE(VALUES)} Fills @var{VALUES} with the numerical values at the
current local time. The day (in the range 1-31), month (in the range 1-12),
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL IDATE(VALUES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VALUES} @tab The type shall be @code{INTEGER, DIMENSION(3)} and
@cindex logical exclusive or, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IEOR(I, J)}
+
@item @emph{Description}:
@code{IEOR} returns the bitwise Boolean exclusive-OR of @var{I} and
@var{J}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IEOR(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED} or
@cindex system, error handling
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IERRNO()}
+
@item @emph{Description}:
Returns the last system error number, as given by the C @code{errno}
variable.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = IERRNO()}
-
@item @emph{Arguments}:
None
@cindex images, cosubscript to image index conversion
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IMAGE_INDEX(COARRAY, SUB)}
+
@item @emph{Description}:
Returns the image index belonging to a cosubscript.
@item @emph{Class}:
Inquiry function.
-@item @emph{Syntax}:
-@code{RESULT = IMAGE_INDEX(COARRAY, SUB)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{COARRAY} @tab Coarray of any type.
@cindex string, find substring
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])}
+
@item @emph{Description}:
Returns the position of the start of the first occurrence of string
@var{SUBSTRING} as a substring in @var{STRING}, counting from one. If
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be a scalar @code{CHARACTER}, with
@cindex conversion, to integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT(A [, KIND))}
+
@item @emph{Description}:
Convert to integer type
Elemental function, extension for @code{UNSIGNED} (@pxref{Unsigned
integers}).
-@item @emph{Syntax}:
-@code{RESULT = INT(A [, KIND))}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@cindex conversion, to integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT2(A)}
+
@item @emph{Description}:
Convert to a @code{KIND=2} integer type. This is equivalent to the
standard @code{INT} intrinsic with an optional argument of
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = INT2(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@cindex conversion, to integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = INT8(A)}
+
@item @emph{Description}:
Convert to a @code{KIND=8} integer type. This is equivalent to the
standard @code{INT} intrinsic with an optional argument of
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = INT8(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@cindex logical or, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IOR(I, J)}
+
@item @emph{Description}:
@code{IOR} returns the bitwise Boolean inclusive-OR of @var{I} and
@var{J}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IOR(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}, @code{UNSIGNED}
@cindex bits, XOR of array elements
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = IPARITY(ARRAY[, MASK])}
+@item @code{RESULT = IPARITY(ARRAY, DIM[, MASK])}
+@end multitable
+
@item @emph{Description}:
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{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = IPARITY(ARRAY[, MASK])}
-@item @code{RESULT = IPARITY(ARRAY, DIM[, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER}
@cindex random number generation
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IRAND(I)}
+
@item @emph{Description}:
@code{IRAND(FLAG)} returns a pseudo-random number from a uniform
distribution between 0 and a system-dependent limit (which is in most
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = IRAND(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be a scalar @code{INTEGER} of kind 4.
@cindex array, contiguity
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_CONTIGUOUS(ARRAY)}
+
@item @emph{Description}:
@code{IS_CONTIGUOUS} tests whether an array is contiguous.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = IS_CONTIGUOUS(ARRAY)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of any type.
@cindex @code{IOSTAT}, end of file
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_IOSTAT_END(I)}
+
@item @emph{Description}:
@code{IS_IOSTAT_END} tests whether an variable has the value of the I/O
status ``end of file''. The function is equivalent to comparing the variable
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IS_IOSTAT_END(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of the type @code{INTEGER}.
@cindex @code{IOSTAT}, end of record
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = IS_IOSTAT_EOR(I)}
+
@item @emph{Description}:
@code{IS_IOSTAT_EOR} tests whether an variable has the value of the I/O
status ``end of record''. The function is equivalent to comparing the
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = IS_IOSTAT_EOR(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of the type @code{INTEGER}.
@cindex system, terminal
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISATTY(UNIT)}
+
@item @emph{Description}:
Determine whether a unit is connected to a terminal device.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = ISATTY(UNIT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab Shall be a scalar @code{INTEGER}.
@cindex bits, shift
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISHFT(I, SHIFT)}
+
@item @emph{Description}:
@code{ISHFT} returns a value corresponding to @var{I} with all of the
bits shifted @var{SHIFT} places. A value of @var{SHIFT} greater than
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ISHFT(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex bits, shift circular
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = ISHFTC(I, SHIFT [, SIZE])}
+
@item @emph{Description}:
@code{ISHFTC} returns a value corresponding to @var{I} with the
rightmost @var{SIZE} bits shifted circularly @var{SHIFT} places; that
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = ISHFTC(I, SHIFT [, SIZE])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex IEEE, ISNAN
@table @asis
+@item @emph{Synopsis}:
+@code{ISNAN(X)}
+
@item @emph{Description}:
@code{ISNAN} tests whether a floating-point value is an IEEE
Not-a-Number (NaN).
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{ISNAN(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Variable of the type @code{REAL}.
@cindex current time
@table @asis
+@item @emph{Synopsis}:
+@code{CALL ITIME(VALUES)}
+
@item @emph{Description}:
@code{ITIME(VALUES)} Fills @var{VALUES} with the numerical values at the
current local time. The hour (in the range 1-24), minute (in the range 1-60),
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL ITIME(VALUES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VALUES} @tab The type shall be @code{INTEGER, DIMENSION(3)}
@fnindex KILL
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL KILL(PID, SIG [, STATUS])}
+@item @code{STATUS = KILL(PID, SIG)}
+@end multitable
+
@item @emph{Description}:
Sends the signal specified by @var{SIG} to the process @var{PID}.
See @code{kill(2)}.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL KILL(PID, SIG [, STATUS])}
-@item @code{STATUS = KILL(PID, SIG)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PID} @tab Shall be a scalar @code{INTEGER} with @code{INTENT(IN)}.
@cindex kind
@table @asis
+@item @emph{Synopsis}:
+@code{K = KIND(X)}
+
@item @emph{Description}:
@code{KIND(X)} returns the kind value of the entity @var{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{K = KIND(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{LOGICAL}, @code{INTEGER},
@cindex array, lower bound
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LBOUND(ARRAY [, DIM [, KIND]])}
+
@item @emph{Description}:
Returns the lower bounds of an array, or a single lower bound
along the @var{DIM} dimension.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = LBOUND(ARRAY [, DIM [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array, of any type.
@cindex coarray, lower bound
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])}
+
@item @emph{Description}:
Returns the lower bounds of a coarray, or a single lower cobound
along the @var{DIM} codimension.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an coarray, of any type.
@cindex zero bits
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LEADZ(I)}
+
@item @emph{Description}:
@code{LEADZ} returns the number of leading zero bits of an integer.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LEADZ(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex string, length
@table @asis
+@item @emph{Synopsis}:
+@code{L = LEN(STRING [, KIND])}
+
@item @emph{Description}:
Returns the length of a character string. If @var{STRING} is an array,
the length of an element of @var{STRING} is returned. Note that
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{L = LEN(STRING [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be a scalar or array of type
@cindex string, length, without trailing whitespace
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LEN_TRIM(STRING [, KIND])}
+
@item @emph{Description}:
Returns the length of a character string, ignoring any trailing blanks.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LEN_TRIM(STRING [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
@cindex string, comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LGE(STRING_A, STRING_B)}
+
@item @emph{Description}:
Determines whether one string is lexically greater than or equal to
another string, where the two strings are interpreted as containing
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LGE(STRING_A, STRING_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@cindex string, comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LGT(STRING_A, STRING_B)}
+
@item @emph{Description}:
Determines whether one string is lexically greater than another string,
where the two strings are interpreted as containing ASCII character
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LGT(STRING_A, STRING_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@cindex file system, hard link
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL LINK(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = LINK(PATH1, PATH2)}
+@end multitable
+
@item @emph{Description}:
Makes a (hard) link from file @var{PATH1} to @var{PATH2}. A null
character (@code{CHAR(0)}) can be used to mark the end of the names in
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL LINK(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = LINK(PATH1, PATH2)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@cindex string, comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LLE(STRING_A, STRING_B)}
+
@item @emph{Description}:
Determines whether one string is lexically less than or equal to another
string, where the two strings are interpreted as containing ASCII
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LLE(STRING_A, STRING_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@cindex string, comparison
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LLT(STRING_A, STRING_B)}
+
@item @emph{Description}:
Determines whether one string is lexically less than another string,
where the two strings are interpreted as containing ASCII character
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LLT(STRING_A, STRING_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING_A} @tab Shall be of default @code{CHARACTER} type.
@cindex string, find non-blank character
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LNBLNK(STRING)}
+
@item @emph{Description}:
Returns the length of a character string, ignoring any trailing blanks.
This is identical to the standard @code{LEN_TRIM} intrinsic, and is only
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LNBLNK(STRING)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER},
@cindex location of a variable in memory
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOC(X)}
+
@item @emph{Description}:
@code{LOC(X)} returns the address of @var{X} as an integer.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = LOC(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Variable of any type.
@cindex natural logarithm function
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOG(X)}
+
@item @emph{Description}:
@code{LOG(X)} computes the natural logarithm of @var{X}, i.e. the
logarithm to the base @math{e}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LOG(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or
@cindex base 10 logarithm function
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOG10(X)}
+
@item @emph{Description}:
@code{LOG10(X)} computes the base 10 logarithm of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LOG10(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex Gamma function, logarithm of
@table @asis
+@item @emph{Synopsis}:
+@code{X = LOG_GAMMA(X)}
+
@item @emph{Description}:
@code{LOG_GAMMA(X)} computes the natural logarithm of the absolute value
of the Gamma (@math{\Gamma}) function.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{X = LOG_GAMMA(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL} and neither zero
@cindex conversion, to logical
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LOGICAL(L [, KIND])}
+
@item @emph{Description}:
Converts one kind of @code{LOGICAL} variable to another.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LOGICAL(L [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{L} @tab The type shall be @code{LOGICAL}.
@cindex bits, shift left
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = LSHIFT(I, SHIFT)}
+
@item @emph{Description}:
@code{LSHIFT} returns a value corresponding to @var{I} with all of the
bits shifted left by @var{SHIFT} places. @var{SHIFT} shall be
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = LSHIFT(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@cindex file system, file status
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL LSTAT(NAME, VALUES [, STATUS])}
+@item @code{STATUS = LSTAT(NAME, VALUES)}
+@end multitable
+
@item @emph{Description}:
@code{LSTAT} is identical to @ref{STAT}, except that if path is a
symbolic link, then the operation is performed on the link itself,
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL LSTAT(NAME, VALUES [, STATUS])}
-@item @code{STATUS = LSTAT(NAME, VALUES)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab The type shall be @code{CHARACTER} of the default
@cindex time, conversion to local time info
@table @asis
+@item @emph{Synopsis}:
+@code{CALL LTIME(TIME, VALUES)}
+
@item @emph{Description}:
Given a system time value @var{TIME} (as provided by the @ref{TIME}
intrinsic), fills @var{VALUES} with values extracted from it appropriate
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL LTIME(TIME, VALUES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab An @code{INTEGER} scalar expression
@cindex pointer, cray
@table @asis
+@item @emph{Synopsis}:
+@code{PTR = MALLOC(SIZE)}
+
@item @emph{Description}:
@code{MALLOC(SIZE)} allocates @var{SIZE} bytes of dynamic memory and
returns the address of the allocated memory. The @code{MALLOC} intrinsic
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{PTR = MALLOC(SIZE)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SIZE} @tab The type shall be @code{INTEGER}.
@cindex mask, left justified
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKL(I[, KIND])}
+
@item @emph{Description}:
@code{MASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
remaining bits set to 0.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MASKL(I[, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex mask, right justified
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKR(I[, KIND])}
+
@item @emph{Description}:
@code{MASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
remaining bits set to 0.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MASKR(I[, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex product, matrix
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MATMUL(MATRIX_A, MATRIX_B)}
+
@item @emph{Description}:
Performs a matrix multiplication on numeric or logical arguments.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = MATMUL(MATRIX_A, MATRIX_B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@cindex maximum value
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MAX(A1, A2 [, A3 [, ...]])}
+
@item @emph{Description}:
Returns the argument with the largest (most positive) value.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MAX(A1, A2 [, A3 [, ...]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A1} @tab The type shall be @code{INTEGER},
@cindex model representation, maximum exponent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MAXEXPONENT(X)}
+
@item @emph{Description}:
@code{MAXEXPONENT(X)} returns the maximum exponent in the model of the
type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = MAXEXPONENT(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex array, location of maximum element
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])}
+@end multitable
+
@item @emph{Description}:
Determines the location of the element in the array with the maximum
value, or, if the @var{DIM} argument is supplied, determines the
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex maximum value
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MAXVAL(ARRAY, DIM [, MASK])}
+@item @code{RESULT = MAXVAL(ARRAY [, MASK])}
+@end multitable
+
@item @emph{Description}:
Determines the maximum value of the elements in an array value, or, if
the @var{DIM} argument is supplied, determines the maximum value along
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MAXVAL(ARRAY, DIM [, MASK])}
-@item @code{RESULT = MAXVAL(ARRAY [, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex clock ticks
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MCLOCK()}
+
@item @emph{Description}:
Returns the number of clock ticks since the start of the process, based
on the function @code{clock(3)} in the C standard library.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = MCLOCK()}
-
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(4)}, equal to the
number of clock ticks since the start of the process, or @code{-1} if
@cindex clock ticks
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MCLOCK8()}
+
@item @emph{Description}:
Returns the number of clock ticks since the start of the process, based
on the function @code{clock(3)} in the C standard library.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = MCLOCK8()}
-
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(8)}, equal to the
number of clock ticks since the start of the process, or @code{-1} if
@cindex array, combine arrays
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MERGE(TSOURCE, FSOURCE, MASK)}
+
@item @emph{Description}:
Select values from two arrays according to a logical mask. The result
is equal to @var{TSOURCE} if @var{MASK} is @code{.TRUE.}, or equal to
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MERGE(TSOURCE, FSOURCE, MASK)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TSOURCE} @tab May be of any type.
@cindex bits, merge
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MERGE_BITS(I, J, MASK)}
+
@item @emph{Description}:
@code{MERGE_BITS(I, J, MASK)} merges the bits of @var{I} and @var{J}
as determined by the mask. The i-th bit of the result is equal to the
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MERGE_BITS(I, J, MASK)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}, @code{UNSIGNED}
@cindex minimum value
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MIN(A1, A2 [, A3, ...])}
+
@item @emph{Description}:
Returns the argument with the smallest (most negative) value.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MIN(A1, A2 [, A3, ...])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A1} @tab The type shall be @code{INTEGER},
@cindex model representation, minimum exponent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MINEXPONENT(X)}
+
@item @emph{Description}:
@code{MINEXPONENT(X)} returns the minimum exponent in the model of the
type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = MINEXPONENT(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex array, location of minimum element
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
+@item @code{RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])}
+@end multitable
+
@item @emph{Description}:
Determines the location of the element in the array with the minimum
value, or, if the @var{DIM} argument is supplied, determines the
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])}
-@item @code{RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex minimum value
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = MINVAL(ARRAY, DIM [, MASK])}
+@item @code{RESULT = MINVAL(ARRAY [, MASK])}
+@end multitable
+
@item @emph{Description}:
Determines the minimum value of the elements in an array value, or, if
the @var{DIM} argument is supplied, determines the minimum value along
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = MINVAL(ARRAY, DIM [, MASK])}
-@item @code{RESULT = MINVAL(ARRAY [, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex division, remainder
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MOD(A, P)}
+
@item @emph{Description}:
@code{MOD(A,P)} computes the remainder of the division of A by P@.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MOD(A, P)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be a scalar of type @code{INTEGER}, @code{REAL}
@cindex division, modulo
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MODULO(A, P)}
+
@item @emph{Description}:
@code{MODULO(A,P)} computes the @var{A} modulo @var{P}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MODULO(A, P)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be a scalar of type @code{INTEGER} or @code{REAL}.
@cindex allocation, moving
@table @asis
+@item @emph{Synopsis}:
+@code{CALL MOVE_ALLOC(FROM, TO)}
+
@item @emph{Description}:
@code{MOVE_ALLOC(FROM, TO)} moves the allocation from @var{FROM} to
@var{TO}. @var{FROM} becomes deallocated in the process.
@item @emph{Class}:
Pure subroutine
-@item @emph{Syntax}:
-@code{CALL MOVE_ALLOC(FROM, TO)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{FROM} @tab @code{ALLOCATABLE}, @code{INTENT(INOUT)}, may be
@cindex bits, move
@table @asis
+@item @emph{Synopsis}:
+@code{CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)}
+
@item @emph{Description}:
Moves @var{LEN} bits from positions @var{FROMPOS} through
@code{FROMPOS+LEN-1} of @var{FROM} to positions @var{TOPOS} through
@item @emph{Class}:
Elemental subroutine
-@item @emph{Syntax}:
-@code{CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{FROM} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex floating point, nearest different
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NEAREST(X, S)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = NEAREST(X, S)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex output, newline
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NEW_LINE(C)}
+
@item @emph{Description}:
@code{NEW_LINE(C)} returns the new-line character.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = NEW_LINE(C)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{C} @tab The argument shall be a scalar or array of the
@cindex rounding, nearest whole number
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NINT(A [, KIND])}
+
@item @emph{Description}:
@code{NINT(A)} rounds its argument to the nearest whole number.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = NINT(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab The type of the argument shall be @code{REAL}.
@cindex norm, Euclidean
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = NORM2(ARRAY[, DIM])}
+@end multitable
+
@item @emph{Description}:
Calculates the Euclidean vector norm (@math{L_2} norm)
of @var{ARRAY} along dimension @var{DIM}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = NORM2(ARRAY[, DIM])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{REAL}
@cindex logical not, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NOT(I)}
+
@item @emph{Description}:
@code{NOT} returns the bitwise Boolean inverse of @var{I}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = NOT(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex pointer, disassociated
@table @asis
+@item @emph{Synopsis}:
+@code{PTR => NULL([MOLD])}
+
@item @emph{Description}:
Returns a disassociated pointer.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{PTR => NULL([MOLD])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MOLD} @tab (Optional) shall be a pointer of any association
@cindex images, number of
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = NUM_IMAGES(DISTANCE, FAILED)}
+
@item @emph{Description}:
Returns the number of images.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = NUM_IMAGES(DISTANCE, FAILED)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
@cindex logical or, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = OR(I, J)}
+
@item @emph{Description}:
Bitwise logical @code{OR}.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = OR(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be either a scalar @code{INTEGER}
@cindex range check, numerical conversion
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = OUT_OF_RANGE(X, MOLD[, ROUND])}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = OUT_OF_RANGE(X, MOLD[, ROUND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be either @code{INTEGER}, @code{UNSIGNED}
@cindex array, gather elements
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PACK(ARRAY, MASK[,VECTOR])}
+
@item @emph{Description}:
Stores the elements of @var{ARRAY} in an array of rank one.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = PACK(ARRAY, MASK[,VECTOR])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of any type.
@cindex XOR reduction
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = PARITY(MASK[, DIM])}
+@end multitable
+
@item @emph{Description}:
Calculates the parity, i.e. the reduction using @code{.XOR.},
of @var{MASK} along dimension @var{DIM}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = PARITY(MASK[, DIM])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MASK} @tab Shall be an array of type @code{LOGICAL}
@cindex system, error handling
@table @asis
+@item @emph{Synopsis}:
+@code{CALL PERROR(STRING)}
+
@item @emph{Description}:
Prints (on the C @code{stderr} stream) a newline-terminated error
message corresponding to the last system error. This is prefixed by
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL PERROR(STRING)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab A scalar of type @code{CHARACTER} and of the
@cindex bits set
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = POPCNT(I)}
+
@item @emph{Description}:
@code{POPCNT(I)} returns the number of bits set ('1' bits) in the binary
representation of @code{I}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = POPCNT(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex parity
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = POPPAR(I)}
+
@item @emph{Description}:
@code{POPPAR(I)} returns parity of the integer @code{I}, i.e. the parity
of the number of bits set ('1' bits) in the binary representation of
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = POPPAR(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex model representation, precision
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PRECISION(X)}
+
@item @emph{Description}:
@code{PRECISION(X)} returns the decimal precision in the model of the
type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = PRECISION(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL} or @code{COMPLEX}. It may
@fnindex PRESENT
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = PRESENT(A)}
+
@item @emph{Description}:
Determines whether an optional dummy argument is present.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = PRESENT(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab May be of any type and may be a pointer, scalar or array
@cindex multiply array elements
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = PRODUCT(ARRAY[, MASK])}
+@item @code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
+@end multitable
+
@item @emph{Description}:
Multiplies the elements of @var{ARRAY} along dimension @var{DIM} if
the corresponding element in @var{MASK} is @code{TRUE}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = PRODUCT(ARRAY[, MASK])}
-@item @code{RESULT = PRODUCT(ARRAY, DIM[, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex model representation, radix
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RADIX(X)}
+
@item @emph{Description}:
@code{RADIX(X)} returns the base of the model representing the entity @var{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = RADIX(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{INTEGER} or @code{REAL}
@cindex random number generation
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RAND(I)}
+
@item @emph{Description}:
@code{RAND(FLAG)} returns a pseudo-random number from a uniform
distribution between 0 and 1. If @var{FLAG} is 0, the next number
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = RAND(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be a scalar @code{INTEGER} of kind 4.
@cindex random number generation, initialization
@table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)}
+
@item @emph{Description}:
Initializes the state of the pseudorandom number generator used by
@code{RANDOM_NUMBER}.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .25 .70
@item @var{REPEATABLE} @tab Shall be a scalar with a @code{LOGICAL} type,
@cindex random number generation
@table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_NUMBER(HARVEST)}
+
@item @emph{Description}:
For @code{REAL} argument, returns a single pseudorandom number or an
array of pseudorandom numbers from the uniform distribution over the
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL RANDOM_NUMBER(HARVEST)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{HARVEST} @tab Shall be a scalar or an array of type @code{REAL}.
@cindex seeding a random number generator
@table @asis
+@item @emph{Synopsis}:
+@code{CALL RANDOM_SEED([SIZE, PUT, GET])}
+
@item @emph{Description}:
Restarts or queries the state of the pseudorandom number generator used by
@code{RANDOM_NUMBER}.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL RANDOM_SEED([SIZE, PUT, GET])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SIZE} @tab (Optional) Shall be a scalar and of type default
@cindex model representation, range
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RANGE(X)}
+
@item @emph{Description}:
@code{RANGE(X)} returns the decimal exponent range in the model of the
type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = RANGE(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{INTEGER}, @code{REAL},
@cindex rank
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RANK(A)}
+
@item @emph{Description}:
@code{RANK(A)} returns the rank of a scalar or array data object.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = RANK(A)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab can be of any type
@cindex complex numbers, real part
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = REAL(A [, KIND])}
+@item @code{RESULT = REALPART(Z)}
+@end multitable
+
@item @emph{Description}:
@code{REAL(A [, KIND])} converts its argument @var{A} to a real type. The
@code{REALPART} function is provided for compatibility with @command{g77},
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = REAL(A [, KIND])}
-@item @code{RESULT = REALPART(Z)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be @code{INTEGER}, @code{REAL},
@cindex file system, rename file
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL RENAME(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = RENAME(PATH1, PATH2)}
+@end multitable
+
@item @emph{Description}:
Renames a file from file @var{PATH1} to @var{PATH2}. A null
character (@code{CHAR(0)}) can be used to mark the end of the names in
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL RENAME(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = RENAME(PATH1, PATH2)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@cindex string, concatenate
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = REPEAT(STRING, NCOPIES)}
+
@item @emph{Description}:
Concatenates @var{NCOPIES} copies of a string.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = REPEAT(STRING, NCOPIES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be scalar and of type @code{CHARACTER}.
@cindex array, transmogrify
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])}
+
@item @emph{Description}:
Reshapes @var{SOURCE} to correspond to @var{SHAPE}. If necessary,
the new array may be padded with elements from @var{PAD} or permuted
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SOURCE} @tab Shall be an array of any type.
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RRSPACING(X)}
+
@item @emph{Description}:
@code{RRSPACING(X)} returns the reciprocal of the relative spacing of
model numbers near @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = RRSPACING(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex bits, shift right
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = RSHIFT(I, SHIFT)}
+
@item @emph{Description}:
@code{RSHIFT} returns a value corresponding to @var{I} with all of the
bits shifted right by @var{SHIFT} places. @var{SHIFT} shall be
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = RSHIFT(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@fnindex SAME_TYPE_AS
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SAME_TYPE_AS(A, B)}
+
@item @emph{Description}:
Query dynamic types for equality.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = SAME_TYPE_AS(A, B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be an object of extensible declared type or
@cindex floating point, scale
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SCALE(X, I)}
+
@item @emph{Description}:
@code{SCALE(X,I)} returns @code{X * RADIX(X)**I}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SCALE(X, I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type of the argument shall be a @code{REAL}.
@cindex string, find subset
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SCAN(STRING, SET[, BACK [, KIND]])}
+
@item @emph{Description}:
Scans a @var{STRING} for any of the characters in a @var{SET}
of characters.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SCAN(STRING, SET[, BACK [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be of type @code{CHARACTER}.
@cindex elapsed time
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SECNDS (X)}
+
@item @emph{Description}:
@code{SECNDS(X)} gets the time in seconds from the real-time system clock.
@var{X} is a reference time, also in seconds. If this is zero, the time in
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = SECNDS (X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{T} @tab Shall be of type @code{REAL(4)}.
@cindex elapsed time
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SECOND(TIME)}
+@item @code{TIME = SECOND()}
+@end multitable
+
@item @emph{Description}:
Returns a @code{REAL(4)} value representing the elapsed CPU time in
seconds. This provides the same functionality as the standard
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SECOND(TIME)}
-@item @code{TIME = SECOND()}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{TIME} @tab Shall be of type @code{REAL(4)}.
@cindex kind, character
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_CHAR_KIND(NAME)}
+
@item @emph{Description}:
@code{SELECTED_CHAR_KIND(NAME)} returns the kind value for the character
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_CHAR_KIND(NAME)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab Shall be a scalar and of the default character type.
@cindex kind, integer
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_INT_KIND(R)}
+
@item @emph{Description}:
@code{SELECTED_INT_KIND(R)} return the kind value of the smallest integer
type that can represent all values ranging from @math{-10^R} (exclusive)
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_INT_KIND(R)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{R} @tab Shall be a scalar and of type @code{INTEGER}.
@cindex kind, logical
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_LOGICAL_KIND(BITS)}
+
@item @emph{Description}:
@code{SELECTED_LOGICAL_KIND(BITS)} return the kind value of the smallest
logical type whose storage size in bits is at least @var{BITS}. If there
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_LOGICAL_KIND(BITS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{BITS} @tab Shall be a scalar and of type @code{INTEGER}.
@cindex radix, real
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_REAL_KIND([P, R, RADIX])}
+
@item @emph{Description}:
@code{SELECTED_REAL_KIND(P,R)} returns the kind value of a real data type
with decimal precision of at least @code{P} digits, exponent range of
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_REAL_KIND([P, R, RADIX])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{P} @tab (Optional) shall be a scalar and of type @code{INTEGER}.
@cindex kind, unsigned
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SELECTED_UNSIGNED_KIND(R)}
+
@item @emph{Description}:
@code{SELECTED_UNSIGNED_KIND(R)} return the kind value of the smallest
integer type that can represent all values ranging from 0 to
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SELECTED_UNSIGNED_KIND(R)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{R} @tab Shall be a scalar and of type @code{INTEGER}.
@cindex floating point, set exponent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SET_EXPONENT(X, I)}
+
@item @emph{Description}:
@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{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SET_EXPONENT(X, I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex array, shape
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHAPE(SOURCE [, KIND])}
+
@item @emph{Description}:
Determines the shape of an array.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = SHAPE(SOURCE [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SOURCE} @tab Shall be an array or scalar of any type.
@cindex shift, right with fill
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTA(I, SHIFT)}
+
@item @emph{Description}:
@code{SHIFTA} returns a value corresponding to @var{I} with all of the
bits shifted right by @var{SHIFT} places. @var{SHIFT} that be
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SHIFTA(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex shift, left
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTL(I, SHIFT)}
+
@item @emph{Description}:
@code{SHIFTL} returns a value corresponding to @var{I} with all of the
bits shifted left by @var{SHIFT} places. @var{SHIFT} shall be
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SHIFTL(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER} or @code{UNSIGNED}.
@cindex shift, right
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SHIFTR(I, SHIFT)}
+
@item @emph{Description}:
@code{SHIFTR} returns a value corresponding to @var{I} with all of the
bits shifted right by @var{SHIFT} places. @var{SHIFT} shall be
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SHIFTR(I, SHIFT)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be @code{INTEGER}.
@cindex sign copying
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIGN(A, B)}
+
@item @emph{Description}:
@code{SIGN(A,B)} returns the value of @var{A} with the sign of @var{B}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SIGN(A, B)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER} or @code{REAL}
@cindex system, signal handling
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SIGNAL(NUMBER, HANDLER [, STATUS])}
+@item @code{STATUS = SIGNAL(NUMBER, HANDLER)}
+@end multitable
+
@item @emph{Description}:
@code{SIGNAL(NUMBER, HANDLER [, STATUS])} causes external subroutine
@var{HANDLER} to be executed with a single integer argument passed by
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SIGNAL(NUMBER, HANDLER [, STATUS])}
-@item @code{STATUS = SIGNAL(NUMBER, HANDLER)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NUMBER} @tab Shall be a scalar integer, with @code{INTENT(IN)}
@cindex sine
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIN(X)}
+
@item @emph{Description}:
@code{SIN(X)} computes the sine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SIN(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or
@cindex sine, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIND(X)}
+
@item @emph{Description}:
@code{SIND(X)} computes the sine of @var{X} in degrees.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SIND(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex sine, hyperbolic
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SINH(X)}
+
@item @emph{Description}:
@code{SINH(X)} computes the hyperbolic sine of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SINH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex array, count elements
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SIZE(ARRAY[, DIM [, KIND]])}
+
@item @emph{Description}:
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{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = SIZE(ARRAY[, DIM [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of any type. If @var{ARRAY} is
@cindex size of an expression
@table @asis
+@item @emph{Synopsis}:
+@code{N = SIZEOF(X)}
+
@item @emph{Description}:
@code{SIZEOF(X)} calculates the number of bytes of storage the
expression @code{X} occupies.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{N = SIZEOF(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The argument shall be of any type, rank or shape.
@cindex delayed execution
@table @asis
+@item @emph{Synopsis}:
+@code{CALL SLEEP(SECONDS)}
+
@item @emph{Description}:
Calling this subroutine causes the process to pause for @var{SECONDS} seconds.
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL SLEEP(SECONDS)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SECONDS} @tab The type shall be of default @code{INTEGER}.
@cindex floating point, relative spacing
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SPACING(X)}
+
@item @emph{Description}:
Determines the distance between the argument @var{X} and the nearest
adjacent number of the same type.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SPACING(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex array, duplicate dimensions
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SPREAD(SOURCE, DIM, NCOPIES)}
+
@item @emph{Description}:
Replicates a @var{SOURCE} array @var{NCOPIES} times along a specified
dimension @var{DIM}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = SPREAD(SOURCE, DIM, NCOPIES)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SOURCE} @tab Shall be a scalar or an array of any type and
@cindex square-root
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = SQRT(X)}
+
@item @emph{Description}:
@code{SQRT(X)} computes the square root of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = SQRT(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or
@cindex seeding a random number generator
@table @asis
+@item @emph{Synopsis}:
+@code{CALL SRAND(SEED)}
+
@item @emph{Description}:
@code{SRAND} reinitializes the pseudo-random number generator
called by @code{RAND} and @code{IRAND}. The new seed used by the
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL SRAND(SEED)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SEED} @tab Shall be a scalar @code{INTEGER(kind=4)}.
@cindex file system, file status
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL STAT(NAME, VALUES [, STATUS])}
+@item @code{STATUS = STAT(NAME, VALUES)}
+@end multitable
+
@item @emph{Description}:
This function returns information about a file. No permissions are required on
the file itself, but execute (search) permission is required on all of the
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL STAT(NAME, VALUES [, STATUS])}
-@item @code{STATUS = STAT(NAME, VALUES)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{NAME} @tab The type shall be @code{CHARACTER}, of the
@cindex storage size
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = STORAGE_SIZE(A [, KIND])}
+
@item @emph{Description}:
Returns the storage size of argument @var{A} in bits.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = STORAGE_SIZE(A [, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be a scalar or array of any type.
@cindex sum array elements
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = SUM(ARRAY[, MASK])}
+@item @code{RESULT = SUM(ARRAY, DIM[, MASK])}
+@end multitable
+
@item @emph{Description}:
Adds the elements of @var{ARRAY} along dimension @var{DIM} if
the corresponding element in @var{MASK} is @code{TRUE}.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = SUM(ARRAY[, MASK])}
-@item @code{RESULT = SUM(ARRAY, DIM[, MASK])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array of type @code{INTEGER},
@cindex file system, soft link
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SYMLNK(PATH1, PATH2 [, STATUS])}
+@item @code{STATUS = SYMLNK(PATH1, PATH2)}
+@end multitable
+
@item @emph{Description}:
Makes a symbolic link from file @var{PATH1} to @var{PATH2}. A null
character (@code{CHAR(0)}) can be used to mark the end of the names in
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SYMLNK(PATH1, PATH2 [, STATUS])}
-@item @code{STATUS = SYMLNK(PATH1, PATH2)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PATH1} @tab Shall be of default @code{CHARACTER} type.
@cindex system, system call
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL SYSTEM(COMMAND [, STATUS])}
+@item @code{STATUS = SYSTEM(COMMAND)}
+@end multitable
+
@item @emph{Description}:
Passes the command @var{COMMAND} to a shell (see @code{system(3)}). If
argument @var{STATUS} is present, it contains the value returned by
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL SYSTEM(COMMAND [, STATUS])}
-@item @code{STATUS = SYSTEM(COMMAND)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{COMMAND} @tab Shall be of default @code{CHARACTER} type.
@cindex clock ticks
@table @asis
+@item @emph{Synopsis}:
+@code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])}
+
@item @emph{Description}:
Determines the @var{COUNT} of a processor clock since an unspecified
time in the past modulo @var{COUNT_MAX}, @var{COUNT_RATE} determines
@item @emph{Class}:
Subroutine
-@item @emph{Syntax}:
-@code{CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])}
-
@item @emph{Arguments}:
@multitable @columnfractions .20 .65
@item @var{COUNT} @tab (Optional) shall be a scalar of type
@cindex tangent
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TAN(X)}
+
@item @emph{Description}:
@code{TAN(X)} computes the tangent of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = TAN(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex tangent, degrees
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TAND(X)}
+
@item @emph{Description}:
@code{TAND(X)} computes the tangent of @var{X} in degrees.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = TAND(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL}.
@cindex tangent, hyperbolic
@table @asis
+@item @emph{Synopsis}:
+@code{X = TANH(X)}
+
@item @emph{Description}:
@code{TANH(X)} computes the hyperbolic tangent of @var{X}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{X = TANH(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab The type shall be @code{REAL} or @code{COMPLEX}.
@cindex images, index of this image
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{RESULT = THIS_IMAGE()}
+@item @code{RESULT = THIS_IMAGE(DISTANCE)}
+@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM])}
+@end multitable
+
@item @emph{Description}:
Returns the cosubscript for this image.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{RESULT = THIS_IMAGE()}
-@item @code{RESULT = THIS_IMAGE(DISTANCE)}
-@item @code{RESULT = THIS_IMAGE(COARRAY [, DIM])}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{DISTANCE} @tab (optional, intent(in)) Nonnegative scalar integer
@cindex current time
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TIME()}
+
@item @emph{Description}:
Returns the current time encoded as an integer (in the manner of the
function @code{time(3)} in the C standard library). This value is
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = TIME()}
-
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(4)}.
@cindex current time
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TIME8()}
+
@item @emph{Description}:
Returns the current time encoded as an integer (in the manner of the
function @code{time(3)} in the C standard library). This value is
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = TIME8()}
-
@item @emph{Return value}:
The return value is a scalar of type @code{INTEGER(8)}.
@cindex model representation, smallest number
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TINY(X)}
+
@item @emph{Description}:
@code{TINY(X)} returns the smallest positive (non zero) number
in the model of the type of @code{X}.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = TINY(X)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{X} @tab Shall be of type @code{REAL}.
@cindex zero bits
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRAILZ(I)}
+
@item @emph{Description}:
@code{TRAILZ} returns the number of trailing zero bits of an integer.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = TRAILZ(I)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{INTEGER}.
@cindex type cast
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRANSFER(SOURCE, MOLD[, SIZE])}
+
@item @emph{Description}:
Interprets the bitwise representation of @var{SOURCE} in memory as if it
is the representation of a variable or array of the same type and type
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = TRANSFER(SOURCE, MOLD[, SIZE])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{SOURCE} @tab Shall be a scalar or an array of any type.
@cindex transpose
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRANSPOSE(MATRIX)}
+
@item @emph{Description}:
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{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = TRANSPOSE(MATRIX)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MATRIX} @tab Shall be an array of any type and have a rank of two.
@cindex string, remove trailing whitespace
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = TRIM(STRING)}
+
@item @emph{Description}:
Removes trailing blank characters of a string.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = TRIM(STRING)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be a scalar of type @code{CHARACTER}.
@cindex system, terminal
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL TTYNAM(UNIT, NAME)}
+@item @code{NAME = TTYNAM(UNIT)}
+@end multitable
+
@item @emph{Description}:
Get the name of a terminal device. For more information,
see @code{ttyname(3)}.
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL TTYNAM(UNIT, NAME)}
-@item @code{NAME = TTYNAM(UNIT)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{UNIT} @tab Shall be a scalar @code{INTEGER}.
@cindex array, upper bound
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UBOUND(ARRAY [, DIM [, KIND]])}
+
@item @emph{Description}:
Returns the upper bounds of an array, or a single upper bound
along the @var{DIM} dimension.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = UBOUND(ARRAY [, DIM [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an array, of any type.
@cindex coarray, upper bound
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])}
+
@item @emph{Description}:
Returns the upper cobounds of a coarray, or a single upper cobound
along the @var{DIM} codimension.
@item @emph{Class}:
Inquiry function
-@item @emph{Syntax}:
-@code{RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{ARRAY} @tab Shall be an coarray, of any type.
@cindex, conversion, to unsigned
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UINT(A [, KIND))}
+
@item @emph{Description}:
Convert to unsigned type
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = UINT(A [, KIND))}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{A} @tab Shall be of type @code{INTEGER},
@cindex file system, file creation mask
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL UMASK(MASK [, OLD])}
+@item @code{OLD = UMASK(MASK)}
+@end multitable
+
@item @emph{Description}:
Sets the file creation mask to @var{MASK}. If called as a function, it
returns the old value. If called as a subroutine and argument @var{OLD}
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL UMASK(MASK [, OLD])}
-@item @code{OLD = UMASK(MASK)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{MASK} @tab Shall be a scalar of type @code{INTEGER}.
@cindex mask, left justified
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UMASKL(I[, KIND])}
+
@item @emph{Description}:
@code{UMASKL(I[, KIND])} has its leftmost @var{I} bits set to 1, and the
remaining bits set to 0.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = UMASKL(I[, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{UNSIGNED}.
@cindex mask, right justified
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = MASKR(I[, KIND])}
+
@item @emph{Description}:
@code{UMASKL(I[, KIND])} has its rightmost @var{I} bits set to 1, and the
remaining bits set to 0.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = MASKR(I[, KIND])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab Shall be of type @code{UNSIGNED}.
@cindex file system, remove file
@table @asis
+@item @emph{Synopsis}:
+@multitable @columnfractions .80
+@item @code{CALL UNLINK(PATH [, STATUS])}
+@item @code{STATUS = UNLINK(PATH)}
+@end multitable
+
@item @emph{Description}:
Unlinks the file @var{PATH}. A null character (@code{CHAR(0)}) can be
used to mark the end of the name in @var{PATH}; otherwise, trailing
@item @emph{Class}:
Subroutine, function
-@item @emph{Syntax}:
-@multitable @columnfractions .80
-@item @code{CALL UNLINK(PATH [, STATUS])}
-@item @code{STATUS = UNLINK(PATH)}
-@end multitable
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{PATH} @tab Shall be of default @code{CHARACTER} type.
@cindex array, scatter elements
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = UNPACK(VECTOR, MASK, FIELD)}
+
@item @emph{Description}:
Store the elements of @var{VECTOR} in an array of higher rank.
@item @emph{Class}:
Transformational function
-@item @emph{Syntax}:
-@code{RESULT = UNPACK(VECTOR, MASK, FIELD)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{VECTOR} @tab Shall be an array of any type and rank one. It
@cindex string, find missing set
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = VERIFY(STRING, SET[, BACK [, KIND]])}
+
@item @emph{Description}:
Verifies that all the characters in @var{STRING} belong to the set of
characters in @var{SET}.
@item @emph{Class}:
Elemental function
-@item @emph{Syntax}:
-@code{RESULT = VERIFY(STRING, SET[, BACK [, KIND]])}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{STRING} @tab Shall be of type @code{CHARACTER}.
@cindex logical exclusive or, bitwise
@table @asis
+@item @emph{Synopsis}:
+@code{RESULT = XOR(I, J)}
+
@item @emph{Description}:
Bitwise logical exclusive or.
@item @emph{Class}:
Function
-@item @emph{Syntax}:
-@code{RESULT = XOR(I, J)}
-
@item @emph{Arguments}:
@multitable @columnfractions .15 .70
@item @var{I} @tab The type shall be either a scalar @code{INTEGER}