File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -186,6 +186,14 @@ impl<T: Float + FromStr> FromStr for OrderedFloat<T> {
186186 }
187187}
188188
189+ impl < T : Float > Neg for OrderedFloat < T > {
190+ type Output = Self ;
191+
192+ fn neg ( self ) -> Self {
193+ OrderedFloat ( -self . 0 )
194+ }
195+ }
196+
189197/// A wrapper around Floats providing an implementation of Ord and Hash.
190198///
191199/// A NaN value cannot be stored in this type.
Original file line number Diff line number Diff line change @@ -535,3 +535,13 @@ fn test_add_fails_on_nan() {
535535 let b = NotNan :: new ( std:: f32:: NEG_INFINITY ) . unwrap ( ) ;
536536 let _c = a + b;
537537}
538+
539+ #[ test]
540+ fn ordered_f32_neg ( ) {
541+ assert_eq ! ( OrderedFloat ( -7.0f32 ) , -OrderedFloat ( 7.0f32 ) ) ;
542+ }
543+
544+ #[ test]
545+ fn ordered_f64_neg ( ) {
546+ assert_eq ! ( OrderedFloat ( -7.0f64 ) , -OrderedFloat ( 7.0f64 ) ) ;
547+ }
You can’t perform that action at this time.
0 commit comments