[package]
name = "nabled-sim"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/nabled-sim"
publish.workspace = true
description = "Physical AI simulation, control, and estimation pipelines for nabled"
readme = "README.md"
keywords = ["robotics", "simulation", "orchestration", "ndarray", "physical-ai"]
categories = ["mathematics", "science", "algorithms"]

[features]
default = []
blas = [
    "nabled-linalg/blas",
    "nabled-ml/blas",
    "nabled-kinematics/blas",
    "nabled-model/blas",
    "nabled-dynamics/blas",
    "nabled-control/blas",
    "nabled-sensor/blas",
]
lapack-provider = [
    "nabled-linalg/lapack-provider",
    "nabled-ml/lapack-provider",
    "nabled-kinematics/lapack-provider",
    "nabled-model/lapack-provider",
    "nabled-dynamics/lapack-provider",
    "nabled-control/lapack-provider",
    "nabled-sensor/lapack-provider",
]
openblas-system = [
    "blas",
    "lapack-provider",
    "nabled-linalg/openblas-system",
    "nabled-ml/openblas-system",
    "nabled-kinematics/openblas-system",
    "nabled-model/openblas-system",
    "nabled-dynamics/openblas-system",
    "nabled-control/openblas-system",
    "nabled-sensor/openblas-system",
]
openblas-static = [
    "blas",
    "lapack-provider",
    "nabled-linalg/openblas-static",
    "nabled-ml/openblas-static",
    "nabled-kinematics/openblas-static",
    "nabled-model/openblas-static",
    "nabled-dynamics/openblas-static",
    "nabled-control/openblas-static",
    "nabled-sensor/openblas-static",
]
netlib-system = [
    "blas",
    "lapack-provider",
    "nabled-linalg/netlib-system",
    "nabled-ml/netlib-system",
    "nabled-kinematics/netlib-system",
    "nabled-model/netlib-system",
    "nabled-dynamics/netlib-system",
    "nabled-control/netlib-system",
    "nabled-sensor/netlib-system",
]
netlib-static = [
    "blas",
    "lapack-provider",
    "nabled-linalg/netlib-static",
    "nabled-ml/netlib-static",
    "nabled-kinematics/netlib-static",
    "nabled-model/netlib-static",
    "nabled-dynamics/netlib-static",
    "nabled-control/netlib-static",
    "nabled-sensor/netlib-static",
]
magma-system = [
    "lapack-provider",
    "nabled-linalg/magma-system",
    "nabled-ml/magma-system",
    "nabled-kinematics/magma-system",
    "nabled-model/magma-system",
    "nabled-dynamics/magma-system",
    "nabled-control/magma-system",
    "nabled-sensor/magma-system",
]
signal = ["nabled-linalg/signal"]

[dependencies]
nabled-control.workspace = true
nabled-core.workspace = true
nabled-dynamics.workspace = true
nabled-kinematics.workspace = true
nabled-linalg.workspace = true
nabled-ml.workspace = true
nabled-model.workspace = true
nabled-sensor.workspace = true
ndarray.workspace = true
num-traits.workspace = true

[dev-dependencies]
approx.workspace = true

[lints]
workspace = true
