Expand description
Per-iteration binary trace dumper for Track-A bit-equivalence validation against upstream Ipopt.
Format spec: tools/iter-dump/FORMAT.md (POUNCEIT v1, little-endian,
32-byte fixed header + variable-length name + per-iter records).
A reference Python parser lives at tools/iter-dump/dump_inspect.py.
Activation: gated by the IPOPT_ITER_DUMP_PATH environment variable.
When unset or empty, [IterDumper::from_env] returns None and the
main loop’s hook is a no-op. The optional IPOPT_ITER_DUMP_NAME
variable supplies the problem-name string written into the header.
This module is pub(crate) and not exposed in the public API. It is
invoked from crate::ipopt_alg::IpoptAlgorithm::optimize at the
same logical points as upstream’s writer (after init for iter 0,
after every accept_trial_point).
In v1 the four PD perturbations (delta_s/c/d) and the filter
contents are advisory and may be left at zero / empty: comparators
treat them as such (see FORMAT.md §“delta_s / delta_c /
delta_d”).
Constants§
- ENV_
DUMP_ NAME - Optional environment variable supplying the problem-name string recorded in the header.
- ENV_
DUMP_ PATH - Environment variable that enables dumping (set to an absolute file path).
- FORMAT_
VERSION - Format version this writer emits.
- MAGIC
- Magic bytes identifying a POUNCEIT v1 stream. Matches the upstream patched-Ipopt writer byte-for-byte.