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