vector: fix hypot implementation
This commit is contained in:
parent
7db82e4b22
commit
ede9b75bad
@ -115,7 +115,7 @@ main ()
|
||||
tap.expect (!is_normalised (util::vector3f::ONES), "ones isn't normalised");
|
||||
|
||||
tap.expect_eq (
|
||||
util::hypot (util::vector3f{0,1,2}, util::vector3f{3,2,4}),
|
||||
util::hypot (util::vector3f{0,1,2} - util::vector3f{3,2,4}),
|
||||
std::sqrt (14.f),
|
||||
"vector3f hypot"
|
||||
);
|
||||
|
@ -50,11 +50,11 @@ namespace util {
|
||||
template <typename T> vector<2,T> to_euler (vector<3,T>);
|
||||
template <typename T> vector<3,T> from_euler (vector<2,T>);
|
||||
|
||||
// power functions
|
||||
// root of sum of squares
|
||||
template <size_t S, typename T>
|
||||
constexpr
|
||||
T
|
||||
hypot (util::vector<S,T>, util::vector<S,T>);
|
||||
hypot (util::vector<S,T>);
|
||||
|
||||
// output and serialisation operators
|
||||
template <size_t S, typename T>
|
||||
|
@ -38,8 +38,7 @@ util::vector<S,T>::homog (void) const
|
||||
template <size_t S, typename T>
|
||||
constexpr
|
||||
T
|
||||
util::hypot (util::vector<S,T> a, util::vector<S,T> b)
|
||||
util::hypot (util::vector<S,T> v)
|
||||
{
|
||||
auto c = a - b;
|
||||
return std::sqrt (sum (c * c));
|
||||
return std::sqrt (sum (v * v));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user