GRAYBYTE WORDPRESS FILE MANAGER2529

Server IP : 149.255.58.128 / Your IP : 216.73.216.180
System : Linux cloud516.thundercloud.uk 5.14.0-427.26.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 17 15:51:13 EDT 2024 x86_64
PHP Version : 8.2.28
Disable Function : allow_url_include, apache_child_terminate, apache_setenv, exec, passthru, pcntl_exec, posix_kill, posix_mkfifo, posix_getpwuid, posix_setpgid, posix_setsid, posix_setuid, posix_setgid, posix_seteuid, posix_setegid, posix_uname, proc_close, proc_get_status, proc_open, proc_terminate, shell_exec, show_source, system
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/include/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/include//zdict.h
/*
 * Copyright (c) Yann Collet, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under both the BSD-style license (found in the
 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
 * in the COPYING file in the root directory of this source tree).
 * You may select, at your option, one of the above-listed licenses.
 */

#ifndef DICTBUILDER_H_001
#define DICTBUILDER_H_001

#if defined (__cplusplus)
extern "C" {
#endif


/*======  Dependencies  ======*/
#include <stddef.h>  /* size_t */


/* =====   ZDICTLIB_API : control library symbols visibility   ===== */
#ifndef ZDICTLIB_VISIBILITY
#  if defined(__GNUC__) && (__GNUC__ >= 4)
#    define ZDICTLIB_VISIBILITY __attribute__ ((visibility ("default")))
#  else
#    define ZDICTLIB_VISIBILITY
#  endif
#endif
#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
#  define ZDICTLIB_API __declspec(dllexport) ZDICTLIB_VISIBILITY
#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
#  define ZDICTLIB_API __declspec(dllimport) ZDICTLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
#else
#  define ZDICTLIB_API ZDICTLIB_VISIBILITY
#endif

/*******************************************************************************
 * Zstd dictionary builder
 *
 * FAQ
 * ===
 * Why should I use a dictionary?
 * ------------------------------
 *
 * Zstd can use dictionaries to improve compression ratio of small data.
 * Traditionally small files don't compress well because there is very little
 * repetition in a single sample, since it is small. But, if you are compressing
 * many similar files, like a bunch of JSON records that share the same
 * structure, you can train a dictionary on ahead of time on some samples of
 * these files. Then, zstd can use the dictionary to find repetitions that are
 * present across samples. This can vastly improve compression ratio.
 *
 * When is a dictionary useful?
 * ----------------------------
 *
 * Dictionaries are useful when compressing many small files that are similar.
 * The larger a file is, the less benefit a dictionary will have. Generally,
 * we don't expect dictionary compression to be effective past 100KB. And the
 * smaller a file is, the more we would expect the dictionary to help.
 *
 * How do I use a dictionary?
 * --------------------------
 *
 * Simply pass the dictionary to the zstd compressor with
 * `ZSTD_CCtx_loadDictionary()`. The same dictionary must then be passed to
 * the decompressor, using `ZSTD_DCtx_loadDictionary()`. There are other
 * more advanced functions that allow selecting some options, see zstd.h for
 * complete documentation.
 *
 * What is a zstd dictionary?
 * --------------------------
 *
 * A zstd dictionary has two pieces: Its header, and its content. The header
 * contains a magic number, the dictionary ID, and entropy tables. These
 * entropy tables allow zstd to save on header costs in the compressed file,
 * which really matters for small data. The content is just bytes, which are
 * repeated content that is common across many samples.
 *
 * What is a raw content dictionary?
 * ---------------------------------
 *
 * A raw content dictionary is just bytes. It doesn't have a zstd dictionary
 * header, a dictionary ID, or entropy tables. Any buffer is a valid raw
 * content dictionary.
 *
 * How do I train a dictionary?
 * ----------------------------
 *
 * Gather samples from your use case. These samples should be similar to each
 * other. If you have several use cases, you could try to train one dictionary
 * per use case.
 *
 * Pass those samples to `ZDICT_trainFromBuffer()` and that will train your
 * dictionary. There are a few advanced versions of this function, but this
 * is a great starting point. If you want to further tune your dictionary
 * you could try `ZDICT_optimizeTrainFromBuffer_cover()`. If that is too slow
 * you can try `ZDICT_optimizeTrainFromBuffer_fastCover()`.
 *
 * If the dictionary training function fails, that is likely because you
 * either passed too few samples, or a dictionary would not be effective
 * for your data. Look at the messages that the dictionary trainer printed,
 * if it doesn't say too few samples, then a dictionary would not be effective.
 *
 * How large should my dictionary be?
 * ----------------------------------
 *
 * A reasonable dictionary size, the `dictBufferCapacity`, is about 100KB.
 * The zstd CLI defaults to a 110KB dictionary. You likely don't need a
 * dictionary larger than that. But, most use cases can get away with a
 * smaller dictionary. The advanced dictionary builders can automatically
 * shrink the dictionary for you, and select a the smallest size that
 * doesn't hurt compression ratio too much. See the `shrinkDict` parameter.
 * A smaller dictionary can save memory, and potentially speed up
 * compression.
 *
 * How many samples should I provide to the dictionary builder?
 * ------------------------------------------------------------
 *
 * We generally recommend passing ~100x the size of the dictionary
 * in samples. A few thousand should suffice. Having too few samples
 * can hurt the dictionaries effectiveness. Having more samples will
 * only improve the dictionaries effectiveness. But having too many
 * samples can slow down the dictionary builder.
 *
 * How do I determine if a dictionary will be effective?
 * -----------------------------------------------------
 *
 * Simply train a dictionary and try it out. You can use zstd's built in
 * benchmarking tool to test the dictionary effectiveness.
 *
 *   # Benchmark levels 1-3 without a dictionary
 *   zstd -b1e3 -r /path/to/my/files
 *   # Benchmark levels 1-3 with a dictionary
 *   zstd -b1e3 -r /path/to/my/files -D /path/to/my/dictionary
 *
 * When should I retrain a dictionary?
 * -----------------------------------
 *
 * You should retrain a dictionary when its effectiveness drops. Dictionary
 * effectiveness drops as the data you are compressing changes. Generally, we do
 * expect dictionaries to "decay" over time, as your data changes, but the rate
 * at which they decay depends on your use case. Internally, we regularly
 * retrain dictionaries, and if the new dictionary performs significantly
 * better than the old dictionary, we will ship the new dictionary.
 *
 * I have a raw content dictionary, how do I turn it into a zstd dictionary?
 * -------------------------------------------------------------------------
 *
 * If you have a raw content dictionary, e.g. by manually constructing it, or
 * using a third-party dictionary builder, you can turn it into a zstd
 * dictionary by using `ZDICT_finalizeDictionary()`. You'll also have to
 * provide some samples of the data. It will add the zstd header to the
 * raw content, which contains a dictionary ID and entropy tables, which
 * will improve compression ratio, and allow zstd to write the dictionary ID
 * into the frame, if you so choose.
 *
 * Do I have to use zstd's dictionary builder?
 * -------------------------------------------
 *
 * No! You can construct dictionary content however you please, it is just
 * bytes. It will always be valid as a raw content dictionary. If you want
 * a zstd dictionary, which can improve compression ratio, use
 * `ZDICT_finalizeDictionary()`.
 *
 * What is the attack surface of a zstd dictionary?
 * ------------------------------------------------
 *
 * Zstd is heavily fuzz tested, including loading fuzzed dictionaries, so
 * zstd should never crash, or access out-of-bounds memory no matter what
 * the dictionary is. However, if an attacker can control the dictionary
 * during decompression, they can cause zstd to generate arbitrary bytes,
 * just like if they controlled the compressed data.
 *
 ******************************************************************************/


/*! ZDICT_trainFromBuffer():
 *  Train a dictionary from an array of samples.
 *  Redirect towards ZDICT_optimizeTrainFromBuffer_fastCover() single-threaded, with d=8, steps=4,
 *  f=20, and accel=1.
 *  Samples must be stored concatenated in a single flat buffer `samplesBuffer`,
 *  supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order.
 *  The resulting dictionary will be saved into `dictBuffer`.
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *  Note:  Dictionary training will fail if there are not enough samples to construct a
 *         dictionary, or if most of the samples are too small (< 8 bytes being the lower limit).
 *         If dictionary training fails, you should use zstd without a dictionary, as the dictionary
 *         would've been ineffective anyways. If you believe your samples would benefit from a dictionary
 *         please open an issue with details, and we can look into it.
 *  Note: ZDICT_trainFromBuffer()'s memory usage is about 6 MB.
 *  Tips: In general, a reasonable dictionary has a size of ~ 100 KB.
 *        It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`.
 *        In general, it's recommended to provide a few thousands samples, though this can vary a lot.
 *        It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
 */
ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity,
                                    const void* samplesBuffer,
                                    const size_t* samplesSizes, unsigned nbSamples);

