2 ! { dg-add-options ieee }
3 ! { dg-skip-if "NaN not supported" { spu-*-* } }
4 real :: a(3,3), b(3), nan
, minf
, pinf
, h
6 logical :: l3(3,3), l4(3,3), l5(3,3)
23 a
= reshape ((/ nan
, nan
, nan
, minf
, minf
, minf
, minf
, pinf
, minf
/), (/ 3, 3 /))
24 if (maxval (a
).ne
.pinf
) STOP 1
25 if (any (maxloc (a
).ne
.(/ 2, 3 /))) STOP 2
26 b
= maxval (a
, dim
= 1)
27 if (.not
.isnan(b(1))) STOP 3
29 if (any (b
.ne
.(/ 0.0, minf
, pinf
/))) STOP 4
30 if (any (maxloc (a
, dim
= 1).ne
.(/ 1, 1, 2 /))) STOP 5
31 b
= maxval (a
, dim
= 2)
32 if (any (b
.ne
.(/ minf
, pinf
, minf
/))) STOP 6
33 if (any (maxloc (a
, dim
= 2).ne
.(/ 2, 3, 2 /))) STOP 7
34 if (maxval (a
, mask
= l
).ne
.h
) STOP 8
35 if (any (maxloc (a
, mask
= l
).ne
.(/ 0, 0 /))) STOP 9
36 b
= maxval (a
, dim
= 1, mask
= l
)
37 if (any (b
.ne
.(/ h
, h
, h
/))) STOP 10
38 if (any (maxloc (a
, dim
= 1, mask
= l
).ne
.(/ 0, 0, 0 /))) STOP 11
39 b
= maxval (a
, dim
= 2, mask
= l
)
40 if (any (b
.ne
.(/ h
, h
, h
/))) STOP 12
41 if (any (maxloc (a
, dim
= 2, mask
= l
).ne
.(/ 0, 0, 0 /))) STOP 13
42 if (maxval (a
, mask
= l3
).ne
.h
) STOP 14
43 if (any (maxloc (a
, mask
= l3
).ne
.(/ 0, 0 /))) STOP 15
44 b
= maxval (a
, dim
= 1, mask
= l3
)
45 if (any (b
.ne
.(/ h
, h
, h
/))) STOP 16
46 if (any (maxloc (a
, dim
= 1, mask
= l3
).ne
.(/ 0, 0, 0 /))) STOP 17
47 b
= maxval (a
, dim
= 2, mask
= l3
)
48 if (any (b
.ne
.(/ h
, h
, h
/))) STOP 18
49 if (any (maxloc (a
, dim
= 2, mask
= l3
).ne
.(/ 0, 0, 0 /))) STOP 19
50 if (maxval (a
, mask
= l2
).ne
.pinf
) STOP 20
51 if (maxval (a
, mask
= l4
).ne
.pinf
) STOP 21
52 if (any (maxloc (a
, mask
= l2
).ne
.(/ 2, 3 /))) STOP 22
53 if (any (maxloc (a
, mask
= l4
).ne
.(/ 2, 3 /))) STOP 23
54 b
= maxval (a
, dim
= 1, mask
= l2
)
55 if (.not
.isnan(b(1))) STOP 24
57 if (any (b
.ne
.(/ 0.0, minf
, pinf
/))) STOP 25
58 if (any (maxloc (a
, dim
= 1, mask
= l2
).ne
.(/ 1, 1, 2 /))) STOP 26
59 b
= maxval (a
, dim
= 2, mask
= l2
)
60 if (any (b
.ne
.(/ minf
, pinf
, minf
/))) STOP 27
61 if (any (maxloc (a
, dim
= 2, mask
= l2
).ne
.(/ 2, 3, 2 /))) STOP 28
62 b
= maxval (a
, dim
= 1, mask
= l4
)
63 if (.not
.isnan(b(1))) STOP 29
65 if (any (b
.ne
.(/ 0.0, minf
, pinf
/))) STOP 30
66 if (any (maxloc (a
, dim
= 1, mask
= l2
).ne
.(/ 1, 1, 2 /))) STOP 31
67 b
= maxval (a
, dim
= 2, mask
= l4
)
68 if (any (b
.ne
.(/ minf
, pinf
, minf
/))) STOP 32
69 if (any (maxloc (a
, dim
= 2, mask
= l2
).ne
.(/ 2, 3, 2 /))) STOP 33
70 if (maxval (a
, mask
= l5
).ne
.minf
) STOP 34
71 if (any (maxloc (a
, mask
= l5
).ne
.(/ 2, 2 /))) STOP 35
72 b
= maxval (a
, dim
= 1, mask
= l5
)
73 if (.not
.isnan(b(1))) STOP 36
75 if (any (b
.ne
.(/ 0.0, minf
, minf
/))) STOP 37
76 if (any (maxloc (a
, dim
= 1, mask
= l5
).ne
.(/ 2, 2, 1 /))) STOP 38
77 b
= maxval (a
, dim
= 2, mask
= l5
)
78 if (any (b
.ne
.(/ minf
, minf
, minf
/))) STOP 39
79 if (any (maxloc (a
, dim
= 2, mask
= l5
).ne
.(/ 3, 2, 2 /))) STOP 40
81 if (.not
.isnan(maxval (a
))) STOP 41
82 if (maxval (a
, mask
= l
).ne
.h
) STOP 42
83 if (.not
.isnan(maxval (a
, mask
= l2
))) STOP 43
84 if (maxval (a
, mask
= l3
).ne
.h
) STOP 44
85 if (.not
.isnan(maxval (a
, mask
= l4
))) STOP 45
86 if (.not
.isnan(maxval (a
, mask
= l5
))) STOP 46
87 if (any (maxloc (a
).ne
.(/ 1, 1 /))) STOP 47
88 if (any (maxloc (a
, mask
= l
).ne
.(/ 0, 0 /))) STOP 48
89 if (any (maxloc (a
, mask
= l2
).ne
.(/ 1, 1 /))) STOP 49
90 if (any (maxloc (a
, mask
= l3
).ne
.(/ 0, 0 /))) STOP 50
91 if (any (maxloc (a
, mask
= l4
).ne
.(/ 1, 1 /))) STOP 51
92 if (any (maxloc (a
, mask
= l5
).ne
.(/ 2, 1 /))) STOP 52
94 if (maxval (a
).ne
.minf
) STOP 53
95 if (maxval (a
, mask
= l
).ne
.h
) STOP 54
96 if (maxval (a
, mask
= l2
).ne
.minf
) STOP 55
97 if (maxval (a
, mask
= l3
).ne
.h
) STOP 56
98 if (maxval (a
, mask
= l4
).ne
.minf
) STOP 57
99 if (maxval (a
, mask
= l5
).ne
.minf
) STOP 58
100 if (any (maxloc (a
).ne
.(/ 1, 1 /))) STOP 59
101 if (any (maxloc (a
, mask
= l
).ne
.(/ 0, 0 /))) STOP 60
102 if (any (maxloc (a
, mask
= l2
).ne
.(/ 1, 1 /))) STOP 61
103 if (any (maxloc (a
, mask
= l3
).ne
.(/ 0, 0 /))) STOP 62
104 if (any (maxloc (a
, mask
= l4
).ne
.(/ 1, 1 /))) STOP 63
105 if (any (maxloc (a
, mask
= l5
).ne
.(/ 2, 1 /))) STOP 64
108 if (maxval (a
).ne
.minf
) STOP 65
109 if (maxval (a
, mask
= l
).ne
.h
) STOP 66
110 if (maxval (a
, mask
= l2
).ne
.minf
) STOP 67
111 if (maxval (a
, mask
= l3
).ne
.h
) STOP 68
112 if (maxval (a
, mask
= l4
).ne
.minf
) STOP 69
113 if (maxval (a
, mask
= l5
).ne
.minf
) STOP 70
114 if (any (maxloc (a
).ne
.(/ 1, 3 /))) STOP 71
115 if (any (maxloc (a
, mask
= l
).ne
.(/ 0, 0 /))) STOP 72
116 if (any (maxloc (a
, mask
= l2
).ne
.(/ 1, 3 /))) STOP 73
117 if (any (maxloc (a
, mask
= l3
).ne
.(/ 0, 0 /))) STOP 74
118 if (any (maxloc (a
, mask
= l4
).ne
.(/ 1, 3 /))) STOP 75
119 if (any (maxloc (a
, mask
= l5
).ne
.(/ 1, 3 /))) STOP 76