Skip to main content

Module fortran

Module fortran 

Source
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, mirroring IpStdFInterface.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.

Type Aliases§

FEval_F_CB
FEval_G_CB
FEval_Grad_F_CB
FEval_Hess_CB
FEval_Jac_G_CB
FIntermediate_CB