@@ -80,61 +80,48 @@ mod tests {
80
80
( F :: ZERO , F :: INFINITY , F :: ZERO ) ,
81
81
( F :: ZERO , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
82
82
( F :: ZERO , F :: NAN , F :: NAN ) ,
83
- ( F :: ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
84
83
( F :: NEG_ZERO , F :: ZERO , F :: NEG_ZERO ) ,
85
84
( F :: NEG_ZERO , F :: NEG_ZERO , F :: NEG_ZERO ) ,
86
85
( F :: NEG_ZERO , F :: ONE , F :: NEG_ZERO ) ,
87
86
( F :: NEG_ZERO , F :: NEG_ONE , F :: NEG_ONE ) ,
88
87
( F :: NEG_ZERO , F :: INFINITY , F :: NEG_ZERO ) ,
89
88
( F :: NEG_ZERO , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
90
89
( F :: NEG_ZERO , F :: NAN , F :: NAN ) ,
91
- ( F :: NEG_ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
92
90
( F :: ONE , F :: ZERO , F :: ZERO ) ,
93
91
( F :: ONE , F :: NEG_ZERO , F :: NEG_ZERO ) ,
94
92
( F :: ONE , F :: ONE , F :: ONE ) ,
95
93
( F :: ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
96
94
( F :: ONE , F :: INFINITY , F :: ONE ) ,
97
95
( F :: ONE , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
98
96
( F :: ONE , F :: NAN , F :: NAN ) ,
99
- ( F :: ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
100
97
( F :: NEG_ONE , F :: ZERO , F :: NEG_ONE ) ,
101
98
( F :: NEG_ONE , F :: NEG_ZERO , F :: NEG_ONE ) ,
102
99
( F :: NEG_ONE , F :: ONE , F :: NEG_ONE ) ,
103
100
( F :: NEG_ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
104
101
( F :: NEG_ONE , F :: INFINITY , F :: NEG_ONE ) ,
105
102
( F :: NEG_ONE , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
106
103
( F :: NEG_ONE , F :: NAN , F :: NAN ) ,
107
- ( F :: NEG_ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
108
104
( F :: INFINITY , F :: ZERO , F :: ZERO ) ,
109
105
( F :: INFINITY , F :: NEG_ZERO , F :: NEG_ZERO ) ,
110
106
( F :: INFINITY , F :: ONE , F :: ONE ) ,
111
107
( F :: INFINITY , F :: NEG_ONE , F :: NEG_ONE ) ,
112
108
( F :: INFINITY , F :: INFINITY , F :: INFINITY ) ,
113
109
( F :: INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
114
110
( F :: INFINITY , F :: NAN , F :: NAN ) ,
115
- ( F :: INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
116
111
( F :: NEG_INFINITY , F :: ZERO , F :: NEG_INFINITY ) ,
117
112
( F :: NEG_INFINITY , F :: NEG_ZERO , F :: NEG_INFINITY ) ,
118
113
( F :: NEG_INFINITY , F :: ONE , F :: NEG_INFINITY ) ,
119
114
( F :: NEG_INFINITY , F :: NEG_ONE , F :: NEG_INFINITY ) ,
120
115
( F :: NEG_INFINITY , F :: INFINITY , F :: NEG_INFINITY ) ,
121
116
( F :: NEG_INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
122
117
( F :: NEG_INFINITY , F :: NAN , F :: NAN ) ,
123
- ( F :: NEG_INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
124
118
( F :: NAN , F :: ZERO , F :: NAN ) ,
125
119
( F :: NAN , F :: NEG_ZERO , F :: NAN ) ,
126
120
( F :: NAN , F :: ONE , F :: NAN ) ,
127
121
( F :: NAN , F :: NEG_ONE , F :: NAN ) ,
128
122
( F :: NAN , F :: INFINITY , F :: NAN ) ,
129
123
( F :: NAN , F :: NEG_INFINITY , F :: NAN ) ,
130
124
( F :: NAN , F :: NAN , F :: NAN ) ,
131
- ( F :: NEG_NAN , F :: ZERO , F :: NEG_NAN ) ,
132
- ( F :: NEG_NAN , F :: NEG_ZERO , F :: NEG_NAN ) ,
133
- ( F :: NEG_NAN , F :: ONE , F :: NEG_NAN ) ,
134
- ( F :: NEG_NAN , F :: NEG_ONE , F :: NEG_NAN ) ,
135
- ( F :: NEG_NAN , F :: INFINITY , F :: NEG_NAN ) ,
136
- ( F :: NEG_NAN , F :: NEG_INFINITY , F :: NEG_NAN ) ,
137
- ( F :: NEG_NAN , F :: NEG_NAN , F :: NEG_NAN ) ,
138
125
] ;
139
126
140
127
for ( x, y, res) in cases {
@@ -145,6 +132,19 @@ mod tests {
145
132
// Ordering between NaNs does not matter
146
133
assert ! ( f( F :: NAN , F :: NEG_NAN ) . is_nan( ) ) ;
147
134
assert ! ( f( F :: NEG_NAN , F :: NAN ) . is_nan( ) ) ;
135
+ assert ! ( f( F :: ZERO , F :: NEG_NAN ) . is_nan( ) ) ;
136
+ assert ! ( f( F :: NEG_ZERO , F :: NEG_NAN ) . is_nan( ) ) ;
137
+ assert ! ( f( F :: ONE , F :: NEG_NAN ) . is_nan( ) ) ;
138
+ assert ! ( f( F :: NEG_ONE , F :: NEG_NAN ) . is_nan( ) ) ;
139
+ assert ! ( f( F :: INFINITY , F :: NEG_NAN ) . is_nan( ) ) ;
140
+ assert ! ( f( F :: NEG_INFINITY , F :: NEG_NAN ) . is_nan( ) ) ;
141
+ assert ! ( f( F :: NEG_NAN , F :: ZERO ) . is_nan( ) ) ;
142
+ assert ! ( f( F :: NEG_NAN , F :: NEG_ZERO ) . is_nan( ) ) ;
143
+ assert ! ( f( F :: NEG_NAN , F :: ONE ) . is_nan( ) ) ;
144
+ assert ! ( f( F :: NEG_NAN , F :: NEG_ONE ) . is_nan( ) ) ;
145
+ assert ! ( f( F :: NEG_NAN , F :: INFINITY ) . is_nan( ) ) ;
146
+ assert ! ( f( F :: NEG_NAN , F :: NEG_INFINITY ) . is_nan( ) ) ;
147
+ assert ! ( f( F :: NEG_NAN , F :: NEG_NAN ) . is_nan( ) ) ;
148
148
}
149
149
150
150
#[ test]
@@ -178,61 +178,48 @@ mod tests {
178
178
( F :: ZERO , F :: INFINITY , F :: INFINITY ) ,
179
179
( F :: ZERO , F :: NEG_INFINITY , F :: ZERO ) ,
180
180
( F :: ZERO , F :: NAN , F :: NAN ) ,
181
- ( F :: ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
182
181
( F :: NEG_ZERO , F :: ZERO , F :: ZERO ) ,
183
182
( F :: NEG_ZERO , F :: NEG_ZERO , F :: NEG_ZERO ) ,
184
183
( F :: NEG_ZERO , F :: ONE , F :: ONE ) ,
185
184
( F :: NEG_ZERO , F :: NEG_ONE , F :: NEG_ZERO ) ,
186
185
( F :: NEG_ZERO , F :: INFINITY , F :: INFINITY ) ,
187
186
( F :: NEG_ZERO , F :: NEG_INFINITY , F :: NEG_ZERO ) ,
188
187
( F :: NEG_ZERO , F :: NAN , F :: NAN ) ,
189
- ( F :: NEG_ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
190
188
( F :: ONE , F :: ZERO , F :: ONE ) ,
191
189
( F :: ONE , F :: NEG_ZERO , F :: ONE ) ,
192
190
( F :: ONE , F :: ONE , F :: ONE ) ,
193
191
( F :: ONE , F :: NEG_ONE , F :: ONE ) ,
194
192
( F :: ONE , F :: INFINITY , F :: INFINITY ) ,
195
193
( F :: ONE , F :: NEG_INFINITY , F :: ONE ) ,
196
194
( F :: ONE , F :: NAN , F :: NAN ) ,
197
- ( F :: ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
198
195
( F :: NEG_ONE , F :: ZERO , F :: ZERO ) ,
199
196
( F :: NEG_ONE , F :: NEG_ZERO , F :: NEG_ZERO ) ,
200
197
( F :: NEG_ONE , F :: ONE , F :: ONE ) ,
201
198
( F :: NEG_ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
202
199
( F :: NEG_ONE , F :: INFINITY , F :: INFINITY ) ,
203
200
( F :: NEG_ONE , F :: NEG_INFINITY , F :: NEG_ONE ) ,
204
201
( F :: NEG_ONE , F :: NAN , F :: NAN ) ,
205
- ( F :: NEG_ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
206
202
( F :: INFINITY , F :: ZERO , F :: INFINITY ) ,
207
203
( F :: INFINITY , F :: NEG_ZERO , F :: INFINITY ) ,
208
204
( F :: INFINITY , F :: ONE , F :: INFINITY ) ,
209
205
( F :: INFINITY , F :: NEG_ONE , F :: INFINITY ) ,
210
206
( F :: INFINITY , F :: INFINITY , F :: INFINITY ) ,
211
207
( F :: INFINITY , F :: NEG_INFINITY , F :: INFINITY ) ,
212
208
( F :: INFINITY , F :: NAN , F :: NAN ) ,
213
- ( F :: INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
214
209
( F :: NEG_INFINITY , F :: ZERO , F :: ZERO ) ,
215
210
( F :: NEG_INFINITY , F :: NEG_ZERO , F :: NEG_ZERO ) ,
216
211
( F :: NEG_INFINITY , F :: ONE , F :: ONE ) ,
217
212
( F :: NEG_INFINITY , F :: NEG_ONE , F :: NEG_ONE ) ,
218
213
( F :: NEG_INFINITY , F :: INFINITY , F :: INFINITY ) ,
219
214
( F :: NEG_INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
220
215
( F :: NEG_INFINITY , F :: NAN , F :: NAN ) ,
221
- ( F :: NEG_INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
222
216
( F :: NAN , F :: ZERO , F :: NAN ) ,
223
217
( F :: NAN , F :: NEG_ZERO , F :: NAN ) ,
224
218
( F :: NAN , F :: ONE , F :: NAN ) ,
225
219
( F :: NAN , F :: NEG_ONE , F :: NAN ) ,
226
220
( F :: NAN , F :: INFINITY , F :: NAN ) ,
227
221
( F :: NAN , F :: NEG_INFINITY , F :: NAN ) ,
228
222
( F :: NAN , F :: NAN , F :: NAN ) ,
229
- ( F :: NEG_NAN , F :: ZERO , F :: NEG_NAN ) ,
230
- ( F :: NEG_NAN , F :: NEG_ZERO , F :: NEG_NAN ) ,
231
- ( F :: NEG_NAN , F :: ONE , F :: NEG_NAN ) ,
232
- ( F :: NEG_NAN , F :: NEG_ONE , F :: NEG_NAN ) ,
233
- ( F :: NEG_NAN , F :: INFINITY , F :: NEG_NAN ) ,
234
- ( F :: NEG_NAN , F :: NEG_INFINITY , F :: NEG_NAN ) ,
235
- ( F :: NEG_NAN , F :: NEG_NAN , F :: NEG_NAN ) ,
236
223
] ;
237
224
238
225
for ( x, y, res) in cases {
@@ -243,6 +230,19 @@ mod tests {
243
230
// Ordering between NaNs does not matter
244
231
assert ! ( f( F :: NAN , F :: NEG_NAN ) . is_nan( ) ) ;
245
232
assert ! ( f( F :: NEG_NAN , F :: NAN ) . is_nan( ) ) ;
233
+ assert ! ( f( F :: ZERO , F :: NEG_NAN ) . is_nan( ) ) ;
234
+ assert ! ( f( F :: NEG_ZERO , F :: NEG_NAN ) . is_nan( ) ) ;
235
+ assert ! ( f( F :: ONE , F :: NEG_NAN ) . is_nan( ) ) ;
236
+ assert ! ( f( F :: NEG_ONE , F :: NEG_NAN ) . is_nan( ) ) ;
237
+ assert ! ( f( F :: INFINITY , F :: NEG_NAN ) . is_nan( ) ) ;
238
+ assert ! ( f( F :: NEG_INFINITY , F :: NEG_NAN ) . is_nan( ) ) ;
239
+ assert ! ( f( F :: NEG_NAN , F :: ZERO ) . is_nan( ) ) ;
240
+ assert ! ( f( F :: NEG_NAN , F :: NEG_ZERO ) . is_nan( ) ) ;
241
+ assert ! ( f( F :: NEG_NAN , F :: ONE ) . is_nan( ) ) ;
242
+ assert ! ( f( F :: NEG_NAN , F :: NEG_ONE ) . is_nan( ) ) ;
243
+ assert ! ( f( F :: NEG_NAN , F :: INFINITY ) . is_nan( ) ) ;
244
+ assert ! ( f( F :: NEG_NAN , F :: NEG_INFINITY ) . is_nan( ) ) ;
245
+ assert ! ( f( F :: NEG_NAN , F :: NEG_NAN ) . is_nan( ) ) ;
246
246
}
247
247
248
248
#[ test]
0 commit comments