mirror of
https://github.com/g-truc/glm.git
synced 2025-04-05 13:35:03 +00:00
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases. Does not fix the specialized versions of these functions
This commit is contained in:
parent
073675d970
commit
f0d4080fe3
2 changed files with 29 additions and 13 deletions
|
@ -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 <>
|
||||
|
|
|
@ -14,13 +14,16 @@ int test_higher()
|
|||
{
|
||||
int Error(0);
|
||||
|
||||
int Higher0 = glm::higherMultiple(-5, 4);
|
||||
Error += Higher0 == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-5, 4) == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-4, 4) == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-3, 4) == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-2, 4) == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-1, 4) == -4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-3, 4) == 0 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-2, 4) == 0 ? 0 : 1;
|
||||
Error += glm::higherMultiple(-1, 4) == 0 ? 0 : 1;
|
||||
|
||||
Error += glm::higherMultiple(0, 4) == 0 ? 0 : 1;
|
||||
Error += glm::higherMultiple(1, 4) == 4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(2, 4) == 4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(3, 4) == 4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(4, 4) == 4 ? 0 : 1;
|
||||
Error += glm::higherMultiple(5, 4) == 8 ? 0 : 1;
|
||||
Error += glm::higherMultiple(6, 4) == 8 ? 0 : 1;
|
||||
|
@ -35,12 +38,15 @@ int test_Lower()
|
|||
{
|
||||
int Error(0);
|
||||
|
||||
Error += glm::lowerMultiple(-5, 4) == -4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-5, 4) == -8 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-4, 4) == -4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-3, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-2, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-1, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-3, 4) == -4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-2, 4) == -4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(-1, 4) == -4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(0, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(1, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(2, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(3, 4) == 0 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(4, 4) == 4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(5, 4) == 4 ? 0 : 1;
|
||||
Error += glm::lowerMultiple(6, 4) == 4 ? 0 : 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue