00001
00002
00004
00005
00006
00007
00009
00010
00012
00013 #ifndef glm_gtx_optimum_pow
00014 #define glm_gtx_optimum_pow
00015
00016
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 }
00063 }
00064 }
00065
00066 #include "optimum_pow.inl"
00067
00068 namespace glm{using namespace gtx::optimum_pow;}
00069
00070 #endif//glm_gtx_optimum_pow