diff options
Diffstat (limited to 'libcore/ops.rs')
| -rw-r--r-- | libcore/ops.rs | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/libcore/ops.rs b/libcore/ops.rs index 50c4dc6..3f9d3ac 100644 --- a/libcore/ops.rs +++ b/libcore/ops.rs @@ -216,7 +216,9 @@ macro_rules! add_impl { )*) } -add_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +add_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +add_impl! { f32 f64 } /// The `Sub` trait is used to specify the functionality of `-`. /// @@ -270,7 +272,9 @@ macro_rules! sub_impl { )*) } -sub_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +sub_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +sub_impl! { f32 f64 } /// The `Mul` trait is used to specify the functionality of `*`. /// @@ -324,7 +328,9 @@ macro_rules! mul_impl { )*) } -mul_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +mul_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +mul_impl! { f32 f64 } /// The `Div` trait is used to specify the functionality of `/`. /// @@ -395,6 +401,7 @@ macro_rules! div_impl_float { )*) } +#[cfg(not(disable_float))] div_impl_float! { f32 f64 } /// The `Rem` trait is used to specify the functionality of `%`. @@ -466,6 +473,7 @@ macro_rules! rem_impl_float { )*) } +#[cfg(not(disable_float))] rem_impl_float! { f32 f64 } /// The `Neg` trait is used to specify the functionality of unary `-`. @@ -534,7 +542,9 @@ macro_rules! neg_impl_unsigned { } // neg_impl_unsigned! { usize u8 u16 u32 u64 } -neg_impl_numeric! { isize i8 i16 i32 i64 f32 f64 } +neg_impl_numeric! { isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +neg_impl_numeric! { f32 f64 } /// The `Not` trait is used to specify the functionality of unary `!`. /// @@ -935,7 +945,9 @@ macro_rules! add_assign_impl { )+) } -add_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +add_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +add_assign_impl! { f32 f64 } /// The `SubAssign` trait is used to specify the functionality of `-=`. /// @@ -980,7 +992,9 @@ macro_rules! sub_assign_impl { )+) } -sub_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +sub_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +sub_assign_impl! { f32 f64 } /// The `MulAssign` trait is used to specify the functionality of `*=`. /// @@ -1025,7 +1039,9 @@ macro_rules! mul_assign_impl { )+) } -mul_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +mul_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +mul_assign_impl! { f32 f64 } /// The `DivAssign` trait is used to specify the functionality of `/=`. /// @@ -1069,7 +1085,9 @@ macro_rules! div_assign_impl { )+) } -div_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +div_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +div_assign_impl! { f32 f64 } /// The `RemAssign` trait is used to specify the functionality of `%=`. /// @@ -1113,7 +1131,9 @@ macro_rules! rem_assign_impl { )+) } -rem_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 } +rem_assign_impl! { usize u8 u16 u32 u64 isize i8 i16 i32 i64 } +#[cfg(not(disable_float))] +rem_assign_impl! { f32 f64 } /// The `BitAndAssign` trait is used to specify the functionality of `&=`. /// |