Skip to main content

Module print

Module print 

Source
Expand description

Ipopt-style banner / problem-stats / final-summary printing for the pounce CLI. Output is structured to match upstream Ipopt’s console layout closely enough that anyone familiar with ipopt can spot at a glance whether POUNCE is converging similarly.

Structs§

ProblemStats

Functions§

collect_stats
Walk the TNLP once to gather everything the banner block needs: NlpInfo, the four bound vectors, and the Jacobian row indices. Returns None if any of the required TNLP calls fails.
fmt_ipopt
Format a number in Ipopt’s scientific notation: 16-digit mantissa, signed 2-digit exponent (e.g. 3.7952009505566139e+03). Rust’s {:.16e} is close but emits a 1-digit exponent without leading sign, which makes side-by-side diffs against ipopt output messy.
logo_rows
Render the POUNCE wordmark as styled rows (one String per line): steel-sheen letters with three molten claw slashes, in the project palette. Emits ANSI styling only when color; otherwise plain #// block characters. Shared by the solve header (print_logo) and the interactive debugger’s open banner (rendered to stderr).
print_banner
print_logo
Print the branded POUNCE ASCII wordmark, mimicking the project logo.
print_problem_stats
print_summary
status_message