diff options
| -rw-r--r-- | libpsi/src/core/component.rs | 2 | ||||
| -rw-r--r-- | libpsi/src/maths/matrix.rs | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/libpsi/src/core/component.rs b/libpsi/src/core/component.rs index 331021f..41b7cc7 100644 --- a/libpsi/src/core/component.rs +++ b/libpsi/src/core/component.rs @@ -1,5 +1,5 @@ use crate::{complex, ColumnVector, Complex, Matrix, Vector, VectorMatrix}; -use std::ops; +use core::{fmt, ops}; pub type QuantumBit = ColumnVector<Complex<f64>>; pub type QuantumGate = Matrix<Complex<f64>>; diff --git a/libpsi/src/maths/matrix.rs b/libpsi/src/maths/matrix.rs index 795b37f..975c92d 100644 --- a/libpsi/src/maths/matrix.rs +++ b/libpsi/src/maths/matrix.rs @@ -1,5 +1,3 @@ -// TODO(Hachem): Refactor - use super::Float; use core::{fmt, ops}; @@ -175,10 +173,17 @@ impl<T: Float + fmt::Debug> fmt::Debug for Matrix<T> { impl<T: Float + fmt::Display> fmt::Display for Matrix<T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { for i in 0..self.rows { + write!(f, "[")?; for j in 0..self.cols { - write!(f, "{:>8} ", self.get(i, j))?; + write!(f, "{}", self.get(i, j))?; + if j != self.cols - 1 { + write!(f, " ")?; + } + } + write!(f, "]")?; + if i != self.rows - 1 { + write!(f, "\n")?; } - writeln!(f)?; } Ok(()) } |
