diff --git a/src/primitive.rs b/src/primitive.rs index 623757ea..59436c46 100644 --- a/src/primitive.rs +++ b/src/primitive.rs @@ -1,5 +1,7 @@ //! Implementation of the FiniteF64 primitive +use core::cmp::Ordering; + use crate::{TemporalError, TemporalResult}; use num_traits::{AsPrimitive, FromPrimitive, PrimInt}; @@ -215,6 +217,20 @@ impl PartialOrd for FiniteF64 { } } +impl Eq for FiniteF64 {} + +impl Ord for FiniteF64 { + fn cmp(&self, other: &Self) -> Ordering { + match self.0.partial_cmp(&other.0) { + Some(ordering) => ordering, + None => { + debug_assert!(false, "could not compare finite f64: {self} {other}"); + Ordering::Equal + } + } + } +} + #[cfg(test)] mod tests { use super::FiniteF64;