| Index: xz/src/liblzma/lzma/fastpos_tablegen.c
|
| ===================================================================
|
| --- xz/src/liblzma/lzma/fastpos_tablegen.c (revision 0)
|
| +++ xz/src/liblzma/lzma/fastpos_tablegen.c (revision 0)
|
| @@ -0,0 +1,56 @@
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +//
|
| +/// \file fastpos_tablegen.c
|
| +/// \brief Generates the lzma_fastpos[] lookup table
|
| +///
|
| +// Authors: Igor Pavlov
|
| +// Lasse Collin
|
| +//
|
| +// This file has been put into the public domain.
|
| +// You can do whatever you want with this file.
|
| +//
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +
|
| +#include <sys/types.h>
|
| +#include <inttypes.h>
|
| +#include <stdio.h>
|
| +#include "fastpos.h"
|
| +
|
| +
|
| +int
|
| +main(void)
|
| +{
|
| + uint8_t fastpos[1 << FASTPOS_BITS];
|
| +
|
| + const uint8_t fast_slots = 2 * FASTPOS_BITS;
|
| + uint32_t c = 2;
|
| +
|
| + fastpos[0] = 0;
|
| + fastpos[1] = 1;
|
| +
|
| + for (uint8_t slot_fast = 2; slot_fast < fast_slots; ++slot_fast) {
|
| + const uint32_t k = 1 << ((slot_fast >> 1) - 1);
|
| + for (uint32_t j = 0; j < k; ++j, ++c)
|
| + fastpos[c] = slot_fast;
|
| + }
|
| +
|
| + printf("/* This file has been automatically generated "
|
| + "by fastpos_tablegen.c. */\n\n"
|
| + "#include \"common.h\"\n"
|
| + "#include \"fastpos.h\"\n\n"
|
| + "const uint8_t lzma_fastpos[1 << FASTPOS_BITS] = {");
|
| +
|
| + for (size_t i = 0; i < (1 << FASTPOS_BITS); ++i) {
|
| + if (i % 16 == 0)
|
| + printf("\n\t");
|
| +
|
| + printf("%3u", (unsigned int)(fastpos[i]));
|
| +
|
| + if (i != (1 << FASTPOS_BITS) - 1)
|
| + printf(",");
|
| + }
|
| +
|
| + printf("\n};\n");
|
| +
|
| + return 0;
|
| +}
|
|
|
| Property changes on: xz/src/liblzma/lzma/fastpos_tablegen.c
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|