From 0fcab5a43cc23f40d9a0b4b5b66196d7a5ae7d06 Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Sun, 15 May 2022 19:00:25 -0400 Subject: [PATCH] refactor: simplify partial ordering fn --- src/utils/gen_util.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/utils/gen_util.rs b/src/utils/gen_util.rs index 573d32af7..c91a68521 100644 --- a/src/utils/gen_util.rs +++ b/src/utils/gen_util.rs @@ -92,6 +92,7 @@ pub fn get_decimal_prefix(quantity: u64, unit: &str) -> (f64, String) { } } +#[inline] pub fn sort_partial_fn(is_reverse: bool) -> fn(T, T) -> Ordering { if is_reverse { partial_ordering_rev @@ -101,15 +102,19 @@ pub fn sort_partial_fn(is_reverse: bool) -> fn(T, T) -> } /// Returns an [`Ordering`] between two [`PartialOrd`]s. +#[inline] pub fn partial_ordering(a: T, b: T) -> Ordering { // TODO: Switch to `total_cmp` on 1.62 a.partial_cmp(&b).unwrap_or(Ordering::Equal) } /// Returns a reversed [`Ordering`] between two [`PartialOrd`]s. +/// +/// This is simply a wrapper function around [`partial_ordering`] that reverses +/// the result. +#[inline] pub fn partial_ordering_rev(a: T, b: T) -> Ordering { - // TODO: Switch to `total_cmp` on 1.62 - a.partial_cmp(&b).unwrap_or(Ordering::Equal).reverse() + partial_ordering(a, b).reverse() } #[cfg(test)]