Cargo Features

[dependencies]
pthash = { version = "0.1.0", default-features = false, features = ["check", "default_minimalities", "minimal", "nonminimal", "default_hash_sizes", "hash64", "hash128", "default_encoders", "dictionary_dictionary", "elias_fano"] }
default = default_encoders, default_hash_sizes, default_minimalities

These default features are set whenever pthash is added without default-features = false somewhere in the dependency tree.

check

Enables sux and thiserror

Affects utils::ViolatedInvariant, utils::check

default_minimalities default = minimal, nonminimal

The following feature groups trigger instantiation of C++ template for their cartesian product. By default, these are 2 PHF types × 2 minimalities × 2 hash sizes × 3 encoders = 24 instances

Minimalities

minimal default_minimalities

Affects minimality::Minimal

nonminimal default_minimalities

Affects minimality::Nonminimal

default_hash_sizes default = hash128, hash64

Hash sizes

hash64 default_hash_sizes hash128?

Affects encoders::Encoder, hashing::MurmurHash2_64, encoders::Encoder

hash128 default_hash_sizes = hash64

implementation of MurmurHash2_128 depends on MurmurHash2_64

Affects encoders::Encoder, hashing::MurmurHash2_128, encoders::Encoder

default_encoders default = dictionary_dictionary, elias_fano, partitioned_compact

Encoders

dictionary_dictionary default_encoders
partitioned_compact elias_fano default_encoders