/// <summary>
/// Create a random set which has <paramref name="numBitsSet"/> of its <paramref name="numBits"/> bits set. </summary>
protected static OpenBitSet RandomOpenSet(int numBits, int numBitsSet)
{
if (Debugging.AssertsEnabled)
{
Debugging.Assert(numBitsSet <= numBits);
}
OpenBitSet set = new OpenBitSet(numBits);
Random random = Random;
if (numBitsSet == numBits)
{
set.Set(0, numBits);
}
else
{
for (int i = 0; i < numBitsSet; ++i)
{
while (true)
{
int o = random.Next(numBits);
if (!set.Get(o))
{
set.Set(o);
break;
}
}
}
}
return(set);
}