[package]
edition = "2021"
rust-version = "1.74"
name = "bitrep"
version = "0.1.0"
authors = ["Kyle Clouthier <kyle@simgen.dev>"]
build = false
exclude = [
"/.github",
"/fuzz",
"/demo",
"/.claude",
"/probes",
"RESEARCH.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Order-invariant, bit-identical floating-point reductions. Any order. Any hardware. Same bits."
documentation = "https://docs.rs/bitrep"
readme = "README.md"
keywords = [
"deterministic",
"reproducible",
"summation",
"crdt",
"distributed",
]
categories = [
"mathematics",
"algorithms",
"no-std",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/KyleClouthier/bitrep"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
serde = ["dep:serde"]
std = []
[lib]
name = "bitrep"
path = "src/lib.rs"
[[example]]
name = "deterministic_training"
path = "examples/deterministic_training.rs"
[[example]]
name = "float_gcounter"
path = "examples/float_gcounter.rs"
[[example]]
name = "gen_vectors"
path = "examples/gen_vectors.rs"
[[example]]
name = "merkle_sum_tree"
path = "examples/merkle_sum_tree.rs"
[[test]]
name = "golden"
path = "tests/golden.rs"
[[test]]
name = "nist_strd"
path = "tests/nist_strd.rs"
[[test]]
name = "properties"
path = "tests/properties.rs"
[[bench]]
name = "reductions"
path = "benches/reductions.rs"
harness = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
default-features = false
[dev-dependencies.num-bigint]
version = "0.4"
[dev-dependencies.num-traits]
version = "0.2"
[dev-dependencies.proptest]
version = "1"
features = [
"std",
"bit-set",
]
default-features = false
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.sha2]
version = "0.10.9"
[dev-dependencies.xsum]
version = "0.1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(kani)",
"cfg(kani_slow)",
]
[profile.bench]
lto = true
codegen-units = 1