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 {
00025 namespace gtx{
00027 namespace ulp
00028 {
00031
00034 template <typename genType>
00035 genType next_float(genType const & x);
00036
00039 template <typename genType>
00040 genType prev_float(genType const & x);
00041
00044 template <typename genType>
00045 genType next_float(genType const & x, uint const & Distance);
00046
00049 template <typename genType>
00050 genType prev_float(genType const & x, uint const & Distance);
00051
00054 template <typename T>
00055 uint float_distance(T const & x, T const & y);
00056
00059 template<typename T, template<typename> class vecType>
00060 vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
00061
00063
00064 }
00065 }
00066 }
00067
00068 #include "ulp.inl"
00069
00070 namespace glm{using namespace gtx::ulp;}
00071
00072 #endif//glm_gtx_ulp
00073