f90 supports some intrinsic procedures which are extensions beyond the standard.
Table C-4 Nonstandard Intrinsics
|
| Type |
|
|
|
Name |
Definition |
Function |
Arguments |
Arguments |
Notes |
CLOC |
Get Fortran character descriptor (FCD) |
Cray character pointer |
character | ([C=]c) |
NP, I |
COT |
Cotangent |
real |
real | ([X=]x) |
P, E |
DDIM |
Positive difference |
double precision |
double precision | ([X=]x,[Y=]y) |
P, E |
FCD |
Create Cray character pointer in Fortran character descriptor (FCD) format |
Cray pointer |
i: integer or Cray pointer j: integer |
([I=]i,[J=]j) i: word address of first character j: character length |
NP, I |
LEADZ |
Get the number of leading 0 bits |
integer |
Boolean, integer, real, or pointer | ([I=]i) |
NP, I |
POPCNT |
Get the number of set bits |
integer |
Boolean, integer, real, or pointer | ([I=]i) |
NP, I |
POPPAR |
Calculate bit population parity |
integer |
Boolean, integer, real, or pointer | ([X=]x) |
NP, I |
Notes on the above table: |
|
P |
The name can be passed as an argument. |
NP |
The name cannot be passed as an argument. |
E |
External code for the intrinsic is called at run time. |
I |
f90 generates inline code for the intrinsic procedure. |