[workspace]
members = [".", "rmumps"]
[package]
name = "ripopt"
version = "0.6.0"
edition = "2021"
license = "EPL-2.0"
description = "A memory-safe interior point optimizer in Rust"
repository = "https://github.com/jkitchin/ripopt"
exclude = [
"cho/",
"cutest_suite/",
"docs/",
"hs_suite/",
"manuscript/",
"tutorials/",
"Ripopt.jl/",
"ipopt-rust.png",
"*.pdf",
"*.ipynb",
"BENCHMARK_REPORT.*",
"RIPOPT_VS_IPOPT.md",
"benchmark_report.py",
".github/",
]
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
log = "0.4"
env_logger = "0.11"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
faer = { version = "0.20", optional = true }
rmumps = { version = "0.1.0", path = "rmumps", optional = true }
[features]
default = ["rmumps", "faer"]
ipopt-native = []
cutest = []
hs = []
rmumps = ["dep:rmumps"]
faer = ["dep:faer"]
[[bin]]
name = "hs_suite"
path = "hs_suite/run_ripopt.rs"
required-features = ["hs"]
[[bin]]
name = "ipopt_native"
path = "hs_suite/run_ipopt_native.rs"
required-features = ["ipopt-native"]
[[bin]]
name = "ripopt"
path = "src/bin/ripopt_ampl.rs"
[[bin]]
name = "cutest_suite"
path = "cutest_suite/run_cutest.rs"
required-features = ["cutest", "ipopt-native"]
[[bin]]
name = "collect_kkt"
path = "cutest_suite/collect_kkt.rs"
required-features = ["cutest"]
[[example]]
name = "compare_large_scale"
required-features = ["ipopt-native"]
[[example]]
name = "benchmark_solvers"
[profile.release]
debug = true
[dev-dependencies]
approx = "0.5"
serde = { version = "1", features = ["derive"] }
serde_json = "1"