using System.Collections; namespace ICSharpCode.Decompiler.Tests.TestCases.ILPretty { public class Issue1454 { public static int GetCardinality(BitArray bitArray) { int[] array = new int[(bitArray.Count >> 5) + 1]; bitArray.CopyTo(array, 0); int num = 0; array[array.Length - 1] &= ~(-1 << bitArray.Count % 32); for (int i = 0; i < array.Length; i++) { int num2 = array[i]; num2 -= ((num2 >> 1) & 0x55555555); num2 = (num2 & 0x33333333) + ((num2 >> 2) & 0x33333333); num2 = ((num2 + (num2 >> 4)) & 0xF0F0F0F) * 16843009 >> 24; num += num2; } return num; } } }