intro_intrin(3I)
INTRO_INTRIN - Introduction to intrinsic procedures
Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.19.
NAME INTRO_INTRIN - Introduction to intrinsic procedures DESCRIPTION Intrinsic procedures are predefined procedures that are defined by the computer programming language. They are invoked in the same way that other procedures are invoked. The Fortran standard defines intrinsic procedures, and the MIPSpro Fortran 90 compiler supports all the intrinsics described in the Fortran 95 standard. The compiler supports other intrinsics as extensions to the standard. The MIPSpro Fortran 77 compiler conforms to the outmoded FORTRAN 77 standard; the intrinsics supported by this compiler are fewer in number than those supported by the MIPSpro Fortran 90 compiler. There are four classes of Fortran intrinsic procedures as defined by the Fortran 95 standard: inquiry functions, elemental functions, transformational functions, and subroutines. Additional intrinsics provided with the compiler include intrinsics that support IEEE floating-point arithmetic and other compiler extensions. The compiler evaluates intrinsic procedures in line or by calling external code, depending on your platform. The MIPSpro Fortran 90 and the MIPSpro Fortran 77 compilers support both single-precision and double-precision vector versions of certain intrinsic procedures when -O3 is specified on the compiler command line. These intrinsics are as follows: * COS, ACOS * EXP * LOG, LOG10 * SIN, ASIN * SQRT * TAN, ATAN For details about the Fortran 95 intrinsics, see the man pages themselves and the MIPSpro Fortran Language Reference Manual, Volume 2. The C/C++ intrinsics either allow direct access to hardware instructions or result in the generation of inline code to perform specialized functions. The intrinsic functions are processed completely by the compiler, and no calls to external functions are generated. MATH INTRINSICS Many mathematical intrinsic procedures have both generic and specific forms. For example, ALOG, DLOG, QLOG, CLOG, CDLOG, CQLOG, are logarithmic functions. ALOG is generic. The others are specific. Generic function names cause the compiler to compile automatically the appropriate data type version of a routine, based on the type of the input data. For example, a call to the generic function LOG with a type of input data of complex compiles as CLOG. In general, real functions have no prefix. Integer functions are prefixed with I. Double-precision functions are prefixed with D. Complex functions are prefixed with C. Double-precision complex functions are prefixed with CD. For example, ABS, IABS, DABS, QABS, CABS, and CDABS all have prefixes that indicate a data type. Functions with a type different from their arguments are noted. Real functions are usually the same as the generic function name. The math routines can be divided into the following general categories: * General arithmetic functions. In the routine descriptions, complex arguments are represented as follows: x = xr + ixi. The real part of the complex number is xr. The imaginary part of the complex number is xi. Arguments and results are of the same type unless otherwise indicated. Base values raised to a power and 64-bit integer division are called implicitly from Fortran. * Exponential and logarithmic functions. Each function has variations for real, double precision, and complex values except the common logarithm function, which addresses only real and double-precision values. Complex arguments are represented as follows: x = xr + ixi The real part of the complex number is xr. The imaginary part of the complex number is xi. * Trigonometric functions. The trigonometric functions are based on the ANSI standard for Fortran, except for the cotangent functions (COT or COTAN), which are extensions. * Type conversion functions. Type conversion functions change the type of an argument. In the routine description, complex arguments are represented as follows: x = xr + ixi The real part of the complex number is xr. The imaginary part of the complex number is xi. Arguments and results are of the same type, unless indicated otherwise. * Extended-precision routines. The extended-precision routines perform double- and quad-precision arithmetic. * Boolean functions. The Boolean functions perform logical operations and bit manipulations. All Boolean functions are extensions. TERMINOLOGY The Fortran intrinsic procedure man pages use the terms single precision, double precision, and quad precision. These terms have different meanings depending on your operating system. The meaning of the term single precision is REAL(KIND=4) and COMPLEX(KIND=4) on IRIX systems. The meaning of the term double precision is REAL(KIND=8) and COMPLEX(KIND=8) on IRIX systems. The meaning of the term quad precision is REAL(KIND=16) and COMPLEX(KIND=16) on IRIX systems. SEE ALSO INTRO_LIBM(3M), INTRO_SHMEM(3) C++ Programmer's Guide C Language Reference Manual MIPSpro Fortran 90 Commands and Directives Reference Manual MIPSpro Fortran Language Reference Manual, Volume 1 MIPSpro Fortran Language Reference Manual, Volume 2 MIPSpro Fortran Language Reference Manual, Volume 3