本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP Fortran 90 リファレンス・ガイド > 第11章 組み込み手続き

組み込み手続きの仕様

≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 用語集

 ≫ 索引

本章では、HP Fortran 90 の組み込み手続きについて説明します。組み込み関数名ごとにアルファベット順で説明しています。すべての組み込み関数は総称です。つまり、実引き数の型、種別、次元数は、同じ組み込み関数への各引用で異なります。多くの場合、組み込み関数結果の種別と型は、主な引き数の種別と型と同じです。例えば、SIN 関数は、整数型引き数または複素数型引き数のいかなる種別によっても呼び出せます。結果は引き数の型と種別を持ちます。

組み込み手続き引用はキーワード・オプションを使用します。実引き数式の前には、仮引き数名、つまり引き数キーワードと、等号 (=) が付きます。引き数キーワードについては、次に説明します。

組み込み手続きの引き数は省略可能です。省略可能な引き数については、次の説明で注記します。

ABORT()

機能

すべてのファイルを閉じ、エラーを生成してコアファイルを作成します。

分類

規格外のサブルーチン

ABS(A)

機能

絶対値

分類

要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果の型/型パラメータ

A が複素数型の場合、結果の型は実数型とします。それ以外の場合、結果の型はA と同じとします。

結果の値

  • A が整数型または実数型の場合、結果の値は |A| とします。

  • A が複素数 (x, y) の場合、結果の値は (x2 + y2) の平方根の処理系依存の近似値とします。

個別名

BABS, CABS, CDABS, DABS, HABS, QABS, ZABS

ACHAR(I)

機能

ASCII 大小順序における指定した位置の文字を返します。関数IACHAR の逆関数です。

分類

要素別処理関数

引き数

I は、整数型でなければなりません。

結果の型/型パラメータ

種別型パラメータ値KIND('A') を持つ長さ 1 の文字型とします。

結果の値

I の値が 0 <= I <= 127 の範囲である場合、結果の値は ASCII 大小順序における位置I の文字とします。ただし、処理系がその文字を表現できないときの結果は、処理系依存とします。

処理系が大文字または小文字のどちらかを表現することができず、I が表現できないほうの文字に対応するとき、結果は処理系が表現できるほうの文字とします。

処理系で表現できる任意の文字C に対して、ACHAR(IACHAR(C)) は、値C を持たなければなりません。

ACOS(X)

機能

