Intel® Fortran Compiler 17.0 Developer Guide and Reference

Intrinsic Subroutines

The following table lists the intrinsic subroutines. Optional arguments are shown within square brackets. All these subroutines are nonelemental except for MVBITS. None of the intrinsic subroutines can be passed as actual arguments.

Intrinsic Subroutines

Subroutine

Value Returned or Result

ATOMIC_DEFINE (atom, value)

Defines a variable atomically.

ATOMIC_REF (value, atom)

Lets you reference a variable atomically.

CPU_TIME (time)

The processor time in seconds

DATE (buf)

The ASCII representation of the current date (in dd-mmm-yy form)

DATE_AND_TIME ([date] [,time] [,zone] [,values])

Date and time information from the real-time clock

ERRSNS ([io_err] [,sys_err] [,stat] [,unit] [,cond])

Information about the most recently detected error condition

EXECUTE_COMMAND_LINE (command [, wait, exitstat, cmdstat, cmdmsg])

The command line is executed.

EXIT ([status])

Image exit status is optionally returned; the program is terminated, all files closed, and control is returned to the operating system.

FREE (a)

Frees memory that is currently allocated.

GETARG (n, buffer [,status])

The specified command line argument (where the command itself is argument number zero)

GET_COMMAND ([command, length, status])

The entire command that was used to invoke the program

GET_COMMAND_ARGUMENT (n [, value, length, status])

A command line argument of the command that invoked the program

GET_ENVIRONMENT_VARIABLE (name [, value, length, status, trim_name])

The value of an environment variable

IDATE (i, j, k)

Three integer values representing the current month, day, and year

MM_PREFETCH (address [,hint] [,fault] [,exclusive])

Data from the specified address on one memory cache line

MOVE_ALLOC (from, to)

An allocation is moved from one allocatable object to another.

MVBITS (from, frompos, len, to, topos)1

A sequence of bits (bit field) is copied from one location to another.

RANDOM_NUMBER (harvest)

A pseudorandom number taken from a sequence of pseudorandom numbers uniformly distributed within the range 0.0 to 1.0

RANDOM_SEED ([size] [,put] [,get])

The initialization or retrieval of the pseudorandom number generator seed value

RANDU (i1, i2, x)

A pseudorandom number as a single- precision value (within the range 0.0 to 1.0)

SYSTEM_CLOCK ([count] [,count_rate] [,count_max])

Data from the processors real-time clock

TIME (buf)

The ASCII representation of the current time (in hh:mm:ss form)

1 An elemental subroutine