public static void SetFalse(ref ElasticBitArray array, int index) { Debug.Assert(array._bits != null); var num = index / IntSize; if (index >= 0 && num < array._bits.Length) { array._bits[num] &= ~(1 << index % IntSize); } // otherwise no value means false }
public static void SetTrue(ref ElasticBitArray array, int index) { Debug.Assert(array._bits != null); if (index < 0) { throw new ArgumentException(); } var num = index / IntSize; if (num >= array._bits.Length) { Array.Resize(ref array._bits, (num + 1) * 2); } array._bits[num] |= 1 << index % IntSize; }