Sun Studio 12: Fortran Library Reference

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.

Table 2–3 Intrinsic Functions From Cray CF90 and Other Compilers

Function  

Arguments  

Description  

CLOC

([C=]c) 

Obtains the address of a character object 

COMPL

([I=]i) 

Bit-by-bit complement of a word. Use NOT(i) instead 

COT

([X=]x) 

Generic cotangent. (Also: DCOT, QCOT) 

CSMG

([I=]i,[J=]j,[K=]k) 

Conditional Scalar Merge 

DSHIFTL

([I=]i,[J=]j,[K=]k) 

Double-object left shift of i and j by k bits 

DSHIFTR

([I=]i,[J=]j,[K=]k) 

Double-object right shift of i and j by k bits 

EQV

([I=]i,[J=]j) 

Logical equivalence. Use IOER(i,j) instead. 

FCD

([I=]i,[J=]j) 

Constructs a character pointer 

IBCHNG

([I=]i, [POS=]j) 

Generic function to change specified bit in a word. 

ISHA

([I=]i, [SHIFT=]j) 

Generic arithmetic shift 

ISHC

([I=]i, [SHIFT=]j) 

Generic circular shift 

ISHL

([I=]i, [SHIFT=]j) 

Generic left shift 

LEADZ

([I=]i) 

Counts number of leading 0 bits 

LENGTH

([I=]i) 

Returns the number of Cray words successfully transferred 

LOC

([I=]i) 

Returns the address of a variable (See 1.4.32 loc: Return the Address of an Object)

NEQV

([I=]i,[J=]j) 

Logical non-equivalence. Use IOER(i,j) instead. 

POPCNT

([I=]i) 

Counts number of bits set to 1 

POPPAR

([I=]i) 

Computes bit popluation parity 

SHIFT

([I=]i,[J=]j) 

Shift left circular. Use ISHFT(i,j) or ISHFTC(i,j,k) instead. 

SHIFTA

([I=]i,[J=]j) 

Arithmetic shift with sign extension. 

SHIFTL

([I=]i,[J=]j) 

Shift left with zero fill. Use ISHFT(i,j) or ISHFTC(i,j,k) instead. 

SHIFTR

([I=]i,[J=]j) 

Shift right with zero fill. Use ISHFT(i,j) or ISHFTC(i,j,k) instead. 

TIMEF

() 

Returns elapsed time since the first call 

UNIT

([I=]i) 

Returns status of BUFFERIN or BUFFEROUT 

XOR

([I=]i,[J=]j) 

Logical exclusive OR. Use IOER(i,j) instead. 

See also 2.3.4.2 Memory Functions for a list of VMS Fortran 77 intrinsics.