samer@0: function u=construct(s,sizes_in) samer@0: u=mkunit(s); samer@0: state=s.s0(sizes_in{1}); fn=s.fn; samer@0: u.sizes_out = guess_sizes(fn,sizes_in,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(in), [out,state]=fn(in,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,sz_in,st) samer@0: [out,s1] = fn(zeros(sz_in{1}),st); samer@0: sz_out = {size(out)}; samer@0: end samer@0: