File tree Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -8,9 +8,19 @@ pub fn rint(x: f64) -> f64 {
8
8
x
9
9
} else {
10
10
let ans = if is_positive {
11
- x + one_over_e - one_over_e
11
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
12
+ let x = force_eval ! ( x) ;
13
+ let xplusoneovere = x + one_over_e;
14
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
15
+ let xplusoneovere = force_eval ! ( xplusoneovere) ;
16
+ xplusoneovere - one_over_e
12
17
} else {
13
- x - one_over_e + one_over_e
18
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
19
+ let x = force_eval ! ( x) ;
20
+ let xminusoneovere = x - one_over_e;
21
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
22
+ let xminusoneovere = force_eval ! ( xminusoneovere) ;
23
+ xminusoneovere + one_over_e
14
24
} ;
15
25
16
26
if ans == 0.0 {
Original file line number Diff line number Diff line change @@ -8,9 +8,19 @@ pub fn rintf(x: f32) -> f32 {
8
8
x
9
9
} else {
10
10
let ans = if is_positive {
11
- x + one_over_e - one_over_e
11
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
12
+ let x = force_eval ! ( x) ;
13
+ let xplusoneovere = x + one_over_e;
14
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
15
+ let xplusoneovere = force_eval ! ( xplusoneovere) ;
16
+ xplusoneovere - one_over_e
12
17
} else {
13
- x - one_over_e + one_over_e
18
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
19
+ let x = force_eval ! ( x) ;
20
+ let xminusoneovere = x - one_over_e;
21
+ #[ cfg( all( target_arch = "x86" , not( target_feature = "sse2" ) ) ) ]
22
+ let xminusoneovere = force_eval ! ( xminusoneovere) ;
23
+ xminusoneovere + one_over_e
14
24
} ;
15
25
16
26
if ans == 0.0 {
You can’t perform that action at this time.
0 commit comments