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') STOP 1
20 if (res
/= '00030') STOP 2
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
)) STOP 3
30 if (res
/= maxval(b
, smask
)) STOP 4
32 if (all_zero
/= maxval(b
, smask
)) STOP 5
35 write (unit
=res
,fmt
='(I5.5)') maxval(v
,mask
)
36 if (res
/= maxval(b
, mask
)) STOP 6
38 if (maxval(b
, mask
) /= all_zero
) STOP 7
39 allocate (empty(0:3,0))
41 if (res
/= all_zero
) STOP 8