/[packages]/cauldron/rust/current/SOURCES/typenum-pr115-fix-log2-rounding-error.patch
ViewVC logotype

Annotation of /cauldron/rust/current/SOURCES/typenum-pr115-fix-log2-rounding-error.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1399021 - (hide annotations) (download)
Fri May 24 12:06:02 2019 UTC (5 years, 5 months ago) by akien
File size: 1030 byte(s)
- Sync with Fedora: Thu May 23 2019 Josh Stone <jistone@redhat.com> - 1.35.0-1
  o Update to 1.35.0.
1 akien 1399021 From 0d5196feadafa77c727f517d747ffcf3fd0e8ba9 Mon Sep 17 00:00:00 2001
2     From: Michael Hudson-Doyle <michael.hudson@canonical.com>
3     Date: Wed, 13 Mar 2019 15:55:30 +1300
4     Subject: [PATCH] round result of (highest as f64).log(2.0)
5    
6     Even though (1024f64).log(2.0) has an exact, representable, value, with rustc 1.32 on i386 it comes out as +9.999999999999999985 with optimization enabled. And the rustc doesn't like having two defintions for U1024 etc.
7     ---
8     build/main.rs | 2 +-
9     1 file changed, 1 insertion(+), 1 deletion(-)
10    
11     diff --git a/build/main.rs b/build/main.rs
12     index 16b0ffe2f..b7939f993 100644
13     --- a/vendor/typenum/build/main.rs
14     +++ b/vendor/typenum/build/main.rs
15     @@ -81,7 +81,7 @@ pub fn no_std() {}
16     fn main() {
17     let highest: u64 = 1024;
18    
19     - let first2: u32 = (highest as f64).log(2.0) as u32 + 1;
20     + let first2: u32 = (highest as f64).log(2.0).round() as u32 + 1;
21     let first10: u32 = (highest as f64).log(10.0) as u32 + 1;
22     let uints = (0..(highest + 1))
23     .chain((first2..64).map(|i| 2u64.pow(i)))

  ViewVC Help
Powered by ViewVC 1.1.30