about summary refs log tree commit diff
path: root/example
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2019-08-21 14:01:29 +0200
committerbjorn3 <bjorn3@users.noreply.github.com>2019-08-21 14:01:29 +0200
commitb2d6705fe2e7eb51e3d3cf7421da8513ad1e948e (patch)
tree2b1e264bba7ed33f3912da73b60dc0eb45e81fb1 /example
parent3fcd54088c71cf64d723fe928f3da188f6d9952e (diff)
downloadrust-b2d6705fe2e7eb51e3d3cf7421da8513ad1e948e.tar.gz
rust-b2d6705fe2e7eb51e3d3cf7421da8513ad1e948e.zip
Implement u/i128 <-> float casts
Fixes #668
Diffstat (limited to 'example')
-rw-r--r--example/std_example.rs11
1 files changed, 11 insertions, 0 deletions
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 {