+template <class T>
+inline bool allzero(const T &v) noexcept {
+ return glm::length2(v) <
+ std::numeric_limits<typename T::value_type>::epsilon()
+ * std::numeric_limits<typename T::value_type>::epsilon();
+}
+
+template <class T>
+inline bool anynan(const T &v) noexcept {
+ return glm::any(glm::isnan(v));
+}
+
+