]> wimlib.net Git - wimlib/blobdiff - src/compress_common.c
New helper macro: ALIGN()
[wimlib] / src / compress_common.c
index 130bfc1167f9eaa30bf9e55fee05cf41c76226a4..8b85d9d55d84703ebfa12a99c4240494937bcc29 100644 (file)
 #  include "config.h"
 #endif
 
-#include "wimlib/assert.h"
+#include <string.h>
+
 #include "wimlib/compress_common.h"
 #include "wimlib/util.h"
 
-#include <string.h>
-
 /* Given the binary tree node A[subtree_idx] whose children already
  * satisfy the maxheap property, swap the node with its greater child
  * until it is greater than both its children, so that the maxheap
@@ -126,7 +125,7 @@ sort_symbols(unsigned num_syms, const u32 freqs[restrict],
         * Tests were done with building the codes for LZX.  Results may
         * vary for different compression algorithms...!  */
 
-       num_counters = (DIV_ROUND_UP(num_syms, 4) + 3) & ~3;
+       num_counters = ALIGN(DIV_ROUND_UP(num_syms, 4), 4);
 
        unsigned counters[num_counters];
 
@@ -581,12 +580,6 @@ make_canonical_huffman_code(unsigned num_syms, unsigned max_codeword_len,
        u32 *A = codewords;
        unsigned num_used_syms;
 
-       /* Assumptions  */
-       wimlib_assert2(num_syms >= 2);
-       wimlib_assert2(num_syms <= (1 << NUM_SYMBOL_BITS));
-       wimlib_assert2((1ULL << max_codeword_len) >= num_syms);
-       wimlib_assert2(max_codeword_len <= 32);
-
        /* We begin by sorting the symbols primarily by frequency and
         * secondarily by symbol value.  As an optimization, the array
         * used for this purpose ('A') shares storage with the space in