Click or drag to resize

EwahCompressedBitArray Class

[Missing <summary> documentation for "T:VelocityDBExtensions.CompressedBitArray.EwahCompressedBitArray"]

Inheritance Hierarchy
SystemObject
  VelocityDbOptimizedPersistable
    VelocityDBExtensions.CompressedBitArrayEwahCompressedBitArray

Namespace:  VelocityDBExtensions.CompressedBitArray
Assembly:  VelocityDBExtensions (in VelocityDBExtensions.dll) Version: 11.1.0.0 (11.1.0)
Syntax
[SerializableAttribute]
public sealed class EwahCompressedBitArray : OptimizedPersistable, 
	ICloneable, IEnumerable<int>, IEnumerable

The EwahCompressedBitArray type exposes the following members.

Constructors
  NameDescription
Public methodEwahCompressedBitArray
Creates an empty bitmap (no bit set to true).
Public methodEwahCompressedBitArray(Int32)
Sets explicitly the buffer size (in 64-bit words). The initial memory usage will be "buffersize * 64". For large poorly compressible bitmaps, using large values may improve performance.
Top
Properties
  NameDescription
Public propertySizeInBits
The size in bits of the *uncompressed* bitmap represented by this compressed bitmap. Initially, the SizeInBits is zero. It is extended automatically when you set bits to true.
Public propertySizeInBytes
Report the *compressed* size of the bitmap (equivalent to memory usage, after accounting for some overhead).
Top
Methods
  NameDescription
Public methodAdd(Int64)
Adding words directly to the bitmap (for expert use). This is normally how you add data to the array. So you add bits in streams of 8*8 bits.
Public methodAdd(Int64, Int32)
Adding words directly to the bitmap (for expert use).
Public methodAddStreamOfEmptyWords
For experts: You want to add many zeroes or ones? This is the method you use.
Public methodAnd
Returns a new compressed bitmap containing the bitwise AND values of the current bitmap with some other bitmap. The running time is proportional to the sum of the compressed sizes (as reported by SizeInBytes).
Public methodAndNot
Returns a new compressed bitmap containing the bitwise AND NOT values of the current bitmap with some other bitmap. The running time is proportional to the sum of the compressed sizes (as reported by SizeInBytes).
Public methodStatic memberbitCount
Counts the number of set (1) bits.
Public methodStatic memberBitmapOf
Public methodClone (Overrides OptimizedPersistableClone.)
Public methodEquals
Check to see whether the two compressed bitmaps contain the same data (effectively check whether the cardinality of a XOR is == 0.
(Overrides OptimizedPersistableEquals(Object).)
Public methodGetCardinality
reports the number of bits set to true. Running time is proportional to compressed size (as reported by SizeInBytes).
Public methodGetEnumerator
Iterator over the set bits (this is what most people will want to use to browse the content). The location of the set bits is returned, in increasing order.
Public methodGetHashCode
Returns a customized hash code (based on Karp-Rabin). Naturally, if the bitmaps are equal, they will hash to the same value.
(Overrides OptimizedPersistableGetHashCode.)
Public methodGetObjectData
Public methodGetPositions
get the locations of the true values as one vector. (may use more memory than GetEnumerator()
Public methodIntersects
Return true if the two EwahCompressedBitArray have both at least one true bit in the same Position. Equivalently, you could call "And" and check whether there is a set bit, but intersects will run faster if you don't need the result of the "and" operation.
Public methodNot
Negate (bitwise) the current bitmap. To get a negated copy, do ((EwahCompressedBitArray) mybitmap.Clone()).not(); The running time is proportional to the compressed size (as reported by SizeInBytes).
Public methodOr
Returns a new compressed bitmap containing the bitwise OR values of the current bitmap with some other bitmap. The running time is proportional to the sum of the compressed sizes (as reported by SizeInBytes).
Public methodSet
set the bit at Position i to true, the bits must be set in increasing order. For example, Set(15) and then Set(7) will fail. You must do Set(7) and then Set(15).
Public methodSetSizeInBits
Change the reported size in bits of the *uncompressed* bitmap represented by this compressed bitmap. It is not possible to reduce the SizeInBits, but it can be extended. The new bits are set to false or true depending on the value of defaultvalue.
Public methodShrink
Sets the internal buffer to the minimum possible size required to contain the current bitarray. This method is useful when dealing with static bitmasks, if it is called after the final bit has been set, some memory can be free-ed. Please note, the next bit set after a call to shrink will cause the memory usage of the bit-array to double.
Public methodToDebugString
A more detailed string describing the bitmap (useful for debugging).
Public methodToString
A string describing the bitmap
(Overrides OptimizedPersistableToString.)
Public methodXor
Returns a new compressed bitmap containing the bitwise XOR values of the current bitmap with some other bitmap. The running time is proportional to the sum of the compressed sizes (as reported by SizeInBytes).
Top
Fields
  NameDescription
Public fieldStatic memberWordInBits
the number of bits in a long
Top
Extension Methods
  NameDescription
Public Extension MethodToStringDetails(SessionBase, Boolean)Overloaded.
Object details as a string
(Defined by Utilities.)
Public Extension MethodToStringDetails(Schema, TypeVersion, Boolean)Overloaded.
Currently only used by Database Manager
(Defined by Utilities.)
Top
See Also