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