Personal tools
PGF77 Workstation Reference Manual - A Intrinsics
<< " border=0>
> " border=0>
<< " border=0> > " border=0>
A Intrinsics
This chapter specifies the pgf77 intrinsic functions. All the Fortran 77 intrinsics are supported and are detailed in the ANSI Fortran manual listed in the section "Related Publications," in the Preface.
Generic Name |
FUNCTIONS
|
Number of Args |
Specific Name |
Type
of Argument |
Type
of Result |
IAND
|
Bitwise
AND
|
2
|
IIAND
|
INTEGER*2
|
INTEGER*2
|
Perform
a logicalAND on bits
|
JIAND
|
INTEGER*4
|
INTEGER*4
| ||
Perform
a logicalAND on bits
|
KIAND
|
INTEGER*8
|
INTEGER*8
| ||
AND
|
1
|
typeless
| |||
IOR
|
Bitwise
OR
|
2
|
IIOR
|
INTEGER*2
|
INTEGER*2
|
Perform
a logical OR on bits
|
JIOR
|
INTEGER*4
|
INTEGER*4
| ||
Perform
a logical OR on bits
|
KIOR
|
INTEGER*8
|
INTEGER*8
| ||
OR
|
1
|
typeless
| |||
IEOR
|
Bitwise
XOR
|
2
|
IIEOR
|
INTEGER*2
|
INTEGER*2
|
Bitwise
XOR
|
2
|
INTEGER*8
|
INTEGER*8
| ||
XOR
|
logical
Exclusive OR
|
JIEOR
|
INTEGER*4
|
INTEGER*4
| |
logical
Exclusive OR
|
INTEGER*8
|
INTEGER*8
| |||
NEQV
|
1
|
typeless
| |||
EQV
|
Bitwise
Excl. NOR Performs a logical Exclusive Nor
|
2
|
1
|
typeless
| |
NOT
|
Bitwise
Complement
|
1
|
INOT
|
INTEGER*2
|
INTEGER*2
|
Complements
each bit
|
JNOT KNOT |
INTEGER*4 INTEGER*8 |
INTEGER*4 INTEGER*8 | ||
COMPL
|
Bitwise
Complement
|
1
|
1
|
typeless
| |
LOC
|
The
address of a data item is returned (Assumes 32-bit address)
|
1
|
LOC
|
INTEGER*2 INTEGER*4 INTEGER*8 REAL*4 |
INTEGER*4 INTEGER*4 INTEGER*4 INTEGER*4 |
REAL*8
|
INTEGER*4
| ||||
COMPLEX*8
|
INTEGER*4
| ||||
COMPLEX*16
|
INTEGER*4
| ||||
ISHFT
|
Bitwise
Shift
|
2
|
IISHFT
|
INTEGER*2
|
INTEGER*2
|
a1
logically shifted left a2
|
JISHFT KISHFT |
INTEGER*4 INTEGER*8 |
INTEGER*4 INTEGER*8 | ||
SHIFT
|
bits.
If a2 < 0 then right logical shift.
|
2
|
typeless
| ||
LSHIFT
|
Bitwise
Left Shift
|
2
|
INTEGER*2
|
INTEGER*2
| |
a1
logically shifted left
|
INTEGER*4 INTEGER*8 |
INTEGER*4
INTEGER*8 | |||
RSHIFT
|
Bitwise
Right Shift
|
INTEGER*2
|
INTEGER*2
| ||
a1
logically shifted right
|
INTEGER*4
INTEGER*8 |
INTEGER*4
INTEGER*8 | |||
ISHFTC
|
Circular
Shift
|
3
|
IISHFTC
|
INTEGER*2
|
INTEGER*2
|
Rightmost
a3 bits of a1 are shifted circularly by a2 bits; remaining bits in a1 are
unaffected.
|
JISHFTC KISHFTC |
INTEGER*4 INTEGER*8 |
INTEGER*4 | ||
CHAR
|
Character
|
1
|
LOGICAL*1
|
CHARACTER
| |
Returns
a character that has he ASCII value specified by the argument.
|
CHAR |
INTEGER*2 INTEGER*4 INTEGER*8 |
CHARACTER CHARACTER CHARACTER | ||
IBITS
|
Bit
Extraction
|
3
|
IIBITS
|
INTEGER*2
|
INTEGER*2
|
Extracts
bits a2 through (a2 +a 3 - 1) from a1.
|
JIBITS KIBITS |
INTEGER*4 INTEGER*8 |
INTEGER*4 INTEGER*8 | ||
IBSET
|
Set
Bit
|
2
|
IIBSET
|
INTEGER*2
|
INTEGER*2
|
Returns
a1 with bit a2 set to 1.
|
JIBSET KIBSET |
INTEGER*4 INTEGER*8 |
INTEGER*4 INTEGER*8 | ||
BTEST
|
Bit
Test
|
2
|
BITEST
|
INTEGER*2
|
LOGICAL*2
|
.TRUE. if bit a2 of of a1 is a 1.
|
BJTEST KBTEST |
INTEGER*4 INTEGER*8 |
LOGICAL*4 INTEGER*8 | ||
IBCLR
|
Bit
Clear
|
2
|
IIBCLR
|
INTEGER*2
|
INTEGER*2
|
Returns
a1 with bit a2 set to 0 |
JIBCLR KIBCLR |
INTEGER*4 INTEGER*8 |
INTEGER*4 INTEGER*8 |
1. The arguments to the intrinsics AND , OR , NEQV , EQV , and COMPL may be of any type except for CHARACTER and COMPLEX .
2. The first argument to the SHIFT intrinsic may be of any type except for CHARACTER and COMPLEX. The second argument is any integer type.
<< " border=0> > " border=0>