12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061(* fetch #define int constants from glpk.h *)moduleM(F:Ctypes.TYPE)=structleton=F.(constant"GLP_ON"int)letoff=F.(constant"GLP_OFF"int)letmin=F.(constant"GLP_MIN"int)letmax=F.(constant"GLP_MAX"int)letcv=F.(constant"GLP_CV"int)letiv=F.(constant"GLP_IV"int)letbv=F.(constant"GLP_BV"int)letfr=F.(constant"GLP_FR"int)letlo=F.(constant"GLP_LO"int)letup=F.(constant"GLP_UP"int)letdb=F.(constant"GLP_DB"int)letfx=F.(constant"GLP_FX"int)letundef=F.(constant"GLP_UNDEF"int)letfeas=F.(constant"GLP_FEAS"int)letinfeas=F.(constant"GLP_INFEAS"int)letnofeas=F.(constant"GLP_NOFEAS"int)letopt=F.(constant"GLP_OPT"int)letunbnd=F.(constant"GLP_UNBND"int)letmsg_off=F.(constant"GLP_MSG_OFF"int)letmsg_err=F.(constant"GLP_MSG_ERR"int)letmsg_on=F.(constant"GLP_MSG_ON"int)letmsg_all=F.(constant"GLP_MSG_ALL"int)letmsg_dbg=F.(constant"GLP_MSG_DBG"int)letprimal=F.(constant"GLP_PRIMAL"int)letdualp=F.(constant"GLP_DUALP"int)letdual=F.(constant"GLP_DUAL"int)letpt_std=F.(constant"GLP_PT_STD"int)letpt_pse=F.(constant"GLP_PT_PSE"int)letrt_std=F.(constant"GLP_RT_STD"int)letrt_har=F.(constant"GLP_RT_HAR"int)letrt_flip=F.(constant"GLP_RT_FLIP"int)letuse_at=F.(constant"GLP_USE_AT"int)letuse_nt=F.(constant"GLP_USE_NT"int)letbr_ffv=F.(constant"GLP_BR_FFV"int)letbr_lfv=F.(constant"GLP_BR_LFV"int)letbr_mfv=F.(constant"GLP_BR_MFV"int)letbr_dth=F.(constant"GLP_BR_DTH"int)letbr_pch=F.(constant"GLP_BR_PCH"int)letbt_dfs=F.(constant"GLP_BT_DFS"int)letbt_bfs=F.(constant"GLP_BT_BFS"int)letbt_blb=F.(constant"GLP_BT_BLB"int)letbt_bph=F.(constant"GLP_BT_BPH"int)letpp_none=F.(constant"GLP_PP_NONE"int)letpp_root=F.(constant"GLP_PP_ROOT"int)letpp_all=F.(constant"GLP_PP_ALL"int)end