Compaq Fortran for Tru64 UNIX Alpha Systems V5.4
fortran (3f)
introduction to Fortran library routines
Description
This section describes general and parallel Fortran Run-Time Library
routines.
If a library routine returns an error, that error is saved and can be
retrieved by calling the ERRSNS (error since) subroutine. (See your user
manual for information on error handling.)
Fortran math intrinsics are also available, although not described here.
For more information on these intrinsics, see your language reference
manual.
Restrictions
After you use a Fortran routine (for example, fseek(3f)) on a logical unit,
some I/O operations may not work as intended, especially if the usage sets
the file position to a location that is not on a record boundary. Examples
of specific I/O operations that may not work as intended are INQUIRE on
logical record number, BACKSPACE, READ, and WRITE sequential.
List of Functions
The following table lists the general Run-Time Library routine names, the
reference (man) pages where they can be found, and a short description of
each routine. (Parallel routines are listed in a later table.) In this
table, the following symbols apply:
k = "kind"
o = "order"
frac = "fractional"
fp = "floating point"
char = "character"
tlu = "tape logical unit"
General Routines
____________________________________________________________________________
Name Reference Page Description
____________________________________________________________________________
abort abort(3f) Terminates a program (abnormally).
access access(3f) Determines accessibility of a file.
alarm alarm(3f) Executes a subroutine after a
specified time.
and bit(3f) Returns bitwise AND of two operands.
besj0 bessel(3f) Returns real*4 bessel function
(k:1, o:0).
besj1 bessel(3f) Returns real*4 bessel function
(k:1, o:1).
besjn bessel(3f) Returns real*4 bessel function
(k:1, o:n).
bessel bessel(3f) Returns bessel functions.
besy0 bessel(3f) Returns real*4 bessel function
(k:2, o:0).
besy1 bessel(3f) Returns real*4 bessel function
(k:2, o:1).
besyn bessel(3f) Returns real*4 bessel function
(k:2, o:n).
bit bit(3f) Returns bitwise functions.
chdir chdir(3f) Changes default directory.
chmod chmod(3f) Changes mode of a file.
ctime time(3f) Returns system time.
dbesj0 bessel(3f) Returns real*8 bessel function
(k:1, o:0).
dbesj1 bessel(3f) Returns real*8 bessel function
(k:1, o:1).
dbesjn bessel(3f) Returns real*8 bessel function
(k:1, o:n).
dbesy0 bessel(3f) Returns real*8 bessel function
(k:2, o:0).
dbesy1 bessel(3f) Returns real*8 bessel function
(k:2, o:1).
dbesyn bessel(3f) Returns real*8 bessel function
(k:2, o:n).
derf erf(3f) Returns real*8 error function.
derfc erf(3f) Returns complementary real*8
error function.
dffrac flmin(3f) Returns frac accuracy of real*8
fp value.
dflmax flmin(3f) Returns maximum positive real*8
fp value.
dflmin flmin(3f) Returns minimum positive real*8
fp value.
dlgamma dlgamma(3f) Returns the real*8 log of the
gamma function.
drand rand(3f) Generates random number
(use drandm instead).
drandm random(3f) Generates real*8 random number.
dtime etime(3f) Returns elapsed delta execution time.
erf erf(3f) Returns real*4 error function.
erfc erf(3f) Returns complementary real*4
error function.
etime etime(3f) Returns elapsed execution time.
falloc malloc(3f) Allocates memory for an array.
fdate fdate(3f) Returns date and time in ASCII string.
ffrac flmin(3f) Returns frac accuracy of real*4
fp value.
fgetc getc(3f) Returns char from a logical unit.
flmax flmin(3f) Returns maximum positive real*4
fp value.
flmin flmin(3f) Returns minimum positive real*4
fp value.
flush flush(3f) Writes output to a logical unit.
for_get_fpe for_get_fpe(3f) Returns fp exception flags.
for_rtl_finish_ for_rtl_init_(3f) Cleans up the Fortran
run-time environment.
for_rtl_init_ for_rtl_init_(3f) Initializes the Fortran
run-time environment.
for_set_fpe for_get_fpe(3f) Sets fp exception flags.
for_set_reentrancy for_set_reentrancy(3f) Sets reentrancy protection for
the Fortran RTL.
fork fork(3f) Creates a copy of a calling process.
fortran intro(3f) Lists FORTRAN library routines.
fputc putc(3f) Writes char to logical unit.
free malloc(3f) Frees memory allocated by
malloc or falloc.
fseek fseek(3f) Repositions a file on a logical unit.
fstat stat(3f) Returns file status.
fsync fsync(3f) Writes logical unit changes to
permanent storage.
ftell fseek(3f) Returns position of a file
associated with a logical unit.
gerror perror(3f) Writes system error messages.
getarg getarg(3f) Returns command line arguments.
getc getc(3f) Returns a char from a logical unit.
getcwd getcwd(3f) Returns pathname of current
working directory.
getenv getenv(3f) Returns value of environment
variables.
getfd getfd(3f) Returns file descriptor associated
with a Fortran logical unit.
getgid getuid(3f) Returns group ID of the caller.
getlog getlog(3f) Returns user's login name.
getpid getuid(3f) Returns process ID.
getuid getuid(3f) Returns user ID of the caller.
gmtime time(3f) Returns GMT system time as month,
day, etc.
iargc getarg(3f) Returns index of last command
line argument.
idate idate(3f) Returns date in numerical form.
ierrno perror(3f) Returns system error number of
last error.
index index(3f) Returns position of a substring
within a string.
inmax flmin(3f) Returns maximum positive integer
value.
irand rand(3f) Returns random values
(use irandm instead).
irandm random(3f) Generates an integer random number.
isatty ttynam(3f) Finds name of a terminal port.
itime idate(3f) Returns time in numerical form.
kill kill(3f) Sends a signal to a process.
len index(3f) Returns the length of a string.
lgamma lgamma(3f) Returns the real*4 log of the
gamma function.
link link(3f) Makes a link to an existing file.
lnblnk index(3f) Returns position of last
non-blank string char.
loc loc(3f) Returns the address of an object.
long long(3f) Converts integer*2 to integer*4.
lshift bit(3f) Shifts a word left by n bits.
lstat stat(3f) Returns information about a
file or a link.
ltime time(3f) Returns local zone system time as
month, day, etc.
malloc malloc(3f) Returns address of a block of memory.
not bit(3f) Returns bitwise NOT (complement)
of an operand.
or bit(3f) Returns bitwise OR of two operands.
perror perror(3f) Writes system error messages.
putc putc(3f) Writes char to a logical unit.
qsort qsort(3f) Performs a quick sort of array
elements.
rand rand(3f) Generates random numbers
(use random instead).
random random(3f) Generates random numbers.
rename rename(3f) Changes the name of a file.
rindex index(3f) Returns position of a substring
within a string.
rshift bit(3f) Shifts a word right by n bits.
shcom_connect shcom_connect(3f) Lets a shared library's data
be shared on Tru64 UNIX systems.
short long(3f) Converts integer*4 to integer*2.
signal signal(3f) Changes the action for a signal.
sleep sleep(3f) Suspends execution for an interval.
srand rand(3f) Initializes seed for successive
rand, drand, and irand.
stat stat(3f) Returns file status.
symlnk link(3f) Creates a symbolic link to an
existing file.
system system(3f) Calls system(3).
time time(3f) Returns system time.
ttynam ttynam(3f) Finds name of a terminal port.
umask umask(3f) Sets file mode creation mask.
unlink unlink(3f) Removes a directory entry.
wait wait(3f) Waits for a process to terminate.
xor bit(3f) Returns bitwise exclusive OR of
two operands.
____________________________________________________________________________
The following table lists the parallel Run-Time Library routine names and a
short description of each routine:
Parallel Routines
_______________________________________________________________________
Name Description
_______________________________________________________________________
omp_destroy_lock(3f) Disassociates a lock variable from any locks.
omp_get_dynamic(3f) Informs whether dynamic thread adjustment is
enabled.
omp_get_max_threads(3f) Gets the maximum value that can be returned
by calls to omp_get_num_threads(3f).
omp_get_nested(3f) Informs whether nested parallelism is
enabled.
omp_get_num_procs(3f) Gets the number of processors that are
available to the program.
omp_get_num_threads(3f) Gets the number of threads currently in the
team executing the parallel region.
omp_get_thread_num(3f) Gets the thread number within a team.
omp_init_lock(3f) Initializes a lock.
omp_in_parallel(3f) Informs whether a region is executing in
parallel.
omp_set_dynamic(3f) Enables dynamic adjustment of the number
of threads available for execution in a
parallel region.
omp_set_lock(3f) Sets ownership of a lock.
omp_set_nested(3f) Enables nested parallelism.
omp_set_num_threads(3f) Sets the number of threads to use for the
next parallel region.
omp_test_lock(3f) Tries to set the lock associated with a
lock variable.
omp_unset_lock(3f) Releases ownership of a lock.
otsgetmaxthreads(3f) Returns the number of threads that are
normally used for parallel processing in
the current environment.
otsgetnumthreads(3f) Returns the number of threads being
used or the number of created threads.
otsgetthreadnum(3f) Returns a number that identifies the
current thread.
otsinitparallel(3f) Starts slave threads for parallel
processing.
otsinparallel(3f) Informs whether you are currently within a
parallel region.
otssetnumthreads(3f) Sets the number of threads to use for the
next parallel region.
otsstopworkers(3f) Stops any slave threads created by parallel
library support.
_______________________________________________________________________