[package]
edition = "2024"
rust-version = "1.97.0"
name = "la-stack"
version = "0.4.4"
build = false
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",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast, stack-allocated linear algebra for fixed dimensions"
homepage = "https://github.com/acgetchell/la-stack"
documentation = "https://docs.rs/la-stack"
readme = "README.md"
keywords = [
"linear-algebra",
"geometry",
"const-generics",
"exact-arithmetic",
"robust-predicates",
]
categories = [
"mathematics",
"science",
]
license = "BSD-3-Clause"
repository = "https://github.com/acgetchell/la-stack"
[package.metadata.docs.rs]
features = ["exact"]
[features]
bench = []
default = []
exact = [
"dep:num-bigint",
"dep:num-rational",
"dep:num-traits",
]
[lib]
name = "la_stack"
path = "src/lib.rs"
[[example]]
name = "const_det_4x4"
path = "examples/const_det_4x4.rs"
[[example]]
name = "det_5x5"
path = "examples/det_5x5.rs"
[[example]]
name = "exact_det_3x3"
path = "examples/exact_det_3x3.rs"
required-features = ["exact"]
[[example]]
name = "exact_sign_3x3"
path = "examples/exact_sign_3x3.rs"
required-features = ["exact"]
[[example]]
name = "exact_solve_3x3"
path = "examples/exact_solve_3x3.rs"
required-features = ["exact"]
[[example]]
name = "ldlt_solve_3x3"
path = "examples/ldlt_solve_3x3.rs"
[[example]]
name = "solve_5x5"
path = "examples/solve_5x5.rs"
[[test]]
name = "exact_bench_config"
path = "tests/exact_bench_config.rs"
[[test]]
name = "exact_conversion_boundaries"
path = "tests/exact_conversion_boundaries.rs"
[[test]]
name = "prelude_exports"
path = "tests/prelude_exports.rs"
[[test]]
name = "proptest_exact"
path = "tests/proptest_exact.rs"
[[test]]
name = "proptest_factorizations"
path = "tests/proptest_factorizations.rs"
[[test]]
name = "proptest_matrix"
path = "tests/proptest_matrix.rs"
[[test]]
name = "proptest_vector"
path = "tests/proptest_vector.rs"
[[test]]
name = "regressions"
path = "tests/regressions.rs"
[[test]]
name = "scaled_product_determinants"
path = "tests/scaled_product_determinants.rs"
[[test]]
name = "vs_linalg_inputs"
path = "tests/vs_linalg_inputs.rs"
[[bench]]
name = "exact"
path = "benches/exact.rs"
harness = false
required-features = [
"bench",
"exact",
]
[[bench]]
name = "vs_linalg"
path = "benches/vs_linalg.rs"
harness = false
required-features = ["bench"]
[dependencies.num-bigint]
version = "0.4.6"
optional = true
[dependencies.num-rational]
version = "0.4.2"
features = ["num-bigint-std"]
optional = true
[dependencies.num-traits]
version = "0.2.19"
optional = true
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.faer]
version = "0.24.4"
features = [
"std",
"linalg",
]
default-features = false
[dev-dependencies.nalgebra]
version = "0.35.0"
features = ["std"]
default-features = false
[dev-dependencies.pastey]
version = "0.2.3"
[dev-dependencies.proptest]
version = "1.11.0"
[lints.clippy]
extra_unused_type_parameters = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.redundant_pub_crate]
level = "allow"
priority = 0
[lints.rust]
unsafe_code = "forbid"
[lints.rust.dead_code]
level = "deny"
priority = 0
[lints.rust.missing_docs]
level = "deny"
priority = 0
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = ["cfg(la_stack_v0_4_3_api)"]
[lints.rust.unreachable_pub]
level = "deny"
priority = 0
[lints.rust.warnings]
level = "deny"
priority = -1
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
[profile.release]
lto = "fat"
codegen-units = 1