X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Fwimlib%2Flz_hash.h;fp=include%2Fwimlib%2Flz_hash.h;h=464c01af2c29e9a84a57a8b97195854417572a22;hb=f09b1cba44882dfb42741a5895e1d0d84e89e1db;hp=5aa4eff5d34319677f1a42e4bca6bf6ff132fd6d;hpb=e9a04c1cb384cf3cf23d70107e85f79c4ac0a555;p=wimlib diff --git a/include/wimlib/lz_hash.h b/include/wimlib/lz_hash.h index 5aa4eff5..464c01af 100644 --- a/include/wimlib/lz_hash.h +++ b/include/wimlib/lz_hash.h @@ -13,7 +13,7 @@ #ifndef _LZ_HASH_H #define _LZ_HASH_H -#include "wimlib/unaligned.h" +#include "wimlib/types.h" /* * The hash function: given a sequence prefix held in the low-order bits of a @@ -28,33 +28,4 @@ lz_hash(u32 seq, unsigned num_bits) return (u32)(seq * 0x1E35A7BD) >> (32 - num_bits); } -/* - * Hash the 2-byte sequence beginning at @p, producing a hash of length - * @num_bits bits. At least 2 bytes of data must be available at @p. - */ -static inline u32 -lz_hash_2_bytes(const u8 *p, unsigned num_bits) -{ - u32 seq = load_u16_unaligned(p); - if (num_bits >= 16) - return seq; - return lz_hash(seq, num_bits); -} - -/* - * Hash the 3-byte sequence beginning at @p, producing a hash of length - * @num_bits bits. At least LZ_HASH3_REQUIRED_NBYTES bytes of data must be - * available at @p; note that this may be more than 3. - */ -static inline u32 -lz_hash_3_bytes(const u8 *p, unsigned num_bits) -{ - u32 seq = load_u24_unaligned(p); - if (num_bits >= 24) - return seq; - return lz_hash(seq, num_bits); -} - -#define LZ_HASH3_REQUIRED_NBYTES LOAD_U24_REQUIRED_NBYTES - #endif /* _LZ_HASH_H */