*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> f90/intro_intrin (3)              
Title
Content
Arch
Section
 

Contents


INTRO_INTRIN(3I)				       Last changed: 1-6-98

NAME    [Toc]    [Back]

     INTRO_INTRIN - Introduction to intrinsic procedures

IMPLEMENTATION    [Toc]    [Back]

     See individual man	pages for implementation details

DESCRIPTION    [Toc]    [Back]

     Intrinsic procedures are predefined by the	computer programming
     language.	They are invoked in the	same way that other procedures are
     invoked.

     The Fortran 90 standard defines intrinsic procedures, and the CF90	and
     MIPSpro 7 Fortran 90 compilers include other intrinsics as	extensions
     to	the standard.

     There are four classes of Fortran intrinsic procedures as defined by
     the Fortran 90 standard:  inquiry functions, elemental functions,
     transformational functions, and subroutines.  Additional intrinsics
     provided with the CF90 and	MIPSpro	7 Fortran 90 compiler include
     intrinsics	that support IEEE floating-point arithmetic and	other
     compiler extensions.

     The CF90 and MIPSpro 7 Fortran 90 compilers evaluate intrinsic
     procedures	in line	or by calling external code.  Depending	on your
     platform and your program,	the following intrinsics can be	evaluated
     in	line:

     * ABS, DABS, IABS

     * ACHAR

     * AIMAG

     * AINT

     * ALL

     * AND

     * ANINT

     * ANY

     * BIT_SIZE

     * M@CLR, M@LD, M@MX, M@LDMX, M@UL (the BMM	intrinsics)

     * BTEST

     * CEILING

     * CHAR, ICHAR

     * CLEAR_IEEE_EXCEPTION

     * CLOC

     * CMPLX

     * COMPL

     * CONJG

     * COUNT

     * CSHIFT

     * CSMG

     * CVMGM, CVMGN, CVMGP, CVMGZ, CVMGT

     * DBLE, DFLOAT

     * DIGITS

     * DIM, IDIM

     * DISABLE_IEEE_INTERRUPT

     * DOT_PRODUCT

     * DPROD

     * DSHIFTL

     * DSHIFTR

     * ENABLE_IEEE_INTERRUPT

     * EOSHIFT

     * EPSILON

     * EQV

     * EXPONENT

     * FCD

     * FLOOR

     * FRACTION

     * GET_IEEE_EXCEPTIONS

     * GET_IEEE_INTERRUPTS

     * GET_IEEE_ROUNDING_MODE

     * GET_IEEE_STATUS

     * HUGE

     * I24MULT

     * IACHAR

     * IAND

     * IBCLR

     * IBITS

     * IBSET

     * IEEE_CLASS

     * IEEE_COPY_SIGN

     * IEEE_FINITE

     * IEEE_INT

     * IEEE_IS_NAN

     * IEEE_REAL

     * IEEE_UNORDERED

     * IEOR

     * INT, IDINT, IFIX

     * INT24, LINT

     * INT_MULT_UPPER

     * IOR

     * ISHFT

     * ISHFTC

     * KIND

     * LBOUND

     * LEADZ

     * LEN

     * LGE, LGT, LLE, LLT

     * LOC

     * LOGICAL

     * MASK

     * MATMUL

     * MAX, MAX0, AMAX1, DMAX1,	AMAX0, MAX1

     * MAXEXPONENT

     * MAXLOC

     * MAXVAL

     * MEMORY_BARRIER

     * MERGE

     * MIN, MIN0, AMIN1, DMIN1,	AMIN0, MIN1

     * MINEXPONENT

     * MINVAL

     * MOD, AMOD

     * MODULO

     * MVBITS

     * MY_PE

     * NEAREST

     * NEQV, XOR

     * NINT, IDNINT

     * NOT

     * NUMARG

     * OR

     * POPCNT

     * POPPAR

     * PRECISION

     * PRESENT

     * PRODUCT

     * RADIX

     * RANGE

     * REAL, FLOAT, SNGL

     * REMOTE_WRITE_BARRIER

     * RRSPACING

     * RTC, IRTC

     * SCALE

     * SELECTED_INT_KIND

     * SET_EXPONENT

     * SET_IEEE_EXCEPTION

     * SET_IEEE_EXCEPTIONS

     * SET_IEEE_INTERRUPTS

     * SET_IEEE_ROUNDING_MODE

     * SET_IEEE_STATUS

     * SHAPE

     * SHIFT

     * SHIFTA

     * SHIFTL

     * SHIFTR

     * SIGN, DSIGN, ISIGN

     * SPACING

     * SPREAD

     * SUM

     * SYSTEM_CLOCK

     * TEST_IEEE_EXCEPTION

     * TEST_IEEE_INTERRUPT

     * TINY

     * TRANSFER

     * TRANSPOSE

     * UBOUND

     * WRITE_MEMORY_BARRIER

     The CF90 compiler supports	vector versions	of some	intrinsic
     procedures.  Using	one of these intrinsics	means that the presence	of
     the intrinsic itself, in a	loop, does not inhibit the loop's ability
     to	vectorize.  Vector versions of the following CF90 intrinsic
     procedures	exist on UNICOS	platforms:

     * ABS, CABS, CDABS, DABS, IABS

     * ACOS, DACOS

     * AIMAG

     * AINT, DINT

     * ALOG, CDLOG, CLOG, DLOG

     * ALOG10, DLOG10

     * AND

     * ANINT, DNINT

     * ASIN, DASIN

     * ATAN2, DATAN2

     * ATAN, DATAN

     * BIT_SIZE

     * M@CLR, M@LD, M@MX, M@LDMX, and M@UL (the	BMM intrinsic functions)

     * BTEST

     * CEILING

     * CMPLX

     * COMPL

     * CONJG

     * COS, CCOS, CDCOS, DCOS

     * COSH, DCOSH

     * COT, DCOT

     * CSMG

     * CVMGM, CVMGN, CVMGP, CVMGZ, CVMGT

     * DBLE, DFLOAT

     * DIGITS

     * DIM, DDIM, IDIM

     * DPROD

     * DSHIFTL

     * DSHIFTR

     * EPSILON

     * EQV

     * EXP, CDEXP, CEXP, DEXP

     * EXPONENT

     * FLOOR

     * FRACTION

     * HUGE

     * I24MULT

     * IAND

     * IBCLR

     * IBITS

     * IBSET

     * IEEE_CLASS

     * IEEE_COPY_SIGN

     * IEEE_FINITE

     * IEEE_INT

     * IEEE_IS_NAN

     * IEEE_REAL

     * IEEE_UNORDERED

     * IEOR

     * INT, IDINT, IFIX

     * INT24, LINT

     * INT_MULT_UPPER

     * IOR

     * ISHFT

     * ISHFTC

     * KIND

     * LEADZ

     * LOGICAL

     * MASK

     * MAX, MAX0, AMAX1, DMAX1,	AMAX0, MAX1

     * MAXEXPONENT

     * MERGE

     * MIN, MIN0, AMIN1, DMIN1,	AMIN0, MIN1

     * MINEXPONENT

     * MOD, AMOD, DMOD

     * MVBITS

     * NEAREST

     * NEQV, XOR

     * NINT, IDNINT

     * NOT

     * OR

     * POPCNT

     * POPPAR

     * PRECISION

     * PRESENT

     * RADIX

     * RANDOM_NUMBER

     * RANF

     * RANGE

     * REAL, FLOAT, SNGL

     * RRSPACING

     * SCALE

     * SELECTED_INT_KIND

     * SET_EXPONENT

     * SHIFT

     * SHIFTA

     * SHIFTL

     * SHIFTR

     * SIGN, DSIGN, ISIGN

     * SIN, CDSIN, CSIN, DSIN

     * SINH, DSINH

     * SPACING

     * SPREAD

     * SQRT, CDSQRT, CSQRT, DSQRT

     * TAN, DTAN

     * TANH, DTANH

     * TINY

     The CF90 compiler supports	vector versions	of some	intrinsic
     procedures	on UNICOS/mk platforms,	too.  Using one	of these intrinsics
     means that	the presence of	the intrinsic itself, in a loop, does not
     inhibit the loop's	ability	to vectorize.  On UNICOS/mk platforms, you
     must specify -O vector3 and -l mfastv on your f90(1) command line in
     order for the compiler to be able to use vector versions of the
     following intrinsic procedures:

     * COS

     * COSS

     * EXP

     * LOG

     * POPCNT

     * RANF

     * SIN

     * SQRT

     For details about the Fortran 90 intrinsics, see the man pages
     themselves	and the	Fortran	Language Reference Manual, Volume 2,
     publication SR-3903.

     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.	 For details about the C intrinsic procedures, see the Cray
     C/C++ Reference Manual, publication SR-2179.

     For information about the math intrinsics,	see the	INTRO_LIBM(3M) man
     page.  When using the MIPSpro 7 Fortran 90	compiler, the math
     intrinsic functions described in the Intrinsic Procedures Reference
     Manual, publication SR-2138, are not used.	 See the SGI math library
     documentation for information about math intrinsics supported on IRIX
     systems.

