Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases. Does not fix the specialized versions of these functions

This commit is contained in:
Robert Ancell
2013-05-03 16:52:06 -07:00
parent 073675d970
commit f0d4080fe3
2 changed files with 29 additions and 13 deletions

View File

@@ -22,8 +22,13 @@ namespace glm
genType const & Multiple
)
{
genType Tmp = Source % Multiple;
return Tmp ? Source + Multiple - Tmp : Source;
if (Source > 0)
{
genType Tmp = Source - 1;
return Tmp + (Multiple - (Tmp % Multiple));
}
else
return Source + (-Source % Multiple);
}
template <>
@@ -74,8 +79,13 @@ namespace glm
genType const & Multiple
)
{
genType Tmp = Source % Multiple;
return Tmp ? Source - Tmp : Source;
if (Source >= 0)
return Source - Source % Multiple;
else
{
genType Tmp = Source + 1;
return Tmp - Tmp % Multiple - Multiple;
}
}
template <>