mirror of
https://git.tukaani.org/xz.git
synced 2025-02-11 11:08:23 +00:00
70 lines
2.0 KiB
C
70 lines
2.0 KiB
C
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
/// \file match_h.h
|
|
/// \brief Header template for different match finders
|
|
//
|
|
// Copyright (C) 1999-2006 Igor Pavlov
|
|
// Copyright (C) 2007 Lasse Collin
|
|
//
|
|
// This library is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU Lesser General Public
|
|
// License as published by the Free Software Foundation; either
|
|
// version 2.1 of the License, or (at your option) any later version.
|
|
//
|
|
// This library is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
// Lesser General Public License for more details.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "lz_encoder_private.h"
|
|
|
|
|
|
//////////////////////
|
|
// Global constants //
|
|
//////////////////////
|
|
|
|
#undef LZMA_HASH_SIZE
|
|
#undef LZMA_FIX_HASH_SIZE
|
|
#undef LZMA_HASH_SIZE_C
|
|
#undef LZMA_FIX_HASH_SIZE_C
|
|
|
|
#define LZMA_HASH_SIZE(mf_name) LZMA_HASH_SIZE_C(mf_name)
|
|
#define LZMA_FIX_HASH_SIZE(mf_name) LZMA_FIX_HASH_SIZE_C(mf_name)
|
|
|
|
#define LZMA_HASH_SIZE_C(mf_name) \
|
|
const uint32_t LZMA_ ## mf_name ## _HASH_SIZE
|
|
|
|
#define LZMA_FIX_HASH_SIZE_C(mf_name) \
|
|
const uint32_t LZMA_ ## mf_name ## _FIX_HASH_SIZE
|
|
|
|
extern LZMA_HASH_SIZE(LZMA_MATCH_FINDER_NAME_UPPER);
|
|
extern LZMA_FIX_HASH_SIZE(LZMA_MATCH_FINDER_NAME_UPPER);
|
|
|
|
|
|
///////////////
|
|
// Functions //
|
|
///////////////
|
|
|
|
#undef LZMA_GET_MATCHES
|
|
#undef LZMA_SKIP
|
|
#undef LZMA_GET_MATCHES_C
|
|
#undef LZMA_SKIP_C
|
|
|
|
#define LZMA_GET_MATCHES(mf_name) LZMA_GET_MATCHES_C(mf_name)
|
|
#define LZMA_SKIP(mf_name) LZMA_SKIP_C(mf_name)
|
|
|
|
#define LZMA_GET_MATCHES_C(mf_name) \
|
|
extern void lzma_ ## mf_name ## _get_matches( \
|
|
lzma_lz_encoder *restrict lz, \
|
|
uint32_t *restrict distances)
|
|
|
|
#define LZMA_SKIP_C(mf_name) \
|
|
extern void lzma_ ## mf_name ## _skip( \
|
|
lzma_lz_encoder *lz, uint32_t num)
|
|
|
|
LZMA_GET_MATCHES(LZMA_MATCH_FINDER_NAME_LOWER);
|
|
|
|
LZMA_SKIP(LZMA_MATCH_FINDER_NAME_LOWER);
|