WHERE文
  ELSEWHERE文
  END WHERE文
copyright

green dotWHERE文

WHERE文は、配列の要素である条件を満たすものに対して演算を施す場合に使う。

  WHERE (論理配列式)配列変数 = 配列式

[例]
配列aの中で0でないものを10で割る。

    WHERE (a /= 0) a=a/10.0

green dot ELSEWHERE文,END WHERE文

WHERE文の論理配列式の値が真の値に対して、配列代入文1を実行し、 偽の値に対して、配列代入文2を実行する。

  WHERE (論理配列式)
    配列代入文1
  ELSEWHERE
    配列代入文2
  END WHERE

[例]
配列xの中で0以上のもの(1.0,2.0,3.0)は、SQRT(x)を計算し、 配列yの同じ要素の場所に入れ、0より小さいもの(-1.5,-5.0)は、 COS(x)を計算し、配列yの同じ要素の場所に入れる。

    REAL,DIMENSION(5) :: x=(/1.0,-1.5,2.0,3.0,-5.0/)
    REAL,DIMENSION(5) :: y
    INTRINSIC SQRT,COS
    WHERE (x <= 0)
       y=SQRT(x)
    ELSEWHERE
       y=COS(x) 
    END WHERE
line-end