[package]
name = "la-stack"
version = "0.4.4"
edition = "2024"
rust-version = "1.97.0"
license = "BSD-3-Clause"
description = "Fast, stack-allocated linear algebra for fixed dimensions"
readme = "README.md"
documentation = "https://docs.rs/la-stack"
repository = "https://github.com/acgetchell/la-stack"
homepage = "https://github.com/acgetchell/la-stack"
categories = [ "mathematics", "science" ]
keywords = [ "linear-algebra", "geometry", "const-generics", "exact-arithmetic", "robust-predicates" ]
include = [
"/Cargo.toml",
"/CHANGELOG.md",
"/CITATION.cff",
"/CONTRIBUTING.md",
"/LICENSE",
"/README.md",
"/REFERENCES.md",
"/SECURITY.md",
"/benches/**/*.rs",
"/docs/**/*.md",
"/docs/assets/**/*.csv",
"/docs/assets/**/*.jpg",
"/docs/assets/**/*.png",
"/docs/assets/**/*.provenance.json",
"/docs/assets/**/*.svg",
"/examples/**/*.rs",
"/src/**/*.rs",
"/tests/*.proptest-regressions",
"/tests/*.rs",
]
[dependencies]
num-bigint = { version = "0.4.6", optional = true }
num-rational = { version = "0.4.2", features = [ "num-bigint-std" ], optional = true }
num-traits = { version = "0.2.19", optional = true }
[dev-dependencies]
approx = "0.5.1"
criterion = { version = "0.8.2", features = [ "html_reports" ] }
faer = { version = "0.24.4", default-features = false, features = [ "std", "linalg" ] }
nalgebra = { version = "0.35.0", default-features = false, features = [ "std" ] }
pastey = "0.2.3"
proptest = "1.11.0"
[features]
default = [ ]
bench = [ ]
exact = [ "dep:num-bigint", "dep:num-rational", "dep:num-traits" ]
[[example]]
name = "exact_det_3x3"
required-features = [ "exact" ]
[[example]]
name = "exact_sign_3x3"
required-features = [ "exact" ]
[[example]]
name = "exact_solve_3x3"
required-features = [ "exact" ]
[[bench]]
name = "vs_linalg"
harness = false
required-features = [ "bench" ]
[[bench]]
name = "exact"
harness = false
required-features = [ "bench", "exact" ]
[profile.release]
lto = "fat"
codegen-units = 1
[package.metadata.docs.rs]
features = [ "exact" ]
[lints.rust]
warnings = { level = "deny", priority = -1 }
unsafe_code = "forbid"
missing_docs = { level = "deny", priority = 0 }
dead_code = { level = "deny", priority = 0 }
unreachable_pub = { level = "deny", priority = 0 }
unexpected_cfgs = { level = "deny", priority = 0, check-cfg = [ 'cfg(la_stack_v0_4_3_api)' ] }
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
[lints.clippy]
cargo = { level = "warn", priority = -1 }
extra_unused_type_parameters = "warn"
nursery = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
redundant_pub_crate = { level = "allow", priority = 0 }