Cargo Features

[dependencies]
fast-tlsh = { version = "0.1.1", default-features = false, features = ["std", "alloc", "strict-parser", "detect-features", "easy-functions", "serde", "serde-buffered", "simd", "simd-per-arch", "simd-portable", "unsafe", "unstable", "opt-default", "opt-embedded-default", "opt-simd", "opt-simd-bucket-aggregation", "opt-simd-convert-hex", "opt-dist-length-table", "opt-dist-qratios-table", "opt-dist-qratios-table-double", "opt-pearson-table-double", "opt-low-memory-buckets", "opt-low-memory-hex-str-decode-half-table", "opt-low-memory-hex-str-decode-quarter-table", "opt-low-memory-hex-str-decode-min-table", "opt-low-memory-hex-str-encode-half-table", "opt-low-memory-hex-str-encode-min-table", "maint-lints", "experiment-pearson"] }
default = detect-features, easy-functions, opt-default, simd, std

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

std default detect-features = alloc

Enables std of optional hex-simd and optional serde

serde:

Provide impls for common standard library types like Vec<T> and HashMap<K, V>.
Requires a dependency on the Rust standard library.

Affects errors::GeneratorOrIOError

alloc std

Enables alloc of optional hex-simd and optional serde

serde:

Provide impls for types in the Rust core allocation and collections library including String, Box<T>, Vec<T>, and Cow<T>. This is a subset of std but may be enabled without depending on all of std.

strict-parser
detect-features default = std

Enables detect of optional hex-simd

easy-functions default

Affects errors::ParseErrorSide, errors::ParseErrorEither, errors::GeneratorOrIOError

serde

Enables serde

serde-buffered
simd default = opt-simd, simd-per-arch
simd-per-arch simd
simd-portable = unstable
unsafe
unstable simd-portable?

TODO: unstable = ["serde?/unstable", "hex-simd?/unstable"]
once hex-simd correctly supports the latest Nightly.

Enables unstable of optional serde

opt-default default = opt-dist-length-table, opt-dist-qratios-table-double, opt-pearson-table-double
opt-embedded-default = opt-dist-length-table, opt-dist-qratios-table, opt-low-memory…encode-half-table
opt-simd simd = opt-simd-body-comparison, opt-simd-bucket-aggregation, opt-simd-convert-hex, opt-simd-parse-hex
opt-simd-body-comparison opt-simd-bucket-aggregation opt-simd?
opt-simd-parse-hex opt-simd-convert-hex opt-simd?

Enables hex-simd

opt-dist-length-table opt-default opt-embedded-default?
opt-dist-qratios-table opt-dist-qratios-table-double? opt-embedded-default?
opt-dist-qratios-table-double opt-default = opt-dist-qratios-table
opt-pearson-table-double opt-default
opt-low-memory-buckets
opt-low-memory-hex-str-decode-half-table opt-low-memory…quarter-table?
opt-low-memory-hex-str-decode-quarter-table opt-low-memory…decode-min-table? = opt-low-memory…decode-half-table
opt-low-memory-hex-str-decode-min-table = opt-low-memory…quarter-table
opt-low-memory-hex-str-encode-half-table opt-embedded-default? opt-low-memory…encode-min-table?
opt-low-memory-hex-str-encode-min-table = opt-low-memory…encode-half-table
tests-slow maint-code maint-lints
experiment-pearson

Affects fast-tlsh::pearson