Remove Cell Broadband Engine SPU targets
[gcc.git] / gcc / testsuite / gfortran.dg / maxlocval_2.f90
1 ! { dg-do run }
2 ! { dg-add-options ieee }
3 real :: a(3), nan, minf, pinf
4 real, allocatable :: c(:)
5 logical :: l
6 logical :: l2(3)
7
8 nan = 0.0
9 minf = 0.0
10 pinf = 0.0
11 nan = 0.0/nan
12 minf = -1.0/minf
13 pinf = 1.0/pinf
14
15 allocate (c(3))
16 a(:) = nan
17 if (maxloc (a, dim = 1).ne.1) STOP 1
18 if (.not.isnan(maxval (a, dim = 1))) STOP 2
19 a(:) = minf
20 if (maxloc (a, dim = 1).ne.1) STOP 3
21 if (maxval (a, dim = 1).ne.minf) STOP 4
22 a(1:2) = nan
23 if (maxloc (a, dim = 1).ne.3) STOP 5
24 if (maxval (a, dim = 1).ne.minf) STOP 6
25 a(2) = 1.0
26 if (maxloc (a, dim = 1).ne.2) STOP 7
27 if (maxval (a, dim = 1).ne.1) STOP 8
28 a(2) = pinf
29 if (maxloc (a, dim = 1).ne.2) STOP 9
30 if (maxval (a, dim = 1).ne.pinf) STOP 10
31 c(:) = nan
32 if (maxloc (c, dim = 1).ne.1) STOP 11
33 if (.not.isnan(maxval (c, dim = 1))) STOP 12
34 c(:) = minf
35 if (maxloc (c, dim = 1).ne.1) STOP 13
36 if (maxval (c, dim = 1).ne.minf) STOP 14
37 c(1:2) = nan
38 if (maxloc (c, dim = 1).ne.3) STOP 15
39 if (maxval (c, dim = 1).ne.minf) STOP 16
40 c(2) = 1.0
41 if (maxloc (c, dim = 1).ne.2) STOP 17
42 if (maxval (c, dim = 1).ne.1) STOP 18
43 c(2) = pinf
44 if (maxloc (c, dim = 1).ne.2) STOP 19
45 if (maxval (c, dim = 1).ne.pinf) STOP 20
46 l = .false.
47 l2(:) = .false.
48 a(:) = nan
49 if (maxloc (a, dim = 1, mask = l).ne.0) STOP 21
50 if (maxval (a, dim = 1, mask = l).ne.-huge(minf)) STOP 22
51 if (maxloc (a, dim = 1, mask = l2).ne.0) STOP 23
52 if (maxval (a, dim = 1, mask = l2).ne.-huge(minf)) STOP 24
53 a(:) = minf
54 if (maxloc (a, dim = 1, mask = l).ne.0) STOP 25
55 if (maxval (a, dim = 1, mask = l).ne.-huge(minf)) STOP 26
56 if (maxloc (a, dim = 1, mask = l2).ne.0) STOP 27
57 if (maxval (a, dim = 1, mask = l2).ne.-huge(minf)) STOP 28
58 a(1:2) = nan
59 if (maxloc (a, dim = 1, mask = l).ne.0) STOP 29
60 if (maxval (a, dim = 1, mask = l).ne.-huge(minf)) STOP 30
61 if (maxloc (a, dim = 1, mask = l2).ne.0) STOP 31
62 if (maxval (a, dim = 1, mask = l2).ne.-huge(minf)) STOP 32
63 a(2) = 1.0
64 if (maxloc (a, dim = 1, mask = l).ne.0) STOP 33
65 if (maxval (a, dim = 1, mask = l).ne.-huge(minf)) STOP 34
66 if (maxloc (a, dim = 1, mask = l2).ne.0) STOP 35
67 if (maxval (a, dim = 1, mask = l2).ne.-huge(minf)) STOP 36
68 a(2) = pinf
69 if (maxloc (a, dim = 1, mask = l).ne.0) STOP 37
70 if (maxval (a, dim = 1, mask = l).ne.-huge(minf)) STOP 38
71 if (maxloc (a, dim = 1, mask = l2).ne.0) STOP 39
72 if (maxval (a, dim = 1, mask = l2).ne.-huge(minf)) STOP 40
73 c(:) = nan
74 if (maxloc (c, dim = 1, mask = l).ne.0) STOP 41
75 if (maxval (c, dim = 1, mask = l).ne.-huge(minf)) STOP 42
76 if (maxloc (c, dim = 1, mask = l2).ne.0) STOP 43
77 if (maxval (c, dim = 1, mask = l2).ne.-huge(minf)) STOP 44
78 c(:) = minf
79 if (maxloc (c, dim = 1, mask = l).ne.0) STOP 45
80 if (maxval (c, dim = 1, mask = l).ne.-huge(minf)) STOP 46
81 if (maxloc (c, dim = 1, mask = l2).ne.0) STOP 47
82 if (maxval (c, dim = 1, mask = l2).ne.-huge(minf)) STOP 48
83 c(1:2) = nan
84 if (maxloc (c, dim = 1, mask = l).ne.0) STOP 49
85 if (maxval (c, dim = 1, mask = l).ne.-huge(minf)) STOP 50
86 if (maxloc (c, dim = 1, mask = l2).ne.0) STOP 51
87 if (maxval (c, dim = 1, mask = l2).ne.-huge(minf)) STOP 52
88 c(2) = 1.0
89 if (maxloc (c, dim = 1, mask = l).ne.0) STOP 53
90 if (maxval (c, dim = 1, mask = l).ne.-huge(minf)) STOP 54
91 if (maxloc (c, dim = 1, mask = l2).ne.0) STOP 55
92 if (maxval (c, dim = 1, mask = l2).ne.-huge(minf)) STOP 56
93 c(2) = pinf
94 if (maxloc (c, dim = 1, mask = l).ne.0) STOP 57
95 if (maxval (c, dim = 1, mask = l).ne.-huge(minf)) STOP 58
96 if (maxloc (c, dim = 1, mask = l2).ne.0) STOP 59
97 if (maxval (c, dim = 1, mask = l2).ne.-huge(minf)) STOP 60
98 l = .true.
99 l2(:) = .true.
100 a(:) = nan
101 if (maxloc (a, dim = 1, mask = l).ne.1) STOP 61
102 if (.not.isnan(maxval (a, dim = 1, mask = l))) STOP 62
103 if (maxloc (a, dim = 1, mask = l2).ne.1) STOP 63
104 if (.not.isnan(maxval (a, dim = 1, mask = l2))) STOP 64
105 a(:) = minf
106 if (maxloc (a, dim = 1, mask = l).ne.1) STOP 65
107 if (maxval (a, dim = 1, mask = l).ne.minf) STOP 66
108 if (maxloc (a, dim = 1, mask = l2).ne.1) STOP 67
109 if (maxval (a, dim = 1, mask = l2).ne.minf) STOP 68
110 a(1:2) = nan
111 if (maxloc (a, dim = 1, mask = l).ne.3) STOP 69
112 if (maxval (a, dim = 1, mask = l).ne.minf) STOP 70
113 if (maxloc (a, dim = 1, mask = l2).ne.3) STOP 71
114 if (maxval (a, dim = 1, mask = l2).ne.minf) STOP 72
115 a(2) = 1.0
116 if (maxloc (a, dim = 1, mask = l).ne.2) STOP 73
117 if (maxval (a, dim = 1, mask = l).ne.1) STOP 74
118 if (maxloc (a, dim = 1, mask = l2).ne.2) STOP 75
119 if (maxval (a, dim = 1, mask = l2).ne.1) STOP 76
120 a(2) = pinf
121 if (maxloc (a, dim = 1, mask = l).ne.2) STOP 77
122 if (maxval (a, dim = 1, mask = l).ne.pinf) STOP 78
123 if (maxloc (a, dim = 1, mask = l2).ne.2) STOP 79
124 if (maxval (a, dim = 1, mask = l2).ne.pinf) STOP 80
125 c(:) = nan
126 if (maxloc (c, dim = 1, mask = l).ne.1) STOP 81
127 if (.not.isnan(maxval (c, dim = 1, mask = l))) STOP 82
128 if (maxloc (c, dim = 1, mask = l2).ne.1) STOP 83
129 if (.not.isnan(maxval (c, dim = 1, mask = l2))) STOP 84
130 c(:) = minf
131 if (maxloc (c, dim = 1, mask = l).ne.1) STOP 85
132 if (maxval (c, dim = 1, mask = l).ne.minf) STOP 86
133 if (maxloc (c, dim = 1, mask = l2).ne.1) STOP 87
134 if (maxval (c, dim = 1, mask = l2).ne.minf) STOP 88
135 c(1:2) = nan
136 if (maxloc (c, dim = 1, mask = l).ne.3) STOP 89
137 if (maxval (c, dim = 1, mask = l).ne.minf) STOP 90
138 if (maxloc (c, dim = 1, mask = l2).ne.3) STOP 91
139 if (maxval (c, dim = 1, mask = l2).ne.minf) STOP 92
140 c(2) = 1.0
141 if (maxloc (c, dim = 1, mask = l).ne.2) STOP 93
142 if (maxval (c, dim = 1, mask = l).ne.1) STOP 94
143 if (maxloc (c, dim = 1, mask = l2).ne.2) STOP 95
144 if (maxval (c, dim = 1, mask = l2).ne.1) STOP 96
145 c(2) = pinf
146 if (maxloc (c, dim = 1, mask = l).ne.2) STOP 97
147 if (maxval (c, dim = 1, mask = l).ne.pinf) STOP 98
148 if (maxloc (c, dim = 1, mask = l2).ne.2) STOP 99
149 if (maxval (c, dim = 1, mask = l2).ne.pinf) STOP 100
150 deallocate (c)
151 allocate (c(-2:-3))
152 if (maxloc (c, dim = 1).ne.0) STOP 101
153 if (maxval (c, dim = 1).ne.-huge(minf)) STOP 102
154 end