Showing
2 changed files
with
23 additions
and
16 deletions
... | ... | @@ -130,22 +130,22 @@ fn _vector() { |
130 | 130 | let v2 = Vector(2.into(), 2.into(), 3.into()); |
131 | 131 | let s :Fractional = 3.into(); |
132 | 132 | |
133 | - println!("{:>14} : {:?}", "Vector v1", v1); | |
134 | - println!("{:>14} : {:?}", "Vector v2", v2); | |
135 | - println!("{:>14} : {}" , "abs v1", v1.abs()); | |
136 | - println!("{:>14} : {:?}", "-v1", -v1); | |
137 | - println!("{:>14} : {:?}", "v1 + v1", v1 + v1); | |
138 | - println!("{:>14} : {:?}", "v1 - v1", v1 - v1); | |
139 | - println!("{:>14} : {:?}", "v2 - v1", v2 - v1); | |
140 | - println!("{:>14} : {:?}", format!("v1 * {}", s), v1.mul(&s)); | |
141 | - println!("{:>14} : {:?}", "norm v1", v1.norm()); | |
142 | - println!("{:>14} : {}" , "abs norm v1", v1.norm().abs()); | |
143 | - println!("{:>14} : {}" , "distance v1 v2", v1.distance(v2)); | |
144 | - println!("{:>14} : {}" , "distance v2 v1", v2.distance(v1)); | |
145 | - println!("{:>14} : {}" , "v1 dot v2", v1.dot(v2)); | |
146 | - println!("{:>14} : {}" , "v2 dot v1", v2.dot(v1)); | |
147 | - println!("{:>14} : {:?}", "v1 * v2", v1 * v2); | |
148 | - println!("{:>14} : {:?}", "v2 * v1", v2 * v1); | |
133 | + println!("{:>14} : {}", "Vector v1", v1); | |
134 | + println!("{:>14} : {}", "Vector v2", v2); | |
135 | + println!("{:>14} : {}", "abs v1", v1.abs()); | |
136 | + println!("{:>14} : {}", "-v1", -v1); | |
137 | + println!("{:>14} : {}", "v1 + v1", v1 + v1); | |
138 | + println!("{:>14} : {}", "v1 - v1", v1 - v1); | |
139 | + println!("{:>14} : {}", "v2 - v1", v2 - v1); | |
140 | + println!("{:>14} : {}", format!("v1 * {}", s), v1.mul(&s)); | |
141 | + println!("{:>14} : {}", "norm v1", v1.norm()); | |
142 | + println!("{:>14} : {}", "abs norm v1", v1.norm().abs()); | |
143 | + println!("{:>14} : {}", "distance v1 v2", v1.distance(v2)); | |
144 | + println!("{:>14} : {}", "distance v2 v1", v2.distance(v1)); | |
145 | + println!("{:>14} : {}", "v1 dot v2", v1.dot(v2)); | |
146 | + println!("{:>14} : {}", "v2 dot v1", v2.dot(v1)); | |
147 | + println!("{:>14} : {}", "v1 * v2", v1 * v2); | |
148 | + println!("{:>14} : {}", "v2 * v1", v2 * v1); | |
149 | 149 | } |
150 | 150 | |
151 | 151 | fn main() { | ... | ... |
... | ... | @@ -19,6 +19,7 @@ |
19 | 19 | // along with this program. If not, see <http://www.gnu.org/licenses/>. |
20 | 20 | // |
21 | 21 | use std::ops::{Add, Sub, Neg, Mul}; |
22 | +use std::fmt; | |
22 | 23 | use crate::{Fractional}; |
23 | 24 | |
24 | 25 | #[derive(Debug, Eq, Clone, Copy)] |
... | ... | @@ -58,6 +59,12 @@ impl Vector { |
58 | 59 | } |
59 | 60 | } |
60 | 61 | |
62 | +impl fmt::Display for Vector { | |
63 | + fn fmt(&self, f :&mut fmt::Formatter<'_>) -> fmt::Result { | |
64 | + write!(f, "({}, {}, {})", self.0, self.1, self.2) | |
65 | + } | |
66 | +} | |
67 | + | |
61 | 68 | impl PartialEq for Vector { |
62 | 69 | fn eq(&self, other :&Self) -> bool { |
63 | 70 | let Vector(x1, y1, z1) = self; | ... | ... |
Please
register
or
login
to post a comment