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 diagnose;
15pub mod no_hessian_tnlp;
16// The `.nl` pipeline (reader, AD tape, external functions, FBBT lowering)
17// now lives in the leaf `pounce-nl` crate so the Python bindings can reuse
18// it. Re-export the modules so existing `crate::nl_reader::…` /
19// `pounce_cli::nl_reader::…` paths keep resolving unchanged.
20pub use pounce_nl::{nl_external, nl_fbbt_translate, nl_quadratic, nl_reader, nl_tape};
21// The AMPL `.sol` writer moved to `pounce-nl` alongside the `.nl` reader it
22// inverts, so the wasm frontend can emit the same file. Re-exported under its
23// historical name to keep `nl_writer::…` call sites resolving.
24pub use pounce_nl::sol_writer as nl_writer;
25pub mod dispatch;
26pub mod minima;
27pub mod nl_hessian_program;
28pub mod print;
29pub mod qcqp_polish;
30pub mod qp_extract;
31pub mod seeded_tnlp;
32pub mod sens;
33pub mod solve_report;
34pub mod verify;