Compaq Fortran
User Manual for
Tru64 UNIX and Linux Alpha Systems


Previous Contents Index

12.4 Summary of 3f Library Routines

Table 12-3 describes each Compaq Fortran 3f library routine and lists the appropriate reference page. For those 3f library routines that serve as interface routines to a system call or a different library routine, the required related routine is listed. Most routines are invoked as functions, with the exception of those listed as subroutines in Table 12-3.

Table 12-3 Compaq Fortran 3f Functions and Subroutines
Name Reference Page Description
abort abort(3f) Terminates the program abnormally and may cause a core dump. Use as a subroutine.
access access(3f) Determines the accessibility of a file.
alarm alarm(3f) Executes a subroutine after a specified time.
and bit(3f) Returns the bitwise AND of two operands. Use as an intrinsic function.
besj0 bessel(3f) Returns single-precision (REAL*4) bessel function value (first kind, zero order).
besj1 bessel(3f) Returns single-precision (REAL*4) bessel function value (first kind, first order).
besjn bessel(3f) Returns single-precision (REAL*4) bessel function value (first kind, nth order).
besy0 bessel(3f) Returns single-precision (REAL*4) bessel function value (second kind, zero order).
besy1 bessel(3f) Returns single-precision (REAL*4) bessel function value (second kind, first order).
besyn bessel(3f) Returns single-precision (REAL*4) bessel function value (second kind, nth order).
chdir chdir(3f) Changes the default directory.
chmod chmod(3f) Changes the mode of a file.
ctime time(3f) Returns the system time as a 24-character ASCII string.
dbesj0 bessel(3f) Returns a double-precision (REAL*8) bessel function value (first kind, zero order).
dbesj1 bessel(3f) Returns a double-precision (REAL*8) bessel function value (first kind, first order).
dbesjn bessel(3f) Returns a double-precision (REAL*8) bessel function value (first kind, nth order).
dbesy0 bessel(3f) Returns a double-precision (REAL*8) bessel function value (second kind, zero order).
dbesy1 bessel(3f) Returns a double-precision (REAL*8) bessel function value (second kind, first order).
dbesyn bessel(3f) Returns a double-precision (REAL*8) bessel function value (second kind, nth order).
derf erf(3f) Returns a double-precision error function.
derfc erf(3f) Returns a double-precision error function (complementary form).
drand rand(3f) Generates a random number. Use drandm instead.
drandm random(3f) Generates a double-precision (REAL*8) random number.
dtime etime(3f) Returns the elapsed (delta) execution time.
erf erf(3f) Returns a single-precision error function.
erfc erf(3f) Returns a single-precision error function (complementary form).
etime etime(3f) Returns the actual execution time of a process.
falloc malloc(3f) Allocates space for an array in virtual memory. Use with malloc and free . Consider using the ALLOCATABLE attribute or the ALLOCATE and DEALLOCATE statements.
fdate fdate(3f) Returns the date and time in ASCII string. Use as a subroutine.
fgetc fgetc(3f) Returns a character from a specified logical unit.
flush flush(3f) Writes (flushes) the output in a user buffer to system buffer. Discards read-ahead data in user buffer.
for_get_fpe for_set_fpe(3f) Returns the status of the floating-point exception (fpe) handling currently set for the program. Usually used with for_set_fpe . To use for_set_fpe and for_get_fpe from a C program, see the for_rtl_init_ routine in this table. For more information, see Section 3.37.
for_rtl_init_ for_rtl_init_(3f) Initializes the Compaq Fortran run-time library (RTL) environment for a C program. Use this subroutine from a main program written in C that calls Compaq Fortran subprograms.

Calling this subroutine from the main C program initializes Compaq Fortran RTL data. It also establishes Compaq Fortran RTL signal handlers and floating-point exception handling so that the Compaq Fortran subprograms behave as if they were the main program. The trailing underscore (_) is required, and this routine must be called from a C program.

For an example of for_rtl_init_, see Section 11.4.

