Expand description
Fortran 77 ABI shim — port of Interfaces/IpStdFInterface.c.
Exposes the gfortran-style ip<name>_ symbols that the upstream
Fortran example programs (examples/hs071_f) call. Each function
receives all its arguments as pointers (the F77 ABI), translates
to the C entry points in crate, and translates back to the
Fortran-side OKRetVal = 0 / NotOKRetVal = 1 convention.
Trailing _ matches gfortran / clang-flang’s F77_FUNC mangling
when no underscores appear in the original name. Names with
embedded underscores would need __; none of the names exposed
here have any.
Strings come in as (char*, len_in_int) pairs at the end of the
call (clang-flang / gfortran convention) — Fortran callers must
pass the lengths in the order the symbol declares. We accept the
length as an extra trailing c_int per string argument and copy
the buffer with trailing-space stripping ([f2cstr]).
Functions§
- ipaddintoption_⚠
ipaddintoption_(FProblem, KEYWORD, VALUE, klen) -> Index.- ipaddnumoption_⚠
ipaddnumoption_(FProblem, KEYWORD, VALUE, klen) -> Index.- ipaddstroption_⚠
ipaddstroption_(FProblem, KEYWORD, VALUE, klen, vlen) -> Index. Returns 0 (OKRetVal) on success, 1 on failure.- ipcreate_⚠
ipcreate_(N, X_L, X_U, M, G_L, G_U, NELE_JAC, NELE_HESS, IDX_STY, EVAL_F, EVAL_G, EVAL_GRAD_F, EVAL_JAC_G, EVAL_HESS) -> fptr- ipfree_⚠
ipfree_(FProblem)— frees the handle and zeroes the user’s pointer slot, mirroringIpStdFInterface.c::F77_FUNC(ipfree).- ipsetcallback_⚠
ipsetcallback_(FProblem, INTER_CB)— install a Fortran-side intermediate callback.- ipsolve_⚠
ipsolve_(FProblem, X, G, OBJ_VAL, MULT_G, MULT_X_L, MULT_X_U, IDAT, DDAT) -> Index.- ipunsetcallback_⚠
ipunsetcallback_(FProblem)— remove the intermediate callback.