逆余弦関数 (余弦関数の逆関数) (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型であって、|X| <= 1 を満たす値でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、ラジアンで表した arccos(X) の処理系依存の近似値とし、0 <= ACOS(X) <= の範囲とします。

個別名

DCOS, QACOS

ACOSD(X)

機能

逆余弦関数 (余弦関数の逆関数) (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型であって、|X| <= 1 を満たす値でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、度で表した arccos(X) の処理系依存の近似値とし、0 <= ACOSD(X) <= 180 の範囲とします。

個別名

DACOSD, QACOSD

ACOSH(X)

機能

逆双曲線余弦関数 (ラジアン単位)

分類

規格外の要素別処理関数

引き数

X は、実数型であって、X >= 1 を満たす値でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、逆双曲線余弦関数X の処理系依存の近似値とし、0 <= ACOSH(X) の範囲とします。

個別名

DACOSH, QACOSH

ADJUSTL(STRING)

機能

先頭の空白を取り除き末尾に空白を挿入して左詰めにします。

分類

要素別処理関数

引き数

STRING は、文字型でなければなりません。

結果の型

STRING と同じ長さおよび同じ種別型パラメータの文字型とします。

結果の値

結果の値は、STRING の先頭の空白を削除し、同数の空白を末尾に挿入した文字列とします。

ADJUSTR(STRING)

機能

末尾の空白を取り除き先頭に空白を挿入して右詰めにします。

分類

要素別処理関数

引き数

STRING は、文字型でなければなりません。

結果の型

STRING と同じ長さおよび同じ種別型パラメータの文字型とします。

結果の値

結果の値は、STRING の末尾の空白を削除し、同数の空白を先頭に挿入した文字列とします。

AIMAG(Z)

機能

複素数の虚部

分類

要素別処理関数

引き数

Z は、複素数型でなければなりません。

結果の型/型パラメータ

Z と同じ種別型パラメータの実数型とします。

結果の値

Z の値が (x, y) であるとき、結果の値はy とします。

AINT(A, KIND)

省略可能な引き数

KIND

機能

整数値への切り捨て

分類

要素別処理関数

引き数

A 

実数型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

結果の型は、実数型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは、A と同じとします。

結果の値

|A| < 1 のとき、AINT(A) の値は 0 とします。A >= 1 のとき、AINT(A) の値は、A の絶対値以下で最大の整数値にA の符号を付けたものとします。

個別名

DDINT,DINT,QINT

ALL(MASK, DIM)

省略可能な引き数

DIM

機能

MASKDIM 番目の次元の要素の値がすべて.TRUE.であるかどうかを判定します。

分類

変形関数

引き数

MASK 

論理型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、MASK の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、MASK と同じ種別型パラメータの論理型とします。DIM が省略されているかまたはMASK の次元数が 1 である場合、結果はスカラとします。それ以外の場合、結果はn-1 次元の配列とし、その形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、MASK の形状とします。

結果の値

場合 1 

ALL(MASK) の結果の値は、MASK のすべての要素が.TRUE.であるかまたはMASK の大きさが 0 であるとき.TRUE.とし、MASK のどれかの要素が.FALSE.であるとき.FALSE.とします。

場合 2 

MASK の次元数が 1 であるとき、ALL(MASK, DIM) の値はALL(MASK) の値と同じとします。次元数が 2 以上であるとき、ALL(MASK, DIM) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は、ALL(MASK (s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn)) と同じとします。

ALLOCATED(ARRAY)

機能

割り付け配列が、現在割り付けられているかどうかを示します。

分類

問い合わせ関数

引き数

ARRAY は、割り付け配列でなければなりません。

結果の型、型パラメータおよび形状

基本論理型スカラとします。

結果の値

結果の値は、ARRAY が現在割り付けられているとき.TRUE.とし、割り付けられていないとき偽とします。配列の割り付け状態が不定であるときの結果は、規定しません。

AND(I, J)

機能

論理積

分類

規格外の要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、ビットごとにIJ の論理積を算出し、表 11-3 「AND 組み込み関数の真偽表」に従って得られる値とします。

表 11-3 AND 組み込み関数の真偽表

I

J

AND(I, J)

1

1

1

1

0

0

0

1

0

0

0

1

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

ANINT(A, KIND)

省略可能な引き数

KIND

機能

最も近い整数値を返します (四捨五入)。

分類

要素別処理関数

引き数

A 

実数型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

結果の型は、実数型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは、A と同じとします。

結果の値

A>0 である場合、ANINT(A) の値はAINT(A+0.5) とします。A <= 0 である場合、ANINT(A) の値はAINT(A-0.5) とします。

個別名

DNINT, QNINT

ANY(MASK, DIM)

省略可能な引き数

DIM

機能

MASKDIM 番目の次元の要素の値が 1 つでも.TRUE.であるかどうかを判定します。

分類

変形関数

引き数

MASK 

論理型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、MASK の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、MASK と同じ種別型パラメータの論理型とします。DIM を省略するかまたはMASK の次元数が 1 である場合、結果はスカラとします。それ以外の場合、結果はn-1 次元の配列とし、その形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) はMASK の形状とします。

結果の値

場合 1 

ANY(MASK) の結果の値は、MASK のどれかの要素が.TRUE.であるとき.TRUE.とし、どの要素も.TRUE.でないときまたはMASK の大きさが 0 であるとき.FALSE.とします。

場合 2 

MASK の次元数が 1 であるとき、ANY(MASK,DIM) の値はANY(MASK) と同じとします。次元数が 2 以上であるとき、ANY(MASK, DIM) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は、ANY(MASK(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn)) と同じとします。

ASIN(X)

機能

逆正弦関数 (正弦関数の逆関数) (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型であって、|X| <= 1 を満たす値でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、ラジアンで表した arcsin(X) の処理系依存の近似値とし、-/2 <= ASIN(X) <= /2 の範囲とします。

個別名

DASIN, QASIN

ASIND(X)

機能

逆正弦関数 (正弦関数の逆関数) (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型であって、|X| <= 1 を満たす値でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、度で表した arcsin(X) の処理系依存の近似値とし、-90 <= ASIN(X) <= 90 の範囲とします。

個別名

DASIND, QASIND

ASINH(X)

機能

逆双曲線正弦関数 (ラジアン単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、逆双曲線正弦関数X の処理系依存の近似値とします。

個別名

DASINH, QASINH

ASSOCIATED(POINTER, TARGET)

省略可能な引き数

TARGET

機能

ポインタ引き数の結合状態を返します。すなわち、ポインタが指示先と結合しているかどうかを示します。

分類

問い合わせ関数

引き数

POINTER 

ポインタでなければなりません。任意の型でかまいません。ポインタ結合状態が不定であってはなりません。

TARGET (省略可能) 

ポインタまたは指示先でなければなりません。ポインタである場合、ポインタ結合状態が不定であってはなりません。

結果の型

結果の型は、基本論理型スカラとします。

結果の値

場合 1 

TARGET を省略した場合、結果の値は、POINTER が指示先と現在結合しているとき.TRUE.とし、結合していないとき.FALSE.とします。

場合 2 

TARGET が指定されていて指示先である場合、結果の値は、POINTER が現在TARGET と結合しているとき.TRUE.とし、結合していないとき.FALSE.とします。

場合 3 

TARGET が指定されていてポインタである場合、POINTERTARGET が現在同一の指示先と結合しているとき.TRUE.とし、同一でないとき.FALSE.とします。POINTER またはTARGET が空状態であるとき、結果の値は.FALSE.とします。

ATAN(X)

機能

逆正接関数 (正接関数の逆関数) (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、ラジアンで表した arctan(X) の処理系依存の近似値とし、-/2 <= ATAN(X) <= /2 の範囲とします。

個別名

DATAN, QATAN

ATAN2(Y, X)

機能

逆正接関数 (正接関数の逆関数) (ラジアン単位)。結果は、(0.0, 0.0) でない複素数 (X, Y) の主偏角とします。

分類

要素別処理関数

引き数

Y 

実数型でなければなりません。

X 

Y と同じ型および同じ種別型パラメータでなければなりません。Y が 0.0 である場合、X は 0.0 であってはなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、ラジアンで表した複素数 (X, Y) の偏角の主値に対する処理系依存の近似値とします。

値の範囲は、- <= ATAN2(Y, X) <= とします。その値は、X が 0.0 でない場合、arctan(Y/X) の値の処理系依存の近似値とします。

その場合、Y>0 であるとき、結果の値は正とします。Y=0 であるとき、結果の値は、X>0 ならば 0 とし、X<0 ならばとします。Y<0 であるとき、結果の値は負とします。X=0 である場合、結果の絶対値は/2 とします。

個別名

DATAN2,QATAN2

ATAN2D(Y, X)

機能

逆正接関数 (正接関数の逆関数) (度単位)

分類

規格外の要素別処理関数

引き数

Y 

実数型でなければなりません。

X 

Y と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、度で表した複素数 (X, Y) の偏角の主値に対する処理系依存の近似値とし、-90 < ATAN2D(Y,X) < 90 の範囲とします。

個別名

DATAN2D,QATAN2D

ATAND(X)

機能

逆正接関数 (正接関数の逆関数) (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、度で表した arctan(X) の処理系依存の近似値とし、-90 < ATAND(X) < 90 の範囲とします。

個別名

DATAND,QATAND

ATANH(X)

機能

逆双曲線正接関数 (ラジアン単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、逆双曲線正接関数X の処理系依存の近似値とします。

個別名

DATANH, QATANH

BADDRESS(X)

機能

X のアドレスを返します。

分類

規格外の問い合わせ関数

引き数

X は、どの型でもかまいません。

結果の型

結果の型は、基本整数型とします。

BIT_SIZE(I)

機能

引き数の種別型パラメータの整数型の数体系について、「ビットの数体系」の項で定義したビット数n を返します。

分類

問い合わせ関数

引き数

I は、整数型でなければなりません。

結果の型、型パラメータおよび形状

I と同じ種別型パラメータの整数型スカラとします。

結果の値

結果の値は、引き数の種別型パラメータの整数型の数体系について、「ビットの数体系」の項においてビット操作のために定義したビット数n とします。引き数の種別型パラメータは整数型になります。

BTEST(I, POS)

機能

整数値のビットを調べます。

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

POS 

整数型でなければなりません。値は、0 以上BIT_SIZE(I) 未満でなければなりません。

結果の型

基本論理型とします。

結果の値

I の第POS ビットが 1 であるとき、結果の値は.TRUE.とします。I の第POS ビットが 0 であるとき、結果の値は.FALSE.とします。整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BBTEST, BITEST, BJTEST, BKTEST, HTEST

CEILING(A)

機能

引き数の値以上で最小の整数を返します。

分類

要素別処理関数

引き数

A は、実数型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

結果の値は、A 以上で最小の整数とします。処理系がこの値を基本整数型で表現できないときの結果は、規定しません。

CHAR(I, KIND)

省略可能な引き数

KIND

機能

指定された種別型パラメータに対応する処理系大小順序における指定された位置の文字を返します。関数ICHAR の逆関数です。

分類

要素別処理関数

引き数

I 

整数型であって、値が 0 <= I <= n-1 の範囲でなければなりません。ここでn は、指定された種別型パラメータに対応する処理系大小順序における文字の個数とします。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

長さ 1 の文字型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは基本文字型のものとします。

結果の値

結果は、指定した種別型パラメータに対応する処理系大小順序における位置I の文字とします。

ICHAR(CHAR(I, KIND(C))) の値は 0 <= I <= n-1 の範囲のI にならなければならず、処理系が表現可能な任意の文字C に対して、CHAR(ICHAR(C), KIND(C)) の値はC にならなければなりません。

CMPLX(X, Y, KIND)

省略可能な引き数

Y, KIND

機能

複素数型に変換します。

分類

要素別処理関数

引き数

X 

整数型、実数型または複素数型でなければなりません。

Y (省略可能) 

整数型または実数型でなければなりません。X が複素数型のときは、指定してはなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

結果の型は、複素数型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは基本実数型のものとします。

結果の値

  • Y を省略し、X が複素数でない場合、Y にはゼロを指定したものとみなします。

  • Y を省略し、X が複素数である場合、Y にはAIMAG(X) を指定したものとみなします。

CMPLX(X,Y,KIND) の値は、実部がREAL(X,KIND) で虚部がREAL(Y,KIND) である複素数の値とします。

CONJG(Z)

機能

共役複素数

分類

要素別処理関数

引き数

Z は、複素数型でなければなりません。

結果の型/型パラメータ

Z と同じとします。

結果の値

Z の値が (x, y) のとき、結果の値は (x, -y) とします。

個別名

DCONJG

COS(X)

機能

余弦関数 (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型または複素数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、cos(X) の処理系依存の近似値とします。X が実数型のとき、ラジアンでの値とみなされます。X が複素数型のとき、その実部がラジアンでの値とみなされます。

個別名

CCOS, CDCOS, DCOS, QCOS, ZCOS

COSD(X)

機能

余弦関数 (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、cos(X) の処理系依存の近似値とします。

個別名

DCOSD, QCOSD

COSH(X)

機能

双曲線余弦関数

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、cosh(X) の処理系依存の近似値とします。

個別名

DCOSH, QCOSH

COUNT(MASK, DIM)

省略可能な引き数

DIM

機能

次元DIM におけるMASK 中の.TRUE.である要素の個数を数えます。

分類

変形関数

引き数

MASK 

論理型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、MASK の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、基本整数型とします。DIM が省略されているかまたはMASK の次元数が 1 である場合は、スカラとします。それ以外の場合は、n-1 次元の配列とし、その形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、MASK の形状とします。

結果の値

場合 1 

COUNT(MASK) の結果の値は、MASK 中の.TRUE.である要素の個数とします。MASK の大きさが 0 であるとき、0 とします。

場合 2 

MASK の次元数が 1 であるとき、COUNT(MASK, DIM) は、COUNT(MASK) と同じとします。MASK の次元数が 2 以上であるとき、COUNT(MASK, DIM) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は、COUNT(MASK(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn)) と同じとします。

個別名

KCOUNT

CSHIFT(ARRAY, SHIFT, DIM)

省略可能な引き数

DIM

機能

次元数が 1 である配列式上で要素の循環移動を行うか、または次元数が 2 以上である配列式の指定された次元に沿った 1 次元の部分配列のすべてにおいて要素の循環移動を行います。

部分配列の端から外にはみ出した要素は、反対側の端に送られます。それぞれの部分配列は、異なる方向に異なる量だけ移動してもかまいません (左側に移動する場合は正の数で、右側に移動する場合は負の数になります)。

分類

変形関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。

SHIFT 

整数型でなければなりません。ARRAY の次元数が 1 である場合、スカラでなければなりません。ARRAY の次元数が 2 以上である場合、スカラまたはn-1 次元の配列で形状が (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) でなければなりません。ここで (d1, d2, ..., dn) は、ARRAY の形状とします。

DIM (省略可能) 

整数型スカラであり、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。DIM を省略したときは、1 を指定したものとみなします。

結果の型、型パラメータおよび形状

結果の型、型パラメータおよび形状は、ARRAY と同じとします。

結果の値

場合 1 

ARRAY が 1 次元配列である場合、結果のi 番目の要素は、ARRAY(1 + MODULO(i + SHIFT - 1, SIZE(ARRAY))) とします。

場合 2 

ARRAY が 2 次元以上の配列である場合、結果の部分配列 (s1, s2, ..., sDIM-1, :, sDIM+1, ...., sn) の値は、CSHIFT(ARRAY(s1, s2, ..., sDIM-1, :, sDIM+1, ...., sn), sh, 1) とします。ここでsh は、SHIFT またはSHIFT(s1, s2, ..., sDIM-1, sDIM+1, ..., sn) とします。

個別名

KCSHIFT

DATE(DATESTR)

機能

システムの現在の日付を返します。

分類

規格外のサブルーチン

引き数

DATESTR は、文字型でなければなりません。長さ 9 以上の文字列でなければなりません。

DATE_AND_TIME(DATE, TIME, ZONE, VALUES)

省略可能な引き数

DATE, TIME, ZONE, VALUES

機能

実時間時計のデータおよび ISO 8601:1988 ("Data elements and interchange formats ― Information interchange ― Representation of dates and times") で規定された表示方法と互換性のある形式の日付を返します。

分類

サブルーチン

引き数

DATE (省略可能) 

基本文字型スカラでなければなりません。完全な値を格納するには、8 文字以上の長さを必要とします。INTENT(OUT) 引き数とします。左側の 8 文字に、CCYYMMDD という形式の値を設定します。ここで、CC は世紀、YY は西暦年、MM は月、DD は日とします。年月日が利用できないときは、空白を設定します。

TIME (省略可能) 

基本文字型スカラでなければなりません。完全な値を格納するには、10 文字以上の長さを必要とします。INTENT(OUT) 引き数とします。左側の 10 文字に、hhmmss.sss という形式の値を設定します。ここで、hh は時、mm は分、ss.sss は秒およびミリ秒とします。時計が利用できないときは、空白を設定します。

ZONE (省略可能) 

基本文字型スカラでなければなりません。完全な値を格納するには、5 文字以上の長さを必要とします。INTENT(OUT) 引き数とします。左側の 5 文字に、hhmm という形式の値を設定します。ここで、hh およびmm は、それぞれ時および端数の分とし、協定世界時 (UTC) からの時差を表します。時計が利用できないときは、空白を設定します。

VALUES (省略可能) 

基本整数型の 1 次元配列でなければなりません。INTENT(OUT) 引き数とします。大きさは、8 以上でなければなりません。VALUES に返される値は、次の通りとします。

VALUES(1) 

年 (例えば 1990。ただし年月日が利用できないときは、-HUGE(0))

VALUES(2) 

月 (ただし年月日が利用できないときは、-HUGE(0))

VALUES(3) 

日 (ただし年月日が利用できないときは、-HUGE(0))

VALUES(4) 

分で表した協定世界時 (UTC) からの時差 (ただし、これが利用できないときは、-HUGE(0))

VALUES(5) 

0〜23 の範囲の時 (ただし、時計が利用できないときは、-HUGE(0))

VALUES(6) 

0〜59 の範囲の分 (ただし、時計が利用できないときは、-HUGE(0))

VALUES(7) 

0〜60 の範囲の秒 (ただし時計が利用できないときは、-HUGE(0))

VALUES(8) 

0〜999 の範囲のミリ秒 (ただし、時計が利用できないときは、-HUGE(0))

HUGE 組み込み関数については、「HUGE(X)」の項で説明します。

DBLE(A)

機能

倍精度実数型に変換します。

分類

要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果の型/型パラメータ

倍精度実数型とします。

結果の値

場合 1 

A が倍精度実数型のとき、DBLE(A) = A とします。

場合 2 

A が整数型または実数型のとき、結果の値は倍精度実数型が持つ有効桁数で表したA の上位の部分とします。

場合 3 

A が複素数型のとき、結果の値は倍精度実数型が持つ有効桁数で表したA の実部の上位の部分とします。

個別名

DBLEQ

DCMPLX(X,Y)

省略可能な引き数

Y

機能

倍精度複素数型に変換します。

分類

規格外の要素別処理関数

引き数

X 

整数型、実数型または複素数型でなければなりません。

Y 

X が複素数型のときは、指定してはなりません。X が複素数型でないときは、省略可能で、X と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

倍精度複素数型とします。

DFLOAT(A)

機能

倍精度実数型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型でなければなりません。

結果の型/型パラメータ

倍精度実数型とします。

個別名

DFLOTI, DFLOTJ, DFLOTK

DIGITS(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系の有効桁数を返します。

分類

問い合わせ関数

引き数

X は、整数型または実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、X が整数型のときq とし、X が実数型のときp とします。ここでq およびp は、X と同じ型および同じ種別型パラメータの数体系における「データ表現の数体系」の項で定義した値とします。

DIM(X, Y)

機能

超過分X-Y が正のときはX-Y、正でないときはゼロとします。

分類

要素別処理関数

引き数

X 

整数型または実数型でなければなりません。

Y 

X と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、X > Y のときX-Y とし、それ以外の場合はゼロとします。

個別名

BDIM, DDIM, HDIM, QDIM

DNUM(I)

機能

倍精度実数型に変換します。

分類

規格外の要素別処理関数

引き数

I は、文字型でなければなりません。

結果の型

倍精度実数型とします。

DOT_PRODUCT(VECTOR_A, VECTOR_B)

機能

数値型または論理型のベクトルの内積

分類

変形関数

引き数

VECTOR_A 

数値型 (整数型、実数型または複素数型) または論理型でなければなりません。値は、1 次元配列でなければなりません。

VECTOR_B 

VECTOR_A が数値型のとき数値型、VECTOR_A が論理型のとき論理型でなければなりません。値は、1 次元配列であって、VECTOR_A と同じ大きさでなければなりません。

結果の型、型パラメータおよび形状

結果はスカラとします。

引き数が数値型のとき、結果の型および種別型パラメータは引き数の型によって決まる式VECTOR_A * VECTOR_B の型および種別型パラメータと同じとします。

引き数が論理型のとき、結果は式VECTOR_A .AND. VECTOR_B の種別型パラメータを持つ論理型とします。

結果の値

場合 1 

VECTOR_A が整数型または実数型の場合、結果の値はSUM(VECTOR_A*VECTOR_B) とします。ベクトルの大きさが 0 であるとき、結果の値はゼロとします。

場合 2 

VECTOR_A が複素数型の場合、結果の値はSUM(CONJG(VECTOR_A)*VECTOR_B) とします。ベクトルの大きさが 0 であるとき、結果の値はゼロとします。

場合 3 

VECTOR_A が論理型の場合、結果の値はANY(VECTOR_A .AND. VECTOR_B) とします。ベクトルの大きさが 0 であるとき、結果の値は.FALSE.とします。

DPROD(X, Y)

機能

倍精度実数型の積

分類

要素別処理関数

引き数

X 

基本実数型でなければなりません。

Y 

基本実数型でなければなりません。

結果の型/型パラメータ

倍精度実数型とします。

結果の値

結果の値は、XY の積に対する処理系依存の近似値とします。

DREAL(A)

機能

倍精度実数型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果

倍精度実数型とします。

EOSHIFT(ARRAY, SHIFT, BOUNDARY, DIM)

省略可能な引き数

BOUNDARY, DIM

機能

次元数が 1 である配列式上で要素の移動を行うか、または次元数が 2 以上である配列式の指定された次元に沿った 1 次元の部分配列のすべてにおいて要素の移動を行います。

部分配列の端から外にはみ出した要素は捨てられ、境界値の複製が反対側の端に取り込まれます。

それぞれの部分配列は、異なる境界値を持ってもよく、異なる方向に異なる量だけ移動してもかまいません。

分類

変形関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。

SHIFT 

整数型でなければなりません。ARRAY が 1 次元配列である場合、スカラでなければなりません。ARRAY が 2 次元以上の配列である場合、スカラまたはn-1 次元の配列で形状が (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) でなければなりません。ここで (d1, d2, ..., dn) はARRAY の形状とします。

BOUNDARY (省略可能) 

型および型パラメータは、ARRAY と同じでなければなりません。ARRAY の次元数が 1 である場合、スカラでなければなりません。次元数が 2 以上である場合、スカラまたはn-1 次元の配列で、その形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) でなければなりません。BOUNDARY は、各データ型のBOUNDARY のデフォルト値を示す表 11-4 「BOUNDARY 引き数のデフォルト値」のデータ型に対して省略可能とします。

表 11-4 BOUNDARY 引き数のデフォルト値

ARRAY のデータ型

BOUNDARY のデフォルト値

整数型

0

実数型

0.0

複素数型

(0.0, 0.0)

論理型

.FALSE.

文字型 (長さlen)

len 個の空白

 
DIM (省略可能) 

1 <= DIM <= n の範囲の値を持つ整数型スカラでなければなりません。ここでn は、ARRAY の次元数とします。DIM を省略したときは、1 が指定されたものとみなします。

結果の型、型パラメータおよび形状

結果の型、型パラメータおよび形状は、ARRAY と同じとします。

結果の値

結果の要素 (s1, s1, ..., sn) の値は、ARRAY (s1, s2, ..., sDIM-1, sDIM + sh, sDIM+1, ..., sn) とします。ここでsh は、不等式LBOUND(ARRAY, DIM) <= sDIM + sh <= UBOUND(ARRAY, DIM) を満たすときSHIFT またはSHIFT(s1, s2, ..., sDIM-1, sDIM+1, ..., sn) とし、満たさないときBOUNDARY またはBOUNDARY(s1, s2, ..., sDIM-1, sDIM+1, ..., sn) とします。

個別名

KEOSHIFT

EPSILON(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系における、1 に対してほとんど無視できる正の数を返します。

分類

問い合わせ関数

引き数

X は、実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

X と同じ型および同じ種別型パラメータのスカラとします。

結果の値

結果の値は、b1-p とします。ここでb およびp は、X と同じ型および同じ種別型パラメータの数体系における「実数の数体系」の項で定義した値とします。

EXIT(STATUS)

省略可能な引き数

STATUS

機能

すべてのファイルを閉じ、プログラムを終了させます。

分類

規格外のサブルーチン

引き数

STATUS は、整数型でなければなりません。

STATUS が指定されている場合、呼び出し側プログラムはSTATUS に関するリターン・コード・ステータスを返して終了します。指定されていない場合、リターン・コード・ステータスは不定になります。

csh では、$status 環境変数は、最後に実行されたコマンドのリターン・コードを保持します。ksh では、$? 環境変数はリターン・コードを保持します。

EXP(X)

機能

指数関数

分類

要素別処理関数

引き数

X は、実数型または複素数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、ex の処理系依存の近似値とします。X が複素数型のとき、虚部の値はラジアンを単位とします。

個別名

CEXP,CDEXP, DEXP, QEXP,ZEXP

EXPONENT(X)

機能

引き数の値を数体系の数として表現したときの指数部を返します。

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型

基本整数型とします。

結果の値

X が 0.0 でなく、指数部e が基本整数型の範囲内にあるとき、結果の値はX の値を数体系の数で表現したときの指数部e とします (「実数の数体系」の項を参照)。処理系がe を基本整数型で表現できないときの結果は、規定しません。EXPONENT(X) の値は、X が 0.0 のとき 0 とします。

FLOOR(A)

機能

引き数の値以下で最大の整数を返します。

分類

要素別処理関数

引き数

A は、実数型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

結果の値は、A 以下で最大の整数とします。処理系がこの値を基本整数型で表現できないときの結果は、規定しません。

FLUSH(LUNIT)

機能

論理装置で保留中の入出力バッファを初期化します。

分類

規格外のサブルーチン

FNUM(UNIT)

機能

オペレーティング・システムのファイル記述子を取得します。

分類

規格外の問い合わせ関数

FRACTION(X)

機能

引き数の値を数体系の数として表現したときの小数部を返します。

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値はX b-e とします。ここでb およびe は、「実数の数体系」の項で定義した値とします。X が 0.0 であるとき、結果の値は 0.0 とします。

FREE(P)

機能

メモリのブロックを解放します。

分類

規格外のサブルーチン

FSET(UNIT, NEWFD, OLDFD)

機能

システム・ファイル記述子を論理装置に結び付けます。

分類

規格外のサブルーチン

FSTREAM(UNIT)

機能

C 言語の FILE ストリーム・ポインタを検索します。

分類

規格外の問い合わせ関数

GETARG(N, STRING)

機能

プログラムに渡す引き数を取得します。

分類

規格外のサブルーチン

引き数

N 

整数型でなければなりません。N は、どのコマンド行引き数が要求されているのかを指定します。N=1 の場合、プログラム名を返します。N=0 の場合は、すべて空白を返します。

STRING 

文字変数でなければなりません。要求されたコマンド行引き数を割り当て、一番最後に空白を補います。要求された引き数がSTRING よりも長い場合は、切り捨てを行ったものをSTRING に割り当てます。

GETENV(VAR, VALUE)

機能

システム環境変数の値を返します。

分類

規格外のサブルーチン

引き数

VAR およびVALUE は、文字型となります。VAR は、環境変数名を指定します。文字変数VALUE には環境変数の値を割り当てます。VALUE は、値を保持するのに十分な長さで宣言しなければなりません。環境変数が定義されていない場合、VALUE にはすべて空白が設定されます。

GRAN()

機能

ガウス正規乱数を生成します。

分類

規格外の要素別処理関数

結果

REAL(4) とします。GRAN によって生成された乱数は、平均値を 0.0、標準偏差を 1.0、近似値の範囲を-5.0〜+5.0 とします。

HFIX(A)

機能

INTEGER(2) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型、倍精度型または複素数型でなければなりません。

結果

INTEGER(2) 型とします。

HUGE(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系における最大の数値を返します。

分類

問い合わせ関数

引き数

X は、整数型または実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

X と同じ型および同じ種別型パラメータのスカラとします。

結果の値

X が整数型のとき、結果の値はrq - 1 とします。

(1 - b-p) b ** emax

X が実数型のときですここでr, q, b, p およびemax は、「実数の数体系」の項で定義した値とします。

IACHAR(C)

機能

ASCII 大小順序における文字の位置を返します。

分類

要素別処理関数

引き数

C は、長さ 1 の基本文字型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

ISO 646:1983 ("Information technology ― ISO 7-bit coded character set for information interchange") が規定する符号体系によって定義された大小順序中にC がある場合、結果の値は、その大小順序中の文字C の位置とし、不等式 (0 <= IACHAR(C) <= 127) を満たします。

C が ASCII 大小順序中にない場合、処理系依存の値を返します。結果の値を大小比較した式の値は、文字列大小比較関数LGE, LGT, LLE およびLLT の結果と一致します。例えば、LLE(C, D).TRUE.であるとき、IACHAR(C) .LE. IACHAR(D).TRUE.とします。ここでC およびD は、処理系が表現可能な任意の文字です。

IADDR(X)

機能

X のアドレスを返します。

分類

規格外の問い合わせ関数

引き数

X は、どの型でもかまいません。

結果の型

結果は、基本整数型とします。

例については、「BADDRESS(X)」の項を参照してください。

IAND(I, J)

機能

論理積

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、IJ をビットごとに組み合わせ、表 11-5 「IAND 組み込み関数の真偽表」に従って得られる値とします。

表 11-5 IAND 組み込み関数の真偽表

I

J

IAND(I, J)

1

1

1

1

0

0

0

1

0

0

0

0

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BIAND, HIAND, IIAND, JIAND, KIAND

IARGC()

機能

プログラムに渡す引き数の個数を取得します。

分類

規格外の要素別処理関数

結果の型

整数型とします。

結果の値

プログラムに引き数を渡さない場合、IARGC は 0 を返します。引き数を渡す場合、IARGC は、コマンド行に引き数の個数とプログラム名を返します。

IBCLR(I, POS)

機能

1 つのビットを 0 に設定します。

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

POS 

整数型でなければなりません。値は 0 以上、BIT_SIZE(I) 未満でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、I の第POS ビットを 1 に設定する場合以外はI のビット列とします。整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BBCLR, HBCLR, IIBCLR, JIBCLR, KIBCLR

IBITS(I, POS, LEN)

機能

ビットの並びを取り出します。

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

POS 

整数型でなければならず、POS + LENBIT_SIZE(I) 以下になる非負の値でなければなりません。

LEN 

整数型であって、値が非負でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、I の第POS ビットから始まるLEN 個のビットを右詰めし、残りのビットを 0 にした値とします。整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BBITS, HBITS, IIBITS, JIBITS, KIBITS

IBSET(I, POS)

機能

1 つのビットを 1 に設定します。

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

POS 

整数型であって、値は 0 以上、BIT_SIZE(I) 未満でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、I の第POS ビットを 1 に設定する場合以外はI のビット列とします。整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

HBSET, IIBSET,JIBSET,KIBSET

ICHAR(C)

機能

引き数にした文字の種別型パラメータに対応する処理系大小順序における文字の位置を返します。

分類

要素別処理関数

引き数

C は、長さ 1 の文字型であって、値が処理系で表現可能な文字でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

結果の値は、C の種別型パラメータに対応する処理系大小順序中のC の位置とし、0 <= IACHAR(C) <=n-1 の範囲の値とします。ここでn は、その処理系大小順序における文字の個数とします。

処理系で表現可能な任意の文字C およびD に対して、ICHAR(C) .LE. ICHAR(D) が.TRUE.のとき、およびそのときに限りC.LE.D.TRUE.になり、ICHAR(C).EQ. ICHAR(D).TRUE.のとき、およびそのときに限りC.EQ.D.TRUE.になります。

IDATE(MONTH, DAY, YEAR)

機能

現在のシステムの日付 (年月日) を返します。

分類

規格外のサブルーチン

引き数

MONTH, DAY, YEAR は、整数型でなければなりません。

IDIM(X, Y)

機能

正の整数型の超過分

分類

規格外の関数

引き数

X 

整数型でなければなりません。

Y 

X と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

X と同じ種別型パラメータの整数型とします。

結果の値

X > Y の場合、IDIM(X, Y)X-Y とします。X <= Y の場合、IDIM(X, Y) は 0 とします。

個別名

IIDIM,JIDIM. KIDIM

IEOR(I, J)

機能

排他的論理和

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、ビットごとにIJ を組み合わせ、表 11-6 「IEOR 組み込み関数の真偽表」に従って得られる値とします。

表 11-6 IEOR 組み込み関数の真偽表

I

J

IEOR(I, J)

1

1

0

1

0

1

0

1

1

0

0

0

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BIEOR, HIEOR, IIEOR, JIEOR, KIEOR

IGETARG(N, STR, STRLEN)

機能

コマンド行引き数を取得します。

分類

規格外の問い合わせ関数

引き数

N 

整数型でなければなりません。N は、どのコマンド行引き数が要求されているのかを指定します。N=0 の場合、プログラム名を返します。

STR 

文字変数でなければなりません。要求されたコマンド行引き数の最初のSTRLEN 文字を割り当て、一番最後に空白を補います。要求された引き数がSTR よりも長い場合は、切り捨てを行ったものをSTR に割り当てます。

STRLEN 

整数型でなければなりません。STRLEN は、STR に割り当てる引き数N の文字の個数を指定します。

結果の値

IGETARG は整数値を返し、要求された引き数が見つからない場合に-1 を返すか、コマンド行からSTR に複写された文字の個数を示す正の整数を返します。

IJINT(A)

機能

INTEGER(2) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、INTEGER(4) 型でなければなりません。

結果

INTEGER(2) 型とします。

IMAG(A)

機能

複素数の虚部

分類

規格外の要素別処理関数

引き数

A は、複素数型または倍精度複素数型でなければなりません。

結果

A が複素数型の場合、実数型とします。A が倍精度複素数型の場合、倍精度型とします。

INDEX(STRING, SUBSTRING, BACK)

省略可能な引き数

BACK

機能

文字列中の部分列の開始位置を返します。

分類

要素別処理関数

引き数

STRING 

文字型でなければなりません。

SUBSTRING 

STRING と同じ種別型パラメータの文字型でなければなりません。

BACK (省略可能) 

論理型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

場合 1 

BACK.FALSE.を指定するかまたは省略した場合、結果の値は、STRING(I : I + LEN(SUBSTRING) - 1) = SUBSTRING となるI の正の最小値とし、この値がないときは 0 とします。

LEN(STRING) < LEN(SUBSTRING) であるときは 0 を返し、LEN(SUBSTRING) = 0 であるときは 1 を返します。

場合 2 

BACK.TRUE.を指定した場合、結果の値は、STRING(I : I + LEN(SUBSTRING) - 1) = SUBSTRING となるI の最大値とし、この値がないときは 0 とします。結果の値は、LEN(STRING) - LEN(SUBSTRING) + 1 以下になります。

LEN(STRING) < LEN(SUBSTRING) であるときは 0 を返し、LEN(SUBSTRING) = 0 であるときはLEN(STRING) + 1 を返します。

個別名

KINDEX

INT(A, KIND)

省略可能な引き数

KIND

機能

整数型に変換します。

分類

要素別処理関数

引き数

A 

整数型、実数型または複素数型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

整数型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは基本整数型のものとします。

結果の値

場合 1 

A が整数型の場合、INT(A) = A とします。

場合 2 

A が実数型の場合、|A| < 1 であるとき、INT(A) は 0 とします。|A| >= 1 であるとき、INT(A) の値はA の絶対値以下で最大の整数にA の符号を付けたものとします。

場合 3 

A が複素数型の場合、INT(A) の値はA の実部に場合 2 の規則を適用して得られる値とします。処理系が結果の値を指定された整数型で表現できないときの結果は、規定しません。

個別名

IFIX, IIFIX, IINT, JIFIX, JINT, KIFIX, KINT

INT1(A)

機能

INTEGER(1) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果

INTEGER(1) 型とします。A が複素数型の場合、INT1(A)A の切り捨てられた実部とします。

INT2(A)

機能

INTEGER(2) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果

INTEGER(2) 型とします。A が複素数型の場合、INT2(A)A の切り捨てられた実部とします。

INT4(A)

機能

INTEGER(4) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果

INTEGER(4) 型とします。A が複素数型の場合、INT4(A)A の切り捨てられた実部とします。

INT8(A)

機能

INTEGER(8) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型または複素数型でなければなりません。

結果

INTEGER(8) 型とします。A が複素数型の場合、INT8(A)A の切り捨てられた実部とします。

個別名

IDINT

INUM(I)

機能

文字型をINTEGER(2) 型に変換します。

分類

規格外の要素別処理関数

引き数

I は、文字型でなければなりません。

結果

INTEGER(2) 型とします。

IOMSG(N, MSG)

機能

入出力メッセージに関するテキストを出力します。

分類

規格外のサブルーチン

IOR(I, J)

機能

論理和

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、ビットごとにIJ を組み合わせ、表 11-7 「IOR 組み込み関数の真偽表」に従って得られる値とします。

表 11-7 IOR 組み込み関数の真偽表

I

J

IOR(I, J)

1

1

1

1

0

1

0

1

1

0

0

0

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BIOR, HIOR, IIOR, JIOR, KIOR

IQINT(A)

機能

整数型に変換します。

分類

規格外の要素別処理関数

引き数

A は、REAL(16) 型でなければなりません。

結果

整数型とします。

個別名

IIQINT, JIQINT,KIQINT

IRAND()

機能

擬似乱数を生成します。

分類

規格外の要素別処理関数

結果の型/型パラメータ

INTEGER(4) 型とします。

結果の値

IRAND は、0〜215-1 の範囲の値を生成します。

注記: IRAND およびRAND を使用して擬似乱数生成器を再始動する場合についての詳細は、「SRAND(ISEED)」の項を参照してください。

IRANP(X)

機能

ポアソン分布乱数を生成します。

分類

規格外の要素別処理関数

引き数

X は、REAL(4) 型であって、0.0〜87.33 の範囲の値でなければなりません。性能をより向上させるには、X を 50.0 よりも小さくしてください (後述の「結果の値」の項を参照)。

結果の型/型パラメータ

INTEGER(4) 型とします。

結果の値

X <= 0.0 であるとき、IRANP はエラー・コード-1 を返します。

X > 87.33 であるとき、IRANP はエラー・コード-2 を返します。

IRANP は、積がexp(-X) よりも小さくなるまで分布乱数の指数部を計算します。IRANP が返す乱数は、必要な指数から 1 を引いた数になります。IRANP は、RAND に対するX+1 回の呼び出しから平均を出すので、X の値は 50 よりも小さくするようにしてください。

ISHFT(I, SHIFT)

機能

論理桁移動

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

SHIFT 

整数型であって、絶対値がBIT_SIZE(I) 以下でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、I のビットをSHIFT 個だけ桁移動して得られる値とします。

SHIFT が正である場合、桁移動は左方向に行います。SHIFT が負である場合、桁移動は右方向に行います。SHIFT が 0 である場合、桁移動は行いません。左端または右端から外にはみ出したビットは捨てられ、反対側の端に 0 が入ります。

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BSHFT, HSHFT, IISHFT, JISHFT, KISHFT

ISHFTC(I, SHIFT, SIZE)

省略可能な引き数

SIZE

機能

右端のビット並びの循環桁移動を行います。

分類

要素別処理関数

引き数

I 

整数型でなければなりません。

SHIFT 

整数型であって、絶対値がSIZE 以下でなければなりません。

SIZE (省略可能) 

整数型でなければなりません。SIZE の値は、正でなければならず、BIT_SIZE(I) 以下でなければなりません。SIZE を省略したとき、BIT_SIZE(I) の値を指定したものとみなします。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、I の右端のSIZE 個のビットをSHIFT 個だけ循環桁移動して得られる値とします。

SHIFT が正である場合、循環桁移動は左方向に行います。SHIFT が負である場合、循環桁移動は右方向に行います。SHIFT が 0 である場合、循環桁移動は行いません。どのビットも捨てられることはありません。循環桁移動しないビットは、変わりません。

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

HSHFTC,ISHFTC, JISHFTC, KISHFTC

ISIGN(A, B)

機能

A の絶対値とB の符号の積

分類

規格外の要素別処理関数

引き数

A 

整数型でなければなりません。

B 

A と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

A と同じとします。

結果の値

結果の値は、B >= 0 であるとき |A| とし、B < 0 であるとき-|A| とします。

ISNAN(X)

機能

値が NaN (数値ではありません) であるかを判定します。

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型

論理型とします。

IXOR(I, J)

機能

排他的論理和

分類

規格外の要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、ビットごとにIJ の排他的論理和を算出し、表 11-8 「IXOR 組み込み関数の真偽表」に従って得られる値とします。

表 11-8 IXOR 組み込み関数の真偽表

I

J

IXOR(I, J)

1

1

0

1

0

1

0

1

1

0

0

0

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BIXOR, HIXOR, IIXOR, JIXOR

IZEXT(A)

機能

ゼロ (0) を拡張します。

分類

規格外の総称要素別処理関数

引き数

A 

INTEGER(1) 型、INTEGER(2) 型、LOGICAL(1) 型またはLOGICAL(2) 型でなければなりません。

結果の型/型パラメータ

結果の型は、INTEGER(2) 型とします。

結果

IZEXT は、実符号ビットの代わりに 0 で符号を拡張することによって、AINTEGER(2) に変換します。

JNUM(I)

機能

文字型を整数型に変換します。

分類

規格外の要素別処理関数

引き数

I は、文字型でなければなりません。

結果

整数型とします。

JZEXT(A)

機能

ゼロ (0) を拡張します。

分類

規格外の総称要素別処理関数

引き数

A 

INTEGER(1) 型、INTEGER(2) 型、INTEGER(4) 型、LOGICAL(1) 型、LOGICAL(2) 型またはLOGICAL(4) 型でなければなりません。

結果の型/型パラメータ

結果の型は、INTEGER(4) 型とします。

結果

JZEXT は、実符号ビットの代わりに 0 で符号を拡張することによって、AINTEGER(4) に変換します。

KIND(X)

機能

X の種別型パラメータ値を返します。

分類

問い合わせ関数

引き数

X は、どの組み込み型でもかまいません。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、X の種別型パラメータ値とします。

KZEXT(A)

機能

ゼロ (0) を拡張します。

分類

規格外の総称要素別処理関数

引き数

A 

INTEGER(1) 型、INTEGER(2) 型、INTEGER(4) 型、INTEGER(8) 型、LOGICAL(1) 型、LOGICAL(2) 型、LOGICAL(4) 型またはLOGICAL(8) 型でなければなりません。

結果の型/型パラメータ

結果の型は、INTEGER(8) 型とします。

結果

KZEXT は、実符号ビットの代わりに 0 で符号を拡張することによって、AINTEGER(8) に変換します。

LBOUND(ARRAY, DIM)

省略可能な引き数

DIM

機能

配列のすべての次元の下限または指定した次元の下限を返します。

分類

問い合わせ関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。空状態のポインタまたは割り付けられていない割り付け配列であってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、基本整数型とします。DIM を指定したときはスカラとし、省略したときは大きさn の 1 次元配列とします。ここでn は、ARRAY の次元数とします。

結果の値

場合 1 

LBOUND(ARRAY, DIM) の値は、ARRAY が部分配列または配列式であって、全体配列および配列構造体成分でない場合、1 とします。全体配列または配列構造体成分である場合、LBOUND(ARRAY, DIM) の値は次のようになるものとします。

  • ARRAYDIM 番目の次元の大きさが 0 でないとき (ARRAY が大きさ引き継ぎ配列であってDIM 番目の次元が大きさを持たないときを含みます) は、ARRAY の添え字DIM の下限値とします。

    または

  • DIM 番目の次元の大きさが 0 であるときは 1 とします。

場合 2 

LBOUND(ARRAY)i 番目 (i= 1, 2, ..., n) の要素の値は、LBOUND(ARRAY, i) とします。ここでn は、ARRAY の次元数とします。

個別名

KLBOUND

LEN(STRING)

機能

文字型要素の長さを返します。

分類

問い合わせ関数

引き数

STRING は、文字型であって、値はスカラまたは配列でなければなりません。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、STRING がスカラである場合、STRING 中の文字数とし、STRING が配列である場合、STRING の要素中の文字数とします。

個別名

KLEN

LEN_TRIM(STRING)

機能

末尾の空白を除いた文字引き数の長さを返します。

分類

要素別処理関数

引き数

STRING は、文字型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

結果の値は、STRING の末尾の空白をすべて取り除いたのち、残った文字の個数とします。引き数が空白以外の文字を 1 つも持たないとき、結果の値は 0 とします。

個別名

KLEN_TRIM

LGE(STRING_A, STRING_B)

機能

ASCII 大小順序に基づいて文字列が辞書順でもう 1 つの文字列以上であるかどうかを判定します。

分類

要素別処理関数

引き数

STRING_A 

基本文字型でなければなりません。

STRING_B 

基本文字型でなければなりません。

結果の型/型パラメータ

基本論理型とします。

結果の値

文字列の長さが等しくない場合、短いほうの文字列の右側に、長い方の文字列の長さまで空白があるものとみなして、比較を行います。

どちらかの文字列に ASCII 文字集合に含まれない文字があったときの結果は、処理系依存とします。

結果の値は、文字列が等しいかまたは ASCII 大小順序に基づいて辞書順でSTRING_ASTRING_B の後になるとき.TRUE.とし、それ以外のとき.FALSE.とします。STRING_A およびSTRING_B の両方とも長さが 0 である場合、結果の値は、.TRUE.とします。

LGT(STRING_A, STRING_B)

機能

ASCII 大小順序に基づいて文字列がもう 1 つの文字列より辞書順で大きいかどうかを判定します。

分類

要素別処理関数

引き数

STRING_A 

基本文字型でなければなりません。

STRING_B 

基本文字型でなければなりません。

結果の型/型パラメータ

基本論理型とします。

結果の値

文字列の長さが等しくない場合、短いほうの文字列の右側に、長い方の文字列の長さまで空白があるものとみなして、比較を行います。

どちらかの文字列に ASCII 文字集合に含まれない文字があったときの結果は、処理系依存とします。

結果の値は、ASCII 大小順序に基づいて辞書順でSTRING_ASTRING_B の後になるとき.TRUE.とし、それ以外のとき.FALSE.とします。STRING_A およびSTRING_B の両方とも長さが 0 である場合、結果の値は、.TRUE.とします。

LLE(STRING_A, STRING_B)

機能

ASCII 大小順序に基づいて文字列が辞書順でもう 1 つの文字列以下かどうかを判定します。

分類

要素別処理関数

引き数

STRING_A 

基本文字型でなければなりません。

STRING_B 

基本文字型でなければなりません。

結果の型/型パラメータ

基本論理型とします。

結果の値

文字列の長さが等しくない場合、短いほうの文字列の右側に、長い方の文字列の長さまで空白があるものとみなして、比較を行います。

どちらかの文字列に ASCII 文字集合に含まれない文字があったときの結果は、処理系依存とします。

結果の値は、文字列が等しいかまたは ASCII 大小順序に基づいて辞書順でSTRING_ASTRING_B の前になるとき.TRUE.とし、それ以外のとき.FALSE.とします。STRING_A およびSTRING_B の両方とも長さが 0 である場合、結果の値は、.TRUE.とします。

LLT(STRING_A, STRING_B)

機能

ASCII 大小順序に基づいて文字列がもう 1 つの文字列より辞書順で小さいかどうかを判定します。

分類

要素別処理関数

引き数

STRING_A 

基本文字型でなければなりません。

STRING_B 

基本文字型でなければなりません。

結果の型/型パラメータ

基本論理型とします。

結果の値

文字列の長さが等しくない場合、短いほうの文字列の右側に、長い方の文字列の長さまで空白があるものとみなして、比較を行います。

どちらかの文字列に ASCII 文字集合に含まれない文字があったときの結果は、処理系依存とします。

結果の値は、ASCII 大小順序に基づいて辞書順でSTRING_ASTRING_B の前になるとき.TRUE.とし、それ以外のとき.FALSE.とします。STRING_A およびSTRING_B の両方とも長さが 0 である場合、結果の値は、.TRUE.とします。

LOC(X)

機能

引き数のアドレスを返します。

分類

規格外の問い合わせ関数

LOG(X)

機能

自然対数

分類

要素別処理関数

引き数

X は、実数型または複素数型でなければなりません。X が実数型のとき、値は正でなければなりません。X が複素数型のとき、値は (0.0,0.0) であってはなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、logex の処理系依存の近似値とします。複素数型の結果の値は、- < <= の範囲にある虚部を持つ主値とします。結果の虚部は、引き数の実部が負であって虚部が 0.0 であるときに限り、とします。

個別名

ALOG, CDLOG, CLOG, DLOG, QLOG, ZLOG

LOG10(X)

機能

常用対数

分類

要素別処理関数

引き数

X は、実数型であって、値が正でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、log10X の処理系依存の近似値とします。

個別名

ALOG10, DLOG10, QLOG10

LOGICAL(L, KIND)

省略可能な引き数

KIND

機能

論理型の種別型パラメータを変換します。

分類

要素別処理関数

引き数

L 

論理型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

論理型。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは、基本論理型のものとします。

結果の値

結果の値は、L とします。

LSHFT(I, SHIFT)

機能

桁を左方向に移動する

分類

規格外の要素別処理関数

LSHIFT(I, SHIFT)

機能

桁を左方向に移動する

分類

規格外の要素別処理関数

MALLOC(SIZE)

機能

メモリのブロックを割り付けます。

分類

規格外の変形関数

MATMUL(MATRIX_A, MATRIX_B)

機能

数値型行列または論理型行列の乗算を実行します。

分類

変形関数

引き数

MATRIX_A 

数値型 (整数型、実数型または複素数型) または論理型でなければなりません。値は、1 次元配列または 2 次元配列でなければなりません。

MATRIX_B 

MATRIX_A が数値型のとき、MATRIX_B も数値型でなければならず、MATRIX_A が論理型のとき、MATRIX_B も論理型でなければなりません。値は、1 次元配列または 2 次元配列でなければなりません。

MATRIX_A が 1 次元配列の場合、MATRIX_B は、2 次元配列でなければなりません。MATRIX_B が 1 次元配列の場合、MATRIX_A は、2 次元配列でなければなりません。MATRIX_B の最初 (またはただ 1 つ) の次元の大きさは、MATRIX_A の最後 (またはただ 1 つ) の次元の大きさに等しくなければなりません。

結果の型、型パラメータおよび形状

引き数が数値型のとき、結果の型および種別型パラメータは、MATRIX_A およびMATRIX_B の型によって決まります。

引き数が論理型のとき、結果は、引き数の種別型パラメータを持つ論理型とします。

場合 1 

MATRIX_A の形状が [n, m] であり、MATRIX_B の形状が [m, k] である場合、結果の形状は [n, k] とします。

場合 2 

MATRIX_A の形状が [m] であり、MATRIX_B の形状が [m, k] である場合、結果の形状は [k] とします。

場合 3 

MATRIX_A の形状が [n, m] であり、MATRIX_B の形状が [m] である場合、結果の形状は [n] とします。

結果の値

場合 1 

引き数が数値型のとき、結果の要素 (i, j) の値はSUM(MATRIX_A(i,:) * MATRIX_B(:, j)) とします。引き数が論理型のとき、値はANY(MATRIX_A(i, :) .AND. MATRIX_B(:, j)) とします。

場合 2 

引き数が数値型のとき、結果の要素 (j) の値はSUM(MATRIX_A(:) * MATRIX_B(:, j)) とします。引き数が論理型のとき、値はANY(MATRIX_A(:) .AND. MATRIX_B(:, j)) とします。

場合 3 

引き数が数値型のとき、結果の要素 (i) の値はSUM(MATRIX_A(i, :) * MATRIX_B(:)) とします。引き数が論理型のとき、値はANY(MATRIX_A(i, :) .AND. MATRIX_B(:)) とします。

MAX(A1, A2, A3, ...)

省略可能な引き数

A3, ...

機能

最大値を選択します。

分類

要素別処理関数

引き数

引き数はすべて同じ整数型または実数型でなければならず、すべて同じ種別型パラメータを持たなければなりません。

結果の型/型パラメータ

引き数と同じとします。

結果の値

結果の値は、最大の引き数の値とします。

個別名

AIMAX0,AJMAX0, AKMAX0, AMAX0, AMAX1, DMAX1, IMAX0, IMAX1, JMAX0, JMAX1, KMAX0, KMAX1, MAX0, MAX1, QMAX1

MAXEXPONENT(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系で最大の指数を返します。

分類

問い合わせ関数

引き数

X は、実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、「実数の数体系」の項で定義した値emax とします。

MAXLOC(ARRAY, MASK)

省略可能な引き数

MASK

機能

MASK によって指定したARRAY の要素のうち、最大の値を持っている最初の要素の位置を返します。

分類

変形関数

引き数

ARRAY 

整数型または実数型でなければならず、スカラであってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、基本整数型となり、ARRAY の次元数に等しい大きさの 1 次元配列とします。

結果の値

場合 1 

MASK を省略した場合、結果はARRAY のすべての要素の最大値に等しい要素の各次元の添え字値を要素とする 1 次元配列とします。

返されたi 番目の添え字は、1 からei までの範囲の値とします。ここでei は、ARRAYi 番目の次元の寸法とします。

2 個以上の要素が最大値になるとき、添え字が返される要素は配列要素順序で最初の要素とします。ARRAY の大きさが 0 であるとき、結果の値は処理系依存とします。

場合 2 

MASK を指定した場合、結果は、MASK 中の.TRUE.である要素に対応するARRAY のすべての要素の最大値に等しい要素の各次元の添え字値を要素とする 1 次元配列とします。

返されたi 番目の添え字は、1 からei の範囲の値とします。ここでei は、ARRAYi 番目の次元の寸法とします。

2 個以上の要素が最大値になるとき、添え字が返される要素は配列要素順序で最初の要素とします。

要素がないとき (すなわち、ARRAY の大きさが 0 であるか、またはMASK のすべての要素の値が.FALSE.であるとき) 結果の値は処理系依存とします。

処理系が結果のある要素の値を基本整数型で表現することができないとき、その要素は不定とします。

個別名

KMAXLOC

MAXVAL(ARRAY, DIM, MASK)

省略可能な引き数

DIM, MASK

機能

DIM 番目の次元について、MASK 中の.TRUE.である要素に対応したARRAY の要素の最大値を調べます。

分類

変形関数

引き数

ARRAY 

整数型または実数型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、ARRAY と同じ型および同じ種別型パラメータとします。

DIM が省略されているかまたはARRAY が 1 次元配列であるときは、スカラとします。それ以外のとき、結果はn-1 次元配列とし、形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、ARRAY の形状とします。

結果の値

場合 1 

MAXVAL(ARRAY) の結果の値は、ARRAY の全要素中の最大値とします。ただし、ARRAY の大きさが 0 であるときは、ARRAY の型および種別型パラメータの数体系に対して処理系が定義している絶対値が最も大きい負の値とします。

場合 2 

MAXVAL(ARRAY, MASK = MASK) の結果の値は、MASK 中の.TRUE.である要素と対応しているARRAY の要素の最大値とします。ただし、.TRUE.である要素がないときは、ARRAY の型および種別型パラメータの数体系に対して処理系が定義している絶対値が最も大きい負の値とします。

場合 3 

ARRAY が 1 次元配列のとき、MAXVAL(ARRAY, DIM [,MASK]) の結果の値はMAXVAL(ARRAY [,MASK = MASK]) とします。2 次元以上のとき、MAXVAL(ARRAY, DIM [,MASK]) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は次の通りとします。

MAXVAL(ARRAY(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) [, MASK = MASK(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) ] )

MCLOCK()

機能

プログラムに時間アカウンティングを返します。

分類

規格外の問い合わせ関数

結果の型

整数型とします。

結果の値

マイクロセカンド単位で返された値は、現在のプロセスのユーザー時間と、すべての子プロセスのユーザー時間およびシステム時間の合計とします。

MERGE(TSOURCE, FSOURCE, MASK)

機能

MASK の値に従っていずれか一方の値を選択します。

分類

要素別処理関数

引き数

TSOURCE 

どの型でもかまいません。

FSOURCE 

TSOURCE と同じ型および同じ種別型パラメータでなければなりません。

MASK 

論理型でなければなりません。

結果の型/型パラメータ

TSOURCE と同じとします。

結果の値

MASK.TRUE.のとき、結果の値はTSOURCE とし、MASK.FALSE.のとき、結果の値はFSOURCE とします。

MIN(A1, A2, A3, ...)

省略可能な引き数

A3, ...

機能

最小値を選択します。

分類

要素別処理関数

引き数

引き数は、すべて同じ整数型または実数型でなければならず、すべて同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

引き数と同じとします。

結果の値

結果の値は、最小の引き数の値とします。

個別名

AIMIN0, AJMIN0, AKMIN0, AMIN0, AMIN1, DMIN1, IMIN0, IMIN1, JMIN0, JMIN1, KMIN0, KMIN1, MIN0, MIN1, QMIN1

MINEXPONENT(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系で最小の指数を返します。

分類

問い合わせ関数

引き数

X は、実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は「実数の数体系」の項で定義した値emin とします。

MINLOC(ARRAY, MASK)

省略可能な引き数

MASK

機能

MASK によって指定されたARRAY の要素のうち、最小の値を持っている最初の要素の位置を返します。

分類

変形関数

引き数

ARRAY 

整数型または実数型でなければなければならず、スカラであってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、基本整数型とし、ARRAY の次元数に等しい大きさの 1 次元配列とします。

結果の値

場合 1 

MASK を省略した場合、結果は、ARRAY のすべての要素の最小値に等しい要素の各次元の添え字値を要素とする 1 次元配列とします。

返されたi 番目の添え字は、1 からei の範囲の値とします。ここでei は、ARRAYi 番目の次元の寸法とします。

2 個以上の要素が最小値になるとき、添え字が返される要素は配列要素順序で最初の要素とします。ARRAY の大きさが 0 であるとき、結果の値は処理系依存とします。

場合 2 

MASK を指定した場合、結果は、MASK 中の.TRUE.である要素に対応するARRAY のすべての要素の最小値に等しい要素の各次元の添え字値を要素とする 1 次元配列とします。

返されたi 番目の添え字は、1 からei の範囲の値とします。ここでei は、ARRAYi 番目の次元の大きさとします。2 個以上の要素が最小値になるとき、添え字が返される要素は配列要素順序で最初の要素とします。

ARRAY の大きさが 0 であるかまたはMASK のすべての要素が.FALSE.であるとき、結果の値は処理系依存とします。

処理系が結果のある要素の値を基本整数型で表現することができないとき、その要素は不定とします。

個別名

KMINLOC

MINVAL(ARRAY, DIM, MASK)

省略可能な引き数

DIM, MASK

機能

DIM 番目の次元について、MASK 中の.TRUE.である要素に対応したARRAY の要素の最小値を調べます。

分類

変形関数

引き数

ARRAY 

整数型または実数型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、ARRAY と同じ型および同じ種別型パラメータとします。DIM が省略されているかまたはARRAY が 1 次元配列であるときは、スカラとします。それ以外のとき、結果はn-1 次元配列とし、形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、ARRAY の形状とします。

結果の値

場合 1 

MINVAL(ARRAY) の結果の値は、ARRAY の全要素中の最大値とします。ただし、ARRAY の大きさが 0 であるときは、ARRAY の型および種別型パラメータの数体系に対して処理系が定義している正の最大値とします。

場合 2 

MINVAL(ARRAY, MASK = MASK) の結果の値は、MASK 中の.TRUE.である要素と対応しているARRAY の要素の最小値とします。ただし、.TRUE.である要素がないときは、ARRAY の型および種別型パラメータの数体系に対して処理系が定義している正の最大値とします。

場合 3 

ARRAY が 1 次元配列のとき、MINVAL(ARRAY, DIM [,MASK]) の結果の値はMINVAL(ARRAY [,MASK = MASK]) とします。2 次元以上のとき、MINVAL(ARRAY, DIM [,MASK]) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は次の通りとします。

MINVAL(ARRAY(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) [, MASK= MASK(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) ] )

MOD(A, P)

機能

余り関数

分類

要素別処理関数

引き数

A 

整数型または実数型でなければなりません。

P 

A と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

A と同じとします。

結果の値

P≠0 のとき、結果の値はA - INT(A/P) * P とします。P=0 のとき、結果は処理系依存とします。

個別名

AMOD, BMOD, DMOD, HMOD, IMOD, JMOD, KMOD, QMOD

MODULO(A, P)

機能

剰余関数

分類

要素別処理関数

引き数

A 

整数型または実数型でなければなりません。

P 

A と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

A と同じとします。

結果の値

場合 1 

A が整数型であってP≠0 のとき、MODULO(A, P) の結果の値はA = Q * P + R となる値R とします。Q は、P>0 のとき、0 <= R<P を満たし、P<0 のとき、P<R <= 0 を満たす整数とします。P=0 のとき、結果は処理系依存とします。

場合 2 

A が実数型であってP≠0 のとき、結果の値はA -FLOOR (A / P) * P とします。P=0 のとき、結果は処理系依存とします。

MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)

機能

1 つのデータ・オブジェクトから他のデータ・オブジェクトにビット列を複写します。

分類

要素別処理サブルーチン

引き数

FROM 

整数型でなければなりません。INTENT(IN) 引き数とします。

FROMPOS 

非負の整数型でなければなりません。INTENT(IN) 引き数とします。FROMPOS + LEN は、BIT_SIZE(FROM) 以下でなければなりません。整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

LEN 

非負の整数型でなければなりません。INTENT(IN) 引き数とします。

TO 

FROM と同じ変数か、またはFROM と同じ種別型パラメータ値を持つ整変数でなければなりません。これは、INTENT(INOUT) 引き数とします。

FROM の位置FROMPOS から始まる長さLEN のビット列をTO の位置TOPOS に複写します。TO の他のどのビットも変更されません。戻るとき、TOPOS から始まるTOLEN ビットは、呼び出し時にFROMPOS から始まるFROMLEN ビットが持っていた値に等しくなります。

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

TOPOS 

非負の整数型でなければなりません。INTENT(IN) 引き数とします。TOPOS + LEN は、BIT_SIZE(TO) 以下でなければなりません。

個別名

BMVBITS, HMVBITS

NEAREST(X, S)

機能

与えられた方向で最も近い処理系が表現可能な数を返します。

分類

要素別処理関数

引き数

X 

実数型でなければなりません。

S 

実数型でなければならず、0.0 であってはなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、X とは異なる、S と同符号の無限大の方向で最もX に近い、処理系が表現可能な数とします。

NINT(A, KIND)

省略可能な引き数

KIND

機能

最も近い整数を返します。

分類

要素別処理関数

引き数

A 

実数型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

整数型とします。KIND を指定したとき、種別型パラメータはKIND の指定に従います。KIND を省略したとき、種別型パラメータは基本整数型のものとします。

結果の値

A>0 のとき、NINT(A) の値はINT(A+0.5) とします。A <= 0 のとき、NINT(A) の値はINT(A-0.5) とします。処理系が指定された整数型の結果を表現することができないときの結果は、規定しません。

個別名

IDNINT, IIDNNT,IIQNNT, ININT, IQNINT, JIDNNT,JIQNNT, JNINT, KIDNNT, KIQNNT, KNINT

NOT(I)

機能

論理否定

分類

要素別処理関数

引き数

I は、整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、次の真偽表に従ってビットごとにI の論理否定をとることによって得られる値とします。

表 11-9 NOT 組み込み関数の真偽表

I

NOT(I)

1

0

0

1

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

個別名

BNOT, HNOT, INOT, JNOT, KNOT

OR(I, J)

機能

論理和

分類

規格外の要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、次の真偽表に従ってビットごとにI およびJ の論理和によって得られる値とします。

表 11-10 OR 組み込み関数の真偽表

I

J

OR(I, J)

1

1

1

1

0

1

0

1

1

0

0

0

 

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

PACK(ARRAY, MASK, VECTOR)

省略可能な引き数

VECTOR

機能

MASK に従って、配列を 1 次配列にします。

分類

変形関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。

MASK 

論理型でなければならず、ARRAY と形状適合しなければなりません。

VECTOR (省略可能) 

ARRAY と同じ型および同じ種別型パラメータでなければならず、1 次元配列でなければなりません。VECTOR は、少なくともMASK 中の.TRUE.である要素と同数の要素を持たなければなりません。MASK がスカラであって値が.TRUE.のとき、VECTOR は、少なくともARRAY と同数の要素を持たなければなりません。

結果の型、型パラメータおよび形状

結果は、ARRAY と同じ型および同じ種別型パラメータの 1 次元配列とします。VECTOR を指定した場合、結果の大きさはVECTOR と同じとします。VECTOR を省略した場合、結果の大きさはMASK 中の.TRUE.である要素の個数t とします。ただし、MASK.TRUE.の値のスカラのとき、結果の大きさはARRAY の大きさとします。

結果の値

配列要素順序に従って、結果のi 番目 (i= 1, 2, ..., t) の要素は、MASKi 番目の.TRUE.である要素に対応するARRAY の要素とします。VECTOR を指定し、その大きさnn>t であるとき、i= t+1, ..., n に対して、結果のi 番目の要素の値は、VECTOR(i) とします。

個別名

KPACK

PRECISION(X)

機能

引き数と同じ種別型パラメータを持つ実数の数体系の 10 進精度を返します。

分類

問い合わせ関数

引き数

X は、実数型または複素数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、INT((p-1) * LOG10(b))+k とします。ここでb およびp は、X と同じ種別型パラメータ値を持つ実数の数体系における「実数の数体系」の項で定義した値とします。k は、b が 10 の整数乗のとき 1 とし、それ以外のとき 0 とします。

PRESENT(A)

機能

省略可能な引き数が実在するかどうかを判定します。

分類

問い合わせ関数

引き数

A は、そのPRESENT 関数の引用を含む手続きの中で参照可能な、省略可能な仮引き数の名前でなければなりません。

結果の型/型パラメータ

基本論理型スカラとします。

結果の値

結果の値は、A が実在するとき.TRUE.とし、実在しないとき.FALSE.とします。

PRODUCT(ARRAY, DIM, MASK)

省略可能な引き数

DIM, MASK

機能

DIM 番目の次元について、MASK 中の.TRUE.である要素に対応するARRAY のすべての要素の積を計算します。

分類

変形関数

引き数

ARRAY 

整数型、実数型または複素数型でなければなりません。スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、ARRAY と同じ型および同じ種別型パラメータとします。DIM が省略されているかまたはARRAY が 1 次元配列であるときは、スカラとします。それ以外のとき、結果はn-1 次元配列とし、形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、ARRAY の形状とします。

結果の値

場合 1 

PRODUCT(ARRAY) の結果の値は、ARRAY の全要素の積の処理系依存の近似値とします。ただし、ARRAY の大きさが 0 のとき、結果の値は 1 とします。

場合 2 

PRODUCT(ARRAY, MASK = msk) の結果の値は、MASK 中の.TRUE.である要素と対応するARRAY の要素の積の処理系依存の近似値とします。ただし、.TRUE.である要素がないとき、結果の値は 1 とします。

場合 3 

ARRAY が 1 次元配列のとき、PRODUCT(ARRAY, DIM [,msk]) の結果の値は、PRODUCT(ARRAY [,MASK = msk]) とします。2 次元配列以上のとき、PRODUCT(ARRAY, DIM [,msk]) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は次の通りとします。

PRODUCT(ARRAY(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) &
[, MASK = msk(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn)])

QEXT(A)

機能

REAL(16) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型、実数型、倍精度型または複素数型でなければなりません。

結果

REAL(16)

個別名

QEXTD

QFLOAT(A)

機能

REAL(16) 型に変換します。

分類

規格外の要素別処理関数

引き数

A は、整数型またはREAL(4) 型でなければなりません。

結果

REAL(16)

個別名

QFLOATI, QFLOTI, QFLOTJ, QFLOTK

QNUM(I)

機能

文字をREAL(16) 型に変換します。

分類

規格外の要素別処理関数

引き数

I は、文字型でなければなりません。

結果

REAL(16)

QPROD(X, Y)

機能

倍精度の積を計算します。

分類

規格外の要素別処理関数

引き数

X およびY は倍精度実数型でなければなりません。

結果

REAL(16)

RADIX(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系の基数を返します。

分類

問い合わせ関数

引き数

X は、整数型または実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、X が整数型のときr とし、X が実数型のときb とします。ここでr およびb は、「実数の数体系」の項で定義した値とします。

RAN(ISEED)

機能

乗法合同乱数生成器

分類

規格外の要素別処理関数

引き数

ISEED は、INTEGER(4) 変数または配列要素でなければなりません。RANISEED 中に数字を格納し、次のRAN への呼び出しに使用します。

ISEED は、可能な限り大きい奇数値に初期設定されなければなりません。次の例を参照してください。

結果の型/型パラメータ

REAL(4)

注記: プログラムの実行ごとに異なる乱数値を得るために、プログラムの各実行時にISEED に異なる値を設定しなければなりません。これを実現するには、プログラムの始動時に種子を入力するか、または (IDATE によって返される) 現在の年月日および (SECNDS によって返される) 夜中の 12 時から数えた秒数から値を計算させます。

RAND()

機能

0.0 から 1.0 の範囲に一様分布した連続した擬似乱数を生成します。

分類

規格外の要素別処理関数

結果の型/型パラメータ

REAL(4)

注記: IRAND およびRAND を使用した擬似乱数の再始動についての詳細は、「SRAND(ISEED)」の項を参照してください。

RANDOM_NUMBER(HARVEST)

機能

0 <= x < 1 の範囲に一様分布する 1 つの擬似乱数かまたは擬似乱数の配列を返します。

分類

サブルーチン

引き数

HARVEST は、実数型でなければなりません。これは、INTENT(OUT) 引き数とします。スカラ変数または配列変数とします。0 <= x < 1 の区間に一様分布する擬似乱数を含むように設定されます。

RANDOM_SEED(SIZE, PUT, GET)

省略可能な引き数

SIZE, PUT, GET

機能

RANDOM_NUMBER で使用する擬似乱数生成器を再始動するかまたは問い合わせます。

分類

サブルーチン

引き数

引き数は、1 個だけまたは 0 個でなければなりません。

SIZE (省略可能) 

基本整数型スカラでなければなりません。INTENT(OUT) 引き数とします。処理系が種子の値を保持するのに使用する整数の個数N が返されます。

PUT (省略可能) 

1 次元で大きさがN 以上の基本整数型配列でなければなりません。INTENT(IN) 引き数とします。種子の値を設定するために使用します。

GET (省略可能) 

1 次元で大きさがN 以上の基本整数型配列でなければなりません。INTENT(OUT) 引き数とします。現在の種子の値が返されます。引き数を省略すると、処理系は種子を処理系依存の値に設定します。

RANGE(X)

機能

引き数と同じ種別型パラメータとなる整数または実数の数体系の 10 進指数範囲を返します。

分類

問い合わせ関数

引き数

X は、整数型、実数型または複素数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

場合 1 

整数型の引き数の場合、結果の値は、INT(LOG10(huge)) とします。ここでhuge は、X と同じ種別型パラメータの整数の数体系における最大の正の整数とします (「整数の数体系」の項を参照)。

場合 2 

実数型または複素数型の引き数の場合、結果の値は、INT(MIN(LOG10(huge), -LOG10(tiny))) とします。ここでhuge およびtiny は、X と同じ種別型パラメータ値を持つ実数の数体系における最大および最小の正の数とします。詳細は、「実数の数体系」の項を参照してください。

「実数の数体系」の項で示した数体系の実数X について、RANGE(X) の値は、38 になります。このとき、huge= (1 - 2-24) 2127 およびtiny = 2-127 です。

個別名

SNGL, SNGLQ

REAL(A, KIND)

省略可能な引き数

KIND

機能

実数型に変換します。

分類

要素別処理関数

引き数

A 

整数型、実数型または複素数型でなければなりません。

KIND (省略可能) 

スカラ整数初期値式でなければなりません。

結果の型/型パラメータ

実数型

場合 1 

A が整数型または実数型の場合、KIND を指定したとき、種別型パラメータはKIND の指定に従います。

KIND を省略したとき、種別型パラメータは基本実数型に対する処理系依存の種別型パラメータとします。

場合 2 

A が複素数型の場合、KIND を指定したとき、種別型パラメータはKIND の指定に従います。

KIND を省略したとき、種別型パラメータはA の種別型パラメータとします。

結果の値

場合 1 

A が整数型または実数型の場合、結果の値はA に対する処理系依存の近似値とします。

場合 2 

A が複素数型の場合、結果の値はA の実部に対する処理系依存の近似値とします。

個別名

FLOAT, FLOATI, FLOATJ, FLOATK

REPEAT(STRING, NCOPIES)

機能

文字列の複写をいくつか連結します。

分類

変形関数

引き数

STRING 

スカラ文字型でなければなりません。

NCOPIES 

スカラ整数型でなければならず、値は負であってはなりません。

結果の型、型パラメータおよび形状

STRING と同じ種別型パラメータ値の文字型スカラとします。その文字長は、STRING の文字長のNCOPIES 倍とします。

結果の値

結果は、STRINGNCOPIES 回だけ複写したものを連結した値とします。

個別名

KREPEAT

RESHAPE(SOURCE, SHAPE, PAD, ORDER)

省略可能な引き数

PAD, ORDER

機能

与えられた配列の要素から、指定された形状の配列を構成します。

分類

変形関数

引き数

SOURCE 

どの型でもかまいません。値は、配列とします。PAD が省略されているかまたはその大きさが 0 のとき、SOURCE の大きさはPRODUCT(SHAPE) の値以上でなければなりません。結果の大きさは、SHAPE の要素の値の積とします。

SHAPE 

整数型の 1 次元配列であって、大きさは定数でなければなりません。大きさは、1〜7 の正の数でなければなりません。どの要素の値も負であってはなりません。

PAD (省略可能) 

SOURCE と同じ型および同じ種別型パラメータでなければなりません。PAD の値は、配列でなければなりません。

ORDER (省略可能) 

整数型でなければならず、SHAPE と同じ形状でなければなりません。その値は、[1, 2, ..., n] を並べ替えたものでなければなりません。ここでn は、SHAPE の大きさとします。ORDER を省略したとき、値 [1, 2, ..., n] を指定したかのように働きます。

結果の型、型パラメータおよび形状

結果は、SOURCE と同じ型および同じ種別型パラメータであって形状がSHAPE である (すなわち、 SHAPE(RESHAPE(SOURCE, SHAPE, PAD, ORDER)) がSHAPE に等しい) 配列とします。

結果の値

結果の要素を添え字順序ORDER(1), ..., ORDER(n) で並べ替えたものは、SOURCE の要素を通常の配列要素順序で並べ、足りなければPAD の要素を配列要素順序で続け、さらに足りなければPAD の要素を配列要素順序で必要な回数だけ繰り返したものと同じです。

個別名

KRESHAPE

RNUM(I)

機能

文字を実数型に変換します。

分類

規格外の要素別処理関数

引き数

I は、文字型でなければなりません。

結果

基本実数型とします。

RRSPACING(X)

機能

X の数体系における引き数値前後の相対的な間隔の逆数を返します。

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、|X * b-e| * bp とします。ここで、b, e, およびp は、「実数の数体系」の項で定義した値とします。

RSHFT(I, SHIFT)

機能

桁を右方向に移動する

分類

規格外の要素別処理関数

RSHIFT(I, SHIFT)

機能

桁を右方向に移動する

分類

規格外の要素別処理関数

SCALE(X, I)

機能

X * bI を返します。ここでb は、X の数体系の基数とします。これについては、「実数の数体系」の項を参照してください。

分類

要素別処理関数

引き数

X 

実数型でなければなりません。

I 

整数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果が範囲の中にあるとき、結果の値はX * bI とします。ここでb は、「実数の数体系」の項で定義した値とします。範囲を超えたとき、結果は処理系依存とします。

SCAN(STRING, SET, BACK)

省略可能な引き数

BACK

機能

文字列を走査して、文字集合中に指定した文字があるかどうかを判定します。

分類

要素別処理関数

引き数

STRING 

文字型でなければなりません。

SET 

STRING と同じ種別型パラメータの文字型でなければなりません。

BACK (省略可能) 

論理型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

場合 1 

BACK.FALSE.を指定するかまたは省略してあって、STRINGSET 中の文字を少なくとも 1 つ含む場合、結果の値は両方にある文字のSTRING 中での最も左の文字位置とします。

場合 2 

BACK.TRUE.を指定してあって、STRINGSET 中の文字を少なくとも 1 つ含む場合、結果の値は両方にある文字のSTRING での最も右の文字位置とします。

場合 3 

STRING 中のどの文字もSET 中にないか、またはSTRING もしくはSET の文字長が 0 の場合、結果の値は 0 とします。

SECNDS(X)

機能

午前 0 時から経過した秒数から引き数の値を引いた値を返します。

分類

規格外の要素別処理関数

引き数

X は、REAL(4) 型でなければなりません。

結果の型/型パラメータ

REAL(4)

注記: SECNDS の有効桁数は、100 分の 1 秒 (0.01 秒) です。SECNDS ルーチンは、コードで経過時間を計算するときに役に立ちます。

SELECTED_INT_KIND(R)

機能

-10R < n < 10R の範囲にあるすべての整数値n を表現できる整数型の種別型パラメータ値を返します。

分類

変形関数

引き数

R は、整数型のスカラでなければなりません。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、-10R < n < 10R の範囲内のすべての値n を表現できる整数型の種別型パラメータ値とします。ただし、そのような種別型パラメータがその処理系上で利用できない場合、結果の値は-1 とします。

2 つ以上の種別型パラメータが条件を満足する場合、戻り値は、最も小さい 10 進指数範囲を表現する種別型パラメータ値となります。同じ 10 進指数範囲を表現するものが複数あるときは、最も小さい種別型パラメータ値が返されます。

SELECTED_REAL_KIND(P, R)

省略可能な引き数

P, R

機能

10 進精度がP 桁以上で 10 進指数範囲がR 以上である実数型の種別型パラメータ値を返します。

分類

変形関数

引き数

少なくとも 1 つの引き数は、指定しなければなりません。

P (省略可能) 

整数型スカラでなければなりません。

R (省略可能) 

整数型スカラでなければなりません。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、関数PRECISION によって返されるようなP 桁以上の 10 進精度と、関数RANGE によって返されるようなR 以上の 10 進指数範囲を持つ実数型の種別型パラメータ値とします。

ただし、そのような種別型パラメータが処理系上で利用できない場合の結果の値は、10 進精度が利用不可能なとき-1 とし、10 進指数範囲が利用不可能なとき-2 とし、どちらも利用不可能なとき-3 とします。

2 つ以上の種別型パラメータが条件を満足する場合、戻り値は、最も小さい 10 進精度を表現する種別型パラメータ値となります。同じ 10 進指数範囲を表現するものが複数あるときは、最も小さい種別型パラメータ値が返されます。

SET_EXPONENT(X, I)

機能

指数部がI で、小数部がX の数体系表現の小数部である数表現の実数を返します。

分類

要素別処理関数

引き数

X 

実数型でなければなりません。

I 

整数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果が表現可能な範囲の中にあるとき、結果の値は、X * bI-e とします。ここでb およびe は、「実数の数体系」の項で定義した値とします。表現可能な範囲を超えているとき、結果は処理系依存とします。

X の値が 0.0 であるとき、結果の値は 0.0 とします。

SHAPE(SOURCE)

機能

配列またはスカラの形状を返します。

分類

問い合わせ関数

引き数

SOURCE は、どの型でもかまいません。値は、配列またはスカラとします。空状態のポインタまたは割り付けられていない割り付け配列であってはならず、大きさ引き継ぎ配列であってはなりません。

結果の型、型パラメータおよび形状

結果は、大きさがSOURCE の次元数に等しい基本整数型の 1 次元配列とします。

結果の値

結果の値は、SOURCE の形状とします。

個別名

KSHAPE

SIGN(A, B)

機能

A の絶対値とB の符号の積。

分類

要素別処理関数

引き数

A 

整数型または実数型でなければなりません。

B 

A と同じ型および同じ種別型パラメータでなければなりません。

結果の型/型パラメータ

A と同じとします。

結果の値

結果の値は、B >= 0 のとき |A| とし、B < 0 のとき-|A| とします。

個別名

BSIGN, DSIGN, HSIGN, IISIGN, JSIGN, QSIGN, KISIGN

SIN(X)

機能

正弦関数 (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型または複素数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、sin(X) の処理系依存の近似値とします。

  • X が実数型であるとき、ラジアンでの値とみなされます。

  • X が複素数型であるとき、その実部がラジアンでの値とみなされます。

個別名

CDSIN, CSIN, DSIN, QSIN, ZSIN

SIND(X)

機能

正弦関数 (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、sin(X) の処理系依存の近似値とします。

個別名

QSIND

SINH(X)

機能

双曲線正弦関数

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型および型パラメータ

X と同じとします。

結果の値

結果の値は、sinh(X) の処理系依存の近似値とします。

個別名

QSINH

SIZE(ARRAY, DIM)

省略可能な引き数

DIM

機能

配列の要素の総数または指定した次元の寸法を返します。

分類

問い合わせ関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。空状態のポインタまたは割り付けられていない割り付け配列であってはなりません。ARRAY が大きさ引き継ぎ配列であるときは、DIM は省略できず、ARRAY の次元数より小さい値を指定しなければなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。

結果の型、型パラメータおよび形状

基本整数型スカラとします。

結果の値

結果の値は、ARRAYDIM 番目の次元の寸法とし、DIM を省略したとき、ARRAY の要素の総数とします。

個別名

KSIZE

SIZEOF(A)

機能

引き数が使用する記憶領域のバイト数を返します。

分類

規格外の問い合わせ関数

引き数

A は、(大きさ引き継ぎ配列または文字長を渡された引き数以外であれば) どの型でもかまいません。

結果の型

整数型とします。

SPACING(X)

機能

X の数体系における引き数値前後の間隔の絶対値を返します。

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果が範囲内にあってX の値が 0 でないとき、結果の値はbe-p とします。ここでb, e, およびp は、「実数の数体系」の項で定義した値とします。範囲を超えているとき、結果の値はTINY(X) と同じとします。

SPREAD(SOURCE, DIM, NCOPIES)

機能

配列を複製して次元を付け加えます。指定した次元について (あたかも 1 枚の原紙の複写をとじてメモ冊子を作るように) SOURCE をいくつか複写し、1 次元だけ大きい配列を形成します。

分類

変形関数

引き数

SOURCE 

どの型でもかまいません。値は、スカラまたは配列とします。SOURCE の次元数は、7 未満でなければなりません。

DIM 

整数型スカラであって、1 <= DIM <= n + 1 の範囲の値でなければなりません。ここでn は、SOURCE の次元数とします。

NCOPIES 

整数型スカラでなければなりません。

結果の型、型パラメータおよび形状

結果は、SOURCE と同じ型および同じ種別型パラメータのn + 1 次元配列とします。ここでn は、SOURCE の次元数とします。

場合 1 

SOURCE がスカラである場合、結果の形状は (MAX(NCOPIES, 0)) とします。

場合 2 

SOURCE の値が形状 (d1, d2, ..., dn) の配列である場合、結果の形状は (d1, d2, ..., dDIM-1, MAX(NCOPIES, 0), dDIM, ..., dn) とします。

結果の値

場合 1 

SOURCE がスカラである場合、結果の各要素はSOURCE に等しい値とします。

場合 2 

SOURCE の値が配列である場合、添え字が (r1, r2, ..., rn+1) である結果の要素は、SOURCE(r1, r2, ..., rDIM-1, rDIM+1, ..., rn+1) に等しい値とします。

SQRT(X)

機能

平方根

分類

要素別処理関数

引き数

X は、実数型または複素数型でなければなりません。X が実数型であるとき、値は 0.0 以上でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、X の平方根の処理系依存の近似値とします。

複素数型の結果は、実部が 0.0 以上である主値とします。結果の実部が 0.0 であるとき、虚部は 0.0 以上とします。

個別名

CDSQRT,CSQRT, DSQRT, QSQRT, ZSQRT

SRAND(ISEED)

機能

IRAND およびRAND が使用する擬似乱数生成器を再始動します。

分類

規格外の要素別処理サブルーチン

引き数

ISEED は、INTEGER(4) 型でなければなりません。

ISEED の値が同じ場合、同じ乱数の列が生成されます。列を変更するには、プログラムの各実行時に異なるISEED 値でSRAND を呼び出します。ISEED のデフォルトは 1 です。

SUM(ARRAY, DIM, MASK)

省略可能な引き数

DIM, MASK

機能

MASK 中の.TRUE.である要素に対応するARRAY の要素を、DIM 番目の次元について合計します。

分類

変形関数

引き数

ARRAY 

整数型、実数型または複素数型でなければならず、スカラであってはなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでnARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

MASK (省略可能) 

論理型でなければならず、ARRAY と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、ARRAY と同じ型および同じ種別型パラメータとします。DIM を省略するか、またはARRAY が 1 次元配列であるときは、スカラとします。それ以外のとき、結果はn-1 次元配列とし、その形状は (d1, d2, ..., dDIM-1, dDIM+1, ..., dn) とします。ここで (d1, d2, ..., dn) は、ARRAY の形状とします。

結果の値

場合 1 

SUM(ARRAY) の結果の値は、ARRAY のすべての要素の合計の処理系依存の近似値とします。ARRAY の大きさが 0 であるとき、値は 0 とします。

場合 2 

SUM(ARRAY, MASK = msk) の結果の値は、MASK 中の.TRUE.である要素に対応しているARRAY の要素の合計の処理系依存の近似値とします。ただし、MASK 中に.TRUE.である要素がないとき、値は 0 とします。

場合 3 

ARRAY が 1 次元配列であるとき、SUM(ARRAY, DIM [,msk]) の結果の値は、SUM(ARRAY [,MASK = msk]) とします。2 次元以上のとき、SUM(ARRAY, DIM [,msk]) の要素 (s1, s2, ..., sDIM-1, sDIM+1, ..., sn) の値は、次の通りとします。

SUM(ARRAY(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn) &
[, MASK=msk(s1, s2, ..., sDIM-1, :, sDIM+1, ..., sn)])

SYSTEM(STR)

機能

Fortran 90 プログラムからシェル・コマンドを実行します。

分類

規格外のサブルーチン

引き数

STR は、文字型でなければなりません。SYSTEM は、文字列が端末で入力されたかのように、入力としてデフォルトシェル (/bin/sh) にSTR を与えます。シェルが完了すると、プロセスが引き続き行われます。

SYSTEM_CLOCK(COUNT, COUNT_RATE, COUNT_MAX)

省略可能な引き数

COUNT, COUNT_RATE, COUNT_MAX

機能

実時間時計から整数を返します。

分類

サブルーチン

引き数

COUNT (省略可能) 

基本整数型スカラでなければなりません。INTENT(OUT) 引き数とします。処理系の時計の現在値に基づく処理系依存の値に設定されます。時計がないときは、-HUGE(0) に設定されます。処理系依存の値は、時計の刻みごとに 1 ずつ増加し、値COUNT_MAX に達すると、次の刻みで 0 に再設定されます。時計があるときは、0 以上、COUNT_MAX 以下の値になります。

COUNT_RATE (省略可能) 

基本整数型スカラでなければなりません。INTENT(OUT) 引き数とします。処理系の時計が 1 秒間に刻む回数に設定されます。ただし、時計がないときは、0 に設定されます。

COUNT_MAX (省略可能) 

基本整数型スカラでなければなりません。INTENT(OUT) 引き数とします。COUNT がとりうる最大値に設定されます。ただし、時計がないときは、0 に設定されます。

TAN(X)

機能

正接関数 (ラジアン単位)

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、tan(X) の処理系依存の近似値とします。X は、ラジアンでの値とみなされます。

個別名

CTAN,DTAN,QTAN,ZTAN

TAND(X)

機能

正接関数 (度単位)

分類

規格外の要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、tan(X) の処理系依存の近似値とします。

個別名

DTAND, QTAND

TANH(X)

機能

双曲線正接関数

分類

要素別処理関数

引き数

X は、実数型でなければなりません。

結果の型/型パラメータ

X と同じとします。

結果の値

結果の値は、tanh(X) の処理系依存の近似値とします。

個別名

DTANH, QTANH

TIME(TIMESTR)

機能

現在のシステム時間を返します。

分類

規格外のサブルーチン

引き数

TIMESTR は文字型でなければならず、少なくとも 8 バイトの記憶容量を必要とします。

結果の値

TIME は、TIMESTRhh:mm:ss (hh は現在の時間、mm は現在の分、ss は現在の分からの経過秒です) 形式で 8 バイト文字列を設定します。

TINY(X)

機能

引き数と同じ型および同じ種別型パラメータの数体系で最小の正の数を返します。

分類

問い合わせ関数

引き数

X は、実数型でなければなりません。値は、スカラまたは配列とします。

結果の型、型パラメータおよび形状

X と同じ型および同じ種別型パラメータのスカラとします。

結果の値

結果の値は、b**(emin-1) とします。

ここでb およびemin は、「実数の数体系」の項で定義した値とします。

TRANSFER(SOURCE, MOLD, SIZE)

省略可能な引き数

SIZE

機能

物理表現はSOURCE と同一ですが、型および種別型パラメータをMOLD のものにした結果を返します。

分類

変形関数

引き数

SOURCE 

どの型でもかまいません。値は、スカラまたは配列とします。

MOLD 

どの型でもかまいません。値は、スカラまたは配列とします。

SIZE (省略可能) 

整数型スカラでなければなりません。対応する実引き数は省略可能な実引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、MOLD と同じ型および同じ種別型パラメータとします。

場合 1 

SIZE を省略し、MOLD がスカラである場合、結果はスカラとします。

場合 2 

SIZE を省略し、MOLD が配列である場合、結果は 1 次元配列とします。その大きさは、物理表現がSOURCE のものよりも短くならない範囲で可能な限り小さくします。

場合 3 

SIZE を指定した場合、結果は、大きさがSIZE である 1 次元配列とします。

結果の値

結果の物理表現の長さがSOURCE と同一のとき、結果の物理表現はSOURCE のものとします。

  • 結果の物理表現のほうがSOURCE よりも長いとき、物理表現の先頭部分はSOURCE のものとし、残りの部分は不定とします。

  • 結果の物理表現のほうがSOURCE よりも短いとき、結果の物理表現はSOURCE の先頭部分とします。D およびE がスカラ変数であって、D の物理表現の長さがE の物理表現の長さ以上であるとき、TRANSFER(TRANSFER(E, D), E) の値はE の値でなければなりません。

  • D が配列であってE が 1 次元配列であるとき、TRANSFER(TRANSFER(E, D), E, SIZE(E)) の値はE の値でなければなりません。

TRANSPOSE(MATRIX)

機能

2 次元配列を転置します。

分類

変形関数

引き数

MATRIX は、どの型でもかまいませんが、2 次元配列でなければなりません。

結果の型、型パラメータおよび形状

結果はMATRIX と同じ型および同じ種別型パラメータの 2 次元配列とし、MATRIX の形状が(m, n) であるとき、結果の形状は、(n, m) とします。

結果の値

結果の要素 (i, j) の値はMATRIX(j, i), i= 1, 2, ..., n; j= 1, 2, ..., m とします。

TRIM(STRING)

機能

引き数の後ろの空白を削除したものを返します。

分類

変形関数

引き数

STRING は、文字型スカラでなければなりません。

結果の型/型パラメータ

STRING と同じ種別型パラメータ値の文字型とし、その文字長は、STRING の文字長からSTRING の後ろの空白の個数を引いた長さとします。

結果の値

結果の値は、後ろの空白がない点を除いてSTRING と同じとします。STRING が空白以外の文字を含まないとき、結果の文字長は 0 とします。

UBOUND(ARRAY, DIM)

省略可能な引き数

DIM

機能

配列のすべての次元の上限または指定した次元の上限を返します。

分類

問い合わせ関数

引き数

ARRAY 

どの型でもかまいません。スカラであってはなりません。空状態のポインタまたは割り付けられていない割り付け配列であってはなりません。ARRAY が大きさ引き継ぎ配列のとき、DIM には、ARRAY の次元数未満の値を指定しなければなりません。

DIM (省略可能) 

整数型スカラであって、1 <= DIM <= n の範囲の値でなければなりません。ここでn は、ARRAY の次元数とします。対応する実引き数は、省略可能な仮引き数であってはなりません。

結果の型、型パラメータおよび形状

結果は、基本整数型とします。DIM を指定したときは、スカラとします。DIM を省略したとき、結果は大きさn の 1 次元配列とします。ここでn は、ARRAY の次元数とします。

結果の値

場合 1 

UBOUND(ARRAY, DIM) の値は、全体配列または配列構造体成分である配列を除く配列式、または部分配列に対しては、指定した次元の要素の個数とします。全体配列または配列構造体成分に対しては、ARRAYDIM 番目の次元の大きさが 0 でないときの値はARRAYDIM 番目の次元における添え字の上限とし、DIM 番目の次元の大きさが 0 であるときの値は 0 とします。

場合 2 

UBOUND(ARRAY)i 番目 (i= 1, 2, ..., n) の要素の値は、UBOUND(ARRAY, i) とします。ここでn は、ARRAY の次元数とします。

個別名

KUBOUND

UNPACK(VECTOR, MASK, FIELD)

機能

1 次元配列の要素をMASK に従って配列に配布します。

分類

変形関数

引き数

VECTOR 

どの型でもかまいません。1 次元配列でなければなりません。大きさは、MASK.TRUE.である要素の個数t 以上でなければなりません。

MASK 

値は、論理型配列でなければなりません。

FIELD 

VECTOR と同じ型および同じ種別型パラメータでなければならず、MASK と形状適合しなければなりません。

結果の型、型パラメータおよび形状

結果は、VECTOR と同じ型および同じ種別型パラメータであってMASK と同じ形状の配列とします。

結果の値

配列要素順序に従って、MASK.TRUE.である要素のi 番目 (i=1, 2, ..., t) に対応する結果の要素の値はVECTOR(i) とします。ここでt は、MASK 中の.TRUE.である要素の個数とします。他の要素は、FIELD がスカラであるとき、それぞれFIELD に等しい値とし、FIELD が配列であるとき、FIELD の対応する要素と等しい値とします。

VERIFY(STRING, SET, BACK)

省略可能な引き数

BACK

機能

文字列中の文字が、指定した文字集合中に含まれているかどうかを調べ、文字集合に含まれない文字列中の最初の文字の位置を返します。

分類

要素別処理関数

引き数

STRING 

文字型でなければなりません。

SET 

STRING と同じ種別型パラメータの文字型でなければなりません。

BACK (省略可能) 

論理型でなければなりません。

結果の型/型パラメータ

基本整数型とします。

結果の値

場合 1 

BACK.FALSE.を指定するかまたは省略してあって、STRINGSET 中にない文字を少なくとも 1 つ含む場合、結果の値はSET 中にない文字のSTRING 中で最も左の文字位置とします。

場合 2 

BACK.TRUE.を指定してあって、STRINGSET 中にない文字を少なくとも 1 つ含む場合、結果の値はSET 中にない文字のSTRING 中での最も右の文字位置とします。

場合 3 

STRING 中のすべての文字がSET 中にあるか、またはSTRING の文字長が 0 である場合、結果の値は 0 とします。

XOR(I, J)

機能

排他的論理和

分類

規格外の要素別処理関数

引き数

I 

整数型でなければなりません。

J 

I と同じ種別型パラメータの整数型でなければなりません。

結果の型/型パラメータ

I と同じとします。

結果の値

結果の値は、ビットごとにIJ の排他的論理和を算出し、表 11-8 「IXOR 組み込み関数の真偽表」に従って得られる値とします。

整数値をビット列として解釈する数体系については、「ビットの数体系」の項を参照してください。

ZEXT(A)

機能

ゼロ (0) を拡張します。

分類

規格外の要素別処理関数

引き数

A は、整数型または論理型でなければなりません。

結果

ZEXT は、実符号ビットの代わりに 0 で符号を拡張をすることによって、1, 2, または 4 バイトの論理型または整数型を 2 または 4 バイトの整数型に変換します。

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© Hewlett-Packard Development Company, L.P.