1use crate::Matrix;
2use core::fmt::{Debug, Display, Formatter, Result as FmtResult};
3
4impl<T, const M: usize, const N: usize> Debug for Matrix<T, M, N>
5where
6 T: Debug,
7{
8 fn fmt(&self, f: &mut Formatter) -> FmtResult {
9 writeln!(f)?;
10 writeln!(f, "Matrix{}x{}(", M, N)?;
11 for j in 0..M {
12 write!(f, " ")?;
13 for i in 0..N {
14 write!(f, "{:?}, ", self[(j, i)])?;
15 }
16 writeln!(f)?;
17 }
18 writeln!(f, ")")?;
19 Ok(())
20 }
21}
22
23impl<T, const M: usize, const N: usize> Display for Matrix<T, M, N>
24where
25 T: Display,
26{
27 fn fmt(&self, f: &mut Formatter) -> FmtResult {
28 writeln!(f)?;
29 writeln!(f, "Matrix{}x{}(", M, N)?;
30 for j in 0..M {
31 write!(f, " ")?;
32 for i in 0..N {
33 write!(f, "{}, ", self[(j, i)])?;
34 }
35 writeln!(f)?;
36 }
37 writeln!(f, ")")?;
38 Ok(())
39 }
40}