sciforge_lib/maths/tensor/
display.rs1use super::storage::Tensor;
2use std::fmt;
3
4impl fmt::Display for Tensor {
5 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
6 if self.rank() == 0 {
7 write!(f, "{:.6}", self.data[0])
8 } else if self.rank() == 1 {
9 write!(f, "[")?;
10 for i in 0..self.shape[0] {
11 if i > 0 {
12 write!(f, ", ")?;
13 }
14 write!(f, "{:.6}", self.get(&[i]))?;
15 }
16 write!(f, "]")
17 } else if self.rank() == 2 {
18 for i in 0..self.shape[0] {
19 write!(f, "[")?;
20 for j in 0..self.shape[1] {
21 if j > 0 {
22 write!(f, ", ")?;
23 }
24 write!(f, "{:>12.6}", self.get(&[i, j]))?;
25 }
26 writeln!(f, "]")?;
27 }
28 Ok(())
29 } else {
30 write!(f, "Tensor(shape={:?})", self.shape)
31 }
32 }
33}