diff options
Diffstat (limited to 'C/BwtSort.h')
-rw-r--r-- | C/BwtSort.h | 26 |
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 | ||
2 | 2013-01-18 : Igor Pavlov : Public domain */ | ||
3 | |||
4 | #ifndef __BWT_SORT_H | ||
5 | #define __BWT_SORT_H | ||
6 | |||
7 | #include "7zTypes.h" | ||
8 | |||
9 | EXTERN_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 | |||
22 | UInt32 BlockSort(UInt32 *indices, const Byte *data, UInt32 blockSize); | ||
23 | |||
24 | EXTERN_C_END | ||
25 | |||
26 | #endif | ||