[package]
edition = "2021"
name = "ad_trait"
version = "0.3.0"
authors = ["Danny Rakita <daniel.rakita@yale.edu>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Easy to use, efficient, and highly flexible automatic differentiation in Rust"
readme = "README.md"
keywords = [
"autodiff",
"differentiation",
"derivatives",
"AD",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/djrakita/ad_trait"
[features]
bevy = [
"bevy_reflect_compat",
"bevy_reflect_latest",
]
default = [
"latest_deps",
"std",
"bevy",
"rand",
"serde",
"hessian",
]
hessian = []
latest_deps = ["nalgebra_latest"]
nightly = []
rand = [
"dep:rand",
"nalgebra_compat?/rand",
"nalgebra_latest?/rand",
]
serde = [
"nalgebra_compat?/serde-serialize",
"nalgebra_latest?/serde-serialize",
]
std = [
"nalgebra_compat?/std",
"nalgebra_latest?/std",
"num-traits/std",
"simba/std",
"approx/std",
"rand?/std",
"rand?/std_rng",
"serde/std",
"ndarray/std",
"serde_with/std",
"tinyvec/std",
]
wasm_compat = ["nalgebra_compat"]
[lib]
name = "ad_trait"
path = "src/lib.rs"
[[bin]]
name = "test"
path = "src/bin/test.rs"
[[example]]
name = "example1"
path = "examples/example1.rs"
[[test]]
name = "regression_tests"
path = "tests/regression_tests.rs"
[dependencies.approx]
version = "0.5.1"
default-features = false
[dependencies.bevy_reflect_compat]
version = "0.17.3"
optional = true
package = "bevy_reflect"
[dependencies.bevy_reflect_latest]
version = "0.18"
optional = true
package = "bevy_reflect"
[dependencies.nalgebra_compat]
version = "0.33"
features = [
"alloc",
"libm",
]
optional = true
default-features = false
package = "nalgebra"
[dependencies.nalgebra_latest]
version = "0.34"
features = [
"alloc",
"libm",
]
optional = true
default-features = false
package = "nalgebra"
[dependencies.ndarray]
version = "0.17.1"
default-features = false
[dependencies.num-traits]
version = "0.2.19"
features = ["libm"]
default-features = false
[dependencies.once_cell]
version = "1.21.3"
[dependencies.rand]
version = "0.8.5"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
default-features = false
[dependencies.serde_with]
version = "3.16.1"
features = [
"alloc",
"macros",
]
default-features = false
[dependencies.simba]
version = "0.9.1"
features = ["libm"]
default-features = false
[dependencies.tinyvec]
version = "1.10.0"
features = [
"alloc",
"serde",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[profile.dev]
opt-level = 3
lto = "thin"
[profile.release]
opt-level = 3
lto = "thin"