mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-07 01:15:00 -06:00
25 lines
590 B
C
Executable File
25 lines
590 B
C
Executable File
/* BwtSort.h -- BWT block sorting
|
|
2008-03-26
|
|
Igor Pavlov
|
|
Public domain */
|
|
|
|
#ifndef __BWTSORT_H
|
|
#define __BWTSORT_H
|
|
|
|
#include "Types.h"
|
|
|
|
/* use BLOCK_SORT_EXTERNAL_FLAGS if blockSize can be > 1M */
|
|
/* #define BLOCK_SORT_EXTERNAL_FLAGS */
|
|
|
|
#ifdef BLOCK_SORT_EXTERNAL_FLAGS
|
|
#define BLOCK_SORT_EXTERNAL_SIZE(blockSize) ((((blockSize) + 31) >> 5))
|
|
#else
|
|
#define BLOCK_SORT_EXTERNAL_SIZE(blockSize) 0
|
|
#endif
|
|
|
|
#define BLOCK_SORT_BUF_SIZE(blockSize) ((blockSize) * 2 + BLOCK_SORT_EXTERNAL_SIZE(blockSize) + (1 << 16))
|
|
|
|
UInt32 BlockSort(UInt32 *indices, const Byte *data, UInt32 blockSize);
|
|
|
|
#endif
|