src/euclidean.rs

branch
dev
changeset 59
9226980e45a7
parent 5
59dc4c5883f4
child 62
d8305c9b6fdf
--- a/src/euclidean.rs	Sat Dec 14 09:31:27 2024 -0500
+++ b/src/euclidean.rs	Tue Dec 31 08:30:02 2024 -0500
@@ -2,8 +2,9 @@
 Euclidean spaces.
 */
 
+use std::ops::{Mul, MulAssign, Div, DivAssign, Add, Sub, AddAssign, SubAssign, Neg};
 use crate::types::*;
-use std::ops::{Mul, MulAssign, Div, DivAssign, Add, Sub, AddAssign, SubAssign, Neg};
+use crate::mapping::Space;
 
 /// Space (type) with a defined dot product.
 ///
@@ -18,7 +19,7 @@
 /// The type should implement vector space operations (addition, subtraction, scalar
 /// multiplication and scalar division) along with their assignment versions, as well
 /// as the [`Dot`] product with respect to `Self`.
-pub trait Euclidean<F : Float> : Sized + Dot<Self,F>
+pub trait Euclidean<F : Float> : Space + Dot<Self,F>
         + Mul<F, Output=<Self as Euclidean<F>>::Output> + MulAssign<F>
         + Div<F, Output=<Self as Euclidean<F>>::Output> + DivAssign<F>
         + Add<Self, Output=<Self as Euclidean<F>>::Output>

mercurial