Having basic operations done in a standard way, makes programs
 more readable and portable, Fortran has a compiler-supplied 
 basic routine library, the intrinsic routines.

 The intrinsic routines have the following properties: 

    1) The routines are generic (polymorphic in C++ terms) with 
       respect to argument data type - the proper routine is 
       automatically choosen by the compiler according to the 
       data type of the arguments.

       Except for the various conversion routines, the data type
       of the returned value is like that of the arguments, or
       in other words non-conversion routines are generic also 
       with respect to the return value.

       Generic routines simplify programming, some of the 
       programming decisions are delegated to the compiler.

    2) The intrinsic routines are implemented by the compiler,
       you don't have to link against a special library.

    3) The compiler implements the routines in an efficient
       way, either by inlining the code into your program 
       or calling a routine library.

 Intrinsic routines may be more efficient then a routine written 
 in a high Level Language (HLL), e.g. they could be written in 
 assembly language and hand optimized. Optimizing a routine for
 a given computer is best done by the vendor.

 Having an optimized basic routine library is good, but why stop 
 at the most basic operations? Indeed there is a trend to create 
 standartized and optimized routine libraries that perform many
 operations recurring in practice (see the chapter on libraries).

 FORTRAN 77 standard intrinsic functions

 The intrinsic functions of Fortran 90

Return to contents page