typedef struct {
    int      compressionLevel;   /*< optimize for a specific zstd compression level; 0 means default */
    unsigned notificationLevel;  /*< Write log to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */
    unsigned dictID;             /*< force dictID value; 0 means auto mode (32-bits random value)
                                  *   NOTE: The zstd format reserves some dictionary IDs for future use.
                                  *         You may use them in private settings, but be warned that they
                                  *         may be used by zstd in a public dictionary registry in the future.
                                  *         These dictionary IDs are:
                                  *           - low range  : <= 32767
                                  *           - high range : >= (2^31)
                                  */
} ZDICT_params_t;

/*! ZDICT_finalizeDictionary():
 * Given a custom content as a basis for dictionary, and a set of samples,
 * finalize dictionary by adding headers and statistics according to the zstd
 * dictionary format.
 *
 * Samples must be stored concatenated in a flat buffer `samplesBuffer`,
 * supplied with an array of sizes `samplesSizes`, providing the size of each
 * sample in order. The samples are used to construct the statistics, so they
 * should be representative of what you will compress with this dictionary.
 *
 * The compression level can be set in `parameters`. You should pass the
 * compression level you expect to use in production. The statistics for each
 * compression level differ, so tuning the dictionary for the compression level
 * can help quite a bit.
 *
 * You can set an explicit dictionary ID in `parameters`, or allow us to pick
 * a random dictionary ID for you, but we can't guarantee no collisions.
 *
 * The dstDictBuffer and the dictContent may overlap, and the content will be
 * appended to the end of the header. If the header + the content doesn't fit in
 * maxDictSize the beginning of the content is truncated to make room, since it
 * is presumed that the most profitable content is at the end of the dictionary,
 * since that is the cheapest to reference.
 *
 * `maxDictSize` must be >= max(dictContentSize, ZSTD_DICTSIZE_MIN).
 *
 * @return: size of dictionary stored into `dstDictBuffer` (<= `maxDictSize`),
 *          or an error code, which can be tested by ZDICT_isError().
 * Note: ZDICT_finalizeDictionary() will push notifications into stderr if
 *       instructed to, using notificationLevel>0.
 * NOTE: This function currently may fail in several edge cases including:
 *         * Not enough samples
 *         * Samples are uncompressible
 *         * Samples are all exactly the same
 */
ZDICTLIB_API size_t ZDICT_finalizeDictionary(void* dstDictBuffer, size_t maxDictSize,
                                const void* dictContent, size_t dictContentSize,
                                const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
                                ZDICT_params_t parameters);


/*======   Helper functions   ======*/
ZDICTLIB_API unsigned ZDICT_getDictID(const void* dictBuffer, size_t dictSize);  /**< extracts dictID; @return zero if error (not a valid dictionary) */
ZDICTLIB_API size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize);  /* returns dict header size; returns a ZSTD error code on failure */
ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode);
ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode);



#ifdef ZDICT_STATIC_LINKING_ONLY

/* ====================================================================================
 * The definitions in this section are considered experimental.
 * They should never be used with a dynamic library, as they may change in the future.
 * They are provided for advanced usages.
 * Use them only in association with static linking.
 * ==================================================================================== */

#define ZDICT_DICTSIZE_MIN    256
/* Deprecated: Remove in v1.6.0 */
#define ZDICT_CONTENTSIZE_MIN 128

/*! ZDICT_cover_params_t:
 *  k and d are the only required parameters.
 *  For others, value 0 means default.
 */
typedef struct {
    unsigned k;                  /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */
    unsigned d;                  /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */
    unsigned steps;              /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */
    unsigned nbThreads;          /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */
    double splitPoint;           /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (1.0), 1.0 when all samples are used for both training and testing */
    unsigned shrinkDict;         /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking  */
    unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */
    ZDICT_params_t zParams;
} ZDICT_cover_params_t;

typedef struct {
    unsigned k;                  /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */
    unsigned d;                  /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */
    unsigned f;                  /* log of size of frequency array : constraint: 0 < f <= 31 : 1 means default(20)*/
    unsigned steps;              /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */
    unsigned nbThreads;          /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */
    double splitPoint;           /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (0.75), 1.0 when all samples are used for both training and testing */
    unsigned accel;              /* Acceleration level: constraint: 0 < accel <= 10, higher means faster and less accurate, 0 means default(1) */
    unsigned shrinkDict;         /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking  */
    unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */

    ZDICT_params_t zParams;
} ZDICT_fastCover_params_t;

/*! ZDICT_trainFromBuffer_cover():
 *  Train a dictionary from an array of samples using the COVER algorithm.
 *  Samples must be stored concatenated in a single flat buffer `samplesBuffer`,
 *  supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order.
 *  The resulting dictionary will be saved into `dictBuffer`.
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *          See ZDICT_trainFromBuffer() for details on failure modes.
 *  Note: ZDICT_trainFromBuffer_cover() requires about 9 bytes of memory for each input byte.
 *  Tips: In general, a reasonable dictionary has a size of ~ 100 KB.
 *        It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`.
 *        In general, it's recommended to provide a few thousands samples, though this can vary a lot.
 *        It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
 */
ZDICTLIB_API size_t ZDICT_trainFromBuffer_cover(
          void *dictBuffer, size_t dictBufferCapacity,
    const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples,
          ZDICT_cover_params_t parameters);

/*! ZDICT_optimizeTrainFromBuffer_cover():
 * The same requirements as above hold for all the parameters except `parameters`.
 * This function tries many parameter combinations and picks the best parameters.
 * `*parameters` is filled with the best parameters found,
 * dictionary constructed with those parameters is stored in `dictBuffer`.
 *
 * All of the parameters d, k, steps are optional.
 * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}.
 * if steps is zero it defaults to its default value.
 * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000].
 *
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *          On success `*parameters` contains the parameters selected.
 *          See ZDICT_trainFromBuffer() for details on failure modes.
 * Note: ZDICT_optimizeTrainFromBuffer_cover() requires about 8 bytes of memory for each input byte and additionally another 5 bytes of memory for each byte of memory for each thread.
 */
ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_cover(
          void* dictBuffer, size_t dictBufferCapacity,
    const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
          ZDICT_cover_params_t* parameters);

/*! ZDICT_trainFromBuffer_fastCover():
 *  Train a dictionary from an array of samples using a modified version of COVER algorithm.
 *  Samples must be stored concatenated in a single flat buffer `samplesBuffer`,
 *  supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order.
 *  d and k are required.
 *  All other parameters are optional, will use default values if not provided
 *  The resulting dictionary will be saved into `dictBuffer`.
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *          See ZDICT_trainFromBuffer() for details on failure modes.
 *  Note: ZDICT_trainFromBuffer_fastCover() requires 6 * 2^f bytes of memory.
 *  Tips: In general, a reasonable dictionary has a size of ~ 100 KB.
 *        It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`.
 *        In general, it's recommended to provide a few thousands samples, though this can vary a lot.
 *        It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
 */
ZDICTLIB_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer,
                    size_t dictBufferCapacity, const void *samplesBuffer,
                    const size_t *samplesSizes, unsigned nbSamples,
                    ZDICT_fastCover_params_t parameters);

/*! ZDICT_optimizeTrainFromBuffer_fastCover():
 * The same requirements as above hold for all the parameters except `parameters`.
 * This function tries many parameter combinations (specifically, k and d combinations)
 * and picks the best parameters. `*parameters` is filled with the best parameters found,
 * dictionary constructed with those parameters is stored in `dictBuffer`.
 * All of the parameters d, k, steps, f, and accel are optional.
 * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}.
 * if steps is zero it defaults to its default value.
 * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000].
 * If f is zero, default value of 20 is used.
 * If accel is zero, default value of 1 is used.
 *
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *          On success `*parameters` contains the parameters selected.
 *          See ZDICT_trainFromBuffer() for details on failure modes.
 * Note: ZDICT_optimizeTrainFromBuffer_fastCover() requires about 6 * 2^f bytes of memory for each thread.
 */
ZDICTLIB_API size_t ZDICT_optimizeTrainFromBuffer_fastCover(void* dictBuffer,
                    size_t dictBufferCapacity, const void* samplesBuffer,
                    const size_t* samplesSizes, unsigned nbSamples,
                    ZDICT_fastCover_params_t* parameters);

typedef struct {
    unsigned selectivityLevel;   /* 0 means default; larger => select more => larger dictionary */
    ZDICT_params_t zParams;
} ZDICT_legacy_params_t;

/*! ZDICT_trainFromBuffer_legacy():
 *  Train a dictionary from an array of samples.
 *  Samples must be stored concatenated in a single flat buffer `samplesBuffer`,
 *  supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order.
 *  The resulting dictionary will be saved into `dictBuffer`.
 * `parameters` is optional and can be provided with values set to 0 to mean "default".
 * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`)
 *          or an error code, which can be tested with ZDICT_isError().
 *          See ZDICT_trainFromBuffer() for details on failure modes.
 *  Tips: In general, a reasonable dictionary has a size of ~ 100 KB.
 *        It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`.
 *        In general, it's recommended to provide a few thousands samples, though this can vary a lot.
 *        It's recommended that total size of all samples be about ~x100 times the target size of dictionary.
 *  Note: ZDICT_trainFromBuffer_legacy() will send notifications into stderr if instructed to, using notificationLevel>0.
 */
ZDICTLIB_API size_t ZDICT_trainFromBuffer_legacy(
    void* dictBuffer, size_t dictBufferCapacity,
    const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples,
    ZDICT_legacy_params_t parameters);


/* Deprecation warnings */
/* It is generally possible to disable deprecation warnings from compiler,
   for example with -Wno-deprecated-declarations for gcc
   or _CRT_SECURE_NO_WARNINGS in Visual.
   Otherwise, it's also possible to manually define ZDICT_DISABLE_DEPRECATE_WARNINGS */
#ifdef ZDICT_DISABLE_DEPRECATE_WARNINGS
#  define ZDICT_DEPRECATED(message) ZDICTLIB_API   /* disable deprecation warnings */
#else
#  define ZDICT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
#  if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */
#    define ZDICT_DEPRECATED(message) [[deprecated(message)]] ZDICTLIB_API
#  elif defined(__clang__) || (ZDICT_GCC_VERSION >= 405)
#    define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated(message)))
#  elif (ZDICT_GCC_VERSION >= 301)
#    define ZDICT_DEPRECATED(message) ZDICTLIB_API __attribute__((deprecated))
#  elif defined(_MSC_VER)
#    define ZDICT_DEPRECATED(message) ZDICTLIB_API __declspec(deprecated(message))
#  else
#    pragma message("WARNING: You need to implement ZDICT_DEPRECATED for this compiler")
#    define ZDICT_DEPRECATED(message) ZDICTLIB_API
#  endif
#endif /* ZDICT_DISABLE_DEPRECATE_WARNINGS */

ZDICT_DEPRECATED("use ZDICT_finalizeDictionary() instead")
size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity,
                                  const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples);


#endif   /* ZDICT_STATIC_LINKING_ONLY */

#if defined (__cplusplus)
}
#endif

