val N = 3 fun run (tmax,f,input,output,i) = let val nstate = f input in output (i,(#t nstate),(#V nstate),(#U nstate)); if (#t nstate) > tmax then nstate else (run (tmax,f,nstate,output,i+N)) end val setReal64 = MLton.Pointer.setReal64 fun coutputstate p (i,t,V,U) = (setReal64(p,i,t); setReal64(p,i+1,V); setReal64(p,i+2,U)) val e = _export "RS_run" public: ((real * MLton.Pointer.t) -> unit) -> unit; val _ = e (fn(tmax,p) => (run(tmax,Model.RS,Model.RS_initial,(coutputstate p),0); ())) val e = _export "IB_run" public: ((real * MLton.Pointer.t) -> unit) -> unit; val _ = e (fn(tmax,p) => (run(tmax,Model.IB,Model.IB_initial,(coutputstate p),0); ())) val e = _export "CH_run" public: ((real * MLton.Pointer.t) -> unit) -> unit; val _ = e (fn(tmax,p) => (run(tmax,Model.CH,Model.CH_initial,(coutputstate p),0); ())) val e = _export "FS_run" public: ((real * MLton.Pointer.t) -> unit) -> unit; val _ = e (fn(tmax,p) => (run(tmax,Model.FS,Model.FS_initial,(coutputstate p),0); ())) val e = _export "LTS_run" public: ((real * MLton.Pointer.t) -> unit) -> unit; val _ = e (fn(tmax,p) => (run(tmax,Model.LTS,Model.LTS_initial,(coutputstate p),0); ()))