annotate gcc/testsuite/gfortran.dg/minmaxloc_13.f90 @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 ! { dg-do run }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 ! Test run-time of MINLOC and MAXLOC with BACK
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 program main
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 implicit none
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 integer:: i1(6)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 integer:: d1
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 integer:: d2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 integer:: d3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 integer:: d4
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 integer:: i2(4,4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 integer:: d5(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 integer:: d6(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 integer:: d7(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 integer:: d25(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 integer:: d26(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 integer:: i3(4,4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 integer:: d8(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 integer:: i4(4,4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 integer:: d9(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 integer:: d10(4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 character(len=2) :: c0(9)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 character(len=2) :: c1(3,3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 integer:: d11(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 integer:: d12(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 integer:: d13(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 integer:: d14(2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 integer:: d15(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 integer:: d16(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 integer:: d17(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 integer:: d18(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 integer:: d19
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 integer:: d20
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 integer:: d21
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 integer:: d22
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 integer:: d23(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 integer:: d24(3)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 i1 = [ 1,2,3,1,2,3];
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 d1 = minloc(i1,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 d2 = minloc(i1,dim=1,back=.false.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 d3 = maxloc(i1,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 d4 = maxloc(i1,dim=1,back=.false.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 i2 = reshape([1,2,1,2,2,3,3,2,3,4,4,3,4,5,5,4], &
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 [4,4]);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 d5 = minloc(i2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 d6 = maxloc(i2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 d7= minloc(i2,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 d25 = minloc(i2,dim=2,mask=i2<2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 d26 = maxloc(i2,dim=1,mask=i2<3,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53 i3 = transpose(i2)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 d8 = minloc(i3,dim=2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 i4 = reshape([1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1],&
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 ([4,4]))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 d9 = minloc(i4,dim=1,mask=i4>1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 d10 = maxloc(i4,dim=1,mask=i4>1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 c0 = ["aa", "bb", "aa", &
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 "cc", "bb", "cc", "aa", "bb", "aa"]
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 c1 = reshape(c0, [3,3]);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63 d11 = minloc(c1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 d12 = maxloc(c1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 d13 = minloc(c1,mask=c1>"aa",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 d14 = maxloc(c1,mask=c1<"cc",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 d15 = minloc(c1,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 d16 = maxloc(c1,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
69 d17 = minloc(c1,dim=2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
70 d18 = maxloc(c1,dim=2,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
71 d19 = minloc(c0,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 d20 = maxloc(c0,dim=1,back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73 d21 = minloc(c0,dim=1,mask=c0>"aa",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 d22 = maxloc(c0,dim=1,mask=c0<"cc",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75 d23 = minloc(c1,dim=2,mask=c1>"aa",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76 d24 = maxloc(c1,dim=2,mask=c1<"cc",back=.true.)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78 if (d1 /= 4) STOP 2626
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79 if (d2 /= 1) STOP 2627
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80 if (d3 /= 6) STOP 2628
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81 if (d4 /= 3) STOP 2629
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
82 if (any (d5 /= [3,1])) STOP 2630
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
83 if (any (d6 /= [3,4])) STOP 2631
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
84 if (any (d7 /= [3,4,4,4])) STOP 2632
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
85 if (any (d8 /= d7)) STOP 2633
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
86 if (any (d9 /= [4,3,4,3])) STOP 2634
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
87 if (any (d10 /= d9)) STOP 2635
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
88 if (any(d11 /= [3,3])) STOP 2636
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
89 if (any(d12 /= [3,2])) STOP 2637
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
90 if (any(d13 /= [2,3])) STOP 2638
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
91 if (any(d14 /= [2,3])) STOP 2639
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
92 if (any(d15 /= [3,2,3])) STOP 2640
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
93 if (any(d16 /= [2,3,2])) STOP 2641
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
94 if (any(d17 /= [3,3,3])) STOP 2642
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
95 if (any(d18 /= [2,3,2])) STOP 2643
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
96 if (d19 /= 9) STOP 2644
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
97 if (d20 /= 6) STOP 2645
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
98 if (d21 /= 8 .or. d22 /= 8) STOP 2646
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
99 if (any(d23 /= [2,3,2])) STOP 2647
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
100 if (any(d24 /= 3)) STOP 2648
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
101 if (any(d25 /= [1,0,1,0])) STOP 2649
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
102 if (any(d26 /= [4,4,0,0])) STOP 2650
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
103 end program