]>
Commit | Line | Data |
---|---|---|
ea8adc8c XL |
1 | extern crate conv;\r |
2 | \r | |
3 | #[macro_use] mod util;\r | |
4 | \r | |
5 | use conv::*;\r | |
6 | \r | |
7 | use conv::FloatError::NegOverflow as FU;\r | |
8 | use conv::FloatError::PosOverflow as FO;\r | |
9 | \r | |
10 | #[test]\r | |
11 | fn test_f32() {\r | |
12 | check!(f32, f32=> fident; qv: *;);\r | |
13 | check!(f32, f64=> fident; qv: *;);\r | |
14 | }\r | |
15 | \r | |
16 | #[test]\r | |
17 | fn test_f32_to_int() {\r | |
18 | check!(f32, i8=> sidenta; qa: i8=> a: -129.0, !FU; a: 128.0, !FO;);\r | |
19 | check!(f32, i16=> sidenta; qa: i16=> a: -32_769.0, !FU; a: 32_768.0, !FO;);\r | |
20 | check!(f32, i32=> sidenta; qa: i32=>\r | |
21 | a: -2.1474836e9, -2147483648; a: 2.1474835e9, 2147483520;\r | |
22 | a: -2_147_500_000.0, !FU; a: 2_147_500_000.0, !FO;);\r | |
23 | check!(f32, i64=> sidenta; qa: i64=>\r | |
24 | a: -9.223372e18, -9223372036854775808; a: 9.2233715e18, 9223371487098961920;\r | |
25 | a: -9_223_373_000_000_000_000.0, !FU; a: 9_223_373_000_000_000_000.0, !FO;);\r | |
26 | check!(f32, u8=> uidenta; qa: u8=> a: -1.0, !FU; a: 256.0, !FO;);\r | |
27 | check!(f32, u16=> uidenta; qa: u16=> a: -1.0, !FU; a: 65_536.0, !FO;);\r | |
28 | check!(f32, u32=> uidenta; qa: u32=>\r | |
29 | a: 4.294967e9, 4294967040;\r | |
30 | a: -1.0, !FU; a: 4_294_968_000.0, !FO;);\r | |
31 | check!(f32, u64=> uidenta; qa: u64=>\r | |
32 | a: 1.8446743e19, 18446742974197923840;\r | |
33 | a: -1.0, !FU; a: 18_446_746_000_000_000_000.0, !FO;);\r | |
34 | }\r | |
35 | \r | |
36 | #[test]\r | |
37 | fn test_f64_to_int() {\r | |
38 | check!(f64, i8=> sidenta; qa: i8=> a: -129.0, !FU; a: 128.0, !FO;);\r | |
39 | check!(f64, i16=> sidenta; qa: i16=> a: -32_769.0, !FU; a: 32_768.0, !FO;);\r | |
40 | check!(f64, i32=> sidenta; qa: i32=> a: -2_147_483_649.0, !FU; a: 2_147_483_648.0, !FO;);\r | |
41 | check!(f64, i64=> sidenta; qa: i64=>\r | |
42 | a: -9.223372036854776e18, -9223372036854775808;\r | |
43 | a: 9.223372036854775e18, 9223372036854774784;\r | |
44 | a: -9_223_372_036_854_778_000.0, !FU; a: 9_223_372_036_854_778_000.0, !FO;);\r | |
45 | check!(f64, u8=> uidenta; qa: u8=> a: -1.0, !FU; a: 256.0, !FO;);\r | |
46 | check!(f64, u16=> uidenta; qa: u16=> a: -1.0, !FU; a: 65_536.0, !FO;);\r | |
47 | check!(f64, u32=> uidenta; qa: u32=> a: -1.0, !FU; a: 4_294_967_296.0, !FO;);\r | |
48 | check!(f64, u64=> uidenta; qa: u64=>\r | |
49 | a: 1.844674407370955e19;\r | |
50 | a: -1.0, !FU; a: 18_446_744_073_709_560_000.0, !FO;);\r | |
51 | }\r | |
52 | \r | |
53 | #[test]\r | |
54 | fn test_f64() {\r | |
55 | check!(f64, f32=> fidenta; qa: *;);\r | |
56 | check!(f64, f64=> fident; qv: *;);\r | |
57 | }\r |