diff --git a/fractional/src/main.rs b/fractional/src/main.rs index f028e29..0709250 100644 --- a/fractional/src/main.rs +++ b/fractional/src/main.rs @@ -130,22 +130,22 @@ fn _vector() { let v2 = Vector(2.into(), 2.into(), 3.into()); let s :Fractional = 3.into(); - println!("{:>14} : {:?}", "Vector v1", v1); - println!("{:>14} : {:?}", "Vector v2", v2); - println!("{:>14} : {}" , "abs v1", v1.abs()); - println!("{:>14} : {:?}", "-v1", -v1); - println!("{:>14} : {:?}", "v1 + v1", v1 + v1); - println!("{:>14} : {:?}", "v1 - v1", v1 - v1); - println!("{:>14} : {:?}", "v2 - v1", v2 - v1); - println!("{:>14} : {:?}", format!("v1 * {}", s), v1.mul(&s)); - println!("{:>14} : {:?}", "norm v1", v1.norm()); - println!("{:>14} : {}" , "abs norm v1", v1.norm().abs()); - println!("{:>14} : {}" , "distance v1 v2", v1.distance(v2)); - println!("{:>14} : {}" , "distance v2 v1", v2.distance(v1)); - println!("{:>14} : {}" , "v1 dot v2", v1.dot(v2)); - println!("{:>14} : {}" , "v2 dot v1", v2.dot(v1)); - println!("{:>14} : {:?}", "v1 * v2", v1 * v2); - println!("{:>14} : {:?}", "v2 * v1", v2 * v1); + println!("{:>14} : {}", "Vector v1", v1); + println!("{:>14} : {}", "Vector v2", v2); + println!("{:>14} : {}", "abs v1", v1.abs()); + println!("{:>14} : {}", "-v1", -v1); + println!("{:>14} : {}", "v1 + v1", v1 + v1); + println!("{:>14} : {}", "v1 - v1", v1 - v1); + println!("{:>14} : {}", "v2 - v1", v2 - v1); + println!("{:>14} : {}", format!("v1 * {}", s), v1.mul(&s)); + println!("{:>14} : {}", "norm v1", v1.norm()); + println!("{:>14} : {}", "abs norm v1", v1.norm().abs()); + println!("{:>14} : {}", "distance v1 v2", v1.distance(v2)); + println!("{:>14} : {}", "distance v2 v1", v2.distance(v1)); + println!("{:>14} : {}", "v1 dot v2", v1.dot(v2)); + println!("{:>14} : {}", "v2 dot v1", v2.dot(v1)); + println!("{:>14} : {}", "v1 * v2", v1 * v2); + println!("{:>14} : {}", "v2 * v1", v2 * v1); } fn main() { diff --git a/fractional/src/vector.rs b/fractional/src/vector.rs index db53c2e..1c307be 100644 --- a/fractional/src/vector.rs +++ b/fractional/src/vector.rs @@ -19,6 +19,7 @@ // along with this program. If not, see . // use std::ops::{Add, Sub, Neg, Mul}; +use std::fmt; use crate::{Fractional}; #[derive(Debug, Eq, Clone, Copy)] @@ -58,6 +59,12 @@ impl Vector { } } +impl fmt::Display for Vector { + fn fmt(&self, f :&mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "({}, {}, {})", self.0, self.1, self.2) + } +} + impl PartialEq for Vector { fn eq(&self, other :&Self) -> bool { let Vector(x1, y1, z1) = self;