Mercurial > hg > ishara
annotate arrows/@asink/construct.m @ 2:7357e1dc2ad6
Simplified scheduler library with new schedule representation.
author | samer |
---|---|
date | Sat, 22 Dec 2012 16:17:51 +0000 |
parents | 672052bd81f8 |
children | ae596261e75f |
rev | line source |
---|---|
samer@0 | 1 function u=construct(s,sizes_in) |
samer@0 | 2 u=mkunit(s); |
samer@0 | 3 if sizes_in{1}(1)~=channels(s.sink) |
samer@0 | 4 error('Number of rows in input does not match channels in sink'); |
samer@0 | 5 end |
samer@0 | 6 snk=construct(s.sink); |
samer@0 | 7 |
samer@0 | 8 if isempty(s.window), |
samer@0 | 9 write=snk.writer(sizes_in{1}(2)); |
samer@0 | 10 u.process=@proc1; |
samer@0 | 11 else |
samer@0 | 12 WIN=s.window; |
samer@0 | 13 write=snk.writer(length(WIN)); |
samer@0 | 14 u.process=@proc2; |
samer@0 | 15 end |
samer@0 | 16 |
samer@0 | 17 u.sizes_out = {}; |
samer@0 | 18 u.dispose = snk.dispose; |
samer@0 | 19 u.starting = snk.start; |
samer@0 | 20 u.stopping = snk.stop; |
samer@0 | 21 |
samer@0 | 22 function proc1(x), write(x); end |
samer@0 | 23 function proc2(x), write(x(:,WIN)); end |
samer@0 | 24 end |
samer@0 | 25 |