[package]
name = "aprender-rand"
version.workspace = true
edition = "2021"
description = "Counter-based parallel RNG — Philox 4x32-10 with provable statistical properties"
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/trueno"
keywords = ["rng", "random", "philox", "parallel", "counter-based"]
categories = ["science", "algorithms", "mathematics"]
authors = ["Trueno Engineering"]

[lib]
name = "trueno_rand"

[dependencies]
thiserror = "2"

[dev-dependencies]
proptest = "1"
criterion = { workspace = true }

[[bench]]
name = "rand_bench"
harness = false

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
missing_docs = "warn"
rust_2018_idioms = "warn"

[lints.clippy]
correctness = { level = "deny", priority = -1 }
suspicious = { level = "warn", priority = -1 }
perf = { level = "warn", priority = -1 }
complexity = { level = "warn", priority = -1 }
style = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
unreachable = "warn"
uninlined_format_args = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_sign_loss = "allow"
similar_names = "allow"
needless_range_loop = "allow"
module_name_repetitions = "allow"
doc_markdown = "allow"
must_use_candidate = "allow"
missing_panics_doc = "allow"
missing_errors_doc = "allow"
return_self_not_must_use = "allow"
wildcard_imports = "allow"
many_single_char_names = "allow"
cast_lossless = "allow"
cast_precision_loss = "allow"
unreadable_literal = "allow"
