123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165[@@@warning"-9-27"]includeCtypesletliftx=xopenCtypes_staticletrecfield:typeta.ttyp->string->atyp->(a,t)field=funsfnameftype->matchs,fnamewith|Struct({tag="iocp";_}ass'),"flip"->letf={ftype;fname;foffset=140}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"alien"->letf={ftype;fname;foffset=136}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"save_sol"->letf={ftype;fname;foffset=128}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"use_sol"->letf={ftype;fname;foffset=120}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"sr_heur"->letf={ftype;fname;foffset=116}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"ps_tm_lim"->letf={ftype;fname;foffset=112}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"ps_heur"->letf={ftype;fname;foffset=108}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"fp_heur"->letf={ftype;fname;foffset=104}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"binarize"->letf={ftype;fname;foffset=100}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"presolve"->letf={ftype;fname;foffset=96}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"clq_cuts"->letf={ftype;fname;foffset=92}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"cov_cuts"->letf={ftype;fname;foffset=88}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"gmi_cuts"->letf={ftype;fname;foffset=84}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"mir_cuts"->letf={ftype;fname;foffset=80}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"mip_gap"->letf={ftype;fname;foffset=72}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"pp_tech"->letf={ftype;fname;foffset=68}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"cb_size"->letf={ftype;fname;foffset=64}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"cb_info"->letf={ftype;fname;foffset=56}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"cb_func"->letf={ftype;fname;foffset=48}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"out_dly"->letf={ftype;fname;foffset=40}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"out_frq"->letf={ftype;fname;foffset=36}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"tm_lim"->letf={ftype;fname;foffset=32}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"tol_obj"->letf={ftype;fname;foffset=24}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"tol_int"->letf={ftype;fname;foffset=16}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"bt_tech"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"br_tech"->letf={ftype;fname;foffset=4}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="iocp";_}ass'),"msg_lev"->letf={ftype;fname;foffset=0}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"aorn"->letf={ftype;fname;foffset=84}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"shift"->letf={ftype;fname;foffset=80}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"excl"->letf={ftype;fname;foffset=76}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"presolve"->letf={ftype;fname;foffset=72}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"out_dly"->letf={ftype;fname;foffset=68}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"out_frq"->letf={ftype;fname;foffset=64}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"tm_lim"->letf={ftype;fname;foffset=60}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"it_lim"->letf={ftype;fname;foffset=56}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"obj_ul"->letf={ftype;fname;foffset=48}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"obj_ll"->letf={ftype;fname;foffset=40}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"tol_piv"->letf={ftype;fname;foffset=32}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"tol_dj"->letf={ftype;fname;foffset=24}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"tol_bnd"->letf={ftype;fname;foffset=16}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"r_test"->letf={ftype;fname;foffset=12}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"pricing"->letf={ftype;fname;foffset=8}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"meth"->letf={ftype;fname;foffset=4}in(s'.fields<-BoxedFieldf::s'.fields;f)|Struct({tag="smcp";_}ass'),"msg_lev"->letf={ftype;fname;foffset=0}in(s'.fields<-BoxedFieldf::s'.fields;f)|View{ty;_},_->let{ftype;foffset;fname}=fieldtyfnameftypein{ftype;foffset;fname}|_->failwith("Unexpected field "^fname)letrecseal:typea.atyp->unit=function|Struct({tag="iocp";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=328;align=8}|Struct({tag="smcp";spec=Incomplete_;_}ass')->s'.spec<-Complete{size=352;align=8}|Struct{tag;spec=Complete_;_}->raise(ModifyingSealedTypetag)|Union{utag;uspec=Some_;_}->raise(ModifyingSealedTypeutag)|View{ty;_}->sealty|_->raise(Unsupported"Sealing a non-structured type")type'aconst='aletconstant(typet)name(t:ttyp):t=matcht,namewith|_,s->failwith("unmatched constant: "^s)letenum(typea)name?typedef?unexpected(alist:(a*int64)list)=matchnamewith|s->failwith("unmatched enum: "^s)