Mercurial > hg > ishara
annotate signals/@sigmap/sigmap.m @ 28:673b8e45d05a
Tidied up indentation.
author | samer |
---|---|
date | Sat, 19 Jan 2013 14:40:54 +0000 |
parents | 289445d368a7 |
children |
rev | line source |
---|---|
samer@1 | 1 classdef sigmap < signal |
samer@1 | 2 properties (GetAccess=private, SetAccess=immutable) |
samer@1 | 3 fun |
samer@1 | 4 sig |
samer@1 | 5 chans |
samer@1 | 6 end |
samer@1 | 7 methods |
samer@1 | 8 function s=sigmap(f,sig,chf) |
samer@1 | 9 if nargin<3, chf=@(c1)size(f(zeros(c1,1)),1); end |
samer@1 | 10 s.fun=f; |
samer@1 | 11 s.sig=sig; |
samer@1 | 12 s.chans=chf(channels(sig)); |
samer@1 | 13 end |
samer@1 | 14 |
samer@1 | 15 function s=tostring(sig) |
samer@1 | 16 s=sprintf('map(%s,%s)',tostring(sig.fun),tostring(sig.sig)); |
samer@1 | 17 end |
samer@1 | 18 |
samer@1 | 19 function c=rate(s), c=rate(s.sig); end |
samer@1 | 20 function c=channels(s), c=s.chans; end |
samer@1 | 21 |
samer@1 | 22 function s=construct(sig) |
samer@1 | 23 f=sig.fun; |
samer@1 | 24 s1=construct(sig.sig); |
samer@1 | 25 s.start = s1.start; |
samer@1 | 26 s.stop = s1.stop; |
samer@1 | 27 s.dispose = s1.dispose; |
samer@1 | 28 s.reader = @reader; |
samer@1 | 29 |
samer@1 | 30 function r=reader(n) |
samer@1 | 31 r1=s1.reader(n); |
samer@1 | 32 r =@next; |
samer@1 | 33 function [x,rem]=next |
samer@1 | 34 [x1,rem]=r1(); |
samer@1 | 35 x=f(x1); |
samer@1 | 36 end |
samer@1 | 37 end |
samer@1 | 38 end |
samer@1 | 39 end |
samer@1 | 40 end |