VectorInt.BitPack Method

Overload List

#SignatureDescription
1function BitPack(const Src: TVecInt): TVecInt;Converts Src to packed bit storage.
2function BitPack(const Src: TMtxVecInt; const SrcIndex: Integer; const Index: Integer; const Len: Integer): TMtxVecInt;Converts Src to packed bit storage.

Overload 1: function BitPack(const Src: TVecInt): TVecInt;

Converts Src to packed bit storage.

#NameTypeDescription
1SrcTVecInt

Result: stored in self (calling object), returns self for chaining

Remarks:

If Src[i] <> 0 then bit at index "i" in the calling vector is set to 1. If Src.Length is not divisable with 32, the remaining bits in the last sample are left at 0. The storage precision of the calling object is set to prInt32. The size of the calling object is adjusted automatically. Packing if array with precision other than Int32 is 8x slower. Packing of array with precision other than Int32 is 8x slower.

Overload 2: function BitPack(const Src: TMtxVecInt; const SrcIndex: Integer; const Index: Integer; const Len: Integer): TMtxVecInt;

Converts Src to packed bit storage.

#NameTypeDescription
1SrcTMtxVecInt
2SrcIndexIntegersource start index
3IndexIntegerstart index
4LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

Returns the result of bit packing the Src values [SrcIndex]..[SrcIndex+Len-1] and stored in the calling object bits from [0]..[0+Len-1]. If Len is not divisable with 32, the remaining bits in the last sample are left at 0. The storage precision of the calling object is set to prInt32. The size of the calling object is adjusted automatically. Packing of array with precision other than Int32 is 8x slower.