Skip to content

cminpack 1.3.14

Latest

Choose a tag to compare

@devernay devernay released this 25 Jul 11:15
  • Fix spurious make check failures on the intensive driver tests (#78): the non-portable driver-vs-reference text comparison was dropped. Driver validation is now a regression gate against the original FORTRAN MINPACK — cminpack (pure C and f2c) must converge on every driver problem the committed reference (examples/ref/*.fortran.ref) converges on, so no Fortran compiler is needed. Iteration-count and last-digit differences (compiler FMA) never fail the build.
  • Add user-maintained exclusion lists for the few deliberately-extreme coin-flip problems (FORTRAN itself converges on them only at some optimization levels): examples/crosscheck_exclude.txt, plus examples/crosscheck_exclude_blas.txt for USE_BLAS/USE_LAPACK builds. Each gate failure prints the problem as nprob/dim, the token to add.
  • Replace crosscheck.sh with crosscheck.py; add driver_check.py (--reference-gate) and crosscheck_matrix.sh (an optimization-level diagnostic). Wire the cross-check into CMake/CTest (CMINPACK_CROSSCHECK); Python 3 is optional (only the cross-check needs it).
  • Fix a compile error in examples/tenorm_.c (pass dpmpar_ its index by pointer, the FORTRAN/f2c calling convention).
  • Document the numerical differences from FORTRAN MINPACK and correct the enorm.c comments (the divergence is FMA, not the rdwarf/rgiant constants).