|
@@ -37,11 +37,12 @@ namespace bitfieldInsert
|
|
|
|
|
|
|
|
typeU32 const Data32[] =
|
|
typeU32 const Data32[] =
|
|
|
{
|
|
{
|
|
|
|
|
+ {0x00000000, 0xffffffff, 0, 31, 0x7fffffff},
|
|
|
|
|
+ {0x00000000, 0xffffffff, 0, 32, 0xffffffff},
|
|
|
|
|
+ {0x00000000, 0xffffffff, 0, 0, 0x00000000},
|
|
|
{0xff000000, 0x0000ff00, 8, 8, 0xff00ff00},
|
|
{0xff000000, 0x0000ff00, 8, 8, 0xff00ff00},
|
|
|
{0xffff0000, 0x0000ffff, 16, 16, 0x00000000},
|
|
{0xffff0000, 0x0000ffff, 16, 16, 0x00000000},
|
|
|
- {0x0000ffff, 0xffff0000, 16, 16, 0xffffffff},
|
|
|
|
|
- {0x00000000, 0xffffffff, 0, 32, 0xffffffff},
|
|
|
|
|
- {0x00000000, 0xffffffff, 0, 0, 0x00000000}
|
|
|
|
|
|
|
+ {0x0000ffff, 0xffff0000, 16, 16, 0xffffffff}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
int test()
|
|
int test()
|
|
@@ -342,7 +343,7 @@ namespace findMSB
|
|
|
|
|
|
|
|
std::clock_t Timestamps1 = std::clock();
|
|
std::clock_t Timestamps1 = std::clock();
|
|
|
|
|
|
|
|
- for(std::size_t k = 0; k < 10000000; ++k)
|
|
|
|
|
|
|
+ for(std::size_t k = 0; k < 1000000; ++k)
|
|
|
for(std::size_t i = 0; i < sizeof(Data) / sizeof(type<int>); ++i)
|
|
for(std::size_t i = 0; i < sizeof(Data) / sizeof(type<int>); ++i)
|
|
|
{
|
|
{
|
|
|
int Result = findMSB_095(Data[i].Value);
|
|
int Result = findMSB_095(Data[i].Value);
|
|
@@ -401,7 +402,7 @@ namespace findMSB
|
|
|
|
|
|
|
|
std::clock_t Timestamps1 = std::clock();
|
|
std::clock_t Timestamps1 = std::clock();
|
|
|
|
|
|
|
|
- for(std::size_t k = 0; k < 10000000; ++k)
|
|
|
|
|
|
|
+ for(std::size_t k = 0; k < 1000000; ++k)
|
|
|
for(std::size_t i = 0; i < sizeof(Data) / sizeof(type<int>); ++i)
|
|
for(std::size_t i = 0; i < sizeof(Data) / sizeof(type<int>); ++i)
|
|
|
{
|
|
{
|
|
|
int Result = findMSB_nlz1(Data[i].Value);
|
|
int Result = findMSB_nlz1(Data[i].Value);
|
|
@@ -536,7 +537,7 @@ namespace findMSB
|
|
|
int Error(0);
|
|
int Error(0);
|
|
|
|
|
|
|
|
Error += perf_950();
|
|
Error += perf_950();
|
|
|
- Error += perf_ops();
|
|
|
|
|
|
|
+ //Error += perf_ops();
|
|
|
|
|
|
|
|
return Error;
|
|
return Error;
|
|
|
}
|
|
}
|