|
|
|
@ -43,12 +43,130 @@ int test_hvec4() |
|
|
|
|
|
|
|
|
|
int test_vec4_operators() |
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f); |
|
|
|
|
glm::vec4 B(1.0f); |
|
|
|
|
bool R = A != B; |
|
|
|
|
bool S = A == B; |
|
|
|
|
int Error = 0; |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f); |
|
|
|
|
glm::vec4 B(1.0f); |
|
|
|
|
bool R = A != B; |
|
|
|
|
bool S = A == B; |
|
|
|
|
|
|
|
|
|
Error += (S && !R) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B(4.0f, 5.0f, 6.0f, 7.0f); |
|
|
|
|
|
|
|
|
|
glm::vec4 C = A + B; |
|
|
|
|
Error += C == glm::vec4(5, 7, 9, 11) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 D = B - A; |
|
|
|
|
Error += D == glm::vec4(3, 3, 3, 3) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 E = A * B; |
|
|
|
|
Error += E == glm::vec4(4, 10, 18, 28) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 F = B / A; |
|
|
|
|
Error += F == glm::vec4(4, 2.5, 2, 7.0f / 4.0f) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 G = A + 1.0f; |
|
|
|
|
Error += G == glm::vec4(2, 3, 4, 5) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 H = B - 1.0f; |
|
|
|
|
Error += H == glm::vec4(3, 4, 5, 6) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 I = A * 2.0f; |
|
|
|
|
Error += I == glm::vec4(2, 4, 6, 8) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 J = B / 2.0f; |
|
|
|
|
Error += J == glm::vec4(2, 2.5, 3, 3.5) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 K = 1.0f + A; |
|
|
|
|
Error += K == glm::vec4(2, 3, 4, 5) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 L = 1.0f - B; |
|
|
|
|
Error += L == glm::vec4(-3, -4, -5, -6) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 M = 2.0f * A; |
|
|
|
|
Error += M == glm::vec4(2, 4, 6, 8) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
glm::vec4 N = 2.0f / B; |
|
|
|
|
Error += N == glm::vec4(0.5, 2.0 / 5.0, 2.0 / 6.0, 2.0 / 7.0) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return (S && !R) ? 0 : 1; |
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B(4.0f, 5.0f, 6.0f, 7.0f); |
|
|
|
|
|
|
|
|
|
A += B; |
|
|
|
|
Error += A == glm::vec4(5, 7, 9, 11) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
A += 1.0f; |
|
|
|
|
Error += A == glm::vec4(6, 8, 10, 12) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B(4.0f, 5.0f, 6.0f, 7.0f); |
|
|
|
|
|
|
|
|
|
B -= A; |
|
|
|
|
Error += B == glm::vec4(3, 3, 3, 3) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
B -= 1.0f; |
|
|
|
|
Error += B == glm::vec4(2, 2, 2, 2) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B(4.0f, 5.0f, 6.0f, 7.0f); |
|
|
|
|
|
|
|
|
|
A *= B; |
|
|
|
|
Error += A == glm::vec4(4, 10, 18, 28) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
A *= 2.0f; |
|
|
|
|
Error += A == glm::vec4(8, 20, 36, 56) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B(4.0f, 5.0f, 6.0f, 7.0f); |
|
|
|
|
|
|
|
|
|
B /= A; |
|
|
|
|
Error += B == glm::vec4(4, 2.5, 2, 7.0f / 4.0f) ? 0 : 1; |
|
|
|
|
|
|
|
|
|
B /= 2.0f; |
|
|
|
|
Error += B == glm::vec4(2, 1.25, 1, 7.0f / 4.0f / 2.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B = -A; |
|
|
|
|
Error += B == glm::vec4(-1.0f, -2.0f, -3.0f, -4.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B = --A; |
|
|
|
|
Error += B == glm::vec4(0.0f, 1.0f, 2.0f, 3.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B = A--; |
|
|
|
|
Error += B == glm::vec4(0.0f, 1.0f, 2.0f, 3.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B = ++A; |
|
|
|
|
Error += B == glm::vec4(2.0f, 3.0f, 4.0f, 5.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f); |
|
|
|
|
glm::vec4 B = A++; |
|
|
|
|
Error += B == glm::vec4(2.0f, 3.0f, 4.0f, 5.0f) ? 0 : 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Error; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int test_vec4_size() |
|
|
|
|