[package]
name = "math-differential-evolution"
version = "0.2.53"
description = "Non linear optimisation library with own DE solvers and interface to NLOpt and MetaHeuristics"
edition = { workspace = true }
repository = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
[dependencies]
ndarray = { workspace = true }
rand = { workspace = true }
rayon = { workspace = true }
csv = { workspace = true }
clap = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
directories = { workspace = true }
plotly = { workspace = true }
math-test-functions = { workspace = true }
nlopt = { workspace = true, optional = true }
plotly_static = { workspace = true, optional = true }
[features]
default = ["nlopt"]
nlopt = ["dep:nlopt"]
plotly_static = ["dep:plotly_static"]
[dev-dependencies]
tempfile = { workspace = true }
[target.'cfg(target_os = "macos")'.dependencies]
blas-src = { version = "0.14", features = ["accelerate"] }
accelerate-src = "0.3"
signal-hook-tokio = { workspace = true }
[target.'cfg(all(any(target_os = "ios", target_os="ios_sim"), target_arch = "aarch64"))'.dependencies]
blas-src = { version = "0.14", features = ["accelerate"] }
accelerate-src = "0.3"
signal-hook-tokio = { workspace = true }
[target.'cfg(all(target_os = "linux", target_arch="x86_64"))'.dependencies]
blas-src = { version = "0.14", features = ["openblas"] }
openblas-src = { version = "0.10", features = ["cblas", "system"] }
signal-hook-tokio = { workspace = true }
[target.'cfg(all(target_os = "linux", target_arch="aarch64"))'.dependencies]
blas-src = { version = "0.14", features = ["openblas"] }
openblas-src = { version = "0.10", features = ["cblas", "system"] }
signal-hook-tokio = { workspace = true }
[target.'cfg(all(target_os = "linux", target_arch="x86_64", target_env="musl"))'.dependencies]
blas-src = { version = "0.14", features = ["openblas"] }
openblas-src = { version = "0.10", features = ["cblas", "static"] }
signal-hook-tokio = { workspace = true }
[target.'cfg(all(target_os = "linux", target_arch="aarch64", target_env="musl"))'.dependencies]
blas-src = { version = "0.14", features = ["openblas"] }
openblas-src = { version = "0.10", features = ["cblas", "static"] }
signal-hook-tokio = { workspace = true }
[target.'cfg(all(target_os = "windows", target_arch="x86_64"))'.dependencies]
blas-src = { version = "0.14", features = ["intel-mkl-dynamic-parallel"] }
intel-mkl-src = "0.8.1"
[target.'cfg(all(target_os = "windows", target_arch="aarch64"))'.dependencies]
blas-src = { version = "0.14", features = ["openblas"] }
openblas-src = { version = "0.10", features = ["cblas", "system"] }
[[bin]]
name = "plot_autoeq_de"
path = "bin/plot_autoeq_de.rs"
[[bin]]
name = "benchmark_convergence"
path = "bench/benchmark_convergence.rs"
[[bin]]
name = "run-autoeq-de"
path = "bin/run_autoeq_de.rs"
[lib]
name = "autoeq_de"
path = "src/mod.rs"