pounce_cli/lib.rs
1//! Library face of `pounce-cli`. Exists so the CLI's argv parser and
2//! built-in problems can be unit-tested without invoking `main`.
3
4#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
5
6pub mod builtin;
7pub mod cbf;
8pub mod check_x0;
9pub mod citations;
10pub mod cli;
11pub mod convex_sens;
12pub mod counting_tnlp;
13pub mod debug_repl;
14pub mod no_hessian_tnlp;
15// The `.nl` pipeline (reader, AD tape, external functions, FBBT lowering)
16// now lives in the leaf `pounce-nl` crate so the Python bindings can reuse
17// it. Re-export the modules so existing `crate::nl_reader::…` /
18// `pounce_cli::nl_reader::…` paths keep resolving unchanged.
19pub use pounce_nl::{nl_external, nl_fbbt_translate, nl_quadratic, nl_reader, nl_tape};
20// The AMPL `.sol` writer moved to `pounce-nl` alongside the `.nl` reader it
21// inverts, so the wasm frontend can emit the same file. Re-exported under its
22// historical name to keep `nl_writer::…` call sites resolving.
23pub use pounce_nl::sol_writer as nl_writer;
24pub mod dispatch;
25pub mod minima;
26pub mod nl_hessian_program;
27pub mod print;
28pub mod qp_extract;
29pub mod seeded_tnlp;
30pub mod sens;
31pub mod solve_report;
32pub mod verify;