2 ! Test for run-time simplification of minval
5 integer, dimension(2,3), parameter :: i
= &
6 & reshape([-1,2,-3,5,-7,11], shape(i
))
7 integer, dimension(3), parameter :: im1
= minval(i
,dim
=1)
8 integer, parameter :: im2
= minval(i
,mask
=i
>4)
9 integer, dimension(2), parameter :: im3
= minval(i
,dim
=2)
10 integer, parameter :: im4
= minval(i
, mask
=i
>-1)
11 integer, dimension(3), parameter :: im5
= minval(i
,dim
=1,mask
=i
>4)
12 integer, dimension(2), parameter :: im6
= minval(i
,dim
=2,mask
=i
>4)
14 real, dimension(2,3), parameter :: r
= &
15 & reshape([-1.,2.,-3.,5.,-7.,11.], shape(r
))
16 real, dimension(3), parameter :: rm1
= minval(r
,dim
=1)
17 real, parameter :: rm2
= minval(r
,mask
=r
>4)
18 real, dimension(2), parameter :: rm3
= minval(r
,dim
=2)
19 real, parameter :: rm4
= minval(r
, mask
=r
>-1)
20 real, dimension(3), parameter :: rm5
= minval(r
,dim
=1,mask
=r
>4)
21 real, dimension(2), parameter :: rm6
= minval(r
,dim
=2,mask
=r
>4)
23 character(len
=3), parameter :: maxv
= achar(255) // achar(255) // achar(255)
24 character(len
=3), dimension(2,3), parameter :: c
= &
25 reshape(["asd", "fgh", "qwe", "jkl", "ert", "zui"], shape(c
))
26 character(len
=3), parameter :: cm1
= minval(c
)
27 character(len
=3), dimension(3), parameter :: cm2
= minval(c
,dim
=1)
28 character(len
=3), dimension(2), parameter :: cm3
= minval(c
,dim
=2)
29 character(len
=3), parameter :: cm4
= minval (c
, c
>"g")
30 character(len
=3), dimension(3), parameter :: cm5
= minval(c
,dim
=1,mask
=c
>"g")
32 if (any (im1
/= [ -1, -3, -7])) STOP 1
34 if (any (im3
/= [ -7,2])) STOP 3
36 if (any (im5
/= [huge(im5
), 5, 11])) STOP 5
37 if (any (im6
/= [huge(im6
), 5])) STOP 6
39 if (any (rm1
/= [ -1., -3., -7.])) STOP 7
41 if (any (rm3
/= [ -7.,2.])) STOP 9
43 if (any (rm5
/= [huge(rm5
), 5., 11.])) STOP 11
44 if (any (rm6
/= [huge(rm6
), 5.])) STOP 12
46 if (cm1
/= "asd") STOP 13
47 if (any (cm2
/= ["asd", "jkl", "ert" ])) STOP 14
48 if (any (cm3
/= ["asd", "fgh" ])) STOP 15
49 if (cm4
/= "jkl") STOP 16
50 if (any(cm5
/= [ maxv
, "jkl", "zui" ] )) STOP 17