fixed_analytics 2.0.0

Fixed-point mathematical functions using the CORDIC algorithm
Documentation
[package]
name = "fixed_analytics"
version = "2.0.0"
edition = "2024"
rust-version = "1.88"
authors = ["David Gathercole"]
description = "Fixed-point mathematical functions using the CORDIC algorithm"
repository = "https://github.com/GeEom/fixed_analytics"
documentation = "https://docs.rs/fixed_analytics"
readme = "README.md"
license = "MIT"
keywords = ["cordic", "fixed-point", "trigonometry", "math", "no_std"]
categories = ["mathematics", "no-std", "algorithms", "embedded"]

[package.metadata.docs.rs]
features = ["std"]
rustdoc-args = ["--cfg", "docsrs"]

[features]
default = ["std"]
std = []
verify-no-panic = ["dep:no-panic"]

[dependencies]
fixed = "1.30"
no-panic = { version = "0.1", optional = true }

[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }

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

[[bin]]
name = "verify_no_panic"
required-features = ["verify-no-panic"]

[profile.release]
lto = true
codegen-units = 1
panic = "abort"

[profile.no-panic-check]
inherits = "release"
lto = "fat"
codegen-units = 1
panic = "unwind"

[profile.bench]
lto = true
codegen-units = 1

[lints.rust]
rust_2024_compatibility = "deny"
future_incompatible = "deny"
nonstandard_style = "deny"
rust_2018_idioms = "deny"
missing_docs = "deny"
unsafe_code = "deny"
unused = "deny"

[lints.clippy]
# Lint groups
correctness = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
complexity = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }

allow_attributes_without_reason = "deny"
used_underscore_binding = "deny"
if_then_some_else_none = "deny"
missing_const_for_fn = "deny"
missing_errors_doc = "deny"
missing_panics_doc = "deny"
indexing_slicing = "deny"
result_large_err = "deny"
shadow_unrelated = "deny"
wildcard_imports = "deny"
map_err_ignore = "deny"
enum_glob_use = "deny"
infinite_loop = "deny"
unimplemented = "deny"
print_stderr = "deny"
print_stdout = "deny"
expect_used = "deny"
unwrap_used = "deny"
empty_loop = "deny"
mem_forget = "deny"
dbg_macro = "deny"
panic = "deny"
todo = "deny"
exit = "deny"

# Allow specific pedantic lints that are too noisy
module_name_repetitions = "allow"
similar_names = "allow"