mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 12:07:46 +00:00
seq: display -0
This commit is contained in:
parent
fe2aa232a5
commit
0aa29682d0
2 changed files with 5 additions and 16 deletions
|
@ -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),
|
||||
}
|
||||
}
|
||||
|
@ -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");
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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}")
|
||||
};
|
||||
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue