xref: /dflybsd-src/contrib/zstd/programs/datagen.h (revision a28cd43d19e8b720a6c852a4bbc5ae147a26165a)
1a28cd43dSSascha Wildner /*
2a28cd43dSSascha Wildner  * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc.
3a28cd43dSSascha Wildner  * All rights reserved.
4a28cd43dSSascha Wildner  *
5a28cd43dSSascha Wildner  * This source code is licensed under both the BSD-style license (found in the
6a28cd43dSSascha Wildner  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7a28cd43dSSascha Wildner  * in the COPYING file in the root directory of this source tree).
8a28cd43dSSascha Wildner  * You may select, at your option, one of the above-listed licenses.
9a28cd43dSSascha Wildner  */
10a28cd43dSSascha Wildner 
11a28cd43dSSascha Wildner 
12a28cd43dSSascha Wildner #ifndef DATAGEN_H
13a28cd43dSSascha Wildner #define DATAGEN_H
14a28cd43dSSascha Wildner 
15a28cd43dSSascha Wildner #include <stddef.h>   /* size_t */
16a28cd43dSSascha Wildner 
17a28cd43dSSascha Wildner void RDG_genStdout(unsigned long long size, double matchProba, double litProba, unsigned seed);
18a28cd43dSSascha Wildner void RDG_genBuffer(void* buffer, size_t size, double matchProba, double litProba, unsigned seed);
19a28cd43dSSascha Wildner /*!RDG_genBuffer
20a28cd43dSSascha Wildner    Generate 'size' bytes of compressible data into 'buffer'.
21a28cd43dSSascha Wildner    Compressibility can be controlled using 'matchProba', which is floating point value between 0 and 1.
22a28cd43dSSascha Wildner    'LitProba' is optional, it affect variability of individual bytes. If litProba==0.0, default value will be used.
23a28cd43dSSascha Wildner    Generated data pattern can be modified using different 'seed'.
24a28cd43dSSascha Wildner    For a triplet (matchProba, litProba, seed), the function always generate the same content.
25a28cd43dSSascha Wildner 
26a28cd43dSSascha Wildner    RDG_genStdout
27a28cd43dSSascha Wildner    Same as RDG_genBuffer, but generates data into stdout
28a28cd43dSSascha Wildner */
29a28cd43dSSascha Wildner 
30a28cd43dSSascha Wildner #endif
31