diff --git a/DiscImageChef.Helpers/CountBits.cs b/DiscImageChef.Helpers/CountBits.cs index cf228966b..d8313ff19 100644 --- a/DiscImageChef.Helpers/CountBits.cs +++ b/DiscImageChef.Helpers/CountBits.cs @@ -32,10 +32,13 @@ using System; namespace DiscImageChef.Helpers { - public class CountBits + public static class CountBits { - public CountBits() + public static int Count(uint number) { + number = number - ((number >> 1) & 0x55555555); + number = (number & 0x33333333) + ((number >> 2) & 0x33333333); + return (int)((((number + (number >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24); } } } diff --git a/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj b/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj index e62b1117e..78c4a7bb4 100644 --- a/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj +++ b/DiscImageChef.Helpers/DiscImageChef.Helpers.csproj @@ -53,6 +53,7 @@ +