2016 Update

This commit is contained in:
Tina Müller 2016-12-05 22:15:40 +01:00
parent 948b86eafa
commit dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions

View file

@ -0,0 +1,13 @@
// The following will panic!
let i32_1 : i32 = -(-2_147_483_647 - 1);
let i32_2 : i32 = 2_000_000_000 + 2_000_000_000;
let i32_3 : i32 = -2_147_483_647 - 2_147_483_647;
let i32_4 : i32 = 46341 * 46341;
let i32_5 : i32 = (-2_147_483_647 - 1) / -1;
// These will panic! also
let i64_1 : i64 = -(-9_223_372_036_854_775_807 - 1);
let i64_2 : i64 = 5_000_000_000_000_000_000 + 5_000_000_000_000_000_000;
let i64_3 : i64 = -9_223_372_036_854_775_807 - 9_223_372_036_854_775_807;
let i64_4 : i64 = 3_037_000_500 * 3_037_000_500;
let i64_5 : i64 = (-9_223_372_036_854_775_807 - 1) / -1;

View file

@ -0,0 +1,21 @@
// The following will panic!, but only in release mode
let u32_1 : u32 = !4_294_967_295 + 1;
let u32_2 : u32 = 3_000_000_000 + 3_000_000_000;
let u32_3 : u32 = 2_147_483_647 - 4_294_967_295;
let u32_4 : u32 = 65_537 * 65_537;
// The following panics! in release mode
let u64_1 : u64 = !18_446_744_073_709_551_615 + 1;
let u64_2 : u64 = 10_000_000_000_000_000_000 + 10_000_000_000_000_000_000;
let u64_3 : u64 = 9_223_372_036_854_775_807 - 18_446_744_073_709_551_615;
let u64_4 : u64 = 4_294_967_296 * 4_294_967_296;
println!("{}", u32_1); // 1
println!("{}", u32_2); // 1705032704
println!("{}", u32_3); // 2147483648
println!("{}", u32_4); // 131703
println!("{}", u64_1); // 1
println!("{}", u64_2); // 1553255926290448384
println!("{}", u64_3); // 9223372036854775808
println!("{}", u64_4); // 0

View file

@ -0,0 +1,9 @@
// The following will never panic!
println!("{:?}", 65_537u32.checked_mul(65_537)); // None
println!("{:?}", 65_537u32.saturating_mul(65_537)); // 4294967295
println!("{:?}", 65_537u32.wrapping_mul(65_537)); // 131073
// These will never panic! either
println!("{:?}", 65_537i32.checked_mul(65_537)); // None
println!("{:?}", 65_537i32.saturating_mul(65_537)); // 2147483647
println!("{:?}", 65_537i32.wrapping_mul(-65_537)); // -131073