clang format run
diff --git a/include/cm.h b/include/cm.h
index b59b614..19916df 100644
--- a/include/cm.h
+++ b/include/cm.h
@@ -2,11 +2,11 @@
#ifndef _CM_H
#define _CM_H
-#include "common.h"
-
#include <inttypes.h>
#include <stdint.h>
+#include "common.h"
+
typedef struct {
u32 low, high, code;
u16 C0[256], C1[256][256], C2[2][256][17];
diff --git a/include/crc32.h b/include/crc32.h
index 5119246..b6f26bd 100644
--- a/include/crc32.h
+++ b/include/crc32.h
@@ -20,11 +20,11 @@
#ifndef _CRC32_H
#define _CRC32_H
-#include "common.h"
-
#include <inttypes.h>
#include <stddef.h>
+#include "common.h"
+
u32 crc32sum(u32 crc, u8 * buf, size_t size);
#endif
diff --git a/include/libsais.h b/include/libsais.h
index 6625bd1..6286a5d 100644
--- a/include/libsais.h
+++ b/include/libsais.h
@@ -50,8 +50,7 @@ void libsais_free_ctx(void * ctx);
* @param freq [0..255] The output symbol frequency table (can be NULL).
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs,
- s32 * freq);
+s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs, s32 * freq);
/**
* Constructs the suffix array of a given integer array.
@@ -65,8 +64,7 @@ s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs,
* better 6k is recommended for optimal performance).
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k,
- s32 fs);
+s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k, s32 fs);
/**
* Constructs the suffix array of a given string using libsais context.
@@ -79,8 +77,8 @@ s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k,
* @param freq [0..255] The output symbol frequency table (can be NULL).
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA,
- s32 n, s32 fs, s32 * freq);
+s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA, s32 n, s32 fs,
+ s32 * freq);
/**
* Constructs the burrows-wheeler transformed string (BWT) of a given string.
@@ -93,8 +91,7 @@ s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA,
* @param freq [0..255] The output symbol frequency table (can be NULL).
* @return The primary index if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n,
- s32 fs, s32 * freq);
+s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs, s32 * freq);
/**
* Constructs the burrows-wheeler transformed string (BWT) of a given string
@@ -110,8 +107,8 @@ s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n,
* @param I [0..(n-1)/r] The output auxiliary indexes.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n,
- s32 fs, s32 * freq, s32 r, s32 * I);
+s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs, s32 * freq,
+ s32 r, s32 * I);
/**
* Constructs the burrows-wheeler transformed string (BWT) of a given string
@@ -126,8 +123,8 @@ s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n,
* @param freq [0..255] The output symbol frequency table (can be NULL).
* @return The primary index if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, s32 fs, s32 * freq);
+s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ s32 fs, s32 * freq);
/**
* Constructs the burrows-wheeler transformed string (BWT) of a given string
@@ -144,9 +141,8 @@ s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U,
* @param I [0..(n-1)/r] The output auxiliary indexes.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_bwt_aux_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, s32 fs, s32 * freq,
- s32 r, s32 * I);
+s32 libsais_bwt_aux_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ s32 fs, s32 * freq, s32 r, s32 * I);
/**
* Creates the libsais reverse BWT context that allows reusing allocated memory
@@ -174,8 +170,8 @@ void libsais_unbwt_free_ctx(void * ctx);
* @param i The primary index.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_unbwt(const u8 * T, u8 * U, s32 * A, s32 n,
- const s32 * freq, s32 i);
+s32 libsais_unbwt(const u8 * T, u8 * U, s32 * A, s32 n, const s32 * freq,
+ s32 i);
/**
* Constructs the original string from a given burrows-wheeler transformed
@@ -190,9 +186,8 @@ s32 libsais_unbwt(const u8 * T, u8 * U, s32 * A, s32 n,
* @param i The primary index.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_unbwt_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, const s32 * freq,
- s32 i);
+s32 libsais_unbwt_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ const s32 * freq, s32 i);
/**
* Constructs the original string from a given burrows-wheeler transformed
@@ -207,9 +202,8 @@ s32 libsais_unbwt_ctx(const void * ctx, const u8 * T, u8 * U,
* @param I [0..(n-1)/r] The input auxiliary indexes.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A,
- s32 n, const s32 * freq, s32 r,
- const s32 * I);
+s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A, s32 n, const s32 * freq,
+ s32 r, const s32 * I);
/**
* Constructs the original string from a given burrows-wheeler transformed
@@ -225,9 +219,8 @@ s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A,
* @param I [0..(n-1)/r] The input auxiliary indexes.
* @return 0 if no error occurred, -1 or -2 otherwise.
*/
-s32 libsais_unbwt_aux_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, const s32 * freq,
- s32 r, const s32 * I);
+s32 libsais_unbwt_aux_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A,
+ s32 n, const s32 * freq, s32 r, const s32 * I);
/**
* Constructs the permuted longest common prefix array (PLCP) of a given string
@@ -238,8 +231,7 @@ s32 libsais_unbwt_aux_ctx(const void * ctx, const u8 * T, u8 * U,
* @param n The length of the string and the suffix array.
* @return 0 if no error occurred, -1 otherwise.
*/
-s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP,
- s32 n);
+s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP, s32 n);
/**
* Constructs the longest common prefix array (LCP) of a given permuted longest
@@ -251,7 +243,6 @@ s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP,
* suffix array.
* @return 0 if no error occurred, -1 otherwise.
*/
-s32 libsais_lcp(const s32 * PLCP, const s32 * SA, s32 * LCP,
- s32 n);
+s32 libsais_lcp(const s32 * PLCP, const s32 * SA, s32 * LCP, s32 n);
#endif
diff --git a/include/mtf.h b/include/mtf.h
index 735cb6d..0d36a9b 100644
--- a/include/mtf.h
+++ b/include/mtf.h
@@ -29,9 +29,7 @@ struct mtf_state {
u32 prev[256], curr[256], symbols[256], ranks[256];
};
-void mtf_encode(struct mtf_state * mtf, u8 * src, u8 * dst,
- u32 count);
-void mtf_decode(struct mtf_state * mtf, u8 * src, u8 * dst,
- u32 count);
+void mtf_encode(struct mtf_state * mtf, u8 * src, u8 * dst, u32 count);
+void mtf_decode(struct mtf_state * mtf, u8 * src, u8 * dst, u32 count);
#endif
diff --git a/include/srt.h b/include/srt.h
index 17a56c5..026c781 100644
--- a/include/srt.h
+++ b/include/srt.h
@@ -34,9 +34,7 @@ struct srt_state {
u32 bucket_ends[256];
};
-u32 srt_encode(struct srt_state * mtf, u8 * src, u8 * dst,
- u32 count);
-u32 srt_decode(struct srt_state * mtf, u8 * src, u8 * dst,
- u32 count);
+u32 srt_encode(struct srt_state * mtf, u8 * src, u8 * dst, u32 count);
+u32 srt_decode(struct srt_state * mtf, u8 * src, u8 * dst, u32 count);
#endif
diff --git a/src/cm.c b/src/cm.c
index 336aca5..83ff27a 100644
--- a/src/cm.c
+++ b/src/cm.c
@@ -1,9 +1,7 @@
#include "cm.h"
-static void write_out(state * s, u8 c) {
- s->out_queue[s->output_ptr++] = c;
-}
+static void write_out(state * s, u8 c) { s->out_queue[s->output_ptr++] = c; }
static u8 read_in(state * s) {
if (s->input_ptr < s->input_max) return s->in_queue[s->input_ptr++];
diff --git a/src/libsais.c b/src/libsais.c
index 77e34da..d2f6733 100644
--- a/src/libsais.c
+++ b/src/libsais.c
@@ -1994,8 +1994,8 @@ static void libsais_radix_sort_lms_suffixes_8u(
}
static void libsais_radix_sort_lms_suffixes_8u_omp(
- const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n,
- sa_sint_t m, sa_sint_t * RESTRICT buckets, sa_sint_t threads,
+ const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n, sa_sint_t m,
+ sa_sint_t * RESTRICT buckets, sa_sint_t threads,
LIBSAIS_THREAD_STATE * RESTRICT thread_state) {
#if defined(_OPENMP)
#pragma omp parallel num_threads(threads) if (threads > 1 && n >= 65536 && \
@@ -7140,8 +7140,8 @@ static void libsais_final_bwt_scan_left_to_right_8u_omp(
}
static void libsais_final_bwt_aux_scan_left_to_right_8u_omp(
- const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, fast_sint_t n,
- sa_sint_t rm, sa_sint_t * RESTRICT I, sa_sint_t * RESTRICT induction_bucket,
+ const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, fast_sint_t n, sa_sint_t rm,
+ sa_sint_t * RESTRICT I, sa_sint_t * RESTRICT induction_bucket,
sa_sint_t threads, LIBSAIS_THREAD_STATE * RESTRICT thread_state) {
SA[induction_bucket[T[(sa_sint_t)n - 1]]++] =
((sa_sint_t)n - 1) |
@@ -8246,8 +8246,8 @@ static sa_sint_t libsais_final_bwt_scan_right_to_left_8u_omp(
}
static void libsais_final_bwt_aux_scan_right_to_left_8u_omp(
- const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n,
- sa_sint_t rm, sa_sint_t * RESTRICT I, sa_sint_t * RESTRICT induction_bucket,
+ const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n, sa_sint_t rm,
+ sa_sint_t * RESTRICT I, sa_sint_t * RESTRICT induction_bucket,
sa_sint_t threads, LIBSAIS_THREAD_STATE * RESTRICT thread_state) {
if (threads == 1 || n < 65536) {
libsais_final_bwt_aux_scan_right_to_left_8u(T, SA, rm, I,
@@ -8409,10 +8409,9 @@ static void libsais_clear_lms_suffixes_omp(sa_sint_t * RESTRICT SA, sa_sint_t n,
}
static sa_sint_t libsais_induce_final_order_8u_omp(
- const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n,
- sa_sint_t bwt, sa_sint_t r, sa_sint_t * RESTRICT I,
- sa_sint_t * RESTRICT buckets, sa_sint_t threads,
- LIBSAIS_THREAD_STATE * RESTRICT thread_state) {
+ const u8 * RESTRICT T, sa_sint_t * RESTRICT SA, sa_sint_t n, sa_sint_t bwt,
+ sa_sint_t r, sa_sint_t * RESTRICT I, sa_sint_t * RESTRICT buckets,
+ sa_sint_t threads, LIBSAIS_THREAD_STATE * RESTRICT thread_state) {
if (!bwt) {
libsais_final_sorting_scan_left_to_right_8u_omp(
T, SA, n, &buckets[6 * ALPHABET_SIZE], threads, thread_state);
@@ -9412,7 +9411,7 @@ static sa_sint_t libsais_main(const u8 * T, sa_sint_t * SA, sa_sint_t n,
}
static s32 libsais_main_int(sa_sint_t * T, sa_sint_t * SA, sa_sint_t n,
- sa_sint_t k, sa_sint_t fs, sa_sint_t threads) {
+ sa_sint_t k, sa_sint_t fs, sa_sint_t threads) {
LIBSAIS_THREAD_STATE * RESTRICT thread_state =
threads > 1 ? libsais_alloc_thread_state(threads) : NULL;
@@ -9426,10 +9425,9 @@ static s32 libsais_main_int(sa_sint_t * T, sa_sint_t * SA, sa_sint_t n,
return index;
}
-static sa_sint_t libsais_main_ctx(const LIBSAIS_CONTEXT * ctx,
- const u8 * T, sa_sint_t * SA,
- sa_sint_t n, sa_sint_t bwt, sa_sint_t r,
- sa_sint_t * I, sa_sint_t fs,
+static sa_sint_t libsais_main_ctx(const LIBSAIS_CONTEXT * ctx, const u8 * T,
+ sa_sint_t * SA, sa_sint_t n, sa_sint_t bwt,
+ sa_sint_t r, sa_sint_t * I, sa_sint_t fs,
sa_sint_t * freq) {
return ctx != NULL && (ctx->buckets != NULL &&
(ctx->thread_state != NULL || ctx->threads == 1))
@@ -9463,9 +9461,8 @@ static void libsais_bwt_copy_8u(u8 * RESTRICT U, sa_sint_t * RESTRICT A,
#if defined(_OPENMP)
-static void libsais_bwt_copy_8u_omp(u8 * RESTRICT U,
- sa_sint_t * RESTRICT A, sa_sint_t n,
- sa_sint_t threads) {
+static void libsais_bwt_copy_8u_omp(u8 * RESTRICT U, sa_sint_t * RESTRICT A,
+ sa_sint_t n, sa_sint_t threads) {
#if defined(_OPENMP)
#pragma omp parallel num_threads(threads) if (threads > 1 && n >= 65536)
#endif
@@ -9499,8 +9496,7 @@ void libsais_free_ctx(void * ctx) {
libsais_free_ctx_main((LIBSAIS_CONTEXT *)ctx);
}
-s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs,
- s32 * freq) {
+s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs, s32 * freq) {
if ((T == NULL) || (SA == NULL) || (n < 0) || (fs < 0)) {
return -1;
} else if (n < 2) {
@@ -9519,8 +9515,7 @@ s32 libsais(const u8 * T, s32 * SA, s32 n, s32 fs,
return libsais_main(T, SA, n, 0, 0, NULL, fs, freq, 1);
}
-s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k,
- s32 fs) {
+s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k, s32 fs) {
if ((T == NULL) || (SA == NULL) || (n < 0) || (fs < 0)) {
return -1;
} else if (n < 2) {
@@ -9533,8 +9528,8 @@ s32 libsais_int(s32 * T, s32 * SA, s32 n, s32 k,
return libsais_main_int(T, SA, n, k, fs, 1);
}
-s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA,
- s32 n, s32 fs, s32 * freq) {
+s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA, s32 n, s32 fs,
+ s32 * freq) {
if ((ctx == NULL) || (T == NULL) || (SA == NULL) || (n < 0) || (fs < 0)) {
return -1;
} else if (n < 2) {
@@ -9554,8 +9549,7 @@ s32 libsais_ctx(const void * ctx, const u8 * T, s32 * SA,
fs, freq);
}
-s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n,
- s32 fs, s32 * freq) {
+s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs, s32 * freq) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (fs < 0)) {
return -1;
} else if (n <= 1) {
@@ -9583,8 +9577,8 @@ s32 libsais_bwt(const u8 * T, u8 * U, s32 * A, s32 n,
return index;
}
-s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n,
- s32 fs, s32 * freq, s32 r, s32 * I) {
+s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs, s32 * freq,
+ s32 r, s32 * I) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (fs < 0) ||
(r < 2) || ((r & (r - 1)) != 0) || (I == NULL)) {
return -1;
@@ -9613,8 +9607,8 @@ s32 libsais_bwt_aux(const u8 * T, u8 * U, s32 * A, s32 n,
return 0;
}
-s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, s32 fs, s32 * freq) {
+s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ s32 fs, s32 * freq) {
if ((ctx == NULL) || (T == NULL) || (U == NULL) || (A == NULL) || (n < 0) ||
(fs < 0)) {
return -1;
@@ -9654,9 +9648,8 @@ s32 libsais_bwt_ctx(const void * ctx, const u8 * T, u8 * U,
return index;
}
-s32 libsais_bwt_aux_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, s32 fs, s32 * freq,
- s32 r, s32 * I) {
+s32 libsais_bwt_aux_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ s32 fs, s32 * freq, s32 r, s32 * I) {
if ((ctx == NULL) || (T == NULL) || (U == NULL) || (A == NULL) || (n < 0) ||
(fs < 0) || (r < 2) || ((r & (r - 1)) != 0) || (I == NULL)) {
return -1;
@@ -9705,8 +9698,8 @@ void * libsais_create_ctx_omp(s32 threads) {
return (void *)libsais_create_ctx_main(threads);
}
-s32 libsais_omp(const u8 * T, s32 * SA, s32 n, s32 fs,
- s32 * freq, s32 threads) {
+s32 libsais_omp(const u8 * T, s32 * SA, s32 n, s32 fs, s32 * freq,
+ s32 threads) {
if ((T == NULL) || (SA == NULL) || (n < 0) || (fs < 0) || (threads < 0)) {
return -1;
} else if (n < 2) {
@@ -9727,8 +9720,7 @@ s32 libsais_omp(const u8 * T, s32 * SA, s32 n, s32 fs,
return libsais_main(T, SA, n, 0, 0, NULL, fs, freq, threads);
}
-s32 libsais_int_omp(s32 * T, s32 * SA, s32 n, s32 k,
- s32 fs, s32 threads) {
+s32 libsais_int_omp(s32 * T, s32 * SA, s32 n, s32 k, s32 fs, s32 threads) {
if ((T == NULL) || (SA == NULL) || (n < 0) || (fs < 0) || (threads < 0)) {
return -1;
} else if (n < 2) {
@@ -9743,8 +9735,8 @@ s32 libsais_int_omp(s32 * T, s32 * SA, s32 n, s32 k,
return libsais_main_int(T, SA, n, k, fs, threads);
}
-s32 libsais_bwt_omp(const u8 * T, u8 * U, s32 * A, s32 n,
- s32 fs, s32 * freq, s32 threads) {
+s32 libsais_bwt_omp(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs, s32 * freq,
+ s32 threads) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (fs < 0) ||
(threads < 0)) {
return -1;
@@ -9775,9 +9767,8 @@ s32 libsais_bwt_omp(const u8 * T, u8 * U, s32 * A, s32 n,
return index;
}
-s32 libsais_bwt_aux_omp(const u8 * T, u8 * U, s32 * A,
- s32 n, s32 fs, s32 * freq, s32 r,
- s32 * I, s32 threads) {
+s32 libsais_bwt_aux_omp(const u8 * T, u8 * U, s32 * A, s32 n, s32 fs,
+ s32 * freq, s32 r, s32 * I, s32 threads) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) || (fs < 0) ||
(r < 2) || ((r & (r - 1)) != 0) || (I == NULL) || (threads < 0)) {
return -1;
@@ -10174,9 +10165,9 @@ static void libsais_unbwt_calculate_fastbits(sa_uint_t * RESTRICT bucket2,
}
static void libsais_unbwt_calculate_biPSI(
- const u8 * RESTRICT T, sa_uint_t * RESTRICT P,
- sa_uint_t * RESTRICT bucket1, sa_uint_t * RESTRICT bucket2,
- fast_uint_t index, fast_sint_t omp_block_start, fast_sint_t omp_block_end) {
+ const u8 * RESTRICT T, sa_uint_t * RESTRICT P, sa_uint_t * RESTRICT bucket1,
+ sa_uint_t * RESTRICT bucket2, fast_uint_t index,
+ fast_sint_t omp_block_start, fast_sint_t omp_block_end) {
{
fast_sint_t i = omp_block_start, j = (fast_sint_t)index;
if (omp_block_end < j) {
@@ -10449,9 +10440,8 @@ static void libsais_unbwt_init_parallel(
static void libsais_unbwt_decode_1(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_uint_t shift, fast_uint_t * i0,
- fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t * i0, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
fast_uint_t i, p0 = *i0;
@@ -10472,10 +10462,9 @@ static void libsais_unbwt_decode_1(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
static void libsais_unbwt_decode_2(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1,
- fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
@@ -10506,10 +10495,10 @@ static void libsais_unbwt_decode_2(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
static void libsais_unbwt_decode_3(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1,
- fast_uint_t * i2, fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2,
+ fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10550,11 +10539,10 @@ static void libsais_unbwt_decode_3(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
static void libsais_unbwt_decode_4(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1,
- fast_uint_t * i2, fast_uint_t * i3,
- fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2,
+ fast_uint_t * i3, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10605,11 +10593,11 @@ static void libsais_unbwt_decode_4(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
static void libsais_unbwt_decode_5(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1,
- fast_uint_t * i2, fast_uint_t * i3,
- fast_uint_t * i4, fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2,
+ fast_uint_t * i3, fast_uint_t * i4,
+ fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10668,11 +10656,13 @@ static void libsais_unbwt_decode_5(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
*i4 = p4;
}
-static void libsais_unbwt_decode_6(
- u8 * RESTRICT U, sa_uint_t * RESTRICT P, sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1, fast_uint_t * i2, fast_uint_t * i3,
- fast_uint_t * i4, fast_uint_t * i5, fast_uint_t k) {
+static void libsais_unbwt_decode_6(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
+ sa_uint_t * RESTRICT bucket2,
+ u16 * RESTRICT fastbits, fast_uint_t shift,
+ fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2,
+ fast_uint_t * i3, fast_uint_t * i4,
+ fast_uint_t * i5, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10743,9 +10733,9 @@ static void libsais_unbwt_decode_6(
static void libsais_unbwt_decode_7(
u8 * RESTRICT U, sa_uint_t * RESTRICT P, sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1, fast_uint_t * i2, fast_uint_t * i3,
- fast_uint_t * i4, fast_uint_t * i5, fast_uint_t * i6, fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2, fast_uint_t * i3, fast_uint_t * i4,
+ fast_uint_t * i5, fast_uint_t * i6, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10827,10 +10817,9 @@ static void libsais_unbwt_decode_7(
static void libsais_unbwt_decode_8(
u8 * RESTRICT U, sa_uint_t * RESTRICT P, sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t r,
- fast_uint_t * i0, fast_uint_t * i1, fast_uint_t * i2, fast_uint_t * i3,
- fast_uint_t * i4, fast_uint_t * i5, fast_uint_t * i6, fast_uint_t * i7,
- fast_uint_t k) {
+ u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t r, fast_uint_t * i0,
+ fast_uint_t * i1, fast_uint_t * i2, fast_uint_t * i3, fast_uint_t * i4,
+ fast_uint_t * i5, fast_uint_t * i6, fast_uint_t * i7, fast_uint_t k) {
u16 * RESTRICT U0 = (u16 *)(void *)U;
u16 * RESTRICT U1 = (u16 *)(void *)(((u8 *)U0) + r);
u16 * RESTRICT U2 = (u16 *)(void *)(((u8 *)U1) + r);
@@ -10924,8 +10913,8 @@ static void libsais_unbwt_decode(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
sa_sint_t n, sa_sint_t r,
const sa_uint_t * RESTRICT I,
sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits,
- fast_sint_t blocks, fast_uint_t reminder) {
+ u16 * RESTRICT fastbits, fast_sint_t blocks,
+ fast_uint_t reminder) {
fast_uint_t shift = 0;
while ((n >> shift) > (1 << UNBWT_FASTBITS)) {
shift++;
@@ -11010,8 +10999,7 @@ static void libsais_unbwt_decode(u8 * RESTRICT U, sa_uint_t * RESTRICT P,
}
}
-static void libsais_unbwt_decode_omp(const u8 * RESTRICT T,
- u8 * RESTRICT U,
+static void libsais_unbwt_decode_omp(const u8 * RESTRICT T, u8 * RESTRICT U,
sa_uint_t * RESTRICT P, sa_sint_t n,
sa_sint_t r, const sa_uint_t * RESTRICT I,
sa_uint_t * RESTRICT bucket2,
@@ -11057,11 +11045,10 @@ static void libsais_unbwt_decode_omp(const u8 * RESTRICT T,
}
static sa_sint_t libsais_unbwt_core(
- const u8 * RESTRICT T, u8 * RESTRICT U, sa_uint_t * RESTRICT P,
- sa_sint_t n, const sa_sint_t * freq, sa_sint_t r,
- const sa_uint_t * RESTRICT I, sa_uint_t * RESTRICT bucket2,
- u16 * RESTRICT fastbits, sa_uint_t * RESTRICT buckets,
- sa_sint_t threads) {
+ const u8 * RESTRICT T, u8 * RESTRICT U, sa_uint_t * RESTRICT P, sa_sint_t n,
+ const sa_sint_t * freq, sa_sint_t r, const sa_uint_t * RESTRICT I,
+ sa_uint_t * RESTRICT bucket2, u16 * RESTRICT fastbits,
+ sa_uint_t * RESTRICT buckets, sa_sint_t threads) {
#if defined(_OPENMP)
if (threads > 1 && n >= 262144) {
libsais_unbwt_init_parallel(T, P, n, freq, I, bucket2, fastbits,
@@ -11078,10 +11065,10 @@ static sa_sint_t libsais_unbwt_core(
return 0;
}
-static sa_sint_t libsais_unbwt_main(const u8 * T, u8 * U,
- sa_uint_t * P, sa_sint_t n,
- const sa_sint_t * freq, sa_sint_t r,
- const sa_uint_t * I, sa_sint_t threads) {
+static sa_sint_t libsais_unbwt_main(const u8 * T, u8 * U, sa_uint_t * P,
+ sa_sint_t n, const sa_sint_t * freq,
+ sa_sint_t r, const sa_uint_t * I,
+ sa_sint_t threads) {
fast_uint_t shift = 0;
while ((n >> shift) > (1 << UNBWT_FASTBITS)) {
shift++;
@@ -11114,10 +11101,9 @@ static sa_sint_t libsais_unbwt_main(const u8 * T, u8 * U,
}
static sa_sint_t libsais_unbwt_main_ctx(const LIBSAIS_UNBWT_CONTEXT * ctx,
- const u8 * T, u8 * U,
- sa_uint_t * P, sa_sint_t n,
- const sa_sint_t * freq, sa_sint_t r,
- const sa_uint_t * I) {
+ const u8 * T, u8 * U, sa_uint_t * P,
+ sa_sint_t n, const sa_sint_t * freq,
+ sa_sint_t r, const sa_uint_t * I) {
return ctx != NULL && ctx->bucket2 != NULL && ctx->fastbits != NULL &&
(ctx->buckets != NULL || ctx->threads == 1)
? libsais_unbwt_core(T, U, P, n, freq, r, I, ctx->bucket2,
@@ -11134,20 +11120,18 @@ void libsais_unbwt_free_ctx(void * ctx) {
libsais_unbwt_free_ctx_main((LIBSAIS_UNBWT_CONTEXT *)ctx);
}
-s32 libsais_unbwt(const u8 * T, u8 * U, s32 * A, s32 n,
- const s32 * freq, s32 i) {
+s32 libsais_unbwt(const u8 * T, u8 * U, s32 * A, s32 n, const s32 * freq,
+ s32 i) {
return libsais_unbwt_aux(T, U, A, n, freq, n, &i);
}
-s32 libsais_unbwt_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, const s32 * freq,
- s32 i) {
+s32 libsais_unbwt_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A, s32 n,
+ const s32 * freq, s32 i) {
return libsais_unbwt_aux_ctx(ctx, T, U, A, n, freq, n, &i);
}
-s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A,
- s32 n, const s32 * freq, s32 r,
- const s32 * I) {
+s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A, s32 n, const s32 * freq,
+ s32 r, const s32 * I) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) ||
((r != n) && ((r < 2) || ((r & (r - 1)) != 0))) || (I == NULL)) {
return -1;
@@ -11172,9 +11156,8 @@ s32 libsais_unbwt_aux(const u8 * T, u8 * U, s32 * A,
(const sa_uint_t *)I, 1);
}
-s32 libsais_unbwt_aux_ctx(const void * ctx, const u8 * T, u8 * U,
- s32 * A, s32 n, const s32 * freq,
- s32 r, const s32 * I) {
+s32 libsais_unbwt_aux_ctx(const void * ctx, const u8 * T, u8 * U, s32 * A,
+ s32 n, const s32 * freq, s32 r, const s32 * I) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) ||
((r != n) && ((r < 2) || ((r & (r - 1)) != 0))) || (I == NULL)) {
return -1;
@@ -11211,15 +11194,13 @@ void * libsais_unbwt_create_ctx_omp(s32 threads) {
return (void *)libsais_unbwt_create_ctx_main(threads);
}
-s32 libsais_unbwt_omp(const u8 * T, u8 * U, s32 * A,
- s32 n, const s32 * freq, s32 i,
- s32 threads) {
+s32 libsais_unbwt_omp(const u8 * T, u8 * U, s32 * A, s32 n, const s32 * freq,
+ s32 i, s32 threads) {
return libsais_unbwt_aux_omp(T, U, A, n, freq, n, &i, threads);
}
-s32 libsais_unbwt_aux_omp(const u8 * T, u8 * U, s32 * A,
- s32 n, const s32 * freq, s32 r,
- const s32 * I, s32 threads) {
+s32 libsais_unbwt_aux_omp(const u8 * T, u8 * U, s32 * A, s32 n,
+ const s32 * freq, s32 r, const s32 * I, s32 threads) {
if ((T == NULL) || (U == NULL) || (A == NULL) || (n < 0) ||
((r != n) && ((r < 2) || ((r & (r - 1)) != 0))) || (I == NULL) ||
(threads < 0)) {
@@ -11422,8 +11403,7 @@ static void libsais_compute_lcp_omp(const sa_sint_t * RESTRICT PLCP,
}
}
-s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP,
- s32 n) {
+s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP, s32 n) {
if ((T == NULL) || (SA == NULL) || (PLCP == NULL) || (n < 0)) {
return -1;
} else if (n <= 1) {
@@ -11439,8 +11419,7 @@ s32 libsais_plcp(const u8 * T, const s32 * SA, s32 * PLCP,
return 0;
}
-s32 libsais_lcp(const s32 * PLCP, const s32 * SA, s32 * LCP,
- s32 n) {
+s32 libsais_lcp(const s32 * PLCP, const s32 * SA, s32 * LCP, s32 n) {
if ((PLCP == NULL) || (SA == NULL) || (LCP == NULL) || (n < 0)) {
return -1;
} else if (n <= 1) {
@@ -11457,8 +11436,8 @@ s32 libsais_lcp(const s32 * PLCP, const s32 * SA, s32 * LCP,
#if defined(_OPENMP)
-s32 libsais_plcp_omp(const u8 * T, const s32 * SA, s32 * PLCP,
- s32 n, s32 threads) {
+s32 libsais_plcp_omp(const u8 * T, const s32 * SA, s32 * PLCP, s32 n,
+ s32 threads) {
if ((T == NULL) || (SA == NULL) || (PLCP == NULL) || (n < 0) ||
(threads < 0)) {
return -1;
@@ -11477,8 +11456,8 @@ s32 libsais_plcp_omp(const u8 * T, const s32 * SA, s32 * PLCP,
return 0;
}
-s32 libsais_lcp_omp(const s32 * PLCP, const s32 * SA, s32 * LCP,
- s32 n, s32 threads) {
+s32 libsais_lcp_omp(const s32 * PLCP, const s32 * SA, s32 * LCP, s32 n,
+ s32 threads) {
if ((PLCP == NULL) || (SA == NULL) || (LCP == NULL) || (n < 0) ||
(threads < 0)) {
return -1;
diff --git a/src/main.c b/src/main.c
index 40d9414..729a931 100644
--- a/src/main.c
+++ b/src/main.c
@@ -23,8 +23,8 @@
#include <string.h>
#include <unistd.h>
-#include "common.h"
#include "cm.h"
+#include "common.h"
#include "crc32.h"
#include "libsais.h"
#include "mtf.h"
@@ -33,7 +33,8 @@
struct block_encoder_state {
s32 input_des, output_des;
- u8 * buf1, * buf2; s32 bytes_read;
+ u8 *buf1, *buf2;
+ s32 bytes_read;
s32 * sais_array;
struct srt_state * srt_state;
struct mtf_state * mtf_state;
@@ -44,11 +45,13 @@ void encode_block(struct block_encoder_state * state) {
u32 crc32 = crc32sum(1, state->buf1, state->bytes_read);
s32 new_size = mrlec(state->buf1, state->bytes_read, state->buf2);
- s32 bwt_index = libsais_bwt(state->buf2, state->buf2, state->sais_array, new_size, 16, NULL);
+ s32 bwt_index = libsais_bwt(state->buf2, state->buf2, state->sais_array,
+ new_size, 16, NULL);
s32 new_size2;
if (new_size > MiB(3)) {
- new_size2 = srt_encode(state->srt_state, state->buf2, state->buf1, new_size);
+ new_size2 =
+ srt_encode(state->srt_state, state->buf2, state->buf1, new_size);
} else {
new_size2 = -1;
mtf_encode(state->mtf_state, state->buf2, state->buf1, new_size);
@@ -104,21 +107,21 @@ int decode_block(struct block_encoder_state * state, s8 test) {
state->buf2[i] = decode_byte(state->cm_state);
mtf_decode(state->mtf_state, state->buf2, state->buf1, new_size);
}
- libsais_unbwt(state->buf1, state->buf2, state->sais_array, new_size, NULL, bwt_index);
+ libsais_unbwt(state->buf1, state->buf2, state->sais_array, new_size, NULL,
+ bwt_index);
mrled(state->buf2, state->buf1, state->bytes_read);
if (crc32sum(1, state->buf1, state->bytes_read) != crc32) {
fprintf(stderr, "CRC32 checksum mismatch.\n");
return 1;
}
- if(!test)
- write(state->output_des, state->buf1, state->bytes_read);
+ if (!test) write(state->output_des, state->buf1, state->bytes_read);
return 0;
}
int main(int argc, char * argv[]) {
int mode = 0; // -1: encode, 0: unspecified, 1: encode, 2: test
- char *input = NULL, *output = NULL; // input and output file names
- u32 block_size = 8 * 1024 * 1024; // the block size
+ char *input = NULL, *output = NULL; // input and output file names
+ u32 block_size = 8 * 1024 * 1024; // the block size
for (int i = 1; i < argc; i++) {
if (argv[i][0] == '-') {
@@ -194,14 +197,15 @@ int main(int argc, char * argv[]) {
block_encoder_state.input_des = input_des;
block_encoder_state.output_des = output_des;
- switch(mode) {
+ switch (mode) {
case 1:
write(output_des, "BZ3v1", 5);
write(output_des, &block_size, sizeof(u32));
break;
- case -1: case -2: {
+ case -1:
+ case -2: {
char signature[5];
-
+
read(input_des, signature, 5);
if (strncmp(signature, "BZ3v1", 5) != 0) {
fprintf(stderr, "Invalid signature.\n");
@@ -218,12 +222,13 @@ int main(int argc, char * argv[]) {
block_encoder_state.sais_array = malloc(block_size * sizeof(s32) + 16);
if (mode == 1)
- while ((block_encoder_state.bytes_read = read(input_des, block_encoder_state.buf1, block_size)) > 0)
+ while ((block_encoder_state.bytes_read =
+ read(input_des, block_encoder_state.buf1, block_size)) > 0)
encode_block(&block_encoder_state);
else if (mode == -1)
while (decode_block(&block_encoder_state, 0) == 0)
;
- else if(mode == -2)
+ else if (mode == -2)
while (decode_block(&block_encoder_state, 1) == 0)
;
diff --git a/src/mtf.c b/src/mtf.c
index 1f1f61e..e18f646 100644
--- a/src/mtf.c
+++ b/src/mtf.c
@@ -19,8 +19,7 @@
#include "mtf.h"
-void mtf_encode(struct mtf_state * mtf, u8 * src, u8 * dst,
- u32 count) {
+void mtf_encode(struct mtf_state * mtf, u8 * src, u8 * dst, u32 count) {
for (u32 i = 0; i < 256; i++) {
mtf->prev[i] = mtf->curr[i] = 0;
mtf->symbols[i] = mtf->ranks[i] = i;
@@ -42,8 +41,7 @@ void mtf_encode(struct mtf_state * mtf, u8 * src, u8 * dst,
}
}
-void mtf_decode(struct mtf_state * mtf, u8 * src, u8 * dst,
- u32 count) {
+void mtf_decode(struct mtf_state * mtf, u8 * src, u8 * dst, u32 count) {
for (u32 i = 0; i < 256; i++) {
mtf->prev[i] = mtf->curr[i] = 0;
mtf->ranks[i] = i;
diff --git a/src/srt.c b/src/srt.c
index b5f60bc..1703034 100644
--- a/src/srt.c
+++ b/src/srt.c
@@ -74,8 +74,7 @@ static s32 decode_header(u8 * src, u32 * freqs) {
return idx;
}
-u32 srt_encode(struct srt_state * mtf, u8 * src, u8 * dst,
- u32 count) {
+u32 srt_encode(struct srt_state * mtf, u8 * src, u8 * dst, u32 count) {
// Find first symbols and build a histogram.
for (s32 i = 0; i < 256; i++) mtf->freqs[i] = 0;
for (u32 i = 0, b = 0; i < count;) {
@@ -122,8 +121,7 @@ u32 srt_encode(struct srt_state * mtf, u8 * src, u8 * dst,
return count + header_size;
}
-u32 srt_decode(struct srt_state * mtf, u8 * src, u8 * dst,
- u32 count) {
+u32 srt_decode(struct srt_state * mtf, u8 * src, u8 * dst, u32 count) {
const u32 header_size = decode_header(src, mtf->freqs);
const u32 src_idx = header_size;
s32 nb_symbols = preprocess(mtf->freqs, mtf->symbols);
@@ -147,8 +145,7 @@ u32 srt_decode(struct srt_state * mtf, u8 * src, u8 * dst,
} else {
if (nb_symbols == 1) continue;
nb_symbols--;
- for (s32 s = 0; s < nb_symbols; s++)
- mtf->r2s[s] = mtf->r2s[s + 1];
+ for (s32 s = 0; s < nb_symbols; s++) mtf->r2s[s] = mtf->r2s[s + 1];
c = mtf->r2s[0];
}
}
