From b4b228d17850ed76d10495ab6a55f9fd7c5a3195 Mon Sep 17 00:00:00 2001 From: NotLeonian <75620009+NotLeonian@users.noreply.github.com> Date: Sun, 13 Apr 2025 22:07:09 +0900 Subject: [PATCH] Implement Debug for FenwickTree --- src/fenwicktree.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/fenwicktree.rs b/src/fenwicktree.rs index 4804fc4..5fedc13 100644 --- a/src/fenwicktree.rs +++ b/src/fenwicktree.rs @@ -1,3 +1,4 @@ +use std::fmt::{Debug, Error, Formatter}; use std::ops::{Bound, RangeBounds}; // Reference: https://en.wikipedia.org/wiki/Fenwick_tree @@ -56,6 +57,20 @@ impl> FenwickTree { } } +impl> Debug for FenwickTree { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> { + f.debug_struct("FenwickTree") + .field("n", &self.n) + .field( + "accum", + &(1..=self.n).map(|i| self.accum(i)).collect::>(), + ) + .field("e", &self.e) + .finish()?; + Ok(()) + } +} + #[cfg(test)] mod tests { use super::*;