# HG changeset patch
# User alfadur
# Date 1562257316 -10800
# Node ID 2932509533173464f64bf79fce7af3b029656e81
# Parent  924f7e38815e224b1ea2515e0d9976c1c6498d6c
fix u32 conversion sign

diff -r 924f7e38815e -r 293250953317 rust/fpnum/src/lib.rs
--- a/rust/fpnum/src/lib.rs	Thu Jul 04 17:59:37 2019 +0300
+++ b/rust/fpnum/src/lib.rs	Thu Jul 04 19:21:56 2019 +0300
@@ -117,7 +117,7 @@
 
     #[inline]
     const fn temp_i128(self) -> i128 {
-        ((self.value ^ self.sign_mask) as u128 as i128).wrapping_sub(self.sign_mask as i128)
+        ((self.value ^ self.sign_mask) as i128).wrapping_sub(self.sign_mask as i128)
     }
 }
 
@@ -135,7 +135,7 @@
     #[inline]
     fn from(n: u32) -> Self {
         Self {
-            sign_mask: NEGATIVE_MASK,
+            sign_mask: POSITIVE_MASK,
             value: (n as u64) << 32,
         }
     }