coin-or/Ipopt

MA27 solver interface

ingu119 opened this issue · 1 comments

Hello,
the subroutine MA27CD is defined by SUBROUTINE MA27CD(N,A,LA,IW,LIW,W,MAXFRT,RHS,IW1,NSTEPS,ICNTL,INFO), so the last argument INFO is an integer array with 20 elements.
But Ipopt seems to call ma27c with the CNTL double-array as the last argument. See
https://github.com/coin-or/Ipopt/blob/stable/3.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.hpp#L64
and
https://github.com/coin-or/Ipopt/blob/stable/3.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.cpp#L695.

With most compilers it works fine, but I got some problems with cross-compiling when I convert MA27 with f2c. In the IpMA57TSolverInterface everything is fine by the way.

Best regards
Ingmar

Oh, that's interesting. Ipopt does not check the result from MA27CD, so at that place it didn't matter, but since we pass cntl_, and cntl_[0] is the pivot tolerance, and MA27CD writes a 0 into INFO(1), it seems very lucky that this seemed to have had no bad consequence.