組込み手続とは,Fortran 95/90 ライブラリーに含まれている関数とサブルーチンのことです。組込み手続には,以下に示すように 4 つの種類があります。
これらの手続は,スカラまたは配列実引数で呼び出せるスカラ仮引数を持っています。要素別処理組込み関数は多数存在しますが,要素別処理組込みサブルーチンは 1 つしか存在しません (MVBITS)。
引数がすべてスカラであれば,結果もスカラになります。実引数が配列値である場合,組込み手続が実引数の個々の要素に適用され,結果として実引数と同じ形状を持つ配列が得られます。
複数の配列値引数が存在する場合,すべてが同じ形状でなくてはなりません。
配列を使用する多くのアルゴリズムは,全体配列で一連の計算をするように便宜的に書くことができます。たとえば,以下の例を考えます。
a = b + c ... ! a,b,c,および s は,すべて同じ形状の配列です。 s = sum(a)
上記の文は,DO ループで置き換えることができます。
以下の例を考えます。
real, dimension (5,5) x,y . . . ! 値を x に代入します。 y = sin(x) ! 引数として配列全部を渡します。
この例では,SIN(X) 関数が要素別処理手続であるため,配列 x を全体配列の名前として渡す時,この関数は配列 x を要素単位で処理します。
これらの関数は,引数の値ではなく,主要な引数のプロパティに依存する結果を持ちます (引数値は不定であってもかまいません)。
これらの関数は,1 つまたは複数の配列値仮引数か実引数,配列結果,またはその両方を持ちます。組込み関数は,配列値実引数に要素ごとには適用されず,引数配列を別の配列に変更 (変形) します。
これらの手続は,スカラ引数でしか呼び出せません。これらの手続はスカラの結果を返します。(MVBITS を除く) すべての手続が非要素別処理手続です。
組込み手続は,他の手続と同じように呼び出され,同じ引数結合の規則に従います。
組込み手続は総称 (または共通) 名を持ち,組込み関数の多くが個別名を持ちます (一部の組込み関数は総称と個別の両方のプロパティを持っています)。
一般に,総称関数は複数のデータ型の引数を受け付けます。結果のデータ型は,関数引用中の引数のデータ型と同じです。複数の引数を取る要素別処理関数では,すべての引数が同じ型でなくてはなりません (関数 MERGE を除く)。
組込み関数を手続に対して実引数として渡す場合,その個別名を使用する必要があります。また,呼び出し時には,その引数はスカラでなくてはなりません。一部の組込み関数は,どのような状況でも,実引数としては使用できません。「実引数として許されていない関数:表」に,実引数として渡すことができない関数一覧を示します。
本章には,以下のトピックに関する情報があります。
「A-Z 索引」にはアルファベット順に一覧表示されたすべての組込み関数の説明があります。各説明には,手続が問合せ,要素別,変形,非要素別かどうか,関数かサブルーチンかどうかが示されています。
関連情報