@@ -2405,19 +2405,18 @@ mod tests {
24052405
24062406 #[ test]
24072407 fn test_bfloat16 ( ) {
2408- let data = [ -1.0f32 , 0.0 , 1.0 , 2.5 ] ;
2409- for i in 0 ..data. len ( ) {
2410- let x = data[ i] ;
2411- let bfx = BFloat16 :: from ( x) ;
2412- assert_eq ! ( <BFloat16 as Into <f32 >>:: into( bfx) , x) ;
2413- assert_eq ! ( bfx. partial_cmp( & bfx) , Some ( Ordering :: Equal ) ) ;
2414- assert ! ( bfx. eq( & bfx) ) ;
2415- for j in 0 ..i {
2416- let y = data[ j] ;
2417- let bfy = BFloat16 :: from ( y) ;
2418- assert_eq ! ( bfx. partial_cmp( & bfy) , Some ( Ordering :: Greater ) ) ;
2419- assert_eq ! ( bfy. partial_cmp( & bfx) , Some ( Ordering :: Less ) ) ;
2420- assert ! ( !bfx. eq( & bfy) ) ;
2408+ let sorted = [ -1.0f32 , 0.0 , 1.0 , 2.5 ] ;
2409+ for greater_index in 0 ..sorted. len ( ) {
2410+ let greater = sorted[ greater_index] ;
2411+ let bf_greater = BFloat16 :: from ( greater) ;
2412+ assert_eq ! ( <BFloat16 as Into <f32 >>:: into( bf_greater) , greater) ;
2413+ assert_eq ! ( bf_greater. partial_cmp( & bf_greater) , Some ( Ordering :: Equal ) ) ;
2414+ assert ! ( bf_greater. eq( & bf_greater) ) ;
2415+ for lesser in sorted[ ..greater_index] . iter ( ) {
2416+ let bf_lesser = BFloat16 :: from ( * lesser) ;
2417+ assert_eq ! ( bf_greater. partial_cmp( & bf_lesser) , Some ( Ordering :: Greater ) ) ;
2418+ assert_eq ! ( bf_lesser. partial_cmp( & bf_greater) , Some ( Ordering :: Less ) ) ;
2419+ assert ! ( !bf_greater. eq( & bf_lesser) ) ;
24212420 }
24222421 }
24232422 assert_eq ! ( <BFloat16 as Into <f32 >>:: into( BFloat16 :: default ( ) ) , 0.0f32 ) ;
0 commit comments