mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 03:57:44 +00:00
sort: simplify handling of negative zeros
We can simply parse the sign of negative zero as positive, instead of handling the comparison of zeros differently.
This commit is contained in:
parent
06b3092f5f
commit
67b83647ac
1 changed files with 3 additions and 7 deletions
|
@ -107,7 +107,7 @@ impl NumInfo {
|
||||||
} else {
|
} else {
|
||||||
(
|
(
|
||||||
NumInfo {
|
NumInfo {
|
||||||
sign: if had_digit { sign } else { Sign::Positive },
|
sign: Sign::Positive,
|
||||||
exponent: 0,
|
exponent: 0,
|
||||||
},
|
},
|
||||||
if had_digit {
|
if had_digit {
|
||||||
|
@ -147,7 +147,7 @@ impl NumInfo {
|
||||||
} else {
|
} else {
|
||||||
(
|
(
|
||||||
NumInfo {
|
NumInfo {
|
||||||
sign: if had_digit { sign } else { Sign::Positive },
|
sign: Sign::Positive,
|
||||||
exponent: 0,
|
exponent: 0,
|
||||||
},
|
},
|
||||||
if had_digit {
|
if had_digit {
|
||||||
|
@ -187,11 +187,7 @@ impl NumInfo {
|
||||||
pub fn numeric_str_cmp((a, a_info): (&str, &NumInfo), (b, b_info): (&str, &NumInfo)) -> Ordering {
|
pub fn numeric_str_cmp((a, a_info): (&str, &NumInfo), (b, b_info): (&str, &NumInfo)) -> Ordering {
|
||||||
// check for a difference in the sign
|
// check for a difference in the sign
|
||||||
if a_info.sign != b_info.sign {
|
if a_info.sign != b_info.sign {
|
||||||
return if a.is_empty() && b.is_empty() {
|
return a_info.sign.cmp(&b_info.sign);
|
||||||
Ordering::Equal
|
|
||||||
} else {
|
|
||||||
a_info.sign.cmp(&b_info.sign)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for a difference in the exponent
|
// check for a difference in the exponent
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue