MatrixInt.BitUnpack Method

Overload List

#SignatureDescription
1function BitUnpack(const Src: TMtxInt; const DstPrecision: TIntPrecision): TMtxInt;Converts Src to packed bit storage.
2function BitUnpack(const Src: TMtxVecInt; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;Converts Src to unpacked bit storage.

Overload 1: function BitUnpack(const Src: TMtxInt; const DstPrecision: TIntPrecision): TMtxInt;

Converts Src to packed bit storage.

#NameTypeDescription
1SrcTMtxInt
2DstPrecisionTIntPrecision

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

Remarks:

If bit at Src[i] <> 0 then Integer (32, 16 or 8bit) at index "i" in the calling vector is set to 1. The storage precision of the calling object is preserved. The size of the calling object is adjusted automatically. Unpack to array with precision other than Int32 is 8x slower.

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

Converts Src to unpacked bit storage.

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

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

Remarks:

If bit at Src[i] <> 0 then Integer (32, 16 or 8bit) at index "i" in the calling vector is set to 1.

Returns the result of bit unpacking the bits stred Src values [0]..[Len-1] and stored in the calling object (Self) values [Index]..[Index+Len-1]. The storage precision of the calling object is preserved. The Len parameter specifies the number of bits that will be unpacked from Src. Unpack to array with precision other than Int32 is 8x slower.