Skip to content

Commit 06f8ba3

Browse files
authored
Merge pull request rust-lang#284 from plugwash/master
2 parents 5bcbc3b + 5594834 commit 06f8ba3

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/math/rint.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,19 @@ pub fn rint(x: f64) -> f64 {
88
x
99
} else {
1010
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
1217
} 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
1424
};
1525

1626
if ans == 0.0 {

src/math/rintf.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,19 @@ pub fn rintf(x: f32) -> f32 {
88
x
99
} else {
1010
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
1217
} 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
1424
};
1525

1626
if ans == 0.0 {

0 commit comments

Comments
 (0)