Fixed merge

This commit is contained in:
Christophe Riccio 2013-05-06 15:34:37 +02:00
commit e3da5f952c
3 changed files with 28 additions and 25 deletions

View file

@ -22,13 +22,13 @@ namespace glm
genType const & Multiple
)
{
assert(genType(0) <= Multiple);
genType SourceSign = sign(Source);
genType SourceAbs = abs(Source);
genType Tmp = SourceAbs % Multiple;
return (Tmp ? SourceAbs + Multiple - Tmp : SourceAbs) * SourceSign;
if (Source > genType(0))
{
genType Tmp = Source - genType(1);
return Tmp + (Multiple - (Tmp % Multiple));
}
else
return Source + (-Source % Multiple);
}
template <>
@ -95,8 +95,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 <>

View file

@ -27,8 +27,8 @@ int test_vec2_cast()
glm::mediump_vec2 G = static_cast<glm::mediump_vec2>(A);
glm::highp_vec2 H = static_cast<glm::highp_vec2>(A);
my_vec2 I;
glm::vec2 J = static_cast<glm::vec2>(I);
//my_vec2 I;
//glm::vec2 J = static_cast<glm::vec2>(I);
int Error(0);

View file

@ -14,16 +14,11 @@ int test_higher()
{
int Error(0);
int Higher0 = glm::higherMultiple(-5, 4);
Error += Higher0 == -8 ? 0 : 1;
int Higher1 = glm::higherMultiple(-4, 4);
Error += Higher1 == -4 ? 0 : 1;
int Higher2 = glm::higherMultiple(-3, 4);
Error += Higher2 == -4 ? 0 : 1;
int Higher3 = glm::higherMultiple(-2, 4);
Error += Higher3 == -4 ? 0 : 1;
int Higher4 = glm::higherMultiple(-1, 4);
Error += Higher4 == -4 ? 0 : 1;
Error += glm::higherMultiple(-5, 4) == -4 ? 0 : 1;
Error += glm::higherMultiple(-4, 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;
@ -42,12 +37,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;