[package]
name = "pounce-nlp"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
readme = "README.md"
description = "NLP-side glue for POUNCE (port of Ipopt's src/Interfaces): TNLP trait, TNLPAdapter, NLP / IpoptNLP wrappers, return-code enums, IpoptApplication user-facing entry point."
keywords = ["nlp", "optimization", "ipopt", "tnlp", "nonlinear"]
categories = ["mathematics", "science", "algorithms"]

[dependencies]
pounce-common.workspace = true
pounce-linalg.workspace = true
serde = { version = "1", features = ["derive"], optional = true }

[features]
# Derive `serde::{Serialize, Deserialize}` on the structured-output
# types (`SolveStatistics`, `IterRecord`, `ApplicationReturnStatus`)
# used by the JSON solve report (pounce#8). Off by default so library
# consumers don't pay the serde compile-time cost when they don't need
# machine-readable output.
serde = ["dep:serde"]

[lints]
workspace = true
