Fixed build on C++98 compiler

This commit is contained in:
Christophe Riccio 2015-10-11 22:01:02 +02:00
parent 7f4d8c38c9
commit 92a6c207bc

View File

@ -623,8 +623,8 @@ namespace detail
template <typename uintType, typename floatType, precision P, template <typename, precision> class vecType>
GLM_FUNC_QUALIFIER vecType<uintType, P> packUnorm(vecType<floatType, P> const & v)
{
static_assert(std::numeric_limits<uintType>::is_integer, "uintType must be an integer type");
static_assert(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
GLM_STATIC_ASSERT(std::numeric_limits<uintType>::is_integer, "uintType must be an integer type");
GLM_STATIC_ASSERT(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
return vecType<uintType, P>(round(clamp(v, static_cast<floatType>(0), static_cast<floatType>(1)) * static_cast<floatType>(std::numeric_limits<uintType>::max())));
}
@ -632,8 +632,8 @@ namespace detail
template <typename uintType, typename floatType, precision P, template <typename, precision> class vecType>
GLM_FUNC_QUALIFIER vecType<floatType, P> unpackUnorm(vecType<uintType, P> const & v)
{
static_assert(std::numeric_limits<uintType>::is_integer, "uintType must be an integer type");
static_assert(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
GLM_STATIC_ASSERT(std::numeric_limits<uintType>::is_integer, "uintType must be an integer type");
GLM_STATIC_ASSERT(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
return vecType<float, P>(v) * (static_cast<floatType>(1) / static_cast<floatType>(std::numeric_limits<uintType>::max()));
}
@ -641,8 +641,8 @@ namespace detail
template <typename intType, typename floatType, precision P, template <typename, precision> class vecType>
GLM_FUNC_QUALIFIER vecType<intType, P> packSnorm(vecType<floatType, P> const & v)
{
static_assert(std::numeric_limits<intType>::is_integer, "uintType must be an integer type");
static_assert(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
GLM_STATIC_ASSERT(std::numeric_limits<intType>::is_integer, "uintType must be an integer type");
GLM_STATIC_ASSERT(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
return vecType<intType, P>(round(clamp(v , static_cast<floatType>(-1), static_cast<floatType>(1)) * static_cast<floatType>(std::numeric_limits<intType>::max())));
}
@ -650,8 +650,8 @@ namespace detail
template <typename intType, typename floatType, precision P, template <typename, precision> class vecType>
GLM_FUNC_QUALIFIER vecType<floatType, P> unpackSnorm(vecType<intType, P> const & v)
{
static_assert(std::numeric_limits<intType>::is_integer, "uintType must be an integer type");
static_assert(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
GLM_STATIC_ASSERT(std::numeric_limits<intType>::is_integer, "uintType must be an integer type");
GLM_STATIC_ASSERT(std::numeric_limits<floatType>::is_iec559, "floatType must be a floating point type");
return clamp(vecType<floatType, P>(v) * (static_cast<floatType>(1) / static_cast<floatType>(std::numeric_limits<intType>::max())), static_cast<floatType>(-1), static_cast<floatType>(1));
}