]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/C/BrotliCompress/enc/utf8_util.h
BaseTools: Copy Brotli algorithm 3rd party source code for tool
[mirror_edk2.git] / BaseTools / Source / C / BrotliCompress / enc / utf8_util.h
1 /* Copyright 2013 Google Inc. All Rights Reserved.
2
3 Distributed under MIT license.
4 See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
5 */
6
7 /* Heuristics for deciding about the UTF8-ness of strings. */
8
9 #ifndef BROTLI_ENC_UTF8_UTIL_H_
10 #define BROTLI_ENC_UTF8_UTIL_H_
11
12 #include "../common/types.h"
13 #include "./port.h"
14
15 #if defined(__cplusplus) || defined(c_plusplus)
16 extern "C" {
17 #endif
18
19 static const double kMinUTF8Ratio = 0.75;
20
21 /* Returns 1 if at least min_fraction of the bytes between pos and
22 pos + length in the (data, mask) ringbuffer is UTF8-encoded, otherwise
23 returns 0. */
24 BROTLI_INTERNAL BROTLI_BOOL BrotliIsMostlyUTF8(
25 const uint8_t* data, const size_t pos, const size_t mask,
26 const size_t length, const double min_fraction);
27
28 #if defined(__cplusplus) || defined(c_plusplus)
29 } /* extern "C" */
30 #endif
31
32 #endif /* BROTLI_ENC_UTF8_UTIL_H_ */