Skip to main content

Module iter_dump

Module iter_dump 

Source
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.