summaryrefslogtreecommitdiffstats
path: root/vendor/libm/src
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:25:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:25:56 +0000
commit018c4950b9406055dec02ef0fb52f132e2bb1e2c (patch)
treea835ebdf2088ef88fa681f8fad45f09922c1ae9a /vendor/libm/src
parentAdding debian version 1.75.0+dfsg1-5. (diff)
downloadrustc-018c4950b9406055dec02ef0fb52f132e2bb1e2c.tar.xz
rustc-018c4950b9406055dec02ef0fb52f132e2bb1e2c.zip
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/libm/src')
-rw-r--r--vendor/libm/src/math/rint.rs14
-rw-r--r--vendor/libm/src/math/rintf.rs14
2 files changed, 24 insertions, 4 deletions
diff --git a/vendor/libm/src/math/rint.rs b/vendor/libm/src/math/rint.rs
index 0c6025c1f..8edbe3440 100644
--- a/vendor/libm/src/math/rint.rs
+++ b/vendor/libm/src/math/rint.rs
@@ -8,9 +8,19 @@ pub fn rint(x: f64) -> f64 {
x
} else {
let ans = if is_positive {
- x + one_over_e - one_over_e
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let x = force_eval!(x);
+ let xplusoneovere = x + one_over_e;
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let xplusoneovere = force_eval!(xplusoneovere);
+ xplusoneovere - one_over_e
} else {
- x - one_over_e + one_over_e
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let x = force_eval!(x);
+ let xminusoneovere = x - one_over_e;
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let xminusoneovere = force_eval!(xminusoneovere);
+ xminusoneovere + one_over_e
};
if ans == 0.0 {
diff --git a/vendor/libm/src/math/rintf.rs b/vendor/libm/src/math/rintf.rs
index d427793f7..7a7da618a 100644
--- a/vendor/libm/src/math/rintf.rs
+++ b/vendor/libm/src/math/rintf.rs
@@ -8,9 +8,19 @@ pub fn rintf(x: f32) -> f32 {
x
} else {
let ans = if is_positive {
- x + one_over_e - one_over_e
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let x = force_eval!(x);
+ let xplusoneovere = x + one_over_e;
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let xplusoneovere = force_eval!(xplusoneovere);
+ xplusoneovere - one_over_e
} else {
- x - one_over_e + one_over_e
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let x = force_eval!(x);
+ let xminusoneovere = x - one_over_e;
+ #[cfg(all(target_arch = "x86", not(target_feature = "sse2")))]
+ let xminusoneovere = force_eval!(xminusoneovere);
+ xminusoneovere + one_over_e
};
if ans == 0.0 {