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