#endif   /* DICTBUILDER_H_001 */

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
April 06 2025 07:46:06
0 / root
0755
GL
--
December 04 2024 22:45:26
0 / root
0755
ImageMagick-6
--
April 01 2025 12:55:16
0 / root
0755
X11
--
December 04 2024 22:45:26
0 / root
0755
arpa
--
April 29 2025 21:42:23
0 / root
0755
asm
--
May 08 2025 21:42:24
0 / root
0755
asm-generic
--
May 08 2025 21:42:24
0 / root
0755
bind9
--
February 19 2025 16:04:18
0 / root
0755
bits
--
April 29 2025 21:42:23
0 / root
0755
blkid
--
December 04 2024 22:44:18
0 / root
0755
brotli
--
December 23 2024 22:43:02
0 / root
0755
bsock
--
February 06 2024 22:24:56
0 / root
0755
c++
--
February 12 2025 13:06:55
0 / root
0755
criu
--
February 06 2024 08:17:50
0 / root
0755
drm
--
May 08 2025 21:42:24
0 / root
0755
e2p
--
May 30 2024 07:44:41
0 / root
0755
et
--
May 30 2024 07:43:11
0 / root
0755
event2
--
February 24 2025 22:47:34
0 / root
0755
ext2fs
--
May 30 2024 07:44:41
0 / root
0755
finclude
--
April 29 2025 21:42:23
0 / root
0755
fontconfig
--
February 05 2024 20:06:14
0 / root
0755
freetype2
--
April 02 2025 21:42:18
0 / root
0755
fstrm
--
February 05 2024 20:06:13
0 / root
0755
gdbm
--
December 04 2024 22:45:20
0 / root
0755
gio-unix-2.0
--
September 09 2024 03:20:04
0 / root
0755
glib-2.0
--
September 09 2024 21:42:25
0 / root
0755
gnu
--
April 29 2025 21:42:24
0 / root
0755
google
--
February 05 2024 20:06:13
0 / root
0755
graphite2
--
February 05 2024 20:06:14
0 / root
0755
gssapi
--
December 04 2024 22:44:18
0 / root
0755
gssrpc
--
December 04 2024 22:44:18
0 / root
0755
harfbuzz
--
May 30 2024 07:44:34
0 / root
0755
json-c
--
February 05 2024 20:06:13
0 / root
0755
kadm5
--
December 04 2024 22:44:18
0 / root
0755
krb5
--
December 04 2024 22:44:18
0 / root
0755
libexslt
--
April 29 2025 21:42:24
0 / root
0755
libltdl
--
December 04 2024 22:45:21
0 / root
0755
libmount
--
December 04 2024 22:45:20
0 / root
0755
libpng16
--
February 05 2024 20:06:13
0 / root
0755
libxml2
--
March 12 2025 18:46:00
0 / root
0755
libxslt
--
April 29 2025 21:42:24
0 / root
0755
linux
--
May 08 2025 21:42:24
0 / root
0755
lzma
--
February 05 2024 20:06:14
0 / root
0755
misc
--
May 08 2025 21:42:24
0 / root
0755
mtd
--
May 08 2025 21:42:24
0 / root
0755
mysql
--
May 22 2025 21:42:28
0 / root
0755
ncurses
--
February 05 2024 20:06:15
0 / root
0755
ncursesw
--
February 05 2024 20:06:15
0 / root
0755
net
--
April 29 2025 21:42:23
0 / root
0755
netash
--
April 29 2025 21:42:23
0 / root
0755
netatalk
--
April 29 2025 21:42:23
0 / root
0755
netax25
--
April 29 2025 21:42:23
0 / root
0755
neteconet
--
April 29 2025 21:42:23
0 / root
0755
netinet
--
April 29 2025 21:42:23
0 / root
0755
netipx
--
April 29 2025 21:42:23
0 / root
0755
netiucv
--
April 29 2025 21:42:23
0 / root
0755
netpacket
--
April 29 2025 21:42:23
0 / root
0755
netrom
--
April 29 2025 21:42:23
0 / root
0755
netrose
--
April 29 2025 21:42:23
0 / root
0755
nfs
--
April 29 2025 21:42:23
0 / root
0755
openssl
--
February 13 2025 22:42:18
0 / root
0755
pcp
--
December 04 2024 22:44:24
0 / root
0755
protobuf-c
--
February 05 2024 20:06:13
0 / root
0755
protocols
--
April 29 2025 21:42:23
0 / root
0755
python3.9
--
February 24 2025 22:47:34
0 / root
0755
rdma
--
May 08 2025 21:42:24
0 / root
0755
rpc
--
April 29 2025 21:42:23
0 / root
0755
scsi
--
May 08 2025 21:42:24
0 / root
0755
security
--
December 04 2024 22:45:19
0 / root
0755
selinux
--
May 30 2024 07:43:11
0 / root
0755
sepol
--
May 30 2024 07:43:11
0 / root
0755
sound
--
May 08 2025 21:42:24
0 / root
0755
sys
--
April 29 2025 21:42:23
0 / root
0755
sysprof-4
--
February 05 2024 20:06:14
0 / root
0755
unicode
--
February 05 2024 20:06:14
0 / root
0755
video
--
May 08 2025 21:42:24
0 / root
0755
webp
--
February 05 2024 20:06:14
0 / root
0755
xcb
--
February 05 2024 20:06:13
0 / root
0755
xen
--
May 08 2025 21:42:24
0 / root
0755
FlexLexer.h
6.731 KB
January 30 2022 08:23:38
0 / root
0644
a.out.h
4.249 KB
April 28 2025 16:05:31
0 / root
0644
aio.h
7.557 KB
April 28 2025 16:05:29
0 / root
0644
aliases.h
1.98 KB
April 28 2025 16:05:51
0 / root
0644
alloca.h
1.175 KB
April 28 2025 16:05:28
0 / root
0644
ar.h
1.69 KB
April 28 2025 16:05:31
0 / root
0644
argp.h
24.949 KB
April 28 2025 16:05:50
0 / root
0644
argz.h
5.909 KB
April 28 2025 16:05:30
0 / root
0644
assert.h
4.455 KB
April 28 2025 16:05:27
0 / root
0644
autosprintf.h
2.364 KB
September 27 2023 06:51:52
0 / root
0644
byteswap.h
1.415 KB
April 28 2025 16:05:30
0 / root
0644
bzlib.h
6.094 KB
July 13 2019 17:50:05
0 / root
0644
com_err.h
2.068 KB
December 30 2021 05:54:33
0 / root
0644
complex.h
7.949 KB
April 28 2025 16:05:28
0 / root
0644
cpio.h
2.215 KB
April 28 2025 16:05:30
0 / root
0644
cpuidle.h
0.824 KB
May 05 2025 10:31:10
0 / root
0644
crypt.h
10.898 KB
February 10 2022 04:05:00
0 / root
0644
ctype.h
10.712 KB
April 28 2025 16:05:27
0 / root
0644
curses.h
96.823 KB
September 27 2023 03:05:13
0 / root
0644
cursesapp.h
7.061 KB
September 27 2023 03:05:13
0 / root
0644
cursesf.h
27.372 KB
September 27 2023 03:05:13
0 / root
0644
cursesm.h
19.441 KB
September 27 2023 03:05:13
0 / root
0644
cursesp.h
8.546 KB
September 27 2023 03:05:13
0 / root
0644
cursesw.h
49.127 KB
September 27 2023 03:05:13
0 / root
0644
cursslk.h
7.149 KB
September 27 2023 03:05:13
0 / root
0644
dbm.h
1.37 KB
January 02 2022 08:34:10
0 / root
0644
dirent.h
12.222 KB
April 28 2025 16:05:30
0 / root
0644
dlfcn.h
7.519 KB
April 28 2025 16:05:29
0 / root
0644
elf.h
178.264 KB
April 28 2025 16:05:52
0 / root
0644
endian.h
2.245 KB
April 28 2025 16:05:30
0 / root
0644
entities.h
4.814 KB
January 12 2021 00:09:45
0 / root
0644
envz.h
2.8 KB
April 28 2025 16:05:30
0 / root
0644
err.h
2.286 KB
April 28 2025 16:05:31
0 / root
0644
errno.h
1.64 KB
April 28 2025 16:05:28
0 / root
0644
error.h
2.359 KB
April 28 2025 16:05:31
0 / root
0644
eti.h
2.899 KB
September 27 2023 03:05:13
0 / root
0644
etip.h
9.605 KB
September 27 2023 03:05:13
0 / root
0644
evdns.h
1.972 KB
January 26 2019 09:53:41
0 / root
0644
event.h
2.68 KB
January 26 2019 09:53:41
0 / root
0644
evhttp.h
1.987 KB
January 26 2019 09:53:41
0 / root
0644
evrpc.h
1.968 KB
January 26 2019 09:53:41
0 / root
0644
evutil.h
1.74 KB
January 26 2019 09:53:41
0 / root
0644
execinfo.h
1.487 KB
April 28 2025 16:05:50
0 / root
0644
expat.h
42.754 KB
April 02 2025 16:03:17
0 / root
0644
expat_config.h
3.818 KB
April 02 2025 16:03:27
0 / root
0644
expat_external.h
5.888 KB
October 25 2022 15:08:13
0 / root
0644
fcntl.h
11.174 KB
April 28 2025 16:05:30
0 / root
0644
features-time64.h
1.371 KB
April 28 2025 16:05:25
0 / root
0644
features.h
17.691 KB
April 28 2025 16:05:25
0 / root
0644
fenv.h
5.652 KB
April 28 2025 16:05:28
0 / root
0644
ffi-x86_64.h
13.876 KB
September 25 2023 19:54:23
0 / root
0644
ffi.h
0.543 KB
September 25 2023 19:54:23
0 / root
0644
ffitarget-x86_64.h
4.63 KB
September 25 2023 19:54:23
0 / root
0644
ffitarget.h
0.602 KB
September 25 2023 19:54:23
0 / root
0644
fmtmsg.h
3.164 KB
April 28 2025 16:05:28
0 / root
0644
fnmatch.h
2.242 KB
April 28 2025 16:05:30
0 / root
0644
form.h
18.457 KB
September 27 2023 03:05:13
0 / root
0644
fpu_control.h
3.5 KB
April 28 2025 16:05:28
0 / root
0644
fstab.h
3.038 KB
April 28 2025 16:05:31
0 / root
0644
fstrm.h
12.712 KB
March 11 2019 20:58:34
0 / root
0644
fts.h
9.354 KB
April 28 2025 16:05:30
0 / root
0644
ftw.h
6.194 KB
April 28 2025 16:05:30
0 / root
0644
gconv.h
4.112 KB
April 28 2025 16:05:25
0 / root
0644
gd.h
58.245 KB
March 06 2021 18:21:36
0 / root
0644
gd_color_map.h
0.467 KB
January 12 2021 00:09:45
0 / root
0644
gd_errors.h
1.468 KB
January 12 2021 00:09:45
0 / root
0644
gd_io.h
2.932 KB
March 03 2021 07:15:02
0 / root
0644
gdbm.h
11.896 KB
October 02 2024 21:50:44
0 / root
0644
gdcache.h
2.924 KB
March 03 2021 07:15:02
0 / root
0644
gdfontg.h
0.54 KB
January 12 2021 00:09:45
0 / root
0644
gdfontl.h
0.538 KB
January 12 2021 00:09:45
0 / root
0644
gdfontmb.h
0.507 KB
January 12 2021 00:09:45
0 / root
0644
gdfonts.h
0.503 KB
January 12 2021 00:09:45
0 / root
0644
gdfontt.h
0.533 KB
January 12 2021 00:09:45
0 / root
0644
gdfx.h
0.484 KB
February 21 2021 17:23:01
0 / root
0644
gdpp.h
50.729 KB
March 03 2021 07:15:02
0 / root
0644
gelf.h
11.139 KB
March 01 2024 20:12:17
0 / root
0644
getopt.h
1.435 KB
April 28 2025 16:05:30
0 / root
0644
gettext-po.h
15.184 KB
September 27 2023 06:52:05
0 / root
0644
glob.h
7.128 KB
April 28 2025 16:05:30
0 / root
0644
gnu-versions.h
2.288 KB
April 28 2025 16:05:25
0 / root
0644
gnumake.h
2.844 KB
January 03 2020 07:11:27
0 / root
0644
gpg-error.h
71.925 KB
February 09 2022 23:24:26
0 / root
0644
gpgrt.h
71.925 KB
February 09 2022 23:24:26
0 / root
0644
grp.h
6.53 KB
April 28 2025 16:05:30
0 / root
0644
gshadow.h
4.423 KB
April 28 2025 16:05:50
0 / root
0644
gssapi.h
0.177 KB
July 10 2023 20:58:20
0 / root
0644
iconv.h
1.814 KB
April 28 2025 16:05:25
0 / root
0644
idn-free.h
2.557 KB
July 22 2021 13:31:59
0 / root
0644
idn-int.h
0.02 KB
December 20 2022 16:04:37
0 / root
0644
idna.h
3.888 KB
July 22 2021 13:31:59
0 / root
0644
ieee754.h
4.801 KB
April 28 2025 16:05:28
0 / root
0644
ifaddrs.h
2.774 KB
April 28 2025 16:05:51
0 / root
0644
inttypes.h
8.142 KB
April 28 2025 16:05:28
0 / root
0644
jconfig-64.h
1.981 KB
April 01 2024 19:06:20
0 / root
0644
jconfig.h
0.24 KB
April 01 2024 19:06:30
0 / root
0644
jerror.h
15.347 KB
November 25 2020 03:56:19
0 / root
0644
jmorecfg.h
13.981 KB
November 25 2020 03:56:19
0 / root
0644
jpegint.h
15.253 KB
November 25 2020 03:56:19
0 / root
0644
jpeglib.h
49.103 KB
November 25 2020 03:56:19
0 / root
0644
kdb.h
62.825 KB
November 12 2024 16:44:22
0 / root
0644
keyutils.h
11.52 KB
April 05 2023 19:15:53
0 / root
0644
krad.h
8.724 KB
July 10 2023 20:58:20
0 / root
0644
krb5.h
0.393 KB
July 10 2023 20:58:20
0 / root
0644
langinfo.h
17.431 KB
April 28 2025 16:05:25
0 / root
0644
lastlog.h
0.123 KB
April 28 2025 16:05:52
0 / root
0644
libaio.h
8.755 KB
February 09 2022 19:07:19
0 / root
0644
libelf.h
19.842 KB
March 01 2024 20:12:17
0 / root
0644
libgen.h
1.354 KB
April 28 2025 16:05:31
0 / root
0644
libintl.h
4.473 KB
April 28 2025 16:05:27
0 / root
0644
libtasn1.h
15.047 KB
January 23 2023 19:51:47
0 / root
0644
limits.h
5.572 KB
April 28 2025 16:05:25
0 / root
0644
link.h
7.05 KB
April 28 2025 16:05:52
0 / root
0644
lmdb.h
72.279 KB
March 16 2021 16:41:19
0 / root
0644
locale.h
7.495 KB
April 28 2025 16:05:25
0 / root
0644
ltdl.h
5.575 KB
October 01 2024 17:49:19
0 / root
0644
lzma.h
9.635 KB
March 17 2020 14:28:50
0 / root
0644
malloc.h
5.773 KB
April 28 2025 16:05:29
0 / root
0644
math.h
47.63 KB
April 28 2025 16:05:28
0 / root
0644
maxminddb.h
8.343 KB
February 18 2021 17:04:22
0 / root
0644
maxminddb_config-64.h
0.492 KB
October 01 2024 16:54:45
0 / root
0644
maxminddb_config.h
0.174 KB
October 01 2024 16:54:47
0 / root
0644
mcheck.h
2.378 KB
April 28 2025 16:05:29
0 / root
0644
memory.h
0.934 KB
April 28 2025 16:05:30
0 / root
0644
menu.h
11.597 KB
September 27 2023 03:05:13
0 / root
0644
mntent.h
3.28 KB
April 28 2025 16:05:31
0 / root
0644
monetary.h
1.92 KB
April 28 2025 16:05:28
0 / root
0644
mqueue.h
4.495 KB
April 28 2025 16:05:29
0 / root
0644
nc_tparm.h
4.665 KB
September 27 2023 03:05:13
0 / root
0644
ncurses.h
96.823 KB
September 27 2023 03:05:13
0 / root
0644
ncurses_dll.h
3.948 KB
September 27 2023 03:05:13
0 / root
0644
ndbm.h
2.386 KB
January 02 2022 08:34:10
0 / root
0644
netdb.h
27.794 KB
April 28 2025 16:05:51
0 / root
0644
nl_types.h
1.712 KB
April 28 2025 16:05:27
0 / root
0644
nlist.h
1.563 KB
March 01 2024 20:12:17
0 / root
0644
nss.h
14.07 KB
April 28 2025 16:05:51
0 / root
0644
obstack.h
20.808 KB
April 28 2025 16:05:29
0 / root
0644
panel.h
4.406 KB
September 27 2023 03:05:13
0 / root
0644
paths.h
2.907 KB
April 28 2025 16:05:31
0 / root
0644
pcre.h
30.975 KB
October 02 2024 21:53:31
0 / root
0644
pcre2.h
46.149 KB
October 02 2024 21:57:27
0 / root
0644
pcre2posix.h
6.521 KB
August 20 2021 16:51:28
0 / root
0644
pcre_scanner.h
6.445 KB
January 31 2014 14:32:09
0 / root
0644
pcre_stringpiece.h
6.164 KB
October 02 2024 21:53:31
0 / root
0644
pcrecpp.h
25.907 KB
January 31 2014 14:32:11
0 / root
0644
pcrecpparg.h
6.624 KB
October 02 2024 21:53:31
0 / root
0644
pcreposix.h
5.743 KB
October 02 2024 21:53:20
0 / root
0644
png.h
139.512 KB
April 14 2019 18:10:32
0 / root
0644
pngconf.h
22.311 KB
April 14 2019 18:10:32
0 / root
0644
pnglibconf.h
7.427 KB
February 10 2022 02:35:52
0 / root
0644
poll.h
0.021 KB
April 28 2025 16:05:30
0 / root
0644
powercap.h
1.621 KB
May 05 2025 10:31:10
0 / root
0644
pr29.h
2.189 KB
July 22 2021 13:31:59
0 / root
0644
printf.h
6.714 KB
April 28 2025 16:05:29
0 / root
0644
proc_service.h
3.396 KB
April 28 2025 16:05:51
0 / root
0644
profile.h
11.869 KB
November 12 2024 16:44:46
0 / root
0644
pthread.h
47.242 KB
April 28 2025 16:05:29
0 / root
0644
pty.h
1.533 KB
April 28 2025 16:05:52
0 / root
0644
punycode.h
9.3 KB
July 22 2021 13:31:59
0 / root
0644
pwd.h
6.169 KB
April 28 2025 16:05:30
0 / root
0644
re_comp.h
0.94 KB
April 28 2025 16:05:30
0 / root
0644
regex.h
25.297 KB
April 28 2025 16:05:30
0 / root
0644
regexp.h
1.414 KB
April 28 2025 16:05:31
0 / root
0644
resolv.h
12.022 KB
April 28 2025 16:05:51
0 / root
0644
sched.h
4.92 KB
April 28 2025 16:05:30
0 / root
0644
search.h
5.322 KB
April 28 2025 16:05:31
0 / root
0644
semaphore.h
3.383 KB
April 28 2025 16:05:29
0 / root
0644
setjmp.h
3.115 KB
April 28 2025 16:05:28
0 / root
0644
sgtty.h
1.313 KB
April 28 2025 16:05:31
0 / root
0644
shadow.h
5.344 KB
April 28 2025 16:05:50
0 / root
0644
signal.h
12.734 KB
April 28 2025 16:05:28
0 / root
0644
spawn.h
7.844 KB
April 28 2025 16:05:30
0 / root
0644
stab.h
0.258 KB
April 28 2025 16:05:31
0 / root
0644
stdc-predef.h
2.236 KB
April 28 2025 16:05:25
0 / root
0644
stdint.h
8.275 KB
April 28 2025 16:05:28
0 / root
0644
stdio.h
30.675 KB
April 28 2025 16:05:29
0 / root
0644
stdio_ext.h
2.734 KB
April 28 2025 16:05:29
0 / root
0644
stdlib.h
35.465 KB
April 28 2025 16:05:28
0 / root
0644
string.h
18.334 KB
April 28 2025 16:05:30
0 / root
0644
stringprep.h
9.529 KB
July 22 2021 13:44:13
0 / root
0644
strings.h
4.642 KB
April 28 2025 16:05:30
0 / root
0644
syscall.h
0.024 KB
April 28 2025 16:05:31
0 / root
0644
sysexits.h
5.109 KB
April 28 2025 16:05:31
0 / root
0644
syslog.h
0.023 KB
April 28 2025 16:05:31
0 / root
0644
tar.h
3.697 KB
April 28 2025 16:05:30
0 / root
0644
term.h
40.951 KB
September 27 2023 03:05:13
0 / root
0644
term_entry.h
8.896 KB
September 27 2023 03:05:13
0 / root
0644
termcap.h
3.393 KB
September 27 2023 03:05:13
0 / root
0644
termio.h
0.209 KB
April 28 2025 16:05:31
0 / root
0644
termios.h
3.515 KB
April 28 2025 16:05:31
0 / root
0644
tgmath.h
39.238 KB
April 28 2025 16:05:28
0 / root
0644
thread_db.h
15.648 KB
April 28 2025 16:05:51
0 / root
0644
threads.h
7.506 KB
April 28 2025 16:05:29
0 / root
0644
tic.h
14.482 KB
September 27 2023 03:05:13
0 / root
0644
tiff.h
46.332 KB
April 22 2022 16:51:48
0 / root
0644
tiffconf-64.h
3.189 KB
October 01 2024 17:43:42
0 / root
0644
tiffconf.h
0.244 KB
October 01 2024 17:43:55
0 / root
0644
tiffio.h
24.128 KB
May 20 2022 15:32:31
0 / root
0644
tiffio.hxx
1.619 KB
February 19 2022 15:33:55
0 / root
0644
tiffvers.h
0.4 KB
May 20 2022 16:12:45
0 / root
0644
time.h
14.491 KB
April 28 2025 16:05:30
0 / root
0644
tld.h
4.847 KB
July 22 2021 13:31:59
0 / root
0644
ttyent.h
2.436 KB
April 28 2025 16:05:31
0 / root
0644
uchar.h
1.955 KB
April 28 2025 16:05:30
0 / root
0644
ucontext.h
1.989 KB
April 28 2025 16:05:28
0 / root
0644
ulimit.h
1.547 KB
April 28 2025 16:05:31
0 / root
0644
unctrl.h
3.103 KB
September 27 2023 03:05:13
0 / root
0644
unistd.h
43.446 KB
April 28 2025 16:05:30
0 / root
0644
utime.h
1.86 KB
April 28 2025 16:05:30
0 / root
0644
utmp.h
3.147 KB
April 28 2025 16:05:52
0 / root
0644
utmpx.h
4.004 KB
April 28 2025 16:05:52
0 / root
0644
values.h
1.91 KB
April 28 2025 16:05:25
0 / root
0644
verto-module.h
6.484 KB
February 10 2022 04:33:39
0 / root
0644
verto.h
18.981 KB
February 10 2022 04:33:39
0 / root
0644
wait.h
0.021 KB
April 28 2025 16:05:30
0 / root
0644
wchar.h
31.389 KB
April 28 2025 16:05:30
0 / root
0644
wctype.h
5.419 KB
April 28 2025 16:05:31
0 / root
0644
wordexp.h
2.443 KB
April 28 2025 16:05:30
0 / root
0644
zconf.h
15.881 KB
September 26 2023 09:22:15
0 / root
0644
zdict.h
25.03 KB
December 20 2021 22:49:18
0 / root
0644
zlib.h
94.005 KB
September 26 2023 09:22:15
0 / root
0644
zstd.h
145.155 KB
December 20 2021 22:49:18
0 / root
0644
zstd_errors.h
3.728 KB
December 20 2021 22:49:18
0 / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF