diff --git a/src/algebra/TinyVector.hpp b/src/algebra/TinyVector.hpp index 34b73118b7473d8f9a494d17ff12be9b272b4656..6f09691d1f2cdfd5f8d46b64a46f28d24f5d5560 100644 --- a/src/algebra/TinyVector.hpp +++ b/src/algebra/TinyVector.hpp @@ -238,4 +238,12 @@ public: } }; +template <size_t N, typename T> +KOKKOS_INLINE_FUNCTION +T l2Norm(const TinyVector<N,T>& x) +{ + static_assert(std::is_arithmetic<T>(),"Cannot compute L2 norm for non-arithmetic types"); + return std::sqrt((x,x)); +} + #endif // TINYVECTOR_HPP