diff options
| author | hachem <im@hachem.wtf> | 2024-09-22 22:35:48 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2024-09-22 22:35:48 +0200 |
| commit | d3e783906dfd8959ff0d1c75fa63b099d14da2f3 (patch) | |
| tree | b99e721936e3f0ebc28fa7abc6e1de374f4706f4 /libpsi/src | |
| parent | 57ea5b058d5038e1cdbffbc9b518d8717b1b7ba9 (diff) | |
Fix DisplayFmt
Diffstat (limited to 'libpsi/src')
| -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(()) } |
