From: Joshua Simmons Date: Sun, 11 Sep 2022 14:01:51 +0000 (+0200) Subject: Add `normalized` function to vectors X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=bf2959a2be237d441a6bfadb3157cb8f917f415b;p=josh%2Fnarcissus Add `normalized` function to vectors --- diff --git a/narcissus-maths/src/lib.rs b/narcissus-maths/src/lib.rs index c2fc7b3..3193cd3 100644 --- a/narcissus-maths/src/lib.rs +++ b/narcissus-maths/src/lib.rs @@ -230,6 +230,13 @@ macro_rules! impl_vector { pub fn length_sq(self) -> $t { Self::dot(self, self) } + + /// Returns a vector with the same direction as `self` but with unit (1.0) length. + #[must_use] + #[inline] + pub fn normalized(self) -> $name { + self / self.length() + } } impl std::ops::Neg for $name {