XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

ELSEWHERE

目的

ELSEWHERE ステートメントは WHERE 構造体内のオプションの ELSEWHERE ブロック、またはマスクされた ELSEWHERE ブロックの最初のステートメントです。

構文



>>-ELSEWHERE--+----------------------+--+---------------------------+-><
              |              (1)     |  |                      (2)  |
              '-(--mask_expr-------)-'  '-where_construct_name------'
 
 


注:


  1. Fortran 95

  2. Fortran 95


+---------------------------------Fortran 95---------------------------------+

mask_expr
論理配列式です。

+------------------------------Fortran 95 の終り------------------------------+

+---------------------------------Fortran 95---------------------------------+

where_construct_name
WHERE 構造体を識別する名前です。

+------------------------------Fortran 95 の終り------------------------------+

規則

+---------------------------------Fortran 95---------------------------------+

マスクされた ELSEWHERE ステートメントには mask_expr が含まれます。マスク式の解釈については、マスクされた配列割り当ての解釈 を参照してください。 WHERE 構造体内のそれぞれの mask_expr は同じ形状でなければなりません。

where_construct_name を指定する場合、その名前は WHERE 構造体ステートメントに指定した名前と同じでなければなりません。

+------------------------------Fortran 95 の終り------------------------------+

ELSEWHERE およびマスクされた ELSEWHERE ステートメントは、分岐ターゲット・ステートメントにすることはできません。

以下の例では、単純なマスクされた ELSEWHERE ステートメントを使って配列内のデータを変更するプログラムを示しています。

INTEGER ARR1(3, 3), ARR2(3, 3), FLAG(3, 3)
 
ARR1 = RESHAPE((/(I, I=1, 9)/), (/3, 3 /))
ARR2 = RESHAPE((/(I, I=9, 1, -1 /), (/3, 3 /))
FLAG = -99
 
! Data in arrays ARR1, ARR2, and FLAG at this point:
!
! ARR1 = |   1   4   7 |  ARR2 = |   9   6   3 |  FLAG = | -99 -99 -99 |
!        |   2   5   8 |         |   8   5   2 |         | -99 -99 -99 |
!        |   3   6   9 |         |   7   4   1 |         | -99 -99 -99 |
 
WHERE (ARR1 > ARR2)
  FLAG = 1
ELSEWHERE (ARR1 == ARR2)
  FLAG = 0
ELSEWHERE
  FLAG = -1
END WHERE
 
! Data in arrays ARR1, ARR2, and FLAG at this point:
!
! ARR1 = |   1   4   7 |  ARR2 = |   9   6   3 |  FLAG = | -1  -1   1 |
!        |   2   5   8 |         |   8   5   2 |         | -1   0   1 |
!        |   3   6   9 |         |   7   4   1 |         | -1   1   1 |

関連情報


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]