rust ffast-math (defunct, use lower)
neg impl
bendn 2023-10-03
parent 2d0c9ac · commit b7e8ea4
-rw-r--r--src/lib.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index c6a1111..0b0989a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -11,7 +11,7 @@
#![warn(clippy::pedantic, clippy::dbg_macro, clippy::use_self, missing_docs)]
use std::ops::{
Add as add, AddAssign as add_assign, Deref, DerefMut, Div as div, DivAssign as div_assign,
- Mul as mul, MulAssign as mul_assign, Rem as rem, RemAssign as rem_assign, Sub as sub,
+ Mul as mul, MulAssign as mul_assign, Neg, Rem as rem, RemAssign as rem_assign, Sub as sub,
SubAssign as sub_assign,
};
@@ -113,6 +113,13 @@ op!(mul);
op!(rem);
op!(sub);
+impl<T: FastFloat + Neg<Output = T>> Neg for FFloat<T> {
+ type Output = FFloat<T>;
+ fn neg(self) -> Self::Output {
+ unsafe { Self::new(-self.0) }
+ }
+}
+
macro_rules! assign {
($name:ident, $op:ident) => {
impl<T: FastFloat> $name<T> for FFloat<T> {