aboutsummaryrefslogtreecommitdiff
path: root/C/BwtSort.h
diff options
context:
space:
mode:
Diffstat (limited to 'C/BwtSort.h')
-rw-r--r--C/BwtSort.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/C/BwtSort.h b/C/BwtSort.h
new file mode 100644
index 0000000..7e989a9
--- /dev/null
+++ b/C/BwtSort.h
@@ -0,0 +1,26 @@
1/* BwtSort.h -- BWT block sorting
22013-01-18 : Igor Pavlov : Public domain */
3
4#ifndef __BWT_SORT_H
5#define __BWT_SORT_H
6
7#include "7zTypes.h"
8
9EXTERN_C_BEGIN
10
11/* use BLOCK_SORT_EXTERNAL_FLAGS if blockSize can be > 1M */
12/* #define BLOCK_SORT_EXTERNAL_FLAGS */
13
14#ifdef BLOCK_SORT_EXTERNAL_FLAGS
15#define BLOCK_SORT_EXTERNAL_SIZE(blockSize) ((((blockSize) + 31) >> 5))
16#else
17#define BLOCK_SORT_EXTERNAL_SIZE(blockSize) 0
18#endif
19
20#define BLOCK_SORT_BUF_SIZE(blockSize) ((blockSize) * 2 + BLOCK_SORT_EXTERNAL_SIZE(blockSize) + (1 << 16))
21
22UInt32 BlockSort(UInt32 *indices, const Byte *data, UInt32 blockSize);
23
24EXTERN_C_END
25
26#endif