Fixed tests and mat type typedefs
This commit is contained in:
parent
abbb0fc7cb
commit
54e9d54579
@ -3055,15 +3055,15 @@ namespace glm
|
|||||||
|
|
||||||
/// Default double-precision floating-point 2x2 matrix.
|
/// Default double-precision floating-point 2x2 matrix.
|
||||||
/// @see gtc_type_precision
|
/// @see gtc_type_precision
|
||||||
typedef f32mat2x2 f64mat2;
|
typedef f64mat2x2 f64mat2;
|
||||||
|
|
||||||
/// Default double-precision floating-point 3x3 matrix.
|
/// Default double-precision floating-point 3x3 matrix.
|
||||||
/// @see gtc_type_precision
|
/// @see gtc_type_precision
|
||||||
typedef f32mat3x3 f64mat3;
|
typedef f64mat3x3 f64mat3;
|
||||||
|
|
||||||
/// Default double-precision floating-point 4x4 matrix.
|
/// Default double-precision floating-point 4x4 matrix.
|
||||||
/// @see gtc_type_precision
|
/// @see gtc_type_precision
|
||||||
typedef f32mat4x4 f64mat4;
|
typedef f64mat4x4 f64mat4;
|
||||||
|
|
||||||
/// Default double-precision floating-point quaternion.
|
/// Default double-precision floating-point quaternion.
|
||||||
/// @see gtc_type_precision
|
/// @see gtc_type_precision
|
||||||
|
@ -170,10 +170,14 @@ int test_vec3_size()
|
|||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += sizeof(glm::vec3) == sizeof(glm::lowp_vec3) ? 0 : 1;
|
||||||
Error += sizeof(glm::vec3) == sizeof(glm::mediump_vec3) ? 0 : 1;
|
Error += sizeof(glm::vec3) == sizeof(glm::mediump_vec3) ? 0 : 1;
|
||||||
|
Error += sizeof(glm::vec3) == sizeof(glm::highp_vec3) ? 0 : 1;
|
||||||
Error += 12 == sizeof(glm::mediump_vec3) ? 0 : 1;
|
Error += 12 == sizeof(glm::mediump_vec3) ? 0 : 1;
|
||||||
Error += sizeof(glm::dvec3) == sizeof(glm::highp_vec3) ? 0 : 1;
|
Error += sizeof(glm::dvec3) == sizeof(glm::lowp_dvec3) ? 0 : 1;
|
||||||
Error += 24 == sizeof(glm::highp_vec3) ? 0 : 1;
|
Error += sizeof(glm::dvec3) == sizeof(glm::mediump_dvec3) ? 0 : 1;
|
||||||
|
Error += sizeof(glm::dvec3) == sizeof(glm::highp_dvec3) ? 0 : 1;
|
||||||
|
Error += 24 == sizeof(glm::highp_dvec3) ? 0 : 1;
|
||||||
Error += glm::vec3().length() == 3 ? 0 : 1;
|
Error += glm::vec3().length() == 3 ? 0 : 1;
|
||||||
Error += glm::dvec3().length() == 3 ? 0 : 1;
|
Error += glm::dvec3().length() == 3 ? 0 : 1;
|
||||||
|
|
||||||
@ -211,7 +215,7 @@ int test_vec3_swizzle3_2()
|
|||||||
u = v.gb; Error += (u.r == 2.0f && u.g == 3.0f) ? 0 : 1;
|
u = v.gb; Error += (u.r == 2.0f && u.g == 3.0f) ? 0 : 1;
|
||||||
u = v.br; Error += (u.r == 3.0f && u.g == 1.0f) ? 0 : 1;
|
u = v.br; Error += (u.r == 3.0f && u.g == 1.0f) ? 0 : 1;
|
||||||
u = v.bg; Error += (u.r == 3.0f && u.g == 2.0f) ? 0 : 1;
|
u = v.bg; Error += (u.r == 3.0f && u.g == 2.0f) ? 0 : 1;
|
||||||
u = v.bb; Error += (u.r == 3.0f && u.g == 3.0f) ? 0 : 1;
|
u = v.bb; Error += (u.r == 3.0f && u.g == 3.0f) ? 0 : 1;
|
||||||
|
|
||||||
u = v.ss; Error += (u.s == 1.0f && u.t == 1.0f) ? 0 : 1;
|
u = v.ss; Error += (u.s == 1.0f && u.t == 1.0f) ? 0 : 1;
|
||||||
u = v.st; Error += (u.s == 1.0f && u.t == 2.0f) ? 0 : 1;
|
u = v.st; Error += (u.s == 1.0f && u.t == 2.0f) ? 0 : 1;
|
||||||
@ -350,19 +354,17 @@ int test_vec3_swizzle_operators()
|
|||||||
|
|
||||||
int test_vec3_swizzle_functions()
|
int test_vec3_swizzle_functions()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
//
|
// NOTE: template functions cannot pick up the implicit conversion from
|
||||||
// NOTE: template functions cannot pick up the implicit conversion from
|
// a swizzle to the unswizzled type, therefore the operator() must be
|
||||||
// a swizzle to the unswizzled type, therefore the operator() must be
|
// used. E.g.:
|
||||||
// used. E.g.:
|
//
|
||||||
//
|
// glm::dot(u.xy, v.xy); <--- Compile error
|
||||||
// glm::dot(u.xy, v.xy); <--- Compile error
|
// glm::dot(u.xy(), v.xy()); <--- Compiles correctly
|
||||||
// glm::dot(u.xy(), v.xy()); <--- Compiles correctly
|
|
||||||
//
|
|
||||||
|
|
||||||
#if(GLM_SUPPORT_SWIZZLE_OPERATOR())
|
#if(GLM_SUPPORT_SWIZZLE_OPERATOR())
|
||||||
float r;
|
float r;
|
||||||
|
|
||||||
// vec2
|
// vec2
|
||||||
glm::vec2 a(1, 2);
|
glm::vec2 a(1, 2);
|
||||||
@ -390,7 +392,7 @@ int test_vec3_swizzle_functions()
|
|||||||
r = glm::dot(s.xyz(), t.xyz()); Error += (int(r) == 140) ? 0 : 1;
|
r = glm::dot(s.xyz(), t.xyz()); Error += (int(r) == 140) ? 0 : 1;
|
||||||
#endif//(GLM_SUPPORT_SWIZZLE_OPERATOR())
|
#endif//(GLM_SUPPORT_SWIZZLE_OPERATOR())
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vec3_swizzle_partial()
|
int test_vec3_swizzle_partial()
|
||||||
@ -426,14 +428,12 @@ int main()
|
|||||||
Error += test_vec3_ctor();
|
Error += test_vec3_ctor();
|
||||||
Error += test_vec3_operators();
|
Error += test_vec3_operators();
|
||||||
Error += test_vec3_size();
|
Error += test_vec3_size();
|
||||||
Error += test_vec3_swizzle3_2();
|
Error += test_vec3_swizzle3_2();
|
||||||
Error += test_vec3_swizzle3_3();
|
Error += test_vec3_swizzle3_3();
|
||||||
Error += test_vec3_swizzle_half();
|
Error += test_vec3_swizzle_half();
|
||||||
Error += test_vec3_swizzle_partial();
|
Error += test_vec3_swizzle_partial();
|
||||||
Error += test_vec3_swizzle_operators();
|
Error += test_vec3_swizzle_operators();
|
||||||
Error += test_vec3_swizzle_functions();
|
Error += test_vec3_swizzle_functions();
|
||||||
|
|
||||||
printf("Errors: %d\n", Error);
|
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
@ -204,10 +204,14 @@ int test_vec4_size()
|
|||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += sizeof(glm::vec4) == sizeof(glm::lowp_vec4) ? 0 : 1;
|
||||||
Error += sizeof(glm::vec4) == sizeof(glm::mediump_vec4) ? 0 : 1;
|
Error += sizeof(glm::vec4) == sizeof(glm::mediump_vec4) ? 0 : 1;
|
||||||
|
Error += sizeof(glm::vec4) == sizeof(glm::highp_vec4) ? 0 : 1;
|
||||||
Error += 16 == sizeof(glm::mediump_vec4) ? 0 : 1;
|
Error += 16 == sizeof(glm::mediump_vec4) ? 0 : 1;
|
||||||
Error += sizeof(glm::dvec4) == sizeof(glm::highp_vec4) ? 0 : 1;
|
Error += sizeof(glm::dvec4) == sizeof(glm::lowp_dvec4) ? 0 : 1;
|
||||||
Error += 32 == sizeof(glm::highp_vec4) ? 0 : 1;
|
Error += sizeof(glm::dvec4) == sizeof(glm::mediump_dvec4) ? 0 : 1;
|
||||||
|
Error += sizeof(glm::dvec4) == sizeof(glm::highp_dvec4) ? 0 : 1;
|
||||||
|
Error += 32 == sizeof(glm::highp_dvec4) ? 0 : 1;
|
||||||
Error += glm::vec4().length() == 4 ? 0 : 1;
|
Error += glm::vec4().length() == 4 ? 0 : 1;
|
||||||
Error += glm::dvec4().length() == 4 ? 0 : 1;
|
Error += glm::dvec4().length() == 4 ? 0 : 1;
|
||||||
|
|
||||||
@ -261,7 +265,7 @@ int main()
|
|||||||
Error += test_vec4_size();
|
Error += test_vec4_size();
|
||||||
Error += test_vec4_operators();
|
Error += test_vec4_operators();
|
||||||
Error += test_hvec4();
|
Error += test_hvec4();
|
||||||
Error += test_vec4_swizzle_partial();
|
Error += test_vec4_swizzle_partial();
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,6 +289,105 @@ static int test_ivec_size()
|
|||||||
static int test_ivec_precision()
|
static int test_ivec_precision()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i8vec2 v1;
|
||||||
|
glm::lowp_i8vec2 v2(v1);
|
||||||
|
glm::mediump_i8vec2 v3(v1);
|
||||||
|
glm::highp_i8vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i8vec3 v1;
|
||||||
|
glm::lowp_i8vec3 v2(v1);
|
||||||
|
glm::mediump_i8vec3 v3(v1);
|
||||||
|
glm::highp_i8vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i8vec4 v1;
|
||||||
|
glm::lowp_i8vec4 v2(v1);
|
||||||
|
glm::mediump_i8vec4 v3(v1);
|
||||||
|
glm::highp_i8vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i8vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i16vec2 v1;
|
||||||
|
glm::lowp_i16vec2 v2(v1);
|
||||||
|
glm::mediump_i16vec2 v3(v1);
|
||||||
|
glm::highp_i16vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i16vec3 v1;
|
||||||
|
glm::lowp_i16vec3 v2(v1);
|
||||||
|
glm::mediump_i16vec3 v3(v1);
|
||||||
|
glm::highp_i16vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i16vec4 v1;
|
||||||
|
glm::lowp_i16vec4 v2(v1);
|
||||||
|
glm::mediump_i16vec4 v3(v1);
|
||||||
|
glm::highp_i16vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i16vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i32vec2 v1;
|
||||||
|
glm::lowp_i32vec2 v2(v1);
|
||||||
|
glm::mediump_i32vec2 v3(v1);
|
||||||
|
glm::highp_i32vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i32vec3 v1;
|
||||||
|
glm::lowp_i32vec3 v2(v1);
|
||||||
|
glm::mediump_i32vec3 v3(v1);
|
||||||
|
glm::highp_i32vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::i32vec4 v1;
|
||||||
|
glm::lowp_i32vec4 v2(v1);
|
||||||
|
glm::mediump_i32vec4 v3(v1);
|
||||||
|
glm::highp_i32vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::i32vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
glm::i64vec2 v1;
|
glm::i64vec2 v1;
|
||||||
@ -386,6 +485,105 @@ static int test_uvec_size()
|
|||||||
static int test_uvec_precision()
|
static int test_uvec_precision()
|
||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u8vec2 v1;
|
||||||
|
glm::lowp_u8vec2 v2(v1);
|
||||||
|
glm::mediump_u8vec2 v3(v1);
|
||||||
|
glm::highp_u8vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u8vec3 v1;
|
||||||
|
glm::lowp_u8vec3 v2(v1);
|
||||||
|
glm::mediump_u8vec3 v3(v1);
|
||||||
|
glm::highp_u8vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u8vec4 v1;
|
||||||
|
glm::lowp_u8vec4 v2(v1);
|
||||||
|
glm::mediump_u8vec4 v3(v1);
|
||||||
|
glm::highp_u8vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u8vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u16vec2 v1;
|
||||||
|
glm::lowp_u16vec2 v2(v1);
|
||||||
|
glm::mediump_u16vec2 v3(v1);
|
||||||
|
glm::highp_u16vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u16vec3 v1;
|
||||||
|
glm::lowp_u16vec3 v2(v1);
|
||||||
|
glm::mediump_u16vec3 v3(v1);
|
||||||
|
glm::highp_u16vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u16vec4 v1;
|
||||||
|
glm::lowp_u16vec4 v2(v1);
|
||||||
|
glm::mediump_u16vec4 v3(v1);
|
||||||
|
glm::highp_u16vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u16vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u32vec2 v1;
|
||||||
|
glm::lowp_u32vec2 v2(v1);
|
||||||
|
glm::mediump_u32vec2 v3(v1);
|
||||||
|
glm::highp_u32vec2 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec2(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec2(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec2(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u32vec3 v1;
|
||||||
|
glm::lowp_u32vec3 v2(v1);
|
||||||
|
glm::mediump_u32vec3 v3(v1);
|
||||||
|
glm::highp_u32vec3 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec3(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec3(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec3(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
glm::u32vec4 v1;
|
||||||
|
glm::lowp_u32vec4 v2(v1);
|
||||||
|
glm::mediump_u32vec4 v3(v1);
|
||||||
|
glm::highp_u32vec4 v4(v1);
|
||||||
|
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec4(v2))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec4(v3))) ? 0 : 1;
|
||||||
|
Error += glm::all(glm::equal(v1, glm::u32vec4(v4))) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
glm::u64vec2 v1;
|
glm::u64vec2 v1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user