00001
00002
00004
00005
00006
00007
00009
00010
00012
00013 #ifndef glm_gtx_ulp
00014 #define glm_gtx_ulp
00015
00016
00017 #include "../glm.hpp"
00018
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 # pragma message("GLM: GLM_GTX_ulp extension included")
00021 #endif
00022
00023 namespace glm{
00024 namespace gtx{
00025 namespace ulp
00026 {
00029
00032 template <typename genType>
00033 genType next_float(genType const & x);
00034
00037 template <typename genType>
00038 genType prev_float(genType const & x);
00039
00042 template <typename genType>
00043 genType next_float(genType const & x, uint const & Distance);
00044
00047 template <typename genType>
00048 genType prev_float(genType const & x, uint const & Distance);
00049
00052 template <typename T>
00053 uint float_distance(T const & x, T const & y);
00054
00057 template<typename T, template<typename> class vecType>
00058 vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
00059
00061 }
00062 }
00063 }
00064
00065 #include "ulp.inl"
00066
00067 namespace glm{using namespace gtx::ulp;}
00068
00069 #endif//glm_gtx_ulp
00070