mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-14 10:11:38 -06:00
4.20
This commit is contained in:
committed by
Kornel Lesiński
parent
8c1b5c7b7e
commit
3c510ba80b
29
7zip/Compress/BWT/BlockSort.h
Executable file
29
7zip/Compress/BWT/BlockSort.h
Executable file
@@ -0,0 +1,29 @@
|
||||
// BlockSort.h
|
||||
|
||||
#ifndef __BLOCKSORT_H
|
||||
#define __BLOCKSORT_H
|
||||
|
||||
#include "Common/Types.h"
|
||||
|
||||
namespace NCompress {
|
||||
|
||||
class CBlockSorter
|
||||
{
|
||||
UInt32 *Groups;
|
||||
UInt32 *Flags;
|
||||
UInt32 BlockSize;
|
||||
UInt32 NumSortedBytes;
|
||||
UInt32 BlockSizeMax;
|
||||
UInt32 SortGroup(UInt32 groupOffset, UInt32 groupSize, UInt32 mask, UInt32 maskSize);
|
||||
public:
|
||||
UInt32 *Indices;
|
||||
CBlockSorter(): Indices(0) {}
|
||||
~CBlockSorter() { Free(); }
|
||||
bool Create(UInt32 blockSizeMax);
|
||||
void Free();
|
||||
UInt32 Sort(const Byte *data, UInt32 blockSize);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user