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