public void TestGetSigma() { // simulate a 64 bit hash and 14 bits for indexing const int bitsToCount = 64 - 14; Assert.Equal(51, CardinalityEstimator.GetSigma(0, bitsToCount)); Assert.Equal(50, CardinalityEstimator.GetSigma(1, bitsToCount)); Assert.Equal(47, CardinalityEstimator.GetSigma(8, bitsToCount)); Assert.Equal(1, CardinalityEstimator.GetSigma((ulong)(Math.Pow(2, bitsToCount) - 1), bitsToCount)); Assert.Equal(51, CardinalityEstimator.GetSigma((ulong)(Math.Pow(2, bitsToCount + 1)), bitsToCount)); }