File tree Expand file tree Collapse file tree 2 files changed +4
-14
lines changed Expand file tree Collapse file tree 2 files changed +4
-14
lines changed Original file line number Diff line number Diff line change @@ -59,23 +59,13 @@ macro_rules! impl_float_reductions {
59
59
/// Produces the sum of the lanes of the vector.
60
60
#[ inline]
61
61
pub fn sum( self ) -> $scalar {
62
- // f32 SIMD sum is inaccurate on i586
63
- if cfg!( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) && core:: mem:: size_of:: <$scalar>( ) == 4 {
64
- self . as_slice( ) . iter( ) . sum( )
65
- } else {
66
- unsafe { crate :: intrinsics:: simd_reduce_add_ordered( self , 0. ) }
67
- }
62
+ unsafe { crate :: intrinsics:: simd_reduce_add_ordered( self , 0. ) }
68
63
}
69
64
70
65
/// Produces the sum of the lanes of the vector.
71
66
#[ inline]
72
67
pub fn product( self ) -> $scalar {
73
- // f32 SIMD product is inaccurate on i586
74
- if cfg!( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) && core:: mem:: size_of:: <$scalar>( ) == 4 {
75
- self . as_slice( ) . iter( ) . product( )
76
- } else {
77
- unsafe { crate :: intrinsics:: simd_reduce_mul_ordered( self , 1. ) }
78
- }
68
+ unsafe { crate :: intrinsics:: simd_reduce_mul_ordered( self , 1. ) }
79
69
}
80
70
81
71
/// Returns the maximum lane in the vector.
Original file line number Diff line number Diff line change @@ -480,7 +480,7 @@ macro_rules! impl_float_tests {
480
480
test_helpers:: test_1( & |x| {
481
481
test_helpers:: prop_assert_biteq! (
482
482
Vector :: <LANES >:: from_array( x) . sum( ) ,
483
- x. iter( ) . copied ( ) . fold ( 0 as Scalar , < Scalar as core :: ops :: Add > :: add ) ,
483
+ x. iter( ) . sum ( ) ,
484
484
) ;
485
485
Ok ( ( ) )
486
486
} ) ;
@@ -490,7 +490,7 @@ macro_rules! impl_float_tests {
490
490
test_helpers:: test_1( & |x| {
491
491
test_helpers:: prop_assert_biteq! (
492
492
Vector :: <LANES >:: from_array( x) . product( ) ,
493
- x. iter( ) . copied ( ) . fold ( 1. as Scalar , < Scalar as core :: ops :: Mul > :: mul ) ,
493
+ x. iter( ) . product ( ) ,
494
494
) ;
495
495
Ok ( ( ) )
496
496
} ) ;
You can’t perform that action at this time.
0 commit comments