This repository was archived by the owner on Apr 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Expand file tree Collapse file tree 1 file changed +21
-4
lines changed Original file line number Diff line number Diff line change @@ -159,9 +159,26 @@ mod musl_reference_tests {
159
159
160
160
impl Ty {
161
161
fn gen_i64 < R : Rng > ( & self , r : & mut R ) -> i64 {
162
- match self {
163
- Ty :: F32 => r. gen :: < f32 > ( ) . to_bits ( ) . into ( ) ,
164
- Ty :: F64 => r. gen :: < f64 > ( ) . to_bits ( ) as i64 ,
162
+ use std:: f32;
163
+ use std:: f64;
164
+
165
+ return match self {
166
+ Ty :: F32 => {
167
+ if r. gen_range ( 0 , 20 ) < 1 {
168
+ let i = * [ f32:: NAN , f32:: INFINITY , f32:: NEG_INFINITY ] . choose ( r) . unwrap ( ) ;
169
+ i. to_bits ( ) . into ( )
170
+ } else {
171
+ r. gen :: < f32 > ( ) . to_bits ( ) . into ( )
172
+ }
173
+ }
174
+ Ty :: F64 => {
175
+ if r. gen_range ( 0 , 20 ) < 1 {
176
+ let i = * [ f64:: NAN , f64:: INFINITY , f64:: NEG_INFINITY ] . choose ( r) . unwrap ( ) ;
177
+ i. to_bits ( ) as i64
178
+ } else {
179
+ r. gen :: < f64 > ( ) . to_bits ( ) as i64
180
+ }
181
+ }
165
182
Ty :: I32 => {
166
183
if r. gen_range ( 0 , 10 ) < 1 {
167
184
let i = * [ i32:: max_value ( ) , 0 , i32:: min_value ( ) ] . choose ( r) . unwrap ( ) ;
@@ -171,7 +188,7 @@ mod musl_reference_tests {
171
188
}
172
189
}
173
190
Ty :: Bool => r. gen :: < bool > ( ) as i64 ,
174
- }
191
+ } ;
175
192
}
176
193
177
194
fn libc_ty ( & self ) -> & ' static str {
You can’t perform that action at this time.
0 commit comments