private void NegativeRemove(long number) { if (this._negativeFlags == null) { this._negativeFlags = new SparseLargeBitArray32(this._size, this._blockSize); } if (this._negativeFlags[number]) { this._count = this._count - 1L; } this._negativeFlags[number] = false; }
private void NegativeAdd(long number) { if (this._negativeFlags == null) { this._negativeFlags = new SparseLargeBitArray32(this._size, this._blockSize); } if (!this._negativeFlags[number]) { this._count = this._count + 1L; } this._negativeFlags[number] = true; }
/// <summary> /// Adds an id. /// </summary> private void PositiveAdd(long number) { if (_positiveFlags == null) { _positiveFlags = new SparseLargeBitArray32(_size, _blockSize); } if (!_positiveFlags[number]) { // there is a new positive flag. _count++; } _positiveFlags[number] = true; }
/// <summary> /// Removes an id. /// </summary> private void NegativeRemove(long number) { if (_negativeFlags == null) { _negativeFlags = new SparseLargeBitArray32(_size, _blockSize); } if (_negativeFlags[number]) { // there is one less negative flag. _count--; } _negativeFlags[number] = false; }
/// <summary> /// Adds an id. /// </summary> private void NegativeAdd(long number) { if (_negativeFlags == null) { _negativeFlags = new SparseLargeBitArray32(_size, _blockSize); } if (!_negativeFlags[number]) { // there is one more negative flag. _count++; } _negativeFlags[number] = true; }
public void TestSparseLargeBitArray32() { var size = 32 * 10000; var referenceArray = new bool[size]; var array = new SparseLargeBitArray32(size, 256); // test size. Assert.AreEqual(referenceArray.Length, array.Length); // add random data. for (int idx = 0; idx < 10000; idx++) { referenceArray[idx] = true; array[idx] = true; Assert.IsTrue(array[idx]); } // compare both. for (int idx = 0; idx < referenceArray.Length; idx++) { Assert.AreEqual(referenceArray[idx], array[idx]); } // remove random data. for (int idx = 0; idx < 10000; idx++) { referenceArray[idx] = false; array[idx] = false; } // compare both. for (int idx = 0; idx < referenceArray.Length; idx++) { Assert.AreEqual(referenceArray[idx], array[idx]); } }
/// <summary> /// Clears this index. /// </summary> public void Clear() { _negativeFlags = null; _positiveFlags = null; }
/// <summary> /// Removes an id. /// </summary> /// <param name="number"></param> private void PositiveRemove(long number) { if (_positiveFlags == null) { _positiveFlags = new SparseLargeBitArray32(_size, _blockSize); } if (_positiveFlags[number]) { // there is one less positive flag. _count--; } _positiveFlags[number] = false; }
/// <summary> /// Adds an id. /// </summary> /// <param name="number"></param> private void PositiveAdd(long number) { if(_positiveFlags == null) { _positiveFlags = new SparseLargeBitArray32(_size, _blockSize); } if(!_positiveFlags[number]) { // there is a new positive flag. _count++; } _positiveFlags[number] = true; }
/// <summary> /// Adds an id. /// </summary> /// <param name="number"></param> private void NegativeAdd(long number) { if (_negativeFlags == null) { _negativeFlags = new SparseLargeBitArray32(_size, _blockSize); } if (!_negativeFlags[number]) { // there is one more negative flag. _count++; } _negativeFlags[number] = true; }
public void Clear() { this._negativeFlags = (SparseLargeBitArray32)null; this._positiveFlags = (SparseLargeBitArray32)null; }