MAXVAL
copyright

green dotMAXVAL

書式 MAXVAL(ARRAY[,DIM][,MASK])
機能 MAXVALはDIM番目の次元についてMASK中の真である要素に 対応したARRAYの要素の最大値を求める。
MINVALは同様に最小値を求める。
(1)ARRAYの大きさが0であるとき、ARRAYの型、および種別型パラメタの 数体系に対してコンパイラが定義している以下の値とする。
  MAXVAL:絶対値が最も大きい負の値
  MINVAL:正の最大値
(2)MAXVAL(ARRAY,MASK=mask)の結果の値は、mask中の真である要素と 対応しているARRAYの要素の最大値とする。ただし、真である要素が ないときはARRAYの型、および種別型パラメタの数体系に対して コンパイラが定義している以下の値とする。 MINVALも同様に最小値とする。
  MAXVAL:絶対値が最も大きい負の値
  MINVAL:正の最大値
(3)ARRAYの次元数が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)])とする。
nはARRAYの次元数とする。MINVALも同様に最小値とする。
引数
ARRAY :整数型,実数型配列
DIM
(省略可能)
:整数型スカラ(1≦DIM≦n)
MASK
(省略可能)
:論理型でARRAYと同じ形状
戻り値 型、種別型パラメタは引数ARRAYと同じである。DIMが省略されているかまたは ARRAYの次元数が1であるとき戻り値はスカラである。
それ以外は、n-1次元の配列で、その形状は(d1,d2, …,dDIM-1,dDIM+1,…,dn)とする。
ここで(d1,d2,…,dn)は、MASKの形状とする。

green dotサンプルプログラム

整数-3,9,-5,1,-9,6の最大値と最小値を求める。
    INTEGER,DIMENSION(6) :: x
    LOGICAL,DIMENSION(6) :: m
    x=(/-3, 9, -5, 1, -9, 6/)
    WRITE(*,*) MAXVAL(x),MINVAL(x)
    m=(x<0)                        ! 配列xの値が負か?
    WRITE(*,*) MAXVAL(x,MASK=m)    ! 配列要素中の負の最大値

実行例
9 -9   -3
line-end