1 ! RUN: %python %S/test_folding.py %s %flang_fc1
2 ! UNSUPPORTED: target=powerpc{{.*}}, target=aarch{{.*}}, system-windows, system-solaris
3 ! Tests folding of OUT_OF_RANGE().
5 integer(1), parameter :: i1v(*) = [ -huge(1_1) - 1_1, huge(1_1) ]
6 integer(2), parameter :: i2v(*) = [ -huge(1_2) - 1_2, huge(1_2) ]
7 integer(4), parameter :: i4v(*) = [ -huge(1_4) - 1_4, huge(1_4) ]
8 integer(8), parameter :: i8v(*) = [ -huge(1_8) - 1_8, huge(1_8) ]
9 integer(16), parameter :: i16v(*) = [ -huge(1_16) - 1_16, huge(1_16) ]
10 !WARN: warning: division by zero
11 !WARN: warning: invalid argument on division
12 real(2), parameter :: r2v(*) = [ -huge(1._2
), huge(1._2
), 1._2
/0._2
, 0._2
/0._2
]
13 !WARN: warning: division by zero
14 !WARN: warning: invalid argument on division
15 real(3), parameter :: r3v(*) = [ -huge(1._3
), huge(1._3
), 1._3
/0._3
, 0._3
/0._3
]
16 !WARN: warning: division by zero
17 !WARN: warning: invalid argument on division
18 real(4), parameter :: r4v(*) = [ -huge(1._4
), huge(1._4
), 1._4
/0._4
, 0._4
/0._4
]
19 !WARN: warning: division by zero
20 !WARN: warning: invalid argument on division
21 real(8), parameter :: r8v(*) = [ -huge(1._8
), huge(1._8
), 1._8
/0._8
, 0._8
/0._8
]
22 !WARN: warning: division by zero
23 !WARN: warning: invalid argument on division
24 real(10), parameter :: r10v(*) = [ -huge(1._10
), huge(1._10
), 1._10
/0._10
, 0._10
/0._10
]
25 !WARN: warning: division by zero
26 !WARN: warning: invalid argument on division
27 real(16), parameter :: r16v(*) = [ -huge(1._16
), huge(1._16
), 1._16
/0._16
, 0._16
/0._16
]
28 logical, parameter :: finites(*) = [ .true
., .true
., .false
., .false
. ]
30 logical, parameter :: test_i1i1
= .not
. any(out_of_range(i1v
, 1_1))
31 logical, parameter :: test_i1i2
= .not
. any(out_of_range(i1v
, 1_2))
32 logical, parameter :: test_i1i4
= .not
. any(out_of_range(i1v
, 1_4))
33 logical, parameter :: test_i1i8
= .not
. any(out_of_range(i1v
, 1_8))
34 logical, parameter :: test_i1i16
= .not
. any(out_of_range(i1v
, 1_16))
35 logical, parameter :: test_i2i1
= all(out_of_range(i2v
, 1_1))
36 logical, parameter :: test_i2i2
= .not
. any(out_of_range(i2v
, 1_2))
37 logical, parameter :: test_i2i4
= .not
. any(out_of_range(i2v
, 1_4))
38 logical, parameter :: test_i2i8
= .not
. any(out_of_range(i2v
, 1_8))
39 logical, parameter :: test_i2i16
= .not
. any(out_of_range(i2v
, 1_16))
40 logical, parameter :: test_i4i1
= all(out_of_range(i4v
, 1_1))
41 logical, parameter :: test_i4i2
= all(out_of_range(i4v
, 1_2))
42 logical, parameter :: test_i4i4
= .not
. any(out_of_range(i4v
, 1_4))
43 logical, parameter :: test_i4i8
= .not
. any(out_of_range(i4v
, 1_8))
44 logical, parameter :: test_i4i16
= .not
. any(out_of_range(i4v
, 1_16))
45 logical, parameter :: test_i8i1
= all(out_of_range(i8v
, 1_1))
46 logical, parameter :: test_i8i2
= all(out_of_range(i8v
, 1_2))
47 logical, parameter :: test_i8i4
= all(out_of_range(i8v
, 1_4))
48 logical, parameter :: test_i8i8
= .not
. any(out_of_range(i8v
, 1_8))
49 logical, parameter :: test_i8i16
= .not
. any(out_of_range(i8v
, 1_16))
50 logical, parameter :: test_i16i1
= all(out_of_range(i16v
, 1_1))
51 logical, parameter :: test_i16i2
= all(out_of_range(i16v
, 1_2))
52 logical, parameter :: test_i16i4
= all(out_of_range(i16v
, 1_4))
53 logical, parameter :: test_i16i8
= all(out_of_range(i16v
, 1_8))
54 logical, parameter :: test_i16i16
= .not
. any(out_of_range(i16v
, 1_16))
56 logical, parameter :: test_i1r2
= .not
. any(out_of_range(i1v
, 1._2
))
57 logical, parameter :: test_i1r3
= .not
. any(out_of_range(i1v
, 1._3
))
58 logical, parameter :: test_i1r4
= .not
. any(out_of_range(i1v
, 1._4
))
59 logical, parameter :: test_i1r8
= .not
. any(out_of_range(i1v
, 1._8
))
60 logical, parameter :: test_i1r10
= .not
. any(out_of_range(i1v
, 1._10
))
61 logical, parameter :: test_i1r16
= .not
. any(out_of_range(i1v
, 1._16
))
62 logical, parameter :: test_i2r2
= .not
. any(out_of_range(i2v
, 1._2
))
63 logical, parameter :: test_i2r3
= .not
. any(out_of_range(i2v
, 1._3
))
64 logical, parameter :: test_i2r4
= .not
. any(out_of_range(i2v
, 1._4
))
65 logical, parameter :: test_i2r8
= .not
. any(out_of_range(i2v
, 1._8
))
66 logical, parameter :: test_i2r10
= .not
. any(out_of_range(i2v
, 1._10
))
67 logical, parameter :: test_i2r16
= .not
. any(out_of_range(i2v
, 1._16
))
68 logical, parameter :: test_i4r2
= all(out_of_range(i4v
, 1._2
))
69 logical, parameter :: test_i4r3
= .not
. any(out_of_range(i4v
, 1._3
))
70 logical, parameter :: test_i4r4
= .not
. any(out_of_range(i4v
, 1._4
))
71 logical, parameter :: test_i4r8
= .not
. any(out_of_range(i4v
, 1._8
))
72 logical, parameter :: test_i4r10
= .not
. any(out_of_range(i4v
, 1._10
))
73 logical, parameter :: test_i4r16
= .not
. any(out_of_range(i4v
, 1._16
))
74 logical, parameter :: test_i8r2
= all(out_of_range(i8v
, 1._2
))
75 logical, parameter :: test_i8r3
= .not
. any(out_of_range(i8v
, 1._3
))
76 logical, parameter :: test_i8r4
= .not
. any(out_of_range(i8v
, 1._4
))
77 logical, parameter :: test_i8r8
= .not
. any(out_of_range(i8v
, 1._8
))
78 logical, parameter :: test_i8r10
= .not
. any(out_of_range(i8v
, 1._10
))
79 logical, parameter :: test_i8r16
= .not
. any(out_of_range(i8v
, 1._16
))
80 logical, parameter :: test_i16r2
= all(out_of_range(i16v
, 1._2
))
81 logical, parameter :: test_i16r3
= .not
. any(out_of_range(i16v
, 1._3
))
82 logical, parameter :: test_i16r4
= .not
. any(out_of_range(i16v
, 1._4
))
83 logical, parameter :: test_i16r8
= .not
. any(out_of_range(i16v
, 1._8
))
84 logical, parameter :: test_i16r10
= .not
. any(out_of_range(i16v
, 1._10
))
85 logical, parameter :: test_i16r16
= .not
. any(out_of_range(i16v
, 1._16
))
87 logical, parameter :: test_r2r2
= .not
. any(out_of_range(r2v
, 1._2
))
88 logical, parameter :: test_r2r3
= .not
. any(out_of_range(r2v
, 1._3
))
89 logical, parameter :: test_r2r4
= .not
. any(out_of_range(r2v
, 1._4
))
90 logical, parameter :: test_r2r8
= .not
. any(out_of_range(r2v
, 1._8
))
91 logical, parameter :: test_r2r10
= .not
. any(out_of_range(r2v
, 1._10
))
92 logical, parameter :: test_r2r16
= .not
. any(out_of_range(r2v
, 1._16
))
93 logical, parameter :: test_r3r2
= all(out_of_range(r3v
, 1._2
) .eqv
. finites
)
94 logical, parameter :: test_r3r3
= .not
. any(out_of_range(r3v
, 1._3
))
95 logical, parameter :: test_r3r4
= .not
. any(out_of_range(r3v
, 1._4
))
96 logical, parameter :: test_r3r8
= .not
. any(out_of_range(r3v
, 1._8
))
97 logical, parameter :: test_r3r10
= .not
. any(out_of_range(r3v
, 1._10
))
98 logical, parameter :: test_r3r16
= .not
. any(out_of_range(r3v
, 1._16
))
99 logical, parameter :: test_r4r2
= all(out_of_range(r4v
, 1._2
) .eqv
. finites
)
100 logical, parameter :: test_r4r3
= all(out_of_range(r4v
, 1._3
) .eqv
. finites
)
101 logical, parameter :: test_r4r4
= .not
. any(out_of_range(r4v
, 1._4
))
102 logical, parameter :: test_r4r8
= .not
. any(out_of_range(r4v
, 1._8
))
103 logical, parameter :: test_r4r10
= .not
. any(out_of_range(r4v
, 1._10
))
104 logical, parameter :: test_r4r16
= .not
. any(out_of_range(r4v
, 1._16
))
105 logical, parameter :: test_r8r2
= all(out_of_range(r8v
, 1._2
) .eqv
. finites
)
106 logical, parameter :: test_r8r3
= all(out_of_range(r8v
, 1._3
) .eqv
. finites
)
107 logical, parameter :: test_r8r4
= all(out_of_range(r8v
, 1._4
) .eqv
. finites
)
108 logical, parameter :: test_r8r8
= .not
. any(out_of_range(r8v
, 1._8
))
109 logical, parameter :: test_r8r10
= .not
. any(out_of_range(r8v
, 1._10
))
110 logical, parameter :: test_r8r16
= .not
. any(out_of_range(r8v
, 1._16
))
111 logical, parameter :: test_r10r2
= all(out_of_range(r10v
, 1._2
) .eqv
. finites
)
112 logical, parameter :: test_r10r3
= all(out_of_range(r10v
, 1._3
) .eqv
. finites
)
113 logical, parameter :: test_r10r4
= all(out_of_range(r10v
, 1._4
) .eqv
. finites
)
114 logical, parameter :: test_r10r8
= all(out_of_range(r10v
, 1._8
) .eqv
. finites
)
115 logical, parameter :: test_r10r10
= .not
. any(out_of_range(r10v
, 1._10
))
116 logical, parameter :: test_r10r16
= .not
. any(out_of_range(r10v
, 1._16
))
117 logical, parameter :: test_r16r2
= all(out_of_range(r16v
, 1._2
) .eqv
. finites
)
118 logical, parameter :: test_r16r3
= all(out_of_range(r16v
, 1._3
) .eqv
. finites
)
119 logical, parameter :: test_r16r4
= all(out_of_range(r16v
, 1._4
) .eqv
. finites
)
120 logical, parameter :: test_r16r8
= all(out_of_range(r16v
, 1._8
) .eqv
. finites
)
121 logical, parameter :: test_r16r10
= all(out_of_range(r16v
, 1._10
) .eqv
. finites
)
122 logical, parameter :: test_r16r16
= .not
. any(out_of_range(r16v
, 1._16
))
124 logical, parameter :: test_r2i1
= all(out_of_range(r2v
, 1_1))
125 logical, parameter :: test_r2i2
= all(out_of_range(r2v
, 1_2))
126 logical, parameter :: test_r2i4
= all(out_of_range(r2v
, 1_4) .neqv
. finites
)
127 logical, parameter :: test_r2i8
= all(out_of_range(r2v
, 1_8) .neqv
. finites
)
128 logical, parameter :: test_r2i16
= all(out_of_range(r2v
, 1_16) .neqv
. finites
)
129 logical, parameter :: test_r3i1
= all(out_of_range(r3v
, 1_1))
130 logical, parameter :: test_r3i2
= all(out_of_range(r3v
, 1_2))
131 logical, parameter :: test_r3i4
= all(out_of_range(r3v
, 1_4))
132 logical, parameter :: test_r3i8
= all(out_of_range(r3v
, 1_8))
133 logical, parameter :: test_r3i16
= all(out_of_range(r3v
, 1_16))
134 logical, parameter :: test_r4i1
= all(out_of_range(r4v
, 1_1))
135 logical, parameter :: test_r4i2
= all(out_of_range(r4v
, 1_2))
136 logical, parameter :: test_r4i4
= all(out_of_range(r4v
, 1_4))
137 logical, parameter :: test_r4i8
= all(out_of_range(r4v
, 1_8))
138 logical, parameter :: test_r4i16
= all(out_of_range(r4v
, 1_16))
139 logical, parameter :: test_r8i1
= all(out_of_range(r8v
, 1_1))
140 logical, parameter :: test_r8i2
= all(out_of_range(r8v
, 1_2))
141 logical, parameter :: test_r8i4
= all(out_of_range(r8v
, 1_4))
142 logical, parameter :: test_r8i8
= all(out_of_range(r8v
, 1_8))
143 logical, parameter :: test_r8i16
= all(out_of_range(r8v
, 1_16))
144 logical, parameter :: test_r10i1
= all(out_of_range(r10v
, 1_1))
145 logical, parameter :: test_r10i2
= all(out_of_range(r10v
, 1_2))
146 logical, parameter :: test_r10i4
= all(out_of_range(r10v
, 1_4))
147 logical, parameter :: test_r10i8
= all(out_of_range(r10v
, 1_8))
148 logical, parameter :: test_r10i16
= all(out_of_range(r10v
, 1_16))
149 logical, parameter :: test_r16i1
= all(out_of_range(r16v
, 1_1))
150 logical, parameter :: test_r16i2
= all(out_of_range(r16v
, 1_2))
151 logical, parameter :: test_r16i4
= all(out_of_range(r16v
, 1_4))
152 logical, parameter :: test_r16i8
= all(out_of_range(r16v
, 1_8))
153 logical, parameter :: test_r16i16
= all(out_of_range(r16v
, 1_16))
155 logical, parameter :: test_r2i1r
= all(out_of_range(r2v
, 1_1, .true
.))
156 logical, parameter :: test_r2i2r
= all(out_of_range(r2v
, 1_2, .true
.))
157 logical, parameter :: test_r2i4r
= all(out_of_range(r2v
, 1_4, .true
.) .neqv
. finites
)
158 logical, parameter :: test_r2i8r
= all(out_of_range(r2v
, 1_8, .true
.) .neqv
. finites
)
159 logical, parameter :: test_r2i16r
= all(out_of_range(r2v
, 1_16, .true
.) .neqv
. finites
)
160 logical, parameter :: test_r3i1r
= all(out_of_range(r3v
, 1_1, .true
.))
161 logical, parameter :: test_r3i2r
= all(out_of_range(r3v
, 1_2, .true
.))
162 logical, parameter :: test_r3i4r
= all(out_of_range(r3v
, 1_4, .true
.))
163 logical, parameter :: test_r3i8r
= all(out_of_range(r3v
, 1_8, .true
.))
164 logical, parameter :: test_r3i16r
= all(out_of_range(r3v
, 1_16, .true
.))
165 logical, parameter :: test_r4i1r
= all(out_of_range(r4v
, 1_1, .true
.))
166 logical, parameter :: test_r4i2r
= all(out_of_range(r4v
, 1_2, .true
.))
167 logical, parameter :: test_r4i4r
= all(out_of_range(r4v
, 1_4, .true
.))
168 logical, parameter :: test_r4i8r
= all(out_of_range(r4v
, 1_8, .true
.))
169 logical, parameter :: test_r4i16r
= all(out_of_range(r4v
, 1_16, .true
.))
170 logical, parameter :: test_r8i1r
= all(out_of_range(r8v
, 1_1, .true
.))
171 logical, parameter :: test_r8i2r
= all(out_of_range(r8v
, 1_2, .true
.))
172 logical, parameter :: test_r8i4r
= all(out_of_range(r8v
, 1_4, .true
.))
173 logical, parameter :: test_r8i8r
= all(out_of_range(r8v
, 1_8, .true
.))
174 logical, parameter :: test_r8i16r
= all(out_of_range(r8v
, 1_16, .true
.))
175 logical, parameter :: test_r10i1r
= all(out_of_range(r10v
, 1_1, .true
.))
176 logical, parameter :: test_r10i2r
= all(out_of_range(r10v
, 1_2, .true
.))
177 logical, parameter :: test_r10i4r
= all(out_of_range(r10v
, 1_4, .true
.))
178 logical, parameter :: test_r10i8r
= all(out_of_range(r10v
, 1_8, .true
.))
179 logical, parameter :: test_r10i16r
= all(out_of_range(r10v
, 1_16, .true
.))
180 logical, parameter :: test_r16i1r
= all(out_of_range(r16v
, 1_1, .true
.))
181 logical, parameter :: test_r16i2r
= all(out_of_range(r16v
, 1_2, .true
.))
182 logical, parameter :: test_r16i4r
= all(out_of_range(r16v
, 1_4, .true
.))
183 logical, parameter :: test_r16i8r
= all(out_of_range(r16v
, 1_8, .true
.))
184 logical, parameter :: test_r16i16r
= all(out_of_range(r16v
, 1_16, .true
.))
186 logical, parameter :: test_r2i1u
= all(out_of_range(real(i1v
, kind
=2)+.5_2
, 1_1, .false
.) .eqv
. [.false
., .false
.])
187 logical, parameter :: test_r2i1ur
= all(out_of_range(real(i1v
, kind
=2)+.5_2
, 1_1, .true
.) .eqv
. [.false
., .true
.])
188 logical, parameter :: test_r2i1d
= all(out_of_range(real(i1v
, kind
=2)-.5_2
, 1_1, .false
.) .eqv
. [.false
., .false
.])
189 logical, parameter :: test_r2i1dr
= all(out_of_range(real(i1v
, kind
=2)-.5_2
, 1_1, .true
.) .eqv
. [.true
., .false
.])
190 logical, parameter :: test_r2i2u
= all(out_of_range(real(i2v
, kind
=2)+.5_2
, 1_2, .false
.) .eqv
. [.false
., .true
.])
191 logical, parameter :: test_r2i2ur
= all(out_of_range(real(i2v
, kind
=2)+.5_2
, 1_2, .true
.) .eqv
. [.false
., .true
.])
192 logical, parameter :: test_r2i2d
= all(out_of_range(real(i2v
, kind
=2)-.5_2
, 1_2, .false
.) .eqv
. [.false
., .true
.])
193 logical, parameter :: test_r2i2dr
= all(out_of_range(real(i2v
, kind
=2)-.5_2
, 1_2, .true
.) .eqv
. [.false
., .true
.])
194 !WARN: warning: overflow on INTEGER(4) to REAL(2) conversion
195 logical, parameter :: test_r2i4u
= all(out_of_range(real(i4v
, kind
=2)+.5_2
, 1_4, .false
.) .eqv
. [.true
., .true
.])
196 !WARN: warning: overflow on INTEGER(4) to REAL(2) conversion
197 logical, parameter :: test_r2i4ur
= all(out_of_range(real(i4v
, kind
=2)+.5_2
, 1_4, .true
.) .eqv
. [.true
., .true
.])
198 !WARN: warning: overflow on INTEGER(4) to REAL(2) conversion
199 logical, parameter :: test_r2i4d
= all(out_of_range(real(i4v
, kind
=2)-.5_2
, 1_4, .false
.) .eqv
. [.true
., .true
.])
200 !WARN: warning: overflow on INTEGER(4) to REAL(2) conversion
201 logical, parameter :: test_r2i4dr
= all(out_of_range(real(i4v
, kind
=2)-.5_2
, 1_4, .true
.) .eqv
. [.true
., .true
.])
202 !WARN: warning: overflow on INTEGER(8) to REAL(2) conversion
203 logical, parameter :: test_r2i8u
= all(out_of_range(real(i8v
, kind
=2)+.5_2
, 1_8, .false
.) .eqv
. [.true
., .true
.])
204 !WARN: warning: overflow on INTEGER(8) to REAL(2) conversion
205 logical, parameter :: test_r2i8ur
= all(out_of_range(real(i8v
, kind
=2)+.5_2
, 1_8, .true
.) .eqv
. [.true
., .true
.])
206 !WARN: warning: overflow on INTEGER(8) to REAL(2) conversion
207 logical, parameter :: test_r2i8d
= all(out_of_range(real(i8v
, kind
=2)-.5_2
, 1_8, .false
.) .eqv
. [.true
., .true
.])
208 !WARN: warning: overflow on INTEGER(8) to REAL(2) conversion
209 logical, parameter :: test_r2i8dr
= all(out_of_range(real(i8v
, kind
=2)-.5_2
, 1_8, .true
.) .eqv
. [.true
., .true
.])
210 !WARN: warning: overflow on INTEGER(16) to REAL(2) conversion
211 logical, parameter :: test_r2i16u
= all(out_of_range(real(i16v
, kind
=2)+.5_2
, 1_16, .false
.) .eqv
. [.true
., .true
.])
212 !WARN: warning: overflow on INTEGER(16) to REAL(2) conversion
213 logical, parameter :: test_r2i16ur
= all(out_of_range(real(i16v
, kind
=2)+.5_2
, 1_16, .true
.) .eqv
. [.true
., .true
.])
214 !WARN: warning: overflow on INTEGER(16) to REAL(2) conversion
215 logical, parameter :: test_r2i16d
= all(out_of_range(real(i16v
, kind
=2)-.5_2
, 1_16, .false
.) .eqv
. [.true
., .true
.])
216 !WARN: warning: overflow on INTEGER(16) to REAL(2) conversion
217 logical, parameter :: test_r2i16dr
= all(out_of_range(real(i16v
, kind
=2)-.5_2
, 1_16, .true
.) .eqv
. [.true
., .true
.])
219 logical, parameter :: test_r3i1u
= all(out_of_range(real(i1v
, kind
=3)+.5_3
, 1_1, .false
.) .eqv
. [.false
., .false
.])
220 logical, parameter :: test_r3i1ur
= all(out_of_range(real(i1v
, kind
=3)+.5_3
, 1_1, .true
.) .eqv
. [.false
., .true
.])
221 logical, parameter :: test_r3i1d
= all(out_of_range(real(i1v
, kind
=3)-.5_3
, 1_1, .false
.) .eqv
. [.false
., .false
.])
222 logical, parameter :: test_r3i1dr
= all(out_of_range(real(i1v
, kind
=3)-.5_3
, 1_1, .true
.) .eqv
. [.false
., .false
.])
223 logical, parameter :: test_r3i2u
= all(out_of_range(real(i2v
, kind
=3)+.5_3
, 1_2, .false
.) .eqv
. [.false
., .true
.])
224 logical, parameter :: test_r3i2ur
= all(out_of_range(real(i2v
, kind
=3)+.5_3
, 1_2, .true
.) .eqv
. [.false
., .true
.])
225 logical, parameter :: test_r3i2d
= all(out_of_range(real(i2v
, kind
=3)-.5_3
, 1_2, .false
.) .eqv
. [.false
., .true
.])
226 logical, parameter :: test_r3i2dr
= all(out_of_range(real(i2v
, kind
=3)-.5_3
, 1_2, .true
.) .eqv
. [.false
., .true
.])
227 logical, parameter :: test_r3i4u
= all(out_of_range(real(i4v
, kind
=3)+.5_3
, 1_4, .false
.) .eqv
. [.false
., .true
.])
228 logical, parameter :: test_r3i4ur
= all(out_of_range(real(i4v
, kind
=3)+.5_3
, 1_4, .true
.) .eqv
. [.false
., .true
.])
229 logical, parameter :: test_r3i4d
= all(out_of_range(real(i4v
, kind
=3)-.5_3
, 1_4, .false
.) .eqv
. [.false
., .true
.])
230 logical, parameter :: test_r3i4dr
= all(out_of_range(real(i4v
, kind
=3)-.5_3
, 1_4, .true
.) .eqv
. [.false
., .true
.])
231 logical, parameter :: test_r3i8u
= all(out_of_range(real(i8v
, kind
=3)+.5_3
, 1_8, .false
.) .eqv
. [.false
., .true
.])
232 logical, parameter :: test_r3i8ur
= all(out_of_range(real(i8v
, kind
=3)+.5_3
, 1_8, .true
.) .eqv
. [.false
., .true
.])
233 logical, parameter :: test_r3i8d
= all(out_of_range(real(i8v
, kind
=3)-.5_3
, 1_8, .false
.) .eqv
. [.false
., .true
.])
234 logical, parameter :: test_r3i8dr
= all(out_of_range(real(i8v
, kind
=3)-.5_3
, 1_8, .true
.) .eqv
. [.false
., .true
.])
235 logical, parameter :: test_r3i16u
= all(out_of_range(real(i16v
, kind
=3)+.5_3
, 1_16, .false
.) .eqv
. [.false
., .true
.])
236 logical, parameter :: test_r3i16ur
= all(out_of_range(real(i16v
, kind
=3)+.5_3
, 1_16, .true
.) .eqv
. [.false
., .true
.])
237 logical, parameter :: test_r3i16d
= all(out_of_range(real(i16v
, kind
=3)-.5_3
, 1_16, .false
.) .eqv
. [.false
., .true
.])
238 logical, parameter :: test_r3i16dr
= all(out_of_range(real(i16v
, kind
=3)-.5_3
, 1_16, .true
.) .eqv
. [.false
., .true
.])
240 logical, parameter :: test_r4i1u
= all(out_of_range(real(i1v
, kind
=4)+.5_4
, 1_1, .false
.) .eqv
. [.false
., .false
.])
241 logical, parameter :: test_r4i1ur
= all(out_of_range(real(i1v
, kind
=4)+.5_4
, 1_1, .true
.) .eqv
. [.false
., .true
.])
242 logical, parameter :: test_r4i1d
= all(out_of_range(real(i1v
, kind
=4)-.5_4
, 1_1, .false
.) .eqv
. [.false
., .false
.])
243 logical, parameter :: test_r4i1dr
= all(out_of_range(real(i1v
, kind
=4)-.5_4
, 1_1, .true
.) .eqv
. [.true
., .false
.])
244 logical, parameter :: test_r4i2u
= all(out_of_range(real(i2v
, kind
=4)+.5_4
, 1_2, .false
.) .eqv
. [.false
., .false
.])
245 logical, parameter :: test_r4i2ur
= all(out_of_range(real(i2v
, kind
=4)+.5_4
, 1_2, .true
.) .eqv
. [.false
., .true
.])
246 logical, parameter :: test_r4i2d
= all(out_of_range(real(i2v
, kind
=4)-.5_4
, 1_2, .false
.) .eqv
. [.false
., .false
.])
247 logical, parameter :: test_r4i2dr
= all(out_of_range(real(i2v
, kind
=4)-.5_4
, 1_2, .true
.) .eqv
. [.true
., .false
.])
248 logical, parameter :: test_r4i4u
= all(out_of_range(real(i4v
, kind
=4)+.5_4
, 1_4, .false
.) .eqv
. [.false
., .true
.])
249 logical, parameter :: test_r4i4ur
= all(out_of_range(real(i4v
, kind
=4)+.5_4
, 1_4, .true
.) .eqv
. [.false
., .true
.])
250 logical, parameter :: test_r4i4d
= all(out_of_range(real(i4v
, kind
=4)-.5_4
, 1_4, .false
.) .eqv
. [.false
., .true
.])
251 logical, parameter :: test_r4i4dr
= all(out_of_range(real(i4v
, kind
=4)-.5_4
, 1_4, .true
.) .eqv
. [.false
., .true
.])
252 logical, parameter :: test_r4i8u
= all(out_of_range(real(i8v
, kind
=4)+.5_4
, 1_8, .false
.) .eqv
. [.false
., .true
.])
253 logical, parameter :: test_r4i8ur
= all(out_of_range(real(i8v
, kind
=4)+.5_4
, 1_8, .true
.) .eqv
. [.false
., .true
.])
254 logical, parameter :: test_r4i8d
= all(out_of_range(real(i8v
, kind
=4)-.5_4
, 1_8, .false
.) .eqv
. [.false
., .true
.])
255 logical, parameter :: test_r4i8dr
= all(out_of_range(real(i8v
, kind
=4)-.5_4
, 1_8, .true
.) .eqv
. [.false
., .true
.])
256 logical, parameter :: test_r4i16u
= all(out_of_range(real(i16v
, kind
=4)+.5_4
, 1_16, .false
.) .eqv
. [.false
., .true
.])
257 logical, parameter :: test_r4i16ur
= all(out_of_range(real(i16v
, kind
=4)+.5_4
, 1_16, .true
.) .eqv
. [.false
., .true
.])
258 logical, parameter :: test_r4i16d
= all(out_of_range(real(i16v
, kind
=4)-.5_4
, 1_16, .false
.) .eqv
. [.false
., .true
.])
259 logical, parameter :: test_r4i16dr
= all(out_of_range(real(i16v
, kind
=4)-.5_4
, 1_16, .true
.) .eqv
. [.false
., .true
.])
261 logical, parameter :: test_r8i1u
= all(out_of_range(real(i1v
, kind
=8)+.5_8
, 1_1, .false
.) .eqv
. [.false
., .false
.])
262 logical, parameter :: test_r8i1ur
= all(out_of_range(real(i1v
, kind
=8)+.5_8
, 1_1, .true
.) .eqv
. [.false
., .true
.])
263 logical, parameter :: test_r8i1d
= all(out_of_range(real(i1v
, kind
=8)-.5_8
, 1_1, .false
.) .eqv
. [.false
., .false
.])
264 logical, parameter :: test_r8i1dr
= all(out_of_range(real(i1v
, kind
=8)-.5_8
, 1_1, .true
.) .eqv
. [.true
., .false
.])
265 logical, parameter :: test_r8i2u
= all(out_of_range(real(i2v
, kind
=8)+.5_8
, 1_2, .false
.) .eqv
. [.false
., .false
.])
266 logical, parameter :: test_r8i2ur
= all(out_of_range(real(i2v
, kind
=8)+.5_8
, 1_2, .true
.) .eqv
. [.false
., .true
.])
267 logical, parameter :: test_r8i2d
= all(out_of_range(real(i2v
, kind
=8)-.5_8
, 1_2, .false
.) .eqv
. [.false
., .false
.])
268 logical, parameter :: test_r8i2dr
= all(out_of_range(real(i2v
, kind
=8)-.5_8
, 1_2, .true
.) .eqv
. [.true
., .false
.])
269 logical, parameter :: test_r8i4u
= all(out_of_range(real(i4v
, kind
=8)+.5_8
, 1_4, .false
.) .eqv
. [.false
., .false
.])
270 logical, parameter :: test_r8i4ur
= all(out_of_range(real(i4v
, kind
=8)+.5_8
, 1_4, .true
.) .eqv
. [.false
., .true
.])
271 logical, parameter :: test_r8i4d
= all(out_of_range(real(i4v
, kind
=8)-.5_8
, 1_4, .false
.) .eqv
. [.false
., .false
.])
272 logical, parameter :: test_r8i4dr
= all(out_of_range(real(i4v
, kind
=8)-.5_8
, 1_4, .true
.) .eqv
. [.true
., .false
.])
273 logical, parameter :: test_r8i8u
= all(out_of_range(real(i8v
, kind
=8)+.5_8
, 1_8, .false
.) .eqv
. [.false
., .true
.])
274 logical, parameter :: test_r8i8ur
= all(out_of_range(real(i8v
, kind
=8)+.5_8
, 1_8, .true
.) .eqv
. [.false
., .true
.])
275 logical, parameter :: test_r8i8d
= all(out_of_range(real(i8v
, kind
=8)-.5_8
, 1_8, .false
.) .eqv
. [.false
., .true
.])
276 logical, parameter :: test_r8i8dr
= all(out_of_range(real(i8v
, kind
=8)-.5_8
, 1_8, .true
.) .eqv
. [.false
., .true
.])
277 logical, parameter :: test_r8i16u
= all(out_of_range(real(i16v
, kind
=8)+.5_8
, 1_16, .false
.) .eqv
. [.false
., .true
.])
278 logical, parameter :: test_r8i16ur
= all(out_of_range(real(i16v
, kind
=8)+.5_8
, 1_16, .true
.) .eqv
. [.false
., .true
.])
279 logical, parameter :: test_r8i16d
= all(out_of_range(real(i16v
, kind
=8)-.5_8
, 1_16, .false
.) .eqv
. [.false
., .true
.])
280 logical, parameter :: test_r8i16dr
= all(out_of_range(real(i16v
, kind
=8)-.5_8
, 1_16, .true
.) .eqv
. [.false
., .true
.])
282 logical, parameter :: test_r10i1u
= all(out_of_range(real(i1v
, kind
=10)+.5_10
, 1_1, .false
.) .eqv
. [.false
., .false
.])
283 logical, parameter :: test_r10i1ur
= all(out_of_range(real(i1v
, kind
=10)+.5_10
, 1_1, .true
.) .eqv
. [.false
., .true
.])
284 logical, parameter :: test_r10i1d
= all(out_of_range(real(i1v
, kind
=10)-.5_10
, 1_1, .false
.) .eqv
. [.false
., .false
.])
285 logical, parameter :: test_r10i1dr
= all(out_of_range(real(i1v
, kind
=10)-.5_10
, 1_1, .true
.) .eqv
. [.true
., .false
.])
286 logical, parameter :: test_r10i2u
= all(out_of_range(real(i2v
, kind
=10)+.5_10
, 1_2, .false
.) .eqv
. [.false
., .false
.])
287 logical, parameter :: test_r10i2ur
= all(out_of_range(real(i2v
, kind
=10)+.5_10
, 1_2, .true
.) .eqv
. [.false
., .true
.])
288 logical, parameter :: test_r10i2d
= all(out_of_range(real(i2v
, kind
=10)-.5_10
, 1_2, .false
.) .eqv
. [.false
., .false
.])
289 logical, parameter :: test_r10i2dr
= all(out_of_range(real(i2v
, kind
=10)-.5_10
, 1_2, .true
.) .eqv
. [.true
., .false
.])
290 logical, parameter :: test_r10i4u
= all(out_of_range(real(i4v
, kind
=10)+.5_10
, 1_4, .false
.) .eqv
. [.false
., .false
.])
291 logical, parameter :: test_r10i4ur
= all(out_of_range(real(i4v
, kind
=10)+.5_10
, 1_4, .true
.) .eqv
. [.false
., .true
.])
292 logical, parameter :: test_r10i4d
= all(out_of_range(real(i4v
, kind
=10)-.5_10
, 1_4, .false
.) .eqv
. [.false
., .false
.])
293 logical, parameter :: test_r10i4dr
= all(out_of_range(real(i4v
, kind
=10)-.5_10
, 1_4, .true
.) .eqv
. [.true
., .false
.])
294 logical, parameter :: test_r10i8u
= all(out_of_range(real(i8v
, kind
=10)+.5_10
, 1_8, .false
.) .eqv
. [.false
., .false
.])
295 logical, parameter :: test_r10i8ur
= all(out_of_range(real(i8v
, kind
=10)+.5_10
, 1_8, .true
.) .eqv
. [.false
., .true
.])
296 logical, parameter :: test_r10i8d
= all(out_of_range(real(i8v
, kind
=10)-.5_10
, 1_8, .false
.) .eqv
. [.false
., .false
.])
297 logical, parameter :: test_r10i8dr
= all(out_of_range(real(i8v
, kind
=10)-.5_10
, 1_8, .true
.) .eqv
. [.false
., .false
.])
298 logical, parameter :: test_r10i16u
= all(out_of_range(real(i16v
, kind
=10)+.5_10
, 1_16, .false
.) .eqv
. [.false
., .true
.])
299 logical, parameter :: test_r10i16ur
= all(out_of_range(real(i16v
, kind
=10)+.5_10
, 1_16, .true
.) .eqv
. [.false
., .true
.])
300 logical, parameter :: test_r10i16d
= all(out_of_range(real(i16v
, kind
=10)-.5_10
, 1_16, .false
.) .eqv
. [.false
., .true
.])
301 logical, parameter :: test_r10i16dr
= all(out_of_range(real(i16v
, kind
=10)-.5_10
, 1_16, .true
.) .eqv
. [.false
., .true
.])
303 logical, parameter :: test_r16i1u
= all(out_of_range(real(i1v
, kind
=16)+.5_16
, 1_1, .false
.) .eqv
. [.false
., .false
.])
304 logical, parameter :: test_r16i1ur
= all(out_of_range(real(i1v
, kind
=16)+.5_16
, 1_1, .true
.) .eqv
. [.false
., .true
.])
305 logical, parameter :: test_r16i1d
= all(out_of_range(real(i1v
, kind
=16)-.5_16
, 1_1, .false
.) .eqv
. [.false
., .false
.])
306 logical, parameter :: test_r16i1dr
= all(out_of_range(real(i1v
, kind
=16)-.5_16
, 1_1, .true
.) .eqv
. [.true
., .false
.])
307 logical, parameter :: test_r16i2u
= all(out_of_range(real(i2v
, kind
=16)+.5_16
, 1_2, .false
.) .eqv
. [.false
., .false
.])
308 logical, parameter :: test_r16i2ur
= all(out_of_range(real(i2v
, kind
=16)+.5_16
, 1_2, .true
.) .eqv
. [.false
., .true
.])
309 logical, parameter :: test_r16i2d
= all(out_of_range(real(i2v
, kind
=16)-.5_16
, 1_2, .false
.) .eqv
. [.false
., .false
.])
310 logical, parameter :: test_r16i2dr
= all(out_of_range(real(i2v
, kind
=16)-.5_16
, 1_2, .true
.) .eqv
. [.true
., .false
.])
311 logical, parameter :: test_r16i4u
= all(out_of_range(real(i4v
, kind
=16)+.5_16
, 1_4, .false
.) .eqv
. [.false
., .false
.])
312 logical, parameter :: test_r16i4ur
= all(out_of_range(real(i4v
, kind
=16)+.5_16
, 1_4, .true
.) .eqv
. [.false
., .true
.])
313 logical, parameter :: test_r16i4d
= all(out_of_range(real(i4v
, kind
=16)-.5_16
, 1_4, .false
.) .eqv
. [.false
., .false
.])
314 logical, parameter :: test_r16i4dr
= all(out_of_range(real(i4v
, kind
=16)-.5_16
, 1_4, .true
.) .eqv
. [.true
., .false
.])
315 logical, parameter :: test_r16i8u
= all(out_of_range(real(i8v
, kind
=16)+.5_16
, 1_8, .false
.) .eqv
. [.false
., .false
.])
316 logical, parameter :: test_r16i8ur
= all(out_of_range(real(i8v
, kind
=16)+.5_16
, 1_8, .true
.) .eqv
. [.false
., .true
.])
317 logical, parameter :: test_r16i8d
= all(out_of_range(real(i8v
, kind
=16)-.5_16
, 1_8, .false
.) .eqv
. [.false
., .false
.])
318 logical, parameter :: test_r16i8dr
= all(out_of_range(real(i8v
, kind
=16)-.5_16
, 1_8, .true
.) .eqv
. [.true
., .false
.])
319 logical, parameter :: test_r16i16u
= all(out_of_range(real(i16v
, kind
=16)+.5_16
, 1_16, .false
.) .eqv
. [.false
., .true
.])
320 logical, parameter :: test_r16i16ur
= all(out_of_range(real(i16v
, kind
=16)+.5_16
, 1_16, .true
.) .eqv
. [.false
., .true
.])
321 logical, parameter :: test_r16i16d
= all(out_of_range(real(i16v
, kind
=16)-.5_16
, 1_16, .false
.) .eqv
. [.false
., .true
.])
322 logical, parameter :: test_r16i16dr
= all(out_of_range(real(i16v
, kind
=16)-.5_16
, 1_16, .true
.) .eqv
. [.false
., .true
.])