]>
Commit | Line | Data |
---|---|---|
80927a56 | 1 | ! { dg-do run } |
8ceabd25 | 2 | ! { dg-add-options ieee } |
80927a56 JJ |
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 | |
7d6ce202 TK |
17 | if (maxloc (a, dim = 1).ne.1) STOP 1 |
18 | if (.not.isnan(maxval (a, dim = 1))) STOP 2 | |
80927a56 | 19 | a(:) = minf |
7d6ce202 TK |
20 | if (maxloc (a, dim = 1).ne.1) STOP 3 |
21 | if (maxval (a, dim = 1).ne.minf) STOP 4 | |
80927a56 | 22 | a(1:2) = nan |
7d6ce202 TK |
23 | if (maxloc (a, dim = 1).ne.3) STOP 5 |
24 | if (maxval (a, dim = 1).ne.minf) STOP 6 | |
80927a56 | 25 | a(2) = 1.0 |
7d6ce202 TK |
26 | if (maxloc (a, dim = 1).ne.2) STOP 7 |
27 | if (maxval (a, dim = 1).ne.1) STOP 8 | |
80927a56 | 28 | a(2) = pinf |
7d6ce202 TK |
29 | if (maxloc (a, dim = 1).ne.2) STOP 9 |
30 | if (maxval (a, dim = 1).ne.pinf) STOP 10 | |
80927a56 | 31 | c(:) = nan |
7d6ce202 TK |
32 | if (maxloc (c, dim = 1).ne.1) STOP 11 |
33 | if (.not.isnan(maxval (c, dim = 1))) STOP 12 | |
80927a56 | 34 | c(:) = minf |
7d6ce202 TK |
35 | if (maxloc (c, dim = 1).ne.1) STOP 13 |
36 | if (maxval (c, dim = 1).ne.minf) STOP 14 | |
80927a56 | 37 | c(1:2) = nan |
7d6ce202 TK |
38 | if (maxloc (c, dim = 1).ne.3) STOP 15 |
39 | if (maxval (c, dim = 1).ne.minf) STOP 16 | |
80927a56 | 40 | c(2) = 1.0 |
7d6ce202 TK |
41 | if (maxloc (c, dim = 1).ne.2) STOP 17 |
42 | if (maxval (c, dim = 1).ne.1) STOP 18 | |
80927a56 | 43 | c(2) = pinf |
7d6ce202 TK |
44 | if (maxloc (c, dim = 1).ne.2) STOP 19 |
45 | if (maxval (c, dim = 1).ne.pinf) STOP 20 | |
80927a56 JJ |
46 | l = .false. |
47 | l2(:) = .false. | |
48 | a(:) = nan | |
7d6ce202 TK |
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 | |
80927a56 | 53 | a(:) = minf |
7d6ce202 TK |
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 | |
80927a56 | 58 | a(1:2) = nan |
7d6ce202 TK |
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 | |
80927a56 | 63 | a(2) = 1.0 |
7d6ce202 TK |
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 | |
80927a56 | 68 | a(2) = pinf |
7d6ce202 TK |
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 | |
80927a56 | 73 | c(:) = nan |
7d6ce202 TK |
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 | |
80927a56 | 78 | c(:) = minf |
7d6ce202 TK |
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 | |
80927a56 | 83 | c(1:2) = nan |
7d6ce202 TK |
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 | |
80927a56 | 88 | c(2) = 1.0 |
7d6ce202 TK |
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 | |
80927a56 | 93 | c(2) = pinf |
7d6ce202 TK |
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 | |
80927a56 JJ |
98 | l = .true. |
99 | l2(:) = .true. | |
100 | a(:) = nan | |
7d6ce202 TK |
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 | |
80927a56 | 105 | a(:) = minf |
7d6ce202 TK |
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 | |
80927a56 | 110 | a(1:2) = nan |
7d6ce202 TK |
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 | |
80927a56 | 115 | a(2) = 1.0 |
7d6ce202 TK |
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 | |
80927a56 | 120 | a(2) = pinf |
7d6ce202 TK |
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 | |
80927a56 | 125 | c(:) = nan |
7d6ce202 TK |
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 | |
80927a56 | 130 | c(:) = minf |
7d6ce202 TK |
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 | |
80927a56 | 135 | c(1:2) = nan |
7d6ce202 TK |
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 | |
80927a56 | 140 | c(2) = 1.0 |
7d6ce202 TK |
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 | |
80927a56 | 145 | c(2) = pinf |
7d6ce202 TK |
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 | |
80927a56 JJ |
150 | deallocate (c) |
151 | allocate (c(-2:-3)) | |
7d6ce202 TK |
152 | if (maxloc (c, dim = 1).ne.0) STOP 101 |
153 | if (maxval (c, dim = 1).ne.-huge(minf)) STOP 102 | |
80927a56 | 154 | end |