A game about forced loneliness, made by TACStudios
1using System;
2
3namespace UnityEditor.TestTools.TestRunner.GUI.Controls
4{
5 /// <summary>
6 /// Provides methods for dealing with common bit operations.
7 /// </summary>
8 internal static class BitUtility
9 {
10 /// <summary>
11 /// Evaluates the cardinality of an integer, treating the value as a bit set.
12 /// Optimization based on http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel.
13 /// </summary>
14 /// <param name="integer">The input integer value.</param>
15 /// <returns>The number of bits set in the provided input integer value.</returns>
16 internal static int GetCardinality(int integer)
17 {
18 unchecked
19 {
20 integer = integer - ((integer >> 1) & 0x55555555);
21 integer = (integer & 0x33333333) + ((integer >> 2) & 0x33333333);
22 integer = (((integer + (integer >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
23 }
24
25 return integer;
26 }
27 }
28}