mirror of
https://github.com/g-truc/glm.git
synced 2024-11-22 17:04:35 +00:00
Quicker tests for C.I.
This commit is contained in:
parent
1f25000a30
commit
0892ccd214
@ -62,7 +62,7 @@ namespace mask
|
|||||||
|
|
||||||
static int perf()
|
static int perf()
|
||||||
{
|
{
|
||||||
int const Count = 10000;
|
int const Count = 1000;
|
||||||
|
|
||||||
std::clock_t Timestamp1 = std::clock();
|
std::clock_t Timestamp1 = std::clock();
|
||||||
|
|
||||||
@ -227,9 +227,11 @@ namespace bitfieldInterleave3
|
|||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
glm::uint16 x_max = 1 << 11;
|
glm::uint16 const test_max = 5; // previously 11
|
||||||
glm::uint16 y_max = 1 << 11;
|
|
||||||
glm::uint16 z_max = 1 << 11;
|
glm::uint16 x_max = 1 << test_max;
|
||||||
|
glm::uint16 y_max = 1 << test_max;
|
||||||
|
glm::uint16 z_max = 1 << test_max;
|
||||||
|
|
||||||
for(glm::uint16 z = 0; z < z_max; z += 27)
|
for(glm::uint16 z = 0; z < z_max; z += 27)
|
||||||
for(glm::uint16 y = 0; y < y_max; y += 27)
|
for(glm::uint16 y = 0; y < y_max; y += 27)
|
||||||
@ -265,10 +267,12 @@ namespace bitfieldInterleave4
|
|||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
glm::uint16 x_max = 1 << 11;
|
glm::uint16 const test_max = 5; // previously 11
|
||||||
glm::uint16 y_max = 1 << 11;
|
|
||||||
glm::uint16 z_max = 1 << 11;
|
glm::uint16 x_max = 1 << test_max;
|
||||||
glm::uint16 w_max = 1 << 11;
|
glm::uint16 y_max = 1 << test_max;
|
||||||
|
glm::uint16 z_max = 1 << test_max;
|
||||||
|
glm::uint16 w_max = 1 << test_max;
|
||||||
|
|
||||||
for(glm::uint16 w = 0; w < w_max; w += 27)
|
for(glm::uint16 w = 0; w < w_max; w += 27)
|
||||||
for(glm::uint16 z = 0; z < z_max; z += 27)
|
for(glm::uint16 z = 0; z < z_max; z += 27)
|
||||||
@ -496,6 +500,8 @@ namespace bitfieldInterleave
|
|||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
|
glm::uint8 const test_loop = 15; // 127 ideally
|
||||||
|
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
for(glm::uint32 y = 0; y < (1 << 10); ++y)
|
for(glm::uint32 y = 0; y < (1 << 10); ++y)
|
||||||
@ -525,8 +531,8 @@ namespace bitfieldInterleave
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
for(glm::uint8 y = 0; y < 127; ++y)
|
for(glm::uint8 y = 0; y < test_loop; ++y)
|
||||||
for(glm::uint8 x = 0; x < 127; ++x)
|
for(glm::uint8 x = 0; x < test_loop; ++x)
|
||||||
{
|
{
|
||||||
glm::uint64 A(glm::bitfieldInterleave(glm::u8vec2(x, y)));
|
glm::uint64 A(glm::bitfieldInterleave(glm::u8vec2(x, y)));
|
||||||
glm::uint64 B(glm::bitfieldInterleave(glm::u16vec2(x, y)));
|
glm::uint64 B(glm::bitfieldInterleave(glm::u16vec2(x, y)));
|
||||||
@ -542,8 +548,8 @@ namespace bitfieldInterleave
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
for(glm::uint8 y = 0; y < 127; ++y)
|
for(glm::uint8 y = 0; y < test_loop; ++y)
|
||||||
for(glm::uint8 x = 0; x < 127; ++x)
|
for(glm::uint8 x = 0; x < test_loop; ++x)
|
||||||
{
|
{
|
||||||
glm::int64 A(glm::bitfieldInterleave(glm::int8(x), glm::int8(y)));
|
glm::int64 A(glm::bitfieldInterleave(glm::int8(x), glm::int8(y)));
|
||||||
glm::int64 B(glm::bitfieldInterleave(glm::int16(x), glm::int16(y)));
|
glm::int64 B(glm::bitfieldInterleave(glm::int16(x), glm::int16(y)));
|
||||||
@ -559,8 +565,8 @@ namespace bitfieldInterleave
|
|||||||
|
|
||||||
static int perf()
|
static int perf()
|
||||||
{
|
{
|
||||||
glm::uint32 x_max = 1 << 7;
|
glm::uint32 x_max = 1 << 4;
|
||||||
glm::uint32 y_max = 1 << 6;
|
glm::uint32 y_max = 1 << 3;
|
||||||
|
|
||||||
// ALU
|
// ALU
|
||||||
std::vector<glm::uint64> Data(x_max * y_max);
|
std::vector<glm::uint64> Data(x_max * y_max);
|
||||||
@ -980,20 +986,21 @@ int main()
|
|||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
|
|
||||||
|
Error += ::bitfieldInterleave::test();
|
||||||
|
Error += ::bitfieldInterleave3::test();
|
||||||
|
Error += ::bitfieldInterleave4::test();
|
||||||
|
|
||||||
// Tests for a faster and to reserve bitfieldInterleave
|
// Tests for a faster and to reserve bitfieldInterleave
|
||||||
Error += ::bitfieldInterleave5::test(64);
|
Error += ::bitfieldInterleave5::test(64);
|
||||||
Error += ::bitfieldInterleave5::perf(64);
|
Error += ::bitfieldInterleave5::perf(64);
|
||||||
|
|
||||||
|
Error += ::bitfieldInterleave::perf();
|
||||||
|
|
||||||
Error += ::mask::test();
|
Error += ::mask::test();
|
||||||
Error += ::bitfieldInterleave3::test();
|
Error += ::mask::perf();
|
||||||
Error += ::bitfieldInterleave4::test();
|
|
||||||
Error += ::bitfieldInterleave::test();
|
|
||||||
|
|
||||||
Error += test_bitfieldRotateRight();
|
Error += test_bitfieldRotateRight();
|
||||||
Error += test_bitfieldRotateLeft();
|
Error += test_bitfieldRotateLeft();
|
||||||
|
|
||||||
Error += ::mask::perf();
|
|
||||||
Error += ::bitfieldInterleave::perf();
|
|
||||||
|
|
||||||
return Error;
|
return Error;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user