Mercurial > hg > ishara
diff arrows/@estates/construct.m @ 0:672052bd81f8
Initial partial import.
author | samer |
---|---|
date | Wed, 19 Dec 2012 22:38:28 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/arrows/@estates/construct.m Wed Dec 19 22:38:28 2012 +0000 @@ -0,0 +1,26 @@ +function u=construct(s,sizes_in) + + u=construct(s.base,sizes_in); + s0=u.get_state(); + u.sizes_out = [u.sizes_out,size(s0)]; + u.process = mkproc(u.process, nargout(s.base), ... + u.get_state,s.period); +end + +function f=mkproc(g,nout,getst,period) + k=1; + f=@proc_nnn; + + function varargout=proc_nnn(varargin) + varargout=cell(1,nout+1); + [varargout{1:nout}]=g(varargin{:}); + if k==1, + k=period; + varargout{nout+1}={getst()}; + else + k=k-1; + varargout{nout+1}={}; + end + end +end +