logic: improved performance of NodeTypeSet by internally using a bit-mask

This commit is contained in:
mlangkabel
2017-11-27 15:36:44 +01:00
parent 5fbf7b1acc
commit 4b854d4545
6 changed files with 108 additions and 73 deletions
+13
View File
@@ -0,0 +1,13 @@
#include "utility/utilityMath.h"
unsigned long int utility::getPowerOfTwo(unsigned int exponent)
{
static const long int powerOfTwos[] =
{
1 << 0, 1 << 1, 1 << 2, 1 << 3, 1 << 4, 1 << 5, 1 << 6, 1 << 7,
1 << 8, 1 << 9, 1 << 10, 1 << 11, 1 << 12, 1 << 13, 1 << 14, 1 << 15,
1 << 16, 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 21, 1 << 22, 1 << 23,
1 << 24, 1 << 25, 1 << 26, 1 << 27, 1 << 28, 1 << 29, 1 << 30, 1 << 31
};
return powerOfTwos[exponent];
}
+9
View File
@@ -0,0 +1,9 @@
#ifndef UTILITY_MATH_H
#define UTILITY_MATH_H
namespace utility
{
unsigned long int getPowerOfTwo(unsigned int exponent);
}
#endif // UTILITY_MATH_H