Meshbeyn / Projects

Namespace FastBWT

public class BWT_Small_Desorter

BWT Desorter for small blocks. As small as 2G.

Constructors

public BWT_Small_Desorter()

Create new small desorter.

Methods

public abstract byte[] Desort(byte[] SourceBlock, long StartIndex, byte[] TargetBlock = null, long DataSize = 0)

Desort SourceBlock to TargetBlock. This method internally generates desorting vector and fills the TargetBlock.

public abstract ICollection GenerateVector(byte[] SourceBytes, ICollection Vector = null, long DataSize = 0)

Calculate desorting vector based on SourceBytes. The actual type of Array is uint[].

Remarks

BWT_Small_Desorter uses uint[] as the type for desorting vector. BWT_Small_Desorter is now the only desorter for BWT. It supports blocks up to 2G. Current implementation is single threaded.

This desorter uses 4 * DataSize bytes. Total memory footprint is 5 or 6 source blocks.

See also

ADesorter.Desort method

ADesorter.GenerateVector method

ADesorter.FillDesortedBlock method

ADesorter class

Project FastBWT