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 {
159159
160160 impl Ty {
161161 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+ }
165182 Ty :: I32 => {
166183 if r. gen_range ( 0 , 10 ) < 1 {
167184 let i = * [ i32:: max_value ( ) , 0 , i32:: min_value ( ) ] . choose ( r) . unwrap ( ) ;
@@ -171,7 +188,7 @@ mod musl_reference_tests {
171188 }
172189 }
173190 Ty :: Bool => r. gen :: < bool > ( ) as i64 ,
174- }
191+ } ;
175192 }
176193
177194 fn libc_ty ( & self ) -> & ' static str {
You can’t perform that action at this time.
0 commit comments