要素別処理組込み手続は,スカラまたは配列実引数を付けて呼び出せるスカラ仮引数を持ちます。実引数が配列値である場合,両者は同じ形状でなくてはなりません。要素別処理組込み関数は多数存在しますが,要素別処理組込みサブルーチンは 1 つしかありません (MVBITS)。
実引数がスカラである場合,結果もスカラになります。実引数が配列値である場合,スカラ値の手続は要素ごとに実引数に適用され,結果として実引数と同じ形状を持つ配列が得られます。
結果として得られる配列の要素値は,スカラ値の手続が各引数の対応する要素に別々に適用されたかのように決定されます。
たとえば,A と B が (5,6) という形状の配列である場合,MAX(A, 0.0, B) は,(5,6) という形状の配列式で,その要素は MAX(A (i, j), 0.0, B (i, j)) という値を持っています (i = 1, 2, ..., 5 で,j = 1, 2, ..., 6 です)。
要素別処理組込み手続引用は,1 つまたは複数の実引数が配列で,すべての配列引数が同じ形状を持っている場合,要素別引用となります。
例
以下に例を示します。
REAL, DIMENSION (2) :: a, b a(1) = 4 a(2) = 9 b = SQRT(a) ! b(1) = SQRT(a(1)) と b(2) = SQRT(a(2)) を設定
関連情報