print -0.0 as 0.0 (#1164)

This commit is contained in:
Mark Thom
2022-01-18 21:31:14 -07:00
parent 5a132aaff4
commit f6116510a1
2 changed files with 7 additions and 7 deletions

View File

@@ -635,7 +635,7 @@ impl Number {
match self { match self {
&Number::Fixnum(n) => n.get_num() < 0, &Number::Fixnum(n) => n.get_num() < 0,
&Number::Integer(ref n) => &**n < &0, &Number::Integer(ref n) => &**n < &0,
&Number::Float(OrderedFloat(f)) => f.is_sign_negative(), &Number::Float(OrderedFloat(f)) => f.is_sign_negative() && OrderedFloat(f) != -0f64,
&Number::Rational(ref r) => &**r < &0, &Number::Rational(ref r) => &**r < &0,
} }
} }
@@ -645,7 +645,7 @@ impl Number {
match self { match self {
&Number::Fixnum(n) => n.get_num() == 0, &Number::Fixnum(n) => n.get_num() == 0,
&Number::Integer(ref n) => &**n == &0, &Number::Integer(ref n) => &**n == &0,
&Number::Float(f) => f == OrderedFloat(0f64), &Number::Float(f) => f == OrderedFloat(0f64) || f == OrderedFloat(-0f64),
&Number::Rational(ref r) => &**r == &0, &Number::Rational(ref r) => &**r == &0,
} }
} }

View File

@@ -933,8 +933,11 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
match n { match n {
NumberFocus::Unfocused(n) => match n { NumberFocus::Unfocused(n) => match n {
Number::Float(fl) => { Number::Float(OrderedFloat(mut fl)) => {
let OrderedFloat(fl) = fl; if OrderedFloat(fl) == -0f64 {
fl = 0f64;
}
let output_str = format!("{0:<20?}", fl); let output_str = format!("{0:<20?}", fl);
push_space_if_amb!(self, &output_str, { push_space_if_amb!(self, &output_str, {
@@ -945,9 +948,6 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
self.print_rational(r, add_brackets); self.print_rational(r, add_brackets);
return; return;
} }
Number::Fixnum(n) => {
append_str!(self, &format!("{}", n.get_num()));
}
n => { n => {
let output_str = format!("{}", n); let output_str = format!("{}", n);