@@ -80,61 +80,48 @@ mod tests {
8080 ( F :: ZERO , F :: INFINITY , F :: ZERO ) ,
8181 ( F :: ZERO , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
8282 ( F :: ZERO , F :: NAN , F :: NAN ) ,
83- ( F :: ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
8483 ( F :: NEG_ZERO , F :: ZERO , F :: NEG_ZERO ) ,
8584 ( F :: NEG_ZERO , F :: NEG_ZERO , F :: NEG_ZERO ) ,
8685 ( F :: NEG_ZERO , F :: ONE , F :: NEG_ZERO ) ,
8786 ( F :: NEG_ZERO , F :: NEG_ONE , F :: NEG_ONE ) ,
8887 ( F :: NEG_ZERO , F :: INFINITY , F :: NEG_ZERO ) ,
8988 ( F :: NEG_ZERO , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
9089 ( F :: NEG_ZERO , F :: NAN , F :: NAN ) ,
91- ( F :: NEG_ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
9290 ( F :: ONE , F :: ZERO , F :: ZERO ) ,
9391 ( F :: ONE , F :: NEG_ZERO , F :: NEG_ZERO ) ,
9492 ( F :: ONE , F :: ONE , F :: ONE ) ,
9593 ( F :: ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
9694 ( F :: ONE , F :: INFINITY , F :: ONE ) ,
9795 ( F :: ONE , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
9896 ( F :: ONE , F :: NAN , F :: NAN ) ,
99- ( F :: ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
10097 ( F :: NEG_ONE , F :: ZERO , F :: NEG_ONE ) ,
10198 ( F :: NEG_ONE , F :: NEG_ZERO , F :: NEG_ONE ) ,
10299 ( F :: NEG_ONE , F :: ONE , F :: NEG_ONE ) ,
103100 ( F :: NEG_ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
104101 ( F :: NEG_ONE , F :: INFINITY , F :: NEG_ONE ) ,
105102 ( F :: NEG_ONE , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
106103 ( F :: NEG_ONE , F :: NAN , F :: NAN ) ,
107- ( F :: NEG_ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
108104 ( F :: INFINITY , F :: ZERO , F :: ZERO ) ,
109105 ( F :: INFINITY , F :: NEG_ZERO , F :: NEG_ZERO ) ,
110106 ( F :: INFINITY , F :: ONE , F :: ONE ) ,
111107 ( F :: INFINITY , F :: NEG_ONE , F :: NEG_ONE ) ,
112108 ( F :: INFINITY , F :: INFINITY , F :: INFINITY ) ,
113109 ( F :: INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
114110 ( F :: INFINITY , F :: NAN , F :: NAN ) ,
115- ( F :: INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
116111 ( F :: NEG_INFINITY , F :: ZERO , F :: NEG_INFINITY ) ,
117112 ( F :: NEG_INFINITY , F :: NEG_ZERO , F :: NEG_INFINITY ) ,
118113 ( F :: NEG_INFINITY , F :: ONE , F :: NEG_INFINITY ) ,
119114 ( F :: NEG_INFINITY , F :: NEG_ONE , F :: NEG_INFINITY ) ,
120115 ( F :: NEG_INFINITY , F :: INFINITY , F :: NEG_INFINITY ) ,
121116 ( F :: NEG_INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
122117 ( F :: NEG_INFINITY , F :: NAN , F :: NAN ) ,
123- ( F :: NEG_INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
124118 ( F :: NAN , F :: ZERO , F :: NAN ) ,
125119 ( F :: NAN , F :: NEG_ZERO , F :: NAN ) ,
126120 ( F :: NAN , F :: ONE , F :: NAN ) ,
127121 ( F :: NAN , F :: NEG_ONE , F :: NAN ) ,
128122 ( F :: NAN , F :: INFINITY , F :: NAN ) ,
129123 ( F :: NAN , F :: NEG_INFINITY , F :: NAN ) ,
130124 ( 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 ) ,
138125 ] ;
139126
140127 for ( x, y, res) in cases {
@@ -145,6 +132,19 @@ mod tests {
145132 // Ordering between NaNs does not matter
146133 assert ! ( f( F :: NAN , F :: NEG_NAN ) . is_nan( ) ) ;
147134 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( ) ) ;
148148 }
149149
150150 #[ test]
@@ -178,61 +178,48 @@ mod tests {
178178 ( F :: ZERO , F :: INFINITY , F :: INFINITY ) ,
179179 ( F :: ZERO , F :: NEG_INFINITY , F :: ZERO ) ,
180180 ( F :: ZERO , F :: NAN , F :: NAN ) ,
181- ( F :: ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
182181 ( F :: NEG_ZERO , F :: ZERO , F :: ZERO ) ,
183182 ( F :: NEG_ZERO , F :: NEG_ZERO , F :: NEG_ZERO ) ,
184183 ( F :: NEG_ZERO , F :: ONE , F :: ONE ) ,
185184 ( F :: NEG_ZERO , F :: NEG_ONE , F :: NEG_ZERO ) ,
186185 ( F :: NEG_ZERO , F :: INFINITY , F :: INFINITY ) ,
187186 ( F :: NEG_ZERO , F :: NEG_INFINITY , F :: NEG_ZERO ) ,
188187 ( F :: NEG_ZERO , F :: NAN , F :: NAN ) ,
189- ( F :: NEG_ZERO , F :: NEG_NAN , F :: NEG_NAN ) ,
190188 ( F :: ONE , F :: ZERO , F :: ONE ) ,
191189 ( F :: ONE , F :: NEG_ZERO , F :: ONE ) ,
192190 ( F :: ONE , F :: ONE , F :: ONE ) ,
193191 ( F :: ONE , F :: NEG_ONE , F :: ONE ) ,
194192 ( F :: ONE , F :: INFINITY , F :: INFINITY ) ,
195193 ( F :: ONE , F :: NEG_INFINITY , F :: ONE ) ,
196194 ( F :: ONE , F :: NAN , F :: NAN ) ,
197- ( F :: ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
198195 ( F :: NEG_ONE , F :: ZERO , F :: ZERO ) ,
199196 ( F :: NEG_ONE , F :: NEG_ZERO , F :: NEG_ZERO ) ,
200197 ( F :: NEG_ONE , F :: ONE , F :: ONE ) ,
201198 ( F :: NEG_ONE , F :: NEG_ONE , F :: NEG_ONE ) ,
202199 ( F :: NEG_ONE , F :: INFINITY , F :: INFINITY ) ,
203200 ( F :: NEG_ONE , F :: NEG_INFINITY , F :: NEG_ONE ) ,
204201 ( F :: NEG_ONE , F :: NAN , F :: NAN ) ,
205- ( F :: NEG_ONE , F :: NEG_NAN , F :: NEG_NAN ) ,
206202 ( F :: INFINITY , F :: ZERO , F :: INFINITY ) ,
207203 ( F :: INFINITY , F :: NEG_ZERO , F :: INFINITY ) ,
208204 ( F :: INFINITY , F :: ONE , F :: INFINITY ) ,
209205 ( F :: INFINITY , F :: NEG_ONE , F :: INFINITY ) ,
210206 ( F :: INFINITY , F :: INFINITY , F :: INFINITY ) ,
211207 ( F :: INFINITY , F :: NEG_INFINITY , F :: INFINITY ) ,
212208 ( F :: INFINITY , F :: NAN , F :: NAN ) ,
213- ( F :: INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
214209 ( F :: NEG_INFINITY , F :: ZERO , F :: ZERO ) ,
215210 ( F :: NEG_INFINITY , F :: NEG_ZERO , F :: NEG_ZERO ) ,
216211 ( F :: NEG_INFINITY , F :: ONE , F :: ONE ) ,
217212 ( F :: NEG_INFINITY , F :: NEG_ONE , F :: NEG_ONE ) ,
218213 ( F :: NEG_INFINITY , F :: INFINITY , F :: INFINITY ) ,
219214 ( F :: NEG_INFINITY , F :: NEG_INFINITY , F :: NEG_INFINITY ) ,
220215 ( F :: NEG_INFINITY , F :: NAN , F :: NAN ) ,
221- ( F :: NEG_INFINITY , F :: NEG_NAN , F :: NEG_NAN ) ,
222216 ( F :: NAN , F :: ZERO , F :: NAN ) ,
223217 ( F :: NAN , F :: NEG_ZERO , F :: NAN ) ,
224218 ( F :: NAN , F :: ONE , F :: NAN ) ,
225219 ( F :: NAN , F :: NEG_ONE , F :: NAN ) ,
226220 ( F :: NAN , F :: INFINITY , F :: NAN ) ,
227221 ( F :: NAN , F :: NEG_INFINITY , F :: NAN ) ,
228222 ( 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 ) ,
236223 ] ;
237224
238225 for ( x, y, res) in cases {
@@ -243,6 +230,19 @@ mod tests {
243230 // Ordering between NaNs does not matter
244231 assert ! ( f( F :: NAN , F :: NEG_NAN ) . is_nan( ) ) ;
245232 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( ) ) ;
246246 }
247247
248248 #[ test]
0 commit comments