[][src]Crate lzjd

LZJD

Rust implementation of the LZJD algorithm See also: https://github.com/EdwardRaff/jLZJD

Any core::hash::BuildHasher is supported, just pass a &BuildHasher to LZDict::from_bytes_stream. For convenience, this crate provides a wrapper around the crc32 hasher which implements BuildHasher.

Example

let stream_a = b"bitsandpieces".iter().cloned();
let stream_b = b"doctestbits".iter().cloned();
let k = 1024;

let build_hasher = CRC32BuildHasher;

let dict_a = LZDict::from_bytes_stream(stream_a, &build_hasher);
let dict_b = LZDict::from_bytes_stream(stream_b, &build_hasher);

let lzjd = dict_a.dist(&dict_b);

assert_eq!(lzjd, 0.5714285714285714);

Re-exports

pub use crate::lz_dict::LZDict;

Modules

crc32

crc32 wrapper; Defines a wrapper around crc::crc32::Digest, implementing std::hash::Hasher as well as a std::hash::BuildHasher which builds the hasher.

lz_dict

LZ dictionary implementation

murmur3

murmur3 wrapper;

Enums

LZJDError

Type Definitions

Result