Fixed glm::multiple warning with unsigned int genType

master
Christophe Riccio ago%!(EXTRA string=12 years)
parent eb56539a76
commit 3b8a199f1b
  1. 42
      glm/gtx/multiple.inl

@ -10,13 +10,14 @@
// - GLM core
///////////////////////////////////////////////////////////////////////////////////////////////////
namespace glm
namespace glm{
namespace detail
{
//////////////////////
// higherMultiple
template <bool Signed>
struct higherMultiple
{
template <typename genType>
GLM_FUNC_QUALIFIER genType higherMultiple
GLM_FUNC_QUALIFIER genType operator()
(
genType const & Source,
genType const & Multiple
@ -30,6 +31,37 @@ namespace glm
else
return Source + (-Source % Multiple);
}
};
template <>
struct higherMultiple<false>
{
template <typename genType>
GLM_FUNC_QUALIFIER genType operator()
(
genType const & Source,
genType const & Multiple
)
{
genType Tmp = Source - genType(1);
return Tmp + (Multiple - (Tmp % Multiple));
}
};
}//namespace detail
//////////////////////
// higherMultiple
template <typename genType>
GLM_FUNC_QUALIFIER genType higherMultiple
(
genType const & Source,
genType const & Multiple
)
{
detail::higherMultiple<std::numeric_limits<genType>::is_signed> Compute;
return Compute(Source, Multiple);
}
template <>
GLM_FUNC_QUALIFIER float higherMultiple

Loading…
Cancel
Save