MatrixInt.BitUnpack Method

Overload List

#SignatureDescription
1TMtxInt BitUnpack(TMtxInt Src, TIntPrecision DstPrecision)Converts Src to packed bit storage.
2TMtxVecInt BitUnpack(TMtxVecInt Src, Int32 SrcIndex, Int32 Index, Int32 Len)Converts Src to unpacked bit storage.

Overload 1: TMtxInt BitUnpack(TMtxInt Src, TIntPrecision DstPrecision)

Converts Src to packed bit storage.

#NameTypeDescription
1SrcTMtxIntsource TMtxInt
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: TMtxVecInt BitUnpack(TMtxVecInt Src, Int32 SrcIndex, Int32 Index, Int32 Len)

Converts Src to unpacked bit storage.

#NameTypeDescription
1SrcTMtxVecIntsource TVecInt or TMtxInt
2SrcIndexInt32source start index
3IndexInt32start index
4LenInt32element 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.