mirror of
https://github.com/g-truc/glm.git
synced 2024-11-26 02:04:35 +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 const & Multiple
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
genType Tmp = Source % Multiple;
|
if (Source > 0)
|
||||||
return Tmp ? Source + Multiple - Tmp : Source;
|
{
|
||||||
|
genType Tmp = Source - 1;
|
||||||
|
return Tmp + (Multiple - (Tmp % Multiple));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return Source + (-Source % Multiple);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
@ -74,8 +79,13 @@ namespace glm
|
|||||||
genType const & Multiple
|
genType const & Multiple
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
genType Tmp = Source % Multiple;
|
if (Source >= 0)
|
||||||
return Tmp ? Source - Tmp : Source;
|
return Source - Source % Multiple;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
genType Tmp = Source + 1;
|
||||||
|
return Tmp - Tmp % Multiple - Multiple;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
|
@ -14,13 +14,16 @@ int test_higher()
|
|||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
int Higher0 = glm::higherMultiple(-5, 4);
|
Error += glm::higherMultiple(-5, 4) == -4 ? 0 : 1;
|
||||||
Error += Higher0 == -4 ? 0 : 1;
|
|
||||||
Error += glm::higherMultiple(-4, 4) == -4 ? 0 : 1;
|
Error += glm::higherMultiple(-4, 4) == -4 ? 0 : 1;
|
||||||
Error += glm::higherMultiple(-3, 4) == -4 ? 0 : 1;
|
Error += glm::higherMultiple(-3, 4) == 0 ? 0 : 1;
|
||||||
Error += glm::higherMultiple(-2, 4) == -4 ? 0 : 1;
|
Error += glm::higherMultiple(-2, 4) == 0 ? 0 : 1;
|
||||||
Error += glm::higherMultiple(-1, 4) == -4 ? 0 : 1;
|
Error += glm::higherMultiple(-1, 4) == 0 ? 0 : 1;
|
||||||
|
|
||||||
Error += glm::higherMultiple(0, 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(4, 4) == 4 ? 0 : 1;
|
||||||
Error += glm::higherMultiple(5, 4) == 8 ? 0 : 1;
|
Error += glm::higherMultiple(5, 4) == 8 ? 0 : 1;
|
||||||
Error += glm::higherMultiple(6, 4) == 8 ? 0 : 1;
|
Error += glm::higherMultiple(6, 4) == 8 ? 0 : 1;
|
||||||
@ -35,12 +38,15 @@ int test_Lower()
|
|||||||
{
|
{
|
||||||
int Error(0);
|
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(-4, 4) == -4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(-3, 4) == 0 ? 0 : 1;
|
Error += glm::lowerMultiple(-3, 4) == -4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(-2, 4) == 0 ? 0 : 1;
|
Error += glm::lowerMultiple(-2, 4) == -4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(-1, 4) == 0 ? 0 : 1;
|
Error += glm::lowerMultiple(-1, 4) == -4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(0, 4) == 0 ? 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(4, 4) == 4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(5, 4) == 4 ? 0 : 1;
|
Error += glm::lowerMultiple(5, 4) == 4 ? 0 : 1;
|
||||||
Error += glm::lowerMultiple(6, 4) == 4 ? 0 : 1;
|
Error += glm::lowerMultiple(6, 4) == 4 ? 0 : 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user