Support formatting special integers separately
This adds Debug and Display trait implementations for the SpecialInteger enum to make it possible to format its values without having to wrap it in a Term variant.
This commit is contained in:
parent
14abd73110
commit
a7e07380ff
@ -67,6 +67,26 @@ impl Precedence for crate::Formula
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for crate::SpecialInteger
|
||||||
|
{
|
||||||
|
fn fmt(&self, format: &mut std::fmt::Formatter) -> std::fmt::Result
|
||||||
|
{
|
||||||
|
match &self
|
||||||
|
{
|
||||||
|
crate::SpecialInteger::Infimum => write!(format, "#inf"),
|
||||||
|
crate::SpecialInteger::Supremum => write!(format, "#sup"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Display for crate::SpecialInteger
|
||||||
|
{
|
||||||
|
fn fmt(&self, format: &mut std::fmt::Formatter) -> std::fmt::Result
|
||||||
|
{
|
||||||
|
write!(format, "{:?}", &self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl std::fmt::Debug for crate::FunctionDeclaration
|
impl std::fmt::Debug for crate::FunctionDeclaration
|
||||||
{
|
{
|
||||||
fn fmt(&self, format: &mut std::fmt::Formatter) -> std::fmt::Result
|
fn fmt(&self, format: &mut std::fmt::Formatter) -> std::fmt::Result
|
||||||
@ -151,8 +171,7 @@ impl<'term> std::fmt::Debug for TermDisplay<'term>
|
|||||||
{
|
{
|
||||||
crate::Term::Boolean(true) => write!(format, "true"),
|
crate::Term::Boolean(true) => write!(format, "true"),
|
||||||
crate::Term::Boolean(false) => write!(format, "false"),
|
crate::Term::Boolean(false) => write!(format, "false"),
|
||||||
crate::Term::SpecialInteger(crate::SpecialInteger::Infimum) => write!(format, "#inf"),
|
crate::Term::SpecialInteger(value) => write!(format, "{:?}", value),
|
||||||
crate::Term::SpecialInteger(crate::SpecialInteger::Supremum) => write!(format, "#sup"),
|
|
||||||
crate::Term::Integer(value) => write!(format, "{}", value),
|
crate::Term::Integer(value) => write!(format, "{}", value),
|
||||||
crate::Term::String(value) => write!(format, "\"{}\"", value),
|
crate::Term::String(value) => write!(format, "\"{}\"", value),
|
||||||
crate::Term::Variable(variable) => write!(format, "{:?}", variable.declaration),
|
crate::Term::Variable(variable) => write!(format, "{:?}", variable.declaration),
|
||||||
|
Loading…
Reference in New Issue
Block a user