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