2 ! Check that simplification of minloc works
6 real, dimension(2), parameter :: a
= [1.0, 0.0]
7 character(len
=3), dimension(3), parameter :: c
= [ "fgh", "asd", "jkl" ]
8 integer, parameter :: b
= minloc(a
,dim
=1)
9 integer, parameter :: b2
= minloc(a
,dim
=1,mask
=[.false
.,.false
.])
10 integer, parameter :: b3
= minloc(c
,dim
=1)
11 integer, parameter :: b4
= minloc(c
,dim
=1,mask
=[c
>"bbb"])
12 integer, parameter,dimension(2,2) :: i1
= reshape([4,3,2,5],shape(i1
))
13 integer, parameter, dimension(2) :: b5
= minloc(i1
)
14 integer, parameter, dimension(2) :: b6
= minloc(i1
,mask
=i1
>7)
15 integer, parameter, dimension(2) :: b7
= minloc(i1
, mask
=i1
>2)
16 integer, parameter, dimension(2) :: b8
= minloc(i1
, mask
=.true
.)
17 integer, parameter, dimension(2) :: b9
= minloc(i1
, mask
=.false
.)
18 integer, parameter, dimension(2,3) :: i2
= &
19 reshape([2, -1, -3, 4, -5, 6], shape(i2
))
20 integer, parameter, dimension(3) :: b10
= minloc(i2
, dim
=1)
21 integer, parameter, dimension(2) :: b11
= minloc(i2
, dim
=2)
22 integer, parameter, dimension(3) :: b12
= minloc(i2
,dim
=1,mask
=i2
>3)
23 integer, parameter, dimension(2) :: b13
= minloc(i2
,dim
=2, mask
=i2
<-10)
28 if (any(b5
/= [1, 2])) STOP 5
29 if (any(b6
/= [0, 0])) STOP 6
30 if (any(b7
/= [2, 1])) STOP 7
31 if (any(b8
/= [1, 2])) STOP 8
32 if (any(b9
/= [0, 0])) STOP 9
34 if (any(b10
/= minloc(i2
,dim
=d
))) STOP 10
36 if (any(b11
/= minloc(i2
,dim
=2))) STOP 11
38 if (any(b12
/= minloc(i2
, dim
=d
,mask
=i2
>3))) STOP 12
39 if (any(b13
/= 0)) STOP 13