optimum_pow.hpp
00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2005-12-21
00005 // Updated : 2006-11-13
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/optimum_pow.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_optimum_pow
00014 #define glm_gtx_optimum_pow
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 #       pragma message("GLM: GLM_GTX_optimum_pow extension included")
00021 #endif
00022 
00023 namespace glm{
00024 namespace gtx{
00025 namespace optimum_pow 
00026 {
00029 
00032     template <typename genType> 
00033         genType pow2(const genType& x);
00034 
00037     template <typename genType> 
00038         genType pow3(const genType& x);
00039 
00042         template <typename genType> 
00043         genType pow4(const genType& x);
00044         
00047     bool powOfTwo(int num);
00048 
00051     detail::tvec2<bool> powOfTwo(const detail::tvec2<int>& x);
00052 
00055     detail::tvec3<bool> powOfTwo(const detail::tvec3<int>& x);
00056 
00059     detail::tvec4<bool> powOfTwo(const detail::tvec4<int>& x);
00060 
00062 }//namespace optimum_pow
00063 }//namespace gtx
00064 }//namespace glm
00065 
00066 #include "optimum_pow.inl"
00067 
00068 namespace glm{using namespace gtx::optimum_pow;}
00069 
00070 #endif//glm_gtx_optimum_pow