f95 编译器可识别许多由其他供应商(包括 Cray Research, Inc.)的 Fortran 编译器定义的传统内函数。这些内函数现已过时,应避免使用。
表 2–3 Cray CF90 和其他编译器的内函数
功能 |
参数 |
说明 |
---|---|---|
CLOC |
([C=]c) |
获取字符对象的地址 |
COMPL |
([I=]i) |
逐位补充单词。使用 NOT(i)。 |
COT |
([X=]x) |
一般余切。(另外还有:DCOT、QCOT) |
CSMG |
([I=]i,[J=]j,[K=]k) |
有条件的标量合并 |
DSHIFTL |
([I=]i,[J=]j,[K=]k) |
将双对象 i 和 j 向左移动 k 个位 |
DSHIFTR |
([I=]i,[J=]j,[K=]k) |
将双对象 i 和 j 向右移动 k 个位 |
EQV |
([I=]i,[J=]j) |
逻辑等价。使用 IOER(i,j)。 |
FCD |
([I=]i,[J=]j) |
构造字符指针。 |
GETPOS |
([I=]i) |
获取文件位置 |
IBCHNG |
([I=]i, [POS=]j) |
更改单词中指定位的通用函数。 |
ISHA |
([I=]i, [SHIFT=]j) |
一般算术移位 |
ISHC |
([I=]i, [SHIFT=]j) |
一般循环移位 |
ISHL |
([I=]i, [SHIFT=]j) |
一般左移位 |
LEADZ |
([I=]i) |
统计前导 0 位的数量 |
LENGTH |
([I=]i) |
返回成功传送的 Cray 单词数 |
LOC |
([I=]i) |
返回变量的地址(请参见1.4.32 loc:返回对象的地址) |
NEQV |
([I=]i,[J=]j) |
逻辑非等价。使用 IOER(i,j)。 |
POPCNT |
([I=]i) |
统计设为 1 的位数。 |
POPPAR |
([I=]i) |
计算位总体的奇偶校验 |
SHIFT |
([I=]i,[J=]j) |
循环式左移。使用 ISHFT(i,j) 或 ISHFTC(i,j,k)。 |
SHIFTA |
([I=]i,[J=]j) |
带符号扩展的算术移位。 |
SHIFTL |
([I=]i,[J=]j) |
补零式左移。使用 ISHFT(i,j) 或 ISHFTC(i,j,k)。 |
SHIFTR |
([I=]i,[J=]j) |
补零式右移。使用 ISHFT(i,j) 或 ISHFTC(i,j,k)。 |
TIMEF |
() |
返回自第一次调用后经过的时间 |
UNIT |
([I=]i) |
返回 BUFFERIN 或 BUFFEROUT 的状态 |
XOR |
([I=]i,[J=]j) |
逻辑互斥 OR。使用 IOER(i,j)。 |
有关 VMS Fortran 77 内函数列表,另请参见2.3.4.2 内存函数。