aboutsummaryrefslogtreecommitdiff
path: root/libcore/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libcore/ops.rs')
-rw-r--r--libcore/ops.rs38
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 `&=`.
///