diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-08-30 10:39:28 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-08-30 10:39:28 -0700 |
| commit | 9518fc79eaa9979721abcdb9eaa506a1140cf3fb (patch) | |
| tree | 0c78930df57c3b619bd4065b1ff36c7825f814ef /src/libcore/vec.rs | |
| parent | 45e46f5fc0e78f5855e8870a6e3eb2a0a7e5ae50 (diff) | |
cargo: Fix some lack of knowledge of basic algebraic identities
Diffstat (limited to 'src/libcore/vec.rs')
| -rw-r--r-- | src/libcore/vec.rs | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/libcore/vec.rs b/src/libcore/vec.rs index dcdea639084..baf6c7c8601 100644 --- a/src/libcore/vec.rs +++ b/src/libcore/vec.rs @@ -1443,23 +1443,9 @@ pure fn lt<T: Ord>(a: &[T], b: &[T]) -> bool { return a_len < b_len; } -pure fn le<T: Ord>(a: &[T], b: &[T]) -> bool { - let (a_len, b_len) = (a.len(), b.len()); - let mut end = uint::min(&a_len, &b_len); - - let mut i = 0; - while i < end { - let (c_a, c_b) = (&a[i], &b[i]); - if *c_a < *c_b { return true; } - if *c_a > *c_b { return false; } - i += 1; - } - - return a_len <= b_len; -} - -pure fn ge<T: Ord>(a: &[T], b: &[T]) -> bool { !lt(b, a) } -pure fn gt<T: Ord>(a: &[T], b: &[T]) -> bool { !le(b, a) } +pure fn le<T: Ord>(a: &[T], b: &[T]) -> bool { !lt(b, a) } +pure fn ge<T: Ord>(a: &[T], b: &[T]) -> bool { !lt(a, b) } +pure fn gt<T: Ord>(a: &[T], b: &[T]) -> bool { lt(b, a) } impl<T: Ord> &[T]: Ord { #[inline(always)] |
