xref: /aosp_15_r20/external/brotli/research/sieve.h (revision f4ee7fba7774faf2a30f13154332c0a06550dbc4)
1*f4ee7fbaSAndroid Build Coastguard Worker #ifndef BROTLI_RESEARCH_SIEVE_H_
2*f4ee7fbaSAndroid Build Coastguard Worker #define BROTLI_RESEARCH_SIEVE_H_
3*f4ee7fbaSAndroid Build Coastguard Worker 
4*f4ee7fbaSAndroid Build Coastguard Worker #include <cstddef>
5*f4ee7fbaSAndroid Build Coastguard Worker #include <cstdint>
6*f4ee7fbaSAndroid Build Coastguard Worker #include <string>
7*f4ee7fbaSAndroid Build Coastguard Worker #include <vector>
8*f4ee7fbaSAndroid Build Coastguard Worker 
9*f4ee7fbaSAndroid Build Coastguard Worker /**
10*f4ee7fbaSAndroid Build Coastguard Worker  * Generate a dictionary for given samples.
11*f4ee7fbaSAndroid Build Coastguard Worker  *
12*f4ee7fbaSAndroid Build Coastguard Worker  * @param dictionary_size_limit maximal dictionary size
13*f4ee7fbaSAndroid Build Coastguard Worker  * @param slice_len text slice size
14*f4ee7fbaSAndroid Build Coastguard Worker  * @param sample_sizes vector with sample sizes
15*f4ee7fbaSAndroid Build Coastguard Worker  * @param sample_data concatenated samples
16*f4ee7fbaSAndroid Build Coastguard Worker  * @return generated dictionary
17*f4ee7fbaSAndroid Build Coastguard Worker  */
18*f4ee7fbaSAndroid Build Coastguard Worker std::string sieve_generate(size_t dictionary_size_limit, size_t slice_len,
19*f4ee7fbaSAndroid Build Coastguard Worker     const std::vector<size_t>& sample_sizes, const uint8_t* sample_data);
20*f4ee7fbaSAndroid Build Coastguard Worker 
21*f4ee7fbaSAndroid Build Coastguard Worker #endif  // BROTLI_RESEARCH_SIEVE_H_
22