annotate gcc/testsuite/gfortran.dg/minlocval_4.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do run }
kono
parents:
diff changeset
2 ! { dg-add-options ieee }
kono
parents:
diff changeset
3 ! { dg-skip-if "NaN not supported" { spu-*-* } }
kono
parents:
diff changeset
4 real :: a(3,3), b(3), nan, minf, pinf, h
kono
parents:
diff changeset
5 logical :: l, l2
kono
parents:
diff changeset
6 logical :: l3(3,3), l4(3,3), l5(3,3)
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 nan = 0.0
kono
parents:
diff changeset
9 minf = 0.0
kono
parents:
diff changeset
10 pinf = 0.0
kono
parents:
diff changeset
11 nan = 0.0/nan
kono
parents:
diff changeset
12 minf = -1.0/minf
kono
parents:
diff changeset
13 pinf = 1.0/pinf
kono
parents:
diff changeset
14 h = huge(h)
kono
parents:
diff changeset
15 l = .false.
kono
parents:
diff changeset
16 l2 = .true.
kono
parents:
diff changeset
17 l3 = .false.
kono
parents:
diff changeset
18 l4 = .true.
kono
parents:
diff changeset
19 l5 = .true.
kono
parents:
diff changeset
20 l5(1,1) = .false.
kono
parents:
diff changeset
21 l5(1,2) = .false.
kono
parents:
diff changeset
22 l5(2,3) = .false.
kono
parents:
diff changeset
23 a = reshape ((/ nan, nan, nan, pinf, pinf, pinf, pinf, minf, pinf /), (/ 3, 3 /))
kono
parents:
diff changeset
24 if (minval (a).ne.minf) call abort
kono
parents:
diff changeset
25 if (any (minloc (a).ne.(/ 2, 3 /))) call abort
kono
parents:
diff changeset
26 b = minval (a, dim = 1)
kono
parents:
diff changeset
27 if (.not.isnan(b(1))) call abort
kono
parents:
diff changeset
28 b(1) = 0.0
kono
parents:
diff changeset
29 if (any (b.ne.(/ 0.0, pinf, minf /))) call abort
kono
parents:
diff changeset
30 if (any (minloc (a, dim = 1).ne.(/ 1, 1, 2 /))) call abort
kono
parents:
diff changeset
31 b = minval (a, dim = 2)
kono
parents:
diff changeset
32 if (any (b.ne.(/ pinf, minf, pinf /))) call abort
kono
parents:
diff changeset
33 if (any (minloc (a, dim = 2).ne.(/ 2, 3, 2 /))) call abort
kono
parents:
diff changeset
34 if (minval (a, mask = l).ne.h) call abort
kono
parents:
diff changeset
35 if (any (minloc (a, mask = l).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
36 b = minval (a, dim = 1, mask = l)
kono
parents:
diff changeset
37 if (any (b.ne.(/ h, h, h /))) call abort
kono
parents:
diff changeset
38 if (any (minloc (a, dim = 1, mask = l).ne.(/ 0, 0, 0 /))) call abort
kono
parents:
diff changeset
39 b = minval (a, dim = 2, mask = l)
kono
parents:
diff changeset
40 if (any (b.ne.(/ h, h, h /))) call abort
kono
parents:
diff changeset
41 if (any (minloc (a, dim = 2, mask = l).ne.(/ 0, 0, 0 /))) call abort
kono
parents:
diff changeset
42 if (minval (a, mask = l3).ne.h) call abort
kono
parents:
diff changeset
43 if (any (minloc (a, mask = l3).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
44 b = minval (a, dim = 1, mask = l3)
kono
parents:
diff changeset
45 if (any (b.ne.(/ h, h, h /))) call abort
kono
parents:
diff changeset
46 if (any (minloc (a, dim = 1, mask = l3).ne.(/ 0, 0, 0 /))) call abort
kono
parents:
diff changeset
47 b = minval (a, dim = 2, mask = l3)
kono
parents:
diff changeset
48 if (any (b.ne.(/ h, h, h /))) call abort
kono
parents:
diff changeset
49 if (any (minloc (a, dim = 2, mask = l3).ne.(/ 0, 0, 0 /))) call abort
kono
parents:
diff changeset
50 if (minval (a, mask = l2).ne.minf) call abort
kono
parents:
diff changeset
51 if (minval (a, mask = l4).ne.minf) call abort
kono
parents:
diff changeset
52 if (any (minloc (a, mask = l2).ne.(/ 2, 3 /))) call abort
kono
parents:
diff changeset
53 if (any (minloc (a, mask = l4).ne.(/ 2, 3 /))) call abort
kono
parents:
diff changeset
54 b = minval (a, dim = 1, mask = l2)
kono
parents:
diff changeset
55 if (.not.isnan(b(1))) call abort
kono
parents:
diff changeset
56 b(1) = 0.0
kono
parents:
diff changeset
57 if (any (b.ne.(/ 0.0, pinf, minf /))) call abort
kono
parents:
diff changeset
58 if (any (minloc (a, dim = 1, mask = l2).ne.(/ 1, 1, 2 /))) call abort
kono
parents:
diff changeset
59 b = minval (a, dim = 2, mask = l2)
kono
parents:
diff changeset
60 if (any (b.ne.(/ pinf, minf, pinf /))) call abort
kono
parents:
diff changeset
61 if (any (minloc (a, dim = 2, mask = l2).ne.(/ 2, 3, 2 /))) call abort
kono
parents:
diff changeset
62 b = minval (a, dim = 1, mask = l4)
kono
parents:
diff changeset
63 if (.not.isnan(b(1))) call abort
kono
parents:
diff changeset
64 b(1) = 0.0
kono
parents:
diff changeset
65 if (any (b.ne.(/ 0.0, pinf, minf /))) call abort
kono
parents:
diff changeset
66 if (any (minloc (a, dim = 1, mask = l2).ne.(/ 1, 1, 2 /))) call abort
kono
parents:
diff changeset
67 b = minval (a, dim = 2, mask = l4)
kono
parents:
diff changeset
68 if (any (b.ne.(/ pinf, minf, pinf /))) call abort
kono
parents:
diff changeset
69 if (any (minloc (a, dim = 2, mask = l2).ne.(/ 2, 3, 2 /))) call abort
kono
parents:
diff changeset
70 if (minval (a, mask = l5).ne.pinf) call abort
kono
parents:
diff changeset
71 if (any (minloc (a, mask = l5).ne.(/ 2, 2 /))) call abort
kono
parents:
diff changeset
72 b = minval (a, dim = 1, mask = l5)
kono
parents:
diff changeset
73 if (.not.isnan(b(1))) call abort
kono
parents:
diff changeset
74 b(1) = 0.0
kono
parents:
diff changeset
75 if (any (b.ne.(/ 0.0, pinf, pinf /))) call abort
kono
parents:
diff changeset
76 if (any (minloc (a, dim = 1, mask = l5).ne.(/ 2, 2, 1 /))) call abort
kono
parents:
diff changeset
77 b = minval (a, dim = 2, mask = l5)
kono
parents:
diff changeset
78 if (any (b.ne.(/ pinf, pinf, pinf /))) call abort
kono
parents:
diff changeset
79 if (any (minloc (a, dim = 2, mask = l5).ne.(/ 3, 2, 2 /))) call abort
kono
parents:
diff changeset
80 a = nan
kono
parents:
diff changeset
81 if (.not.isnan(minval (a))) call abort
kono
parents:
diff changeset
82 if (minval (a, mask = l).ne.h) call abort
kono
parents:
diff changeset
83 if (.not.isnan(minval (a, mask = l2))) call abort
kono
parents:
diff changeset
84 if (minval (a, mask = l3).ne.h) call abort
kono
parents:
diff changeset
85 if (.not.isnan(minval (a, mask = l4))) call abort
kono
parents:
diff changeset
86 if (.not.isnan(minval (a, mask = l5))) call abort
kono
parents:
diff changeset
87 if (any (minloc (a).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
88 if (any (minloc (a, mask = l).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
89 if (any (minloc (a, mask = l2).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
90 if (any (minloc (a, mask = l3).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
91 if (any (minloc (a, mask = l4).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
92 if (any (minloc (a, mask = l5).ne.(/ 2, 1 /))) call abort
kono
parents:
diff changeset
93 a = pinf
kono
parents:
diff changeset
94 if (minval (a).ne.pinf) call abort
kono
parents:
diff changeset
95 if (minval (a, mask = l).ne.h) call abort
kono
parents:
diff changeset
96 if (minval (a, mask = l2).ne.pinf) call abort
kono
parents:
diff changeset
97 if (minval (a, mask = l3).ne.h) call abort
kono
parents:
diff changeset
98 if (minval (a, mask = l4).ne.pinf) call abort
kono
parents:
diff changeset
99 if (minval (a, mask = l5).ne.pinf) call abort
kono
parents:
diff changeset
100 if (any (minloc (a).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
101 if (any (minloc (a, mask = l).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
102 if (any (minloc (a, mask = l2).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
103 if (any (minloc (a, mask = l3).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
104 if (any (minloc (a, mask = l4).ne.(/ 1, 1 /))) call abort
kono
parents:
diff changeset
105 if (any (minloc (a, mask = l5).ne.(/ 2, 1 /))) call abort
kono
parents:
diff changeset
106 a = nan
kono
parents:
diff changeset
107 a(1,3) = pinf
kono
parents:
diff changeset
108 if (minval (a).ne.pinf) call abort
kono
parents:
diff changeset
109 if (minval (a, mask = l).ne.h) call abort
kono
parents:
diff changeset
110 if (minval (a, mask = l2).ne.pinf) call abort
kono
parents:
diff changeset
111 if (minval (a, mask = l3).ne.h) call abort
kono
parents:
diff changeset
112 if (minval (a, mask = l4).ne.pinf) call abort
kono
parents:
diff changeset
113 if (minval (a, mask = l5).ne.pinf) call abort
kono
parents:
diff changeset
114 if (any (minloc (a).ne.(/ 1, 3 /))) call abort
kono
parents:
diff changeset
115 if (any (minloc (a, mask = l).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
116 if (any (minloc (a, mask = l2).ne.(/ 1, 3 /))) call abort
kono
parents:
diff changeset
117 if (any (minloc (a, mask = l3).ne.(/ 0, 0 /))) call abort
kono
parents:
diff changeset
118 if (any (minloc (a, mask = l4).ne.(/ 1, 3 /))) call abort
kono
parents:
diff changeset
119 if (any (minloc (a, mask = l5).ne.(/ 1, 3 /))) call abort
kono
parents:
diff changeset
120 end