472: [breaking] Move lerp() from InnerSpace to VectorSpace r=Rhuagh a=Vlad-Shcherbina

Because it does not require dot product.
Along the way, fix the comment.

Fixes #471.

Co-authored-by: Vlad Shcherbina <vlad.shcherbina@gmail.com>
This commit is contained in:
bors[bot] 2019-01-14 17:10:16 +00:00
commit a570349a0d
2 changed files with 10 additions and 7 deletions

View file

@ -6,6 +6,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
### Changed
- Move `lerp()` from `InnerSpace` to `VectorSpace`
## [v0.16.1] - 2018-03-21
### Added

View file

@ -181,6 +181,13 @@ where
{
/// The associated scalar.
type Scalar: BaseNum;
/// Returns the result of linearly interpolating the vector
/// towards `other` by the specified amount.
#[inline]
fn lerp(self, other: Self, amount: Self::Scalar) -> Self {
self + ((other - self) * amount)
}
}
/// A type with a distance function between values.
@ -261,13 +268,6 @@ where
self * (magnitude / self.magnitude())
}
/// Returns the result of linearly interpolating the magnitude of the vector
/// towards the magnitude of `other` by the specified amount.
#[inline]
fn lerp(self, other: Self, amount: Self::Scalar) -> Self {
self + ((other - self) * amount)
}
/// Returns the
/// [vector projection](https://en.wikipedia.org/wiki/Vector_projection)
/// of the current inner space projected onto the supplied argument.