print rationals that are integers as integers (#663)

This commit is contained in:
Mark Thom
2022-03-09 21:24:16 -07:00
parent d83b32a200
commit eace0d9b37
3 changed files with 13 additions and 8 deletions

View File

@@ -961,8 +961,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
});
}
Number::Rational(r) => {
self.print_rational(r, add_brackets);
return;
self.print_rational(r);
}
n => {
let output_str = format!("{}", n);
@@ -993,11 +992,17 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
}
}
fn print_rational(&mut self, r: TypedArenaPtr<Rational>, add_brackets: bool) {
fn print_rational(&mut self, r: TypedArenaPtr<Rational>) {
match self.op_dir.get(&(atom!("rdiv"), Fixity::In)) {
Some(op_desc) => {
if add_brackets {
self.state_stack.push(TokenOrRedirect::Close);
if r.is_integer() {
let output_str = format!("{}", r);
push_space_if_amb!(self, &output_str, {
append_str!(self, &output_str);
});
return;
}
let rdiv_ct = atom!("rdiv");