for_rtl_finish_ for_rtl_init_(3f) Cleans up the Compaq Fortran run-time library (RTL) environment for a C main program that previously called for_rtl_init_ . A status value is returned by this function. The trailing underscore (_) is required, and this routine must be called from a C program. Also see for_rtl_init_ .
for_set_fpe for_set_fpe(3f) Changes the floating-point exception (fpe) handling currently set for the program and also returns the status of the previous floating-point exception (fpe) handling setting. Can be used with for_get_fpe . For more information, see Section 3.37.
fork fork(3f) Creates a copy of the calling process.
fputc putc(3f) Writes a character to a specified logical unit.
free malloc(3f) Frees the memory allocated by falloc or malloc . Consider using the ALLOCATABLE attribute or the ALLOCATE and DEALLOCATE statements.
fseek fseek(3f) Repositions a file on a logical unit.
fstat stat(3f) Returns information about file status. The file is specified as a Fortran 95/90 logical unit number.
fsync fsync(3f) Writes the output in buffer to permanent storage.
ftell fseek(3f) Repositions a file on a logical unit.
gerror perror(3f) Writes system error messages.
getarg getarg(3f) Returns the command line arguments.
getc getc(3f) Returns a character from a logical unit.
getcwd getcwd(3f) Returns the directory path of the current directory.
getenv getenv(3f) Returns the value of environment variables.
getfd getfd(3f) For a file already opened by the Compaq Fortran Run-Time Library, returns the file descriptor associated with a particular unit number.
getgid getuid(3f) Returns the group's id of the caller.
getlog getlog(3f) Returns the user's login name.
getpid getuid(3f) Returns the process id.
getuid getuid(3f) Returns the user's or group's id of the caller.
gmtime time(3f) Returns the system time in month, day, and so forth in G.M.T. (Greenwich Mean Time).
iargc getarg(3f) Returns the command line arguments.
idate idate(3f) Returns the date or time in numeric form. Also available as an intrinsic subroutine (Compaq extension) described in the Compaq Fortran Language Reference Manual.
ierrno perror(3f) Returns a system error message number.
index index(3f) Returns the index of a substring within the string. Consider using INDEX intrinsic function described in the Compaq Fortran Language Reference Manual.
irand rand(3f) Generates random values. For an example program that uses irand , see Section 12.7.
irandm random(3f) Generates a positive integer random number.
isatty ttynam(3f) Returns whether the specified unit is a terminal port. Use as a subroutine.
itime idate(3f) Returns the date or time in numeric form.
kill kill(3f) Sends a signal to a process.
len index(3f) Returns the length of a string. Use the LEN intrinsic function described in the Compaq Fortran Language Reference Manual.
link link(3f) Makes a directory link to an existing file.
lnblnk index(3f) Returns the index of the last nonblank character in a string.
loc loc(3f) Returns the address of an object. Similar to the %LOC built-in function described in the Compaq Fortran Language Reference Manual.
long long(3f) Converts INTEGER*2 to INTEGER*4.
lshift bit(3f) Shifts a word left by n bits. Use as an intrinsic function.
lstat stat(3f) Returns information about a file or a symbolic link.
ltime time(3f) Returns the system time in month, day, hour, minute, and seconds for the time zone.
malloc malloc(3f) Returns the address of a block of virtual memory. See also free . Consider using the ALLOCATABLE attribute or the ALLOCATE and DEALLOCATE statements.
not bit(3f) Returns the bitwise NOT (complement) of the operand. Use as an intrinsic function.
omp_set_num_threads omp_set_num_threads(3f) (TU*X ONLY) Sets the number of threads to use for the next parallel region.
omp_get_num_threads omp_get_num_threads(3f) (TU*X ONLY) Gets the number of threads currently in the team executing the parallel region from which the routine is called.
omp_get_max_threads omp_get_max_threads(3f) (TU*X ONLY) Gets the maximum value that can be returned by calls to the omp_get_num_threads() function.
omp_get_thread_num omp_get_thread_num(3f) (TU*X ONLY) Gets the thread number, within the team, in the range from zero to omp_get_num_threads() minus one.
omp_get_num_procs omp_get_num_procs(3f) (TU*X ONLY) Gets the number of processors that are available to the program.
omp_in_parallel omp_in_parallel(3f) (TU*X ONLY) Informs whether or not a region is executing in parallel.
omp_set_dynamic omp_set_dynamic(3f) (TU*X ONLY) Enables or disables dynamic adjustment of the number of threads available for execution of parallel regions.
omp_get_dynamic omp_get_dynamic(3f) (TU*X ONLY) Informs if dynamic thread adjustment is enabled.
omp_set_nested omp_set_nested(3f) (TU*X ONLY) Enables or disables nested parallelism.
omp_get_nested omp_get_nested(3f) (TU*X ONLY) Informs if nested parallelism is enabled.
omp_init_lock omp_init_lock(3f) (TU*X ONLY) Initializes a lock to be used in subsequent calls.
omp_destroy_lock omp_destroy_lock(3f) (TU*X ONLY) Disassociates a lock variable from any locks.
omp_set_lock omp_destroy_lock(3f) (TU*X ONLY) Makes the executing thread wait until the specified lock is available.
omp_unset_lock omp_set_lock(3f) (TU*X ONLY) Releases the executing thread from ownership of the lock.
omp_test_lock omp_unset_lock(3f) (TU*X ONLY) Try to set the lock associated with a lock variable.
or bit(3f) Returns the bitwise OR of two operands. Use as an intrinsic function.
perror perror(3f) Writes system error messages.
putc putc(3f) Writes a character to a Fortran 95/90 logical unit.
qsort qsort(3f) Performs a quick sort of array elements. For an example program that uses qsort , see Section 12.7.
rand rand(3f) Generates random values.
random random(3f) Generates a single-precision (REAL) random number.
rename rename(3f) Renames a file.
rindex index(3f) Returns index of a substring within the string. See also index and the INDEX intrinsic function described in the Compaq Fortran Language Reference Manual.
rshift bit(3f) Shifts a word right by n bits. Use as an intrinsic function.
short long(3f) Converts INTEGER*4 to INTEGER*2.
shcom_connect shcom_connect(3f) (TU*X ONLY) Allows multiple processes to access common block data in a shared library (uses memory mapping).
signal signal(3f) Changes the action of a signal.
sleep sleep(3f) Suspends execution for an interval.
srand rand(3f) Initializes the seed for subsequent use of rand and irand .
stat stat(3f) Returns information about the status of specified file.
symlnk link(3f) Makes a symbolic directory link to an existing file.
system system(3f) Executes a shell command.
time time(3f) Returns the system time in number of seconds from 00:00:00 G.M.T. January 1, 1970. Also available as an intrinsic subroutine (Compaq extension) described in the Compaq Fortran Language Reference Manual.
ttynam ttynam(3f) Returns the name of a terminal port or returns blanks if specified unit is not a terminal port.
umask umask(3f) Sets the file mode creation mask (protection).
unlink unlink(3f) Removes a directory entry. See also link .
wait wait(3f) Waits for the process to terminate.
xor bit(3f) Returns the bitwise exclusive OR of two operands. Use as an intrinsic function.

The Compaq Fortran Language Reference Manual describes other Compaq Fortran intrinsic functions and subroutines.


Previous Next Contents Index