Intrinsic Procedures

Intrinsic procedures are functions and subroutines that are included in the Fortran library. There are four classes of these intrinsic procedures, as follows:

Intrinsic procedures are invoked the same way as other procedures, and follow the same rules of argument association.

The intrinsic procedures have generic (or common) names, and many of the intrinsic functions have specific names. (Some intrinsic functions are both generic and specific.)

In general, generic functions accept arguments of more than one data type; the data type of the result is the same as that of the arguments in the function reference. For elemental functions with more than one argument, all arguments must be of the same type (except for the function MERGE).

When an intrinsic function is passed as an actual argument to a procedure, its specific name must be used, and when called, its arguments must be scalar. Some specific intrinsic functions are not allowed as actual arguments in all circumstances. The following table lists specific functions that cannot be passed as actual arguments.

Specific Intrinsic Functions Not Allowed as Actual Arguments

AIMAX0 FLOATI IZEXT MAX0
AIMIN0 FLOATJ JFIX MAX1
AJMAX0 FLOATK JIDINT MIN0
AJMIN0 FP_CLASS JIFIX MIN1
AKMAX0 HFIX JINT MULT_HIGH
AKMIN0 IADDR JIQINT MULT_HIGH_SIGNED
AMAX0 IARGC JMAX0 NARGS
AMAX1 ICHAR JMAX1 QCMPLX
AMIN0 IDINT JMIN0 QEXT
AMIN1 IFIX JMIN1 QEXTD
CHAR IIDINT JNUM QMAX1
CMPLX IIFIX JZEXT QMIN1
DBLE IINT KIDINT QNUM
DBLEQ IIQINT KIFIX QREAL
DCMPLX IJINT KINT RAN
DFLOTI IMAX0 KIQINT REAL
DFLOTJ IMAX1 KMAX0 RNUM
DFLOTK IMIN0 KMAX1 SECNDS
DMAX1 IMIN1 KMIN0 SHIFTL
DMIN1 INT KMIN1 SHIFTR
DNUM INT1 KZEXT SNGL
DPROD INT2 LGE SNGLQ
DREAL INT4 LGT ZEXT
DSHIFTL INT8 LLE  
DSHIFTR INUM LLT  
FLOAT IQINT LOC  

Note that none of the intrinsic subroutines can be passed as actual arguments.

This chapter also contains information on the following topics:

The A to Z Reference contains the descriptions of all intrinsics listed in alphabetical order. Each reference entry indicates whether the procedure is inquiry, elemental, transformational, or nonelemental, and whether it is a function or a subroutine.

See Also