aboutsummaryrefslogtreecommitdiff
path: root/C/BwtSort.h
diff options
context:
space:
mode:
authorIgor Pavlov <87184205+ip7z@users.noreply.github.com>2021-12-27 00:00:00 +0000
committerIgor Pavlov <87184205+ip7z@users.noreply.github.com>2022-03-18 15:35:13 +0500
commitf19f813537c7aea1c20749c914e756b54a9c3cf5 (patch)
tree816ba62ca7c0fa19f2eb46d9e9d6f7dd7c3a744d /C/BwtSort.h
parent98e06a519b63b81986abe76d28887f6984a7732b (diff)
download7zip-21.07.tar.gz
7zip-21.07.tar.bz2
7zip-21.07.zip
'21.07'21.07
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