diff options
| author | Piotr Jawniak <sawyer47@gmail.com> | 2014-05-26 19:33:04 +0200 |
|---|---|---|
| committer | Piotr Jawniak <sawyer47@gmail.com> | 2014-05-28 17:15:35 +0200 |
| commit | dd0d495f50e2d8ba501e6b003cb4c1ef52d95ed5 (patch) | |
| tree | 1b1f2111b7c14249b9c17593e3f6b7ddae5f827d /src/libcore/num/i64.rs | |
| parent | a1838295eb3a8086e6022d030a1e9e1b08ecc812 (diff) | |
| download | rust-dd0d495f50e2d8ba501e6b003cb4c1ef52d95ed5.tar.gz rust-dd0d495f50e2d8ba501e6b003cb4c1ef52d95ed5.zip | |
Move trait impls for primitives near trait definition
Closes #12925
Diffstat (limited to 'src/libcore/num/i64.rs')
| -rw-r--r-- | src/libcore/num/i64.rs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/libcore/num/i64.rs b/src/libcore/num/i64.rs index ba7b715f13d..21ae162d4aa 100644 --- a/src/libcore/num/i64.rs +++ b/src/libcore/num/i64.rs @@ -10,62 +10,5 @@ //! Operations and constants for signed 64-bits integers (`i64` type) -use default::Default; -use intrinsics; -use num::{Bitwise, Bounded, Zero, One, Signed, Num, Primitive, Int}; -use num::{CheckedDiv, CheckedAdd, CheckedSub, CheckedMul}; -use option::{Option, Some, None}; - -#[cfg(not(test))] -use cmp::{Eq, Ord, TotalEq, TotalOrd, Less, Greater, Equal, Ordering}; -#[cfg(not(test))] -use ops::{Add, Sub, Mul, Div, Rem, Neg, BitOr, BitAnd, BitXor}; -#[cfg(not(test))] -use ops::{Shl, Shr, Not}; - int_module!(i64, 64) -impl Bitwise for i64 { - /// Returns the number of ones in the binary representation of the number. - #[inline] - fn count_ones(&self) -> i64 { unsafe { intrinsics::ctpop64(*self as u64) as i64 } } - - /// Returns the number of leading zeros in the in the binary representation - /// of the number. - #[inline] - fn leading_zeros(&self) -> i64 { unsafe { intrinsics::ctlz64(*self as u64) as i64 } } - - /// Counts the number of trailing zeros. - #[inline] - fn trailing_zeros(&self) -> i64 { unsafe { intrinsics::cttz64(*self as u64) as i64 } } -} - -impl CheckedAdd for i64 { - #[inline] - fn checked_add(&self, v: &i64) -> Option<i64> { - unsafe { - let (x, y) = intrinsics::i64_add_with_overflow(*self, *v); - if y { None } else { Some(x) } - } - } -} - -impl CheckedSub for i64 { - #[inline] - fn checked_sub(&self, v: &i64) -> Option<i64> { - unsafe { - let (x, y) = intrinsics::i64_sub_with_overflow(*self, *v); - if y { None } else { Some(x) } - } - } -} - -impl CheckedMul for i64 { - #[inline] - fn checked_mul(&self, v: &i64) -> Option<i64> { - unsafe { - let (x, y) = intrinsics::i64_mul_with_overflow(*self, *v); - if y { None } else { Some(x) } - } - } -} |
