inline the primitive numeric operations
This commit is contained in:
parent
8cadcc47ee
commit
a3e33cfb6e
@ -301,20 +301,28 @@ impl num::One for f32 {
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Add<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn add(&self, other: &f32) -> f32 { *self + *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Sub<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn sub(&self, other: &f32) -> f32 { *self - *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Mul<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn mul(&self, other: &f32) -> f32 { *self * *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Div<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn div(&self, other: &f32) -> f32 { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -322,10 +330,13 @@ impl Quot<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn quot(&self, other: &f32) -> f32 { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Modulo<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn modulo(&self, other: &f32) -> f32 { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -333,8 +344,10 @@ impl Rem<f32,f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn rem(&self, other: &f32) -> f32 { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Neg<f32> for f32 {
|
||||
#[inline(always)]
|
||||
fn neg(&self) -> f32 { -*self }
|
||||
}
|
||||
|
||||
|
@ -455,18 +455,25 @@ impl num::Round for float {
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Add<float,float> for float {
|
||||
#[inline(always)]
|
||||
fn add(&self, other: &float) -> float { *self + *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Sub<float,float> for float {
|
||||
#[inline(always)]
|
||||
fn sub(&self, other: &float) -> float { *self - *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Mul<float,float> for float {
|
||||
#[inline(always)]
|
||||
fn mul(&self, other: &float) -> float { *self * *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Div<float,float> for float {
|
||||
#[inline(always)]
|
||||
fn div(&self, other: &float) -> float { *self / *other }
|
||||
}
|
||||
#[cfg(stage1,notest)]
|
||||
@ -478,6 +485,7 @@ impl Quot<float,float> for float {
|
||||
}
|
||||
#[cfg(stage0,notest)]
|
||||
impl Modulo<float,float> for float {
|
||||
#[inline(always)]
|
||||
fn modulo(&self, other: &float) -> float { *self % *other }
|
||||
}
|
||||
#[cfg(stage1,notest)]
|
||||
@ -489,6 +497,7 @@ impl Rem<float,float> for float {
|
||||
}
|
||||
#[cfg(notest)]
|
||||
impl Neg<float> for float {
|
||||
#[inline(always)]
|
||||
fn neg(&self) -> float { -*self }
|
||||
}
|
||||
|
||||
|
@ -175,20 +175,28 @@ impl num::One for T {
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Add<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn add(&self, other: &T) -> T { *self + *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Sub<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn sub(&self, other: &T) -> T { *self - *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Mul<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn mul(&self, other: &T) -> T { *self * *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Div<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn div(&self, other: &T) -> T { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -196,10 +204,13 @@ impl Quot<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn quot(&self, other: &T) -> T { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Modulo<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn modulo(&self, other: &T) -> T { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -207,8 +218,10 @@ impl Rem<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn rem(&self, other: &T) -> T { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Neg<T> for T {
|
||||
#[inline(always)]
|
||||
fn neg(&self) -> T { -*self }
|
||||
}
|
||||
|
||||
@ -217,26 +230,31 @@ impl BitOr<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitor(&self, other: &T) -> T { *self | *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl BitAnd<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitand(&self, other: &T) -> T { *self & *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl BitXor<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitxor(&self, other: &T) -> T { *self ^ *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Shl<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn shl(&self, other: &T) -> T { *self << *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Shr<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn shr(&self, other: &T) -> T { *self >> *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Not<T> for T {
|
||||
#[inline(always)]
|
||||
|
@ -140,20 +140,28 @@ impl num::One for T {
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Add<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn add(&self, other: &T) -> T { *self + *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Sub<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn sub(&self, other: &T) -> T { *self - *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Mul<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn mul(&self, other: &T) -> T { *self * *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Div<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn div(&self, other: &T) -> T { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -161,10 +169,13 @@ impl Quot<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn quot(&self, other: &T) -> T { *self / *other }
|
||||
}
|
||||
|
||||
#[cfg(stage0,notest)]
|
||||
impl Modulo<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn modulo(&self, other: &T) -> T { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(stage1,notest)]
|
||||
#[cfg(stage2,notest)]
|
||||
#[cfg(stage3,notest)]
|
||||
@ -172,8 +183,10 @@ impl Rem<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn rem(&self, other: &T) -> T { *self % *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Neg<T> for T {
|
||||
#[inline(always)]
|
||||
fn neg(&self) -> T { -*self }
|
||||
}
|
||||
|
||||
@ -182,26 +195,31 @@ impl BitOr<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitor(&self, other: &T) -> T { *self | *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl BitAnd<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitand(&self, other: &T) -> T { *self & *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl BitXor<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn bitxor(&self, other: &T) -> T { *self ^ *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Shl<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn shl(&self, other: &T) -> T { *self << *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Shr<T,T> for T {
|
||||
#[inline(always)]
|
||||
fn shr(&self, other: &T) -> T { *self >> *other }
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl Not<T> for T {
|
||||
#[inline(always)]
|
||||
|
Loading…
Reference in New Issue
Block a user