From c068f22329d5cc722622a2183bbb22eef2093df7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Aug 2026 11:16:07 +0200 Subject: initial import --- src/libraries/glm/gtx/normalize_dot.inl | 115 ++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100755 src/libraries/glm/gtx/normalize_dot.inl (limited to 'src/libraries/glm/gtx/normalize_dot.inl') diff --git a/src/libraries/glm/gtx/normalize_dot.inl b/src/libraries/glm/gtx/normalize_dot.inl new file mode 100755 index 0000000..a492d4b --- /dev/null +++ b/src/libraries/glm/gtx/normalize_dot.inl @@ -0,0 +1,115 @@ +////////////////////////////////////////////////////////////////////////////////// +// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) +////////////////////////////////////////////////////////////////////////////////// +// Created : 2007-09-28 +// Updated : 2008-10-07 +// Licence : This source is under MIT License +// File : glm/gtx/normalize_dot.inl +////////////////////////////////////////////////////////////////////////////////// + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType normalizeDot + ( + genType const & x, + genType const & y + ) + { + return + glm::dot(x, y) * + glm::inversesqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType normalizeDot + ( + detail::tvec2 const & x, + detail::tvec2 const & y + ) + { + return + glm::dot(x, y) * + glm::inversesqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType normalizeDot + ( + detail::tvec3 const & x, + detail::tvec3 const & y + ) + { + return + glm::dot(x, y) * + glm::inversesqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType normalizeDot + ( + detail::tvec4 const & x, + detail::tvec4 const & y + ) + { + return + glm::dot(x, y) * + glm::inversesqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER genType fastNormalizeDot + ( + genType const & x, + genType const & y + ) + { + return + glm::dot(x, y) * + fastInverseSqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType fastNormalizeDot + ( + detail::tvec2 const & x, + detail::tvec2 const & y + ) + { + return + glm::dot(x, y) * + fastInverseSqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType fastNormalizeDot + ( + detail::tvec3 const & x, + detail::tvec3 const & y + ) + { + return + glm::dot(x, y) * + fastInverseSqrt(glm::dot(x, x) * + glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER valType fastNormalizeDot + ( + detail::tvec4 const & x, + detail::tvec4 const & y + ) + { + return + glm::dot(x, y) * + fastInverseSqrt(glm::dot(x, x) * + glm::dot(y, y)); + } +}//namespace glm -- cgit v1.2.3