4 integer, parameter :: n
=5, m
=3
5 character(len
=5), dimension(n
) :: a
6 character(len
=5), dimension(n
,m
) :: b
7 character(len
=5) :: res
8 integer, dimension(n
,m
) :: v
9 real, dimension(n
,m
) :: r
11 logical, dimension(n
,m
) :: mask
12 character(len
=5), dimension(:,:), allocatable
:: empty
13 character(len
=5) , parameter :: all_zero
= achar(0) // achar(0) // achar(0) // achar(0) // achar(0)
16 write (unit
=a
,fmt
='(I5.5)') (21-i
*i
+6*i
,i
=1,n
)
18 if (res
/= '00030') call abort
20 if (res
/= '00030') call abort
24 if (count (v
>20) > 1) exit
26 write (unit
=b
,fmt
='(I5.5)') v
27 write (unit
=res
,fmt
='(I5.5)') maxval(v
)
28 if (res
/= maxval(b
)) call abort
30 if (res
/= maxval(b
, smask
)) call abort
32 if (all_zero
/= maxval(b
, smask
)) call abort
35 write (unit
=res
,fmt
='(I5.5)') maxval(v
,mask
)
36 if (res
/= maxval(b
, mask
)) call abort
38 if (maxval(b
, mask
) /= all_zero
) call abort
39 allocate (empty(0:3,0))
41 if (res
/= all_zero
) call abort