samer@0: function u=construct(s,sizes_in) samer@0: u=mkunit(s); samer@0: state=s.s0; fn=s.fn; samer@0: u.sizes_out = guess_sizes(fn,state); samer@0: u.get_state = @get_state; samer@0: u.set_state = @set_state; samer@0: u.process = @proc; samer@0: samer@0: function out=proc, [out,state]=fn(state); end samer@0: function s=get_state, s=state; end samer@0: function set_state(s), state=s; end samer@0: end samer@0: samer@0: function sz_out=guess_sizes(fn,st) samer@0: [out,s1] = fn(st); samer@0: sz_out = {size(out)}; samer@0: end samer@0: