[package]
name = "gam-terms"
version = "0.3.144"
edition = "2024"
description = "Smooth-term basis construction and penalty assembly for the gam penalized-likelihood engine"
license = "AGPL-3.0-or-later"
repository = "https://github.com/SauersML/gam"
rust-version = "1.93"

[lints.rust]
warnings = "deny"

[dependencies]
faer = "0.24.0"
gam-geometry = { path = "../gam-geometry", version = "=0.3.144" }
gam-data = { path = "../gam-data", version = "=0.3.144" }
gam-gpu = { path = "../gam-gpu", version = "=0.3.144" }
gam-linalg = { path = "../gam-linalg", version = "=0.3.144" }
gam-math = { path = "../gam-math", version = "=0.3.144" }
gam-problem = { path = "../gam-problem", version = "=0.3.144" }
gam-runtime = { path = "../gam-runtime", version = "=0.3.144" }
gam-spec = { path = "../gam-spec", version = "=0.3.144" }
log = "0.4.29"
memmap2 = "0.9.10"
ndarray = { version = "0.17.2", features = ["serde", "rayon"] }
pest = "2.8.6"
pest_derive = "2.8.6"
rayon = "1.12.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = { version = "1.0.149", features = ["float_roundtrip"] }
smallvec = "1"
statrs = "0.18.0"
wide = "0.7"

[target.'cfg(target_os = "linux")'.dependencies]
cudarc = { version = "0.19.6", default-features = false, features = ["std", "driver", "runtime", "nvrtc", "cublas", "cublaslt", "cusparse", "cusolver", "cusolvermg", "curand", "nvtx", "cupti", "fallback-dynamic-loading", "cuda-12080"] }

[dev-dependencies]
approx = "0.5.1"
gam-test-support = { path = "../gam-test-support" }
num-dual = "0.13.6"
rand = "0.10.1"
