Functions marked with # cannot be used as an actual argument.
"double precision" means double-precision real.

2.2 Fortran 2000 Module Routines

The Fortran 2000 draft standard provides a set of intrinsic modules that define features to support IEEE arithmetic and interoperability with the C language. These modules define new functions and subroutines, and are implemented in the Sun Studio 8 Fortran 95 compiler.

2.2.1 IEEE Arithmetic and Exceptions Modules

The Fortran 2000 draft standard intrinsic modules IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and IEEE_FEATURES to support new features in the proposed language standard to support IEEE arithmetic and IEEE exception handling.

The draft standard defines a set of inquiry functions, elemental functions, kind functions, elemental subroutines, and nonelemental subroutines. These are listed in the tables that follow.

To access these functions and subroutines, the calling routine must include

Indicates the association status of C_PTR_1 or indicates whether C_PTR_1 and C_PTR_2 are associated with the same entity.

C_F_POINTER(CPTR, FPTR [, SHAPE])

Associates a pointer with the target of a C pointer and specifies its shape.

For details on the ISO_C_BINDING intrinsic module, see Chapter 15 of the Fortran 2000 draft standard at http://www.j3-fortran.org/.

2.3 Non-Standard Fortran 95 Intrinsic Functions

The following functions are considered intrinsics by the f95 compiler, but are not part of the Fortran 95 standard.

2.3.1 Basic Linear Algebra Functions (BLAS)

When compiling with -xknown_lib=blas, the compiler will recognize calls to the following routines as intrinsics and will optimize for and link to the Sun Performance Library implementation. The compiler will ignore user-supplied versions of these routines.

TABLE 2-2 BLAS Intrinsics

Function

Description

CAXPY

DAXPY

SAXPY

ZAXPY

Product of a scalar and a vector plus a vector

CCOPY

DCOPY

SCOPY

ZCOPY

Copy a vector

CDOTC

CDOTU

DDOT

SDOT

ZDOTC

ZDOTU

Dot product (inner product)

CSCAL

DSCAL

SSCAL

ZSCAL

Scale a vector

See the Sun Performance Library User's Guide for more information on these routines.

2.3.2 Interval Arithmetic Intrinsic Functions

The following table lists intrinsic functions that are recognized by the compiler when compiling for interval arithmetic (-xia). For details, see the Fortran 95 Interval Arithmetic Programming Reference.

DINTERVAL

DIVIX

INF

INTERVAL

ISEMPTY

MAG

MID

MIG

NDIGITS

QINTERVAL

SINTERVAL

SUP

VDABS

VDACOS

VDASIN

VDATAN

VDATAN2

VDCEILING

VDCOS

VDCOSH

VDEXP

VDFLOOR

VDINF

VDINT

VDISEMPTY

VDLOG

VDLOG10

VDMAG

VDMID

VDMIG

VDMOD

VDNINT

VDSIGN

VDSIN

VDSINH

VDSQRT

VDSUP

VDTAN

VDTANH

VDWID

VQABS

VQCEILING

VQFLOOR

VQINF

VQINT

VQISEMPTY

VQMAG

VQMID

VQMIG

VQNINT

VQSUP

VQWID

VSABS

VSACOS

VSASIN

VSATAN

VSATAN2

VSCEILING

VSCOS

VSCOSH

VSEXP

VSFLOOR

VSINF

VSINT

VSISEMPTY

VSLOG

VSLOG10

VSMAG

VSMID

VSMIG

VSMOD

VSNINT

VSSIGN

VSSIN

VSSINH

VSSQRT

VSSUP

VSTAN

VSTANH

VSWID

WID

2.3.3 Other Vendor Intrinsic Functions

The f95 compiler recognizes a variety of legacy intrinsic functions that were defined by Fortran compilers from other vendors, including Cray Research, Inc. These are obsolete and their use should be avoided.