mirror of
https://github.com/g-truc/glm.git
synced 2024-11-25 18:04:34 +00:00
Merge pull request #80 from robert-ancell/0.9.4
Fix glm::higherMultiple and glm::lowerMultiple and assoicated test cases...
This commit is contained in:
commit
86a5825fee
@ -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…
Reference in New Issue
Block a user