la-stack 0.4.4

Fast, stack-allocated linear algebra for fixed dimensions
Documentation
[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]
# All runtime deps are optional; see [features] below.
# Must stay in sync with num-rational
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 = [  ]
# cfg-only feature gate for benchmark-only fixtures.
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 }