[package]
name = "hakmem"
version = "0.2.0"
edition = "2024"
rust-version = "1.89"
description = "Hilbert and Morton curves with range covers, rank/select, Myers edit distance, PEXT/PDEP and byte lanes, built from bit tricks with property-tested laws. no_std, no dependencies."
license = "MIT OR Apache-2.0"
authors = ["Michal <acannix@proton.me>"]
repository = "https://github.com/mightsleep/hakmem"
keywords = ["hilbert-curve", "morton", "rank-select", "levenshtein", "bit-manipulation"]
categories = ["algorithms", "data-structures", "no-std"]
exclude = ["/.github", "/nix", "/flake.*", "/codegen", "/public-api", "/release", "/.coderabbit.yaml", "/.gitignore"]
[features]
default = ["alloc"]
portable = []
alloc = []
[dependencies]
[dev-dependencies]
proptest = "1"
criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support"] }
broadword = "0.2"
strsim = "0.11"
triple_accel = "0.4"
sux = { version = "0.14", default-features = false }
sucds = "0.9"
vers-vecs = "1"
fast_hilbert = "2.1"
lindel = "0.1"
morton = "0.3"
morton-encoding = "2"
zorder = "0.2"
[[bench]]
name = "select"
harness = false
[[bench]]
name = "compact"
harness = false
[[bench]]
name = "rank9"
harness = false
[[bench]]
name = "incumbents"
harness = false
[[bench]]
name = "hilbert"
harness = false
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
missing_docs = "warn"
unreachable_pub = "warn"
[lints.clippy]
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
missing_errors_doc = "allow"
module_name_repetitions = "allow"
missing_inline_in_public_items = "warn"
[package.metadata.docs.rs]
all-features = true