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 @@
+