From 4e80cc36ca9234830c3f6f47a64a0f3382168386 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Tue, 24 Jun 2025 15:20:31 -0700 Subject: [PATCH] [core] Implement Display for Score --- core/src/score.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/core/src/score.rs b/core/src/score.rs index eee49f6..a7f24cd 100644 --- a/core/src/score.rs +++ b/core/src/score.rs @@ -1,6 +1,9 @@ // Eryn Wells -use std::ops::{Add, AddAssign, Mul, Sub, SubAssign}; +use std::{ + fmt, + ops::{Add, AddAssign, Mul, Neg, Sub, SubAssign}, +}; pub(crate) type ScoreInner = i32; @@ -69,3 +72,16 @@ impl From for Score { Score(value) } } + +impl fmt::Display for Score { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let value = self.0; + if *self == Self::MAX { + write!(f, "INF") + } else if *self == Self::MIN { + write!(f, "-INF") + } else { + write!(f, "{value}cp") + } + } +}