Skip to content

Commit

Permalink
Merge pull request #5136 from shinhs0506/seq-neg-zero
Browse files Browse the repository at this point in the history
seq: display -0
  • Loading branch information
cakebaker authored Aug 7, 2023
2 parents a4b7477 + 0aa2968 commit 2b69803
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 16 deletions.
12 changes: 2 additions & 10 deletions src/uu/seq/src/extendedbigint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,7 @@ impl Display for ExtendedBigInt {
Self::BigInt(n) => n.fmt(f),
Self::Infinity => f32::INFINITY.fmt(f),
Self::MinusInfinity => f32::NEG_INFINITY.fmt(f),
Self::MinusZero => {
// FIXME Come up with a way of formatting this with a
// "-" prefix.
0.fmt(f)
}
Self::MinusZero => "-0".fmt(f),
Self::Nan => "nan".fmt(f),
}
}
Expand Down Expand Up @@ -206,13 +202,9 @@ mod tests {
#[test]
fn test_display() {
assert_eq!(format!("{}", ExtendedBigInt::BigInt(BigInt::zero())), "0");
assert_eq!(format!("{}", ExtendedBigInt::MinusZero), "-0");
assert_eq!(format!("{}", ExtendedBigInt::Infinity), "inf");
assert_eq!(format!("{}", ExtendedBigInt::MinusInfinity), "-inf");
assert_eq!(format!("{}", ExtendedBigInt::Nan), "nan");
// FIXME Come up with a way of displaying negative zero as
// "-0". Currently it displays as just "0".
//
// assert_eq!(format!("{}", ExtendedBigInt::MinusZero), "-0");
//
}
}
9 changes: 3 additions & 6 deletions src/uu/seq/src/seq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,16 +223,13 @@ fn write_value_int(
value: &ExtendedBigInt,
width: usize,
pad: bool,
is_first_iteration: bool,
) -> std::io::Result<()> {
let value_as_str = if pad {
if *value == ExtendedBigInt::MinusZero && is_first_iteration {
format!("-{value:>0width$}", width = width - 1)
if *value == ExtendedBigInt::MinusZero {
format!("{value:0<width$}")
} else {
format!("{value:>0width$}")
}
} else if *value == ExtendedBigInt::MinusZero && is_first_iteration {
format!("-{value}")
} else {
format!("{value}")
};
Expand Down Expand Up @@ -347,7 +344,7 @@ fn print_seq_integers(
exit(1);
}
}
None => write_value_int(&mut stdout, &value, padding, pad, is_first_iteration)?,
None => write_value_int(&mut stdout, &value, padding, pad)?,
}
// TODO Implement augmenting addition.
value = value + increment.clone();
Expand Down

0 comments on commit 2b69803

Please sign in to comment.