1b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov/* Copyright 2013 Google Inc. All Rights Reserved.
2b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
3b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov   Distributed under MIT license.
4b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
5b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov*/
6b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
7b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov/* Functions to estimate the bit cost of Huffman trees. */
8b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
9b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./bit_cost.h"
10b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
11b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "../common/constants.h"
1281480011581d1bb40e2ed26566a95d060f2767b3Eugene Kliuchnikov#include <brotli/types.h>
13b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./fast_log.h"
14b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./histogram.h"
15b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./port.h"
16b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
17b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#if defined(__cplusplus) || defined(c_plusplus)
18b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikovextern "C" {
19b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#endif
20b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
21b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#define FN(X) X ## Literal
22b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./bit_cost_inc.h"  /* NOLINT(build/include) */
23b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#undef FN
24b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
25b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#define FN(X) X ## Command
26b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./bit_cost_inc.h"  /* NOLINT(build/include) */
27b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#undef FN
28b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
29b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#define FN(X) X ## Distance
30b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#include "./bit_cost_inc.h"  /* NOLINT(build/include) */
31b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#undef FN
32b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov
33b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#if defined(__cplusplus) || defined(c_plusplus)
34b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov}  /* extern "C" */
35b972c67780f03256a3fbf81dc3350a4bf00aa4adEugene Kliuchnikov#endif
36