Skip to content

Commit a544d22

Browse files
committed
---
yaml --- r: 60240 b: refs/heads/master c: 36771ef h: refs/heads/master v: v3
1 parent ecb8845 commit a544d22

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 1f62b23411abcfbe66eeea294f4258f1bb169e7d
2+
refs/heads/master: 36771ef60997b5882ad391839b5f7854d077cc42
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 2d28d645422c1617be58c8ca7ad9a457264ca850
55
refs/heads/try: c50a9d5b664478e533ba1d1d353213d70c8ad589

trunk/src/libstd/num/bigint.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ impl Integer for BigUint {
445445
if self.data.is_empty() {
446446
true
447447
} else {
448-
self.data.last().is_even()
448+
self.data[0].is_even()
449449
}
450450
}
451451

@@ -1446,6 +1446,17 @@ mod biguint_tests {
14461446
check(99, 17, 1683);
14471447
}
14481448

1449+
#[test]
1450+
fn test_is_even() {
1451+
assert!(FromStr::from_str::<BigUint>("1").get().is_odd());
1452+
assert!(FromStr::from_str::<BigUint>("2").get().is_even());
1453+
assert!(FromStr::from_str::<BigUint>("1000").get().is_even());
1454+
assert!(FromStr::from_str::<BigUint>("1000000000000000000000").get().is_even());
1455+
assert!(FromStr::from_str::<BigUint>("1000000000000000000001").get().is_odd());
1456+
assert!((BigUint::from_uint(1) << 64).is_even());
1457+
assert!(((BigUint::from_uint(1) << 64) + BigUint::from_uint(1)).is_odd());
1458+
}
1459+
14491460
fn to_str_pairs() -> ~[ (BigUint, ~[(uint, ~str)]) ] {
14501461
let bits = BigDigit::bits;
14511462
~[( Zero::zero(), ~[

0 commit comments

Comments
 (0)