SEE ALSO    [Toc]    [Back]

      
      
     INTRO_LIBM(3M), INTRO_SHMEM(3)

     Fortran Language Reference	Manual,	Volume 2, publication SR-3903

     Cray C/C++	Reference Manual, publication SR-2179

     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.

INTRO_INTRIN(3I)				       Last changed: 1-6-98

NAME    [Toc]    [Back]

     INTRO_INTRIN - Introduction to intrinsic procedures

IMPLEMENTATION    [Toc]    [Back]

     See individual man	pages for implementation details

DESCRIPTION    [Toc]    [Back]

     Intrinsic procedures are predefined by the	computer programming
     language.	They are invoked in the	same way that other procedures are
     invoked.

     The Fortran 90 standard defines intrinsic procedures, and the CF90	and
     MIPSpro 7 Fortran 90 compilers include other intrinsics as	extensions
     to	the standard.

     There are four classes of Fortran intrinsic procedures as defined by
     the Fortran 90 standard:  inquiry functions, elemental functions,
     transformational functions, and subroutines.  Additional intrinsics
     provided with the CF90 and	MIPSpro	7 Fortran 90 compiler include
     intrinsics	that support IEEE floating-point arithmetic and	other
     compiler extensions.

     The CF90 and MIPSpro 7 Fortran 90 compilers evaluate intrinsic
     procedures	in line	or by calling external code.  Depending	on your
     platform and your program,	the following intrinsics can be	evaluated
     in	line:

     * ABS, DABS, IABS

     * ACHAR

     * AIMAG

     * AINT

     * ALL

     * AND

     * ANINT

     * ANY

     * BIT_SIZE

     * M@CLR, M@LD, M@MX, M@LDMX, M@UL (the BMM	intrinsics)

     * BTEST

     * CEILING

     * CHAR, ICHAR

     * CLEAR_IEEE_EXCEPTION

     * CLOC

     * CMPLX

     * COMPL

     * CONJG

     * COUNT

     * CSHIFT

     * CSMG

     * CVMGM, CVMGN, CVMGP, CVMGZ, CVMGT

     * DBLE, DFLOAT

     * DIGITS

     * DIM, IDIM

     * DISABLE_IEEE_INTERRUPT

     * DOT_PRODUCT

     * DPROD

     * DSHIFTL

     * DSHIFTR

     * ENABLE_IEEE_INTERRUPT

     * EOSHIFT

     * EPSILON

     * EQV

     * EXPONENT

     * FCD

     * FLOOR

     * FRACTION

     * GET_IEEE_EXCEPTIONS

     * GET_IEEE_INTERRUPTS

     * GET_IEEE_ROUNDING_MODE

     * GET_IEEE_STATUS

     * HUGE

     * I24MULT

     * IACHAR

     * IAND

     * IBCLR

     * IBITS

     * IBSET

     * IEEE_CLASS

     * IEEE_COPY_SIGN

     * IEEE_FINITE

     * IEEE_INT

     * IEEE_IS_NAN

     * IEEE_REAL

     * IEEE_UNORDERED

     * IEOR

     * INT, IDINT, IFIX

     * INT24, LINT

     * INT_MULT_UPPER

     * IOR

     * ISHFT

     * ISHFTC

     * KIND

     * LBOUND

     * LEADZ

     * LEN

     * LGE, LGT, LLE, LLT

     * LOC

     * LOGICAL

     * MASK

     * MATMUL

     * MAX, MAX0, AMAX1, DMAX1,	AMAX0, MAX1

     * MAXEXPONENT

     * MAXLOC

     * MAXVAL

     * MEMORY_BARRIER

     * MERGE

     * MIN, MIN0, AMIN1, DMIN1,	AMIN0, MIN1

     * MINEXPONENT

     * MINVAL

     * MOD, AMOD

     * MODULO

     * MVBITS

     * MY_PE

     * NEAREST

     * NEQV, XOR

     * NINT, IDNINT

     * NOT

     * NUMARG

     * OR

     * POPCNT

     * POPPAR

     * PRECISION

     * PRESENT

     * PRODUCT

     * RADIX

     * RANGE

     * REAL, FLOAT, SNGL

     * REMOTE_WRITE_BARRIER

     * RRSPACING

     * RTC, IRTC

     * SCALE

     * SELECTED_INT_KIND

     * SET_EXPONENT

     * SET_IEEE_EXCEPTION

     * SET_IEEE_EXCEPTIONS

     * SET_IEEE_INTERRUPTS

     * SET_IEEE_ROUNDING_MODE

     * SET_IEEE_STATUS

     * SHAPE

     * SHIFT

     * SHIFTA

     * SHIFTL

     * SHIFTR

     * SIGN, DSIGN, ISIGN

     * SPACING

     * SPREAD

     * SUM

     * SYSTEM_CLOCK

     * TEST_IEEE_EXCEPTION

     * TEST_IEEE_INTERRUPT

     * TINY

     * TRANSFER

     * TRANSPOSE

     * UBOUND

     * WRITE_MEMORY_BARRIER

     The CF90 compiler supports	vector versions	of some	intrinsic
     procedures.  Using	one of these intrinsics	means that the presence	of
     the intrinsic itself, in a	loop, does not inhibit the loop's ability
     to	vectorize.  Vector versions of the following CF90 intrinsic
     procedures	exist on UNICOS	platforms:

     * ABS, CABS, CDABS, DABS, IABS

     * ACOS, DACOS

     * AIMAG

     * AINT, DINT

     * ALOG, CDLOG, CLOG, DLOG

     * ALOG10, DLOG10

     * AND

     * ANINT, DNINT

     * ASIN, DASIN

     * ATAN2, DATAN2

     * ATAN, DATAN

     * BIT_SIZE

     * M@CLR, M@LD, M@MX, M@LDMX, and M@UL (the	BMM intrinsic functions)

     * BTEST

     * CEILING

     * CMPLX

     * COMPL

     * CONJG

     * COS, CCOS, CDCOS, DCOS

     * COSH, DCOSH

     * COT, DCOT

     * CSMG

     * CVMGM, CVMGN, CVMGP, CVMGZ, CVMGT

     * DBLE, DFLOAT

     * DIGITS

     * DIM, DDIM, IDIM

     * DPROD

     * DSHIFTL

     * DSHIFTR

     * EPSILON

     * EQV

     * EXP, CDEXP, CEXP, DEXP

     * EXPONENT

     * FLOOR

     * FRACTION

     * HUGE

     * I24MULT

     * IAND

     * IBCLR

     * IBITS

     * IBSET

     * IEEE_CLASS

     * IEEE_COPY_SIGN

     * IEEE_FINITE

     * IEEE_INT

     * IEEE_IS_NAN

     * IEEE_REAL

     * IEEE_UNORDERED

     * IEOR

     * INT, IDINT, IFIX

     * INT24, LINT

     * INT_MULT_UPPER

     * IOR

     * ISHFT

     * ISHFTC

     * KIND

     * LEADZ

     * LOGICAL

     * MASK

     * MAX, MAX0, AMAX1, DMAX1,	AMAX0, MAX1

     * MAXEXPONENT

     * MERGE

     * MIN, MIN0, AMIN1, DMIN1,	AMIN0, MIN1

     * MINEXPONENT

     * MOD, AMOD, DMOD

     * MVBITS

     * NEAREST

     * NEQV, XOR

     * NINT, IDNINT

     * NOT

     * OR

     * POPCNT

     * POPPAR

     * PRECISION

     * PRESENT

     * RADIX

     * RANDOM_NUMBER

     * RANF

     * RANGE

     * REAL, FLOAT, SNGL

     * RRSPACING

     * SCALE

     * SELECTED_INT_KIND

     * SET_EXPONENT

     * SHIFT

     * SHIFTA

     * SHIFTL

     * SHIFTR

     * SIGN, DSIGN, ISIGN

     * SIN, CDSIN, CSIN, DSIN

     * SINH, DSINH

     * SPACING

     * SPREAD

     * SQRT, CDSQRT, CSQRT, DSQRT

     * TAN, DTAN

     * TANH, DTANH

     * TINY

     The CF90 compiler supports	vector versions	of some	intrinsic
     procedures	on UNICOS/mk platforms,	too.  Using one	of these intrinsics
     means that	the presence of	the intrinsic itself, in a loop, does not
     inhibit the loop's	ability	to vectorize.  On UNICOS/mk platforms, you
     must specify -O vector3 and -l mfastv on your f90(1) command line in
     order for the compiler to be able to use vector versions of the
     following intrinsic procedures:

     * COS

     * COSS

     * EXP

     * LOG

     * POPCNT

     * RANF

     * SIN

     * SQRT

     For details about the Fortran 90 intrinsics, see the man pages
     themselves	and the	Fortran	Language Reference Manual, Volume 2,
     publication SR-3903.

     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.	 For details about the C intrinsic procedures, see the Cray
     C/C++ Reference Manual, publication SR-2179.

     For information about the math intrinsics,	see the	INTRO_LIBM(3M) man
     page.  When using the MIPSpro 7 Fortran 90	compiler, the math
     intrinsic functions described in the Intrinsic Procedures Reference
     Manual, publication SR-2138, are not used.	 See the SGI math library
     documentation for information about math intrinsics supported on IRIX
     systems.

SEE ALSO    [Toc]    [Back]

      
      
     INTRO_LIBM(3M), INTRO_SHMEM(3)

     Fortran Language Reference	Manual,	Volume 2, publication SR-3903

     Cray C/C++	Reference Manual, publication SR-2179

     Intrinsic Procedures Reference Manual, publication	SR-2138, for the
     printed version of	this man page.

[ Back ]
 Similar pages
Name OS Title
models IRIX Describes mathematical representation models for CF90 and MIPSpro 7 Fortran 90 compiler intrinsic procedures
mod IRIX FORTRAN remaindering intrinsic functions
lge IRIX FORTRAN string comparison intrinsic functions
conjg IRIX FORTRAN complex conjugate intrinsic function
alog IRIX FORTRAN natural logarithm intrinsic function
strcmp IRIX FORTRAN string comparison intrinsic functions
sign IRIX FORTRAN transfer-of-sign intrinsic function
aint IRIX FORTRAN integer part intrinsic function
conjg IRIX FORTRAN complex conjugate intrinsic function
dim IRIX FORTRAN positive difference intrinsic functions
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service