Sun Studio 12: Fortran ライブラリ・リファレンス

3.5 VMS 組み込み関数

この節では、f95 が識別する VMS Fortran 組み込みルーチンを表にして示します。これらは規格外です。¤

3.5.1 VMS 倍精度複素数

表 3–9 VMS 倍精度複素数関数

総称名 

個別名 

関数 

引数の型 

結果の型 

 

CDABS

CDEXP

CDLOG

CDSQRT

絶対値 

指数、e**a

自然対数 

平方根 

COMPLEX*16

COMPLEX*16

COMPLEX*16

COMPLEX*16

REAL*8

COMPLEX*16

COMPLEX*16

COMPLEX*16

 

CDSIN

CDCOS

正弦 

余弦 

COMPLEX*16

COMPLEX*16

COMPLEX*16

COMPLEX*16

DCMPLX

DCONJG

DIMAG

DREAL

倍精度複素数への変換 

共役複素数 

複素数の虚部 

複素数の実部 

任意の数字

COMPLEX*16

COMPLEX*16

COMPLEX*16

COMPLEX*16

COMPLEX*16

REAL*8

REAL*8

3.5.2 VMS 度単位を用いる三角関数

表 3–10 vms 度単位を用いる三角関数

総称名 

個別名 

関数 

引数の型 

結果の型 

SIND

SIND

DSIND

QSIND

正弦 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

COSD

COSD

DCOSD

QCOSD

余弦 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

TAND

TAND

DTAND

QTAND

正接 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

ASIND

ASIND

DASIND

QASIND

逆正弦 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

ACOSD

ACOSD

DACOSD

QACOSD

逆余弦 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

ATAND

ATAND

DATAND

QATAND

逆正接 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

ATAN2D

ATAN2D

DATAN2D

QATAN2D

a1/a2 の 逆正接 

-

REAL*4

REAL*8

REAL*16

-

REAL*4

REAL*8

REAL*16

3.5.3 VMS ビット操作

表 3–11 vms ビット操作関数

総称名 

個別名 

関数 

引数の型 

結果の型 

IBITS

IIBITS

JIBITS

KIBITS

a1 から、初期ビット a2 a3 ビット抽出

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

ISHFT

IISHFT

JISHFT

KISHFT

a1 を論理的に a2 ビットシフト。a2 が正ならば左へ、a2 が負ならば右へシフト

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

ISHFTC

IISHFTC

JISHFTC

a1 の右 a3 ビット、a2 桁だけ循環シフト

-

INTEGER*2

INTEGER*4

-

INTEGER*2

INTEGER*4

IAND

IIAND

JIAND

a1a2 のビット単位論理積

-

INTEGER*2

INTEGER*4

-

INTEGER*2

INTEGER*4

IOR

IIOR

JIOR

KIOR

a1a2 のビット単位論理和

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

IEOR

IIEOR

JIEOR

KIEOR

a1 a2 のビット単位排他的論理和

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

NOT

INOT

JNOT

KNOT

ビット単位補数 

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

IBSET

IIBSET

JIBSET

KIBSET

a1 で、ビット a2 を 1 に設定し、新しい a1 を戻す

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

BTEST

BITEST

BJTEST

BKTEST

a1 のビット a21 ならば .TRUE. を戻す

-

INTEGER*2

INTEGER*4

INTEGER*8

-

LOGICAL

LOGICAL

LOGICAL

IBCLR

IIBCLR

JIBCLR

KIBCLR

a1 で、ビット a2 を 0 に設定し、新しい a1 を戻す

-

INTEGER*2

INTEGER*4

INTEGER*8

-

INTEGER*2

INTEGER*4

INTEGER*8

3.5.4 VMS 多重整数型

Fortran 規格では多重整数型を扱えるかどうかは表明されていません。 コンパイラでは特定の INTEGER から INTEGER 関数名 (IABS 等) を総称名の特別な種類として扱うことによって、複数の整数型に対処します。引数型を使用して適当な実行時ルーチン名が選択されますが、プログラマはこの名前を関知できません。

VMS Fortran は同じような方法を取りますが、個別名が使用できます。

表 3–12 VMS 整数関数

個別名 

関数 

引数の型 

結果の型 

IIABS

JIABS

KIABS

絶対値 

INTEGER*2

INTEGER*4

INTEGER*8

INTEGER*2

INTEGER*4

INTEGER*8

IMAX0

JMAX0

最大 

INTEGER*2

INTEGER*4

INTEGER*2

INTEGER*4

IMIN0

JMIN0

最小 

INTEGER*2

INTEGER*4

INTEGER*2

INTEGER*4

IIDIM

JIDIM

KIDIM

超過分 

INTEGER*2

INTEGER*4

INTEGER*8

INTEGER*2

INTEGER*4

INTEGER*8

IMOD

JMOD

a1/a2 の剰余 

INTEGER*2

INTEGER*4

INTEGER*2

INTEGER*4

IISIGN

JISIGN

KISIGN

符号の付け替え、|a1|*sign(a2) 

INTEGER*2

INTEGER*4

INTEGER*8

INTEGER*2

INTEGER*4

INTEGER*8