print -0.0 as 0.0 (#1164)
This commit is contained in:
@@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user