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

3.4 注意

次の注意は、本章のすべての組み込み関数表に適用されます。

3.4.1 関数の注記

表および、次の注記 (1) 〜 (12) は、ANSI X3.9-1978 『Programming Language Fortran 』の「組み込み関数の表」に Fortran 拡張機能を追加したものにもとづいています。

(1) INT

A が整数型ならば、INT(A)A です。

A が実数型または倍精度ならば、次のようになります。

|A| < 1 ならば INT(A) はゼロです。 |A|1 ならば INT(A)A の範囲を超えない最大整数で、A と同じ符号です。このような数学的整数値は、大きすぎてこのコンピュータの整数型に合わない場合があります。

A が複素数型または倍精度複素数型ならば、前述の規則が A の実部に適用されます。

A が実数型ならばIFIX(A)INT(A) と同じです。

(2) REAL

A が実数ならば、 REAL(A)A です。

A が整数型または倍精度型ならば、REAL(A) は実数データが持ち得るのと同じ精度の、A の有効部分です。

A が複素数型ならば、REAL(A)A の実部です。

A が倍精度複素数型ならば、REAL(A) は実数データが持ち得るのと同じ精度の、A の実部の有効部分です。

(3) DBLE

A が倍精度型ならば、DBLE(A)A です。

A が整数型または実数型ならば、DBLE(A) は倍精度データが持ち得るのと同じ精度の、A の有効部分です。

A が複素数型ならば、DBLE(A) は倍精度データが持ち得るのと同じ精度の、A の実部の有効部分です。

A が複素数 *16 型ならば DBLE(A)A の実部です。

(3') QREAL

A が、REAL*16 型ならば QREAL(A) は、A です。

A が整数型、実数型、または倍精度型ならば、QREAL(A)REAL*16 データが持ち得るのと同じ精度の、A の有効部分です。

A が複素数型または倍精度複素数型ならば、QREAL(A)REAL*16 データが持ち得るのと同じ精度の、 A の実部の有効部分です。

ACOMPLEX*16 型または COMPLEX*32 型ならば、QREAL(A)A の実部です。

(4) CMPLX

A が複素数型ならば、CMPLX(A) A です。

A が整数型、実数型、または倍精度型ならば、CMPLX(A)REAL(A) + 0i です。

A1A2 が整数型、実数型、または倍精度型ならば、CMPLX(A1,A2)REAL(A1) + REAL(A2)*i です。

A が倍精度複素数型ならば CMPLX(A)REAL( DBLE(A) ) + i*REAL( DIMAG(A) ) です。

CMPLX に引数が 2 個ある場合、同じ型である必要があります。 また、型は整数、実数、または倍精度のいずれかです。

CMPLX の引数が 1 個の場合、整数、実数、倍精度、複素数、COMPLEX*16 または COMPLEX*32 のいずれかです。

(4') DCMPLX

ACONPLEX*16 型ならば、DCMPLX(A)A です。

A が整数型、実数型、または倍精度型ならば、DCMPLX(A)DBLE(A) + 0i です。

A1A2 が整数型、実数型、または倍精度型ならば、DCMPLX(A1,A2)DBLE(A1) + DBLE(A2)*i です。

DCMPLX に引数が 2 個ある場合、同じ型である必要があります。また、型は整数、実数、または倍精度のいずれかです。

DCMPLX の引数が 1 個の場合、整数、実数、倍精度、複素数、 COMPLEX*16 または COMPLEX*32 のいずれかです。

(5) ICHAR

ICHAR(A) は照合シーケンスの中の A の位置です。

先頭の位置は 0 で、最後は N-1, 0 ICHAR(A)N-1 です。ここで、N は照合シーケンスの中の文字数で、A は長さが 1 の文字型です。

CHAR および ICHAR は次に示すように逆の関係です。