From b2d6705fe2e7eb51e3d3cf7421da8513ad1e948e Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Wed, 21 Aug 2019 14:01:29 +0200 Subject: Implement u/i128 <-> float casts Fixes #668 --- example/std_example.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'example') diff --git a/example/std_example.rs b/example/std_example.rs index 26289818896..14a9a567d42 100644 --- a/example/std_example.rs +++ b/example/std_example.rs @@ -55,6 +55,17 @@ fn main() { assert_eq!(0xFEDCBA987654321123456789ABCDEFu128 as i128 >> 64, 0xFEDCBA98765432i128); assert_eq!(353985398u128 * 932490u128, 330087843781020u128); + // Check that all u/i128 <-> float casts work correctly. + assert_eq!(100u128 as f32, 100.0); + assert_eq!(100u128 as f64, 100.0); + assert_eq!(100.0f32 as u128, 100); + assert_eq!(100.0f64 as u128, 100); + assert_eq!(100i128 as f32, 100.0); + assert_eq!(100i128 as f64, 100.0); + assert_eq!(100.0f32 as i128, 100); + assert_eq!(100.0f64 as i128, 100); + + let _a = 1u32 << 2u8; unsafe { -- cgit 1.4.1-3-g733a5