/////////////////////////////////////////////////////////////////////////////////////////////////// // OpenGL Mathematics Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) /////////////////////////////////////////////////////////////////////////////////////////////////// // Created : 2005-12-21 // Updated : 2005-12-27 // Licence : This source is under MIT License // File : glm/gtx/optimum_pow.inl /////////////////////////////////////////////////////////////////////////////////////////////////// namespace glm { template GLM_FUNC_QUALIFIER genType pow2(genType const & x) { return x * x; } template GLM_FUNC_QUALIFIER genType pow3(genType const & x) { return x * x * x; } template GLM_FUNC_QUALIFIER genType pow4(genType const & x) { return (x * x) * (x * x); } GLM_FUNC_QUALIFIER bool powOfTwo(int x) { return !(x & (x - 1)); } template GLM_FUNC_QUALIFIER detail::tvec2 powOfTwo(detail::tvec2 const & x) { return detail::tvec2( powOfTwo(x.x), powOfTwo(x.y)); } template GLM_FUNC_QUALIFIER detail::tvec3 powOfTwo(detail::tvec3 const & x) { return detail::tvec3( powOfTwo(x.x), powOfTwo(x.y), powOfTwo(x.z)); } template GLM_FUNC_QUALIFIER detail::tvec4 powOfTwo(detail::tvec4 const & x) { return detail::tvec4( powOfTwo(x.x), powOfTwo(x.y), powOfTwo(x.z), powOfTwo(x.w)); } }//namespace glm