46 fn norm2(&self) -> F { |
46 fn norm2(&self) -> F { |
47 self.norm2_squared().sqrt() |
47 self.norm2_squared().sqrt() |
48 } |
48 } |
49 |
49 |
50 /// Calculate the 2-distance squared $\\|x-y\\|_2^2$, where `self` is $x$. |
50 /// Calculate the 2-distance squared $\\|x-y\\|_2^2$, where `self` is $x$. |
51 fn dist2_squared(&self, y : &Self) -> F; |
51 fn dist2_squared<I : Instance<Self>>(&self, y : I) -> F; |
52 |
52 |
53 /// Calculate the 2-distance $\\|x-y\\|_2$, where `self` is $x$. |
53 /// Calculate the 2-distance $\\|x-y\\|_2$, where `self` is $x$. |
54 #[inline] |
54 #[inline] |
55 fn dist2(&self, y : &Self) -> F { |
55 fn dist2<I : Instance<Self>>(&self, y : I) -> F { |
56 self.dist2_squared(y).sqrt() |
56 self.dist2_squared(y).sqrt() |
57 } |
57 } |
58 |
58 |
59 /// Projection to the 2-ball. |
59 /// Projection to the 2-ball. |
60 #[inline] |
60 #[inline] |