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