annotate sequences/@data/buffer.m @ 2:7357e1dc2ad6
Simplified scheduler library with new schedule representation.
author |
samer |
date |
Sat, 22 Dec 2012 16:17:51 +0000 |
parents |
672052bd81f8 |
children |
|
rev |
line source |
samer@0
|
1 function o=buffer(source,n,m,varargin)
|
samer@0
|
2 % BUFFER - Buffer abstract data object
|
samer@0
|
3 %
|
samer@0
|
4 % buffer :: (source:data, frame:natural, overlap:natural)->data
|
samer@0
|
5 % Works exactly like the usual buffer function but when applied
|
samer@0
|
6 % to a data object, returns a fndata object.
|
samer@0
|
7
|
samer@0
|
8 args=[{n,m} varargin];
|
samer@0
|
9 o=fndata(@(z)buf(args,z),source,'charfn',@(o)charfn(n,n-m,o));
|
samer@0
|
10
|
samer@0
|
11 function x=buf(args,y)
|
samer@0
|
12 x=buffer(y,args{:});
|
samer@0
|
13
|
samer@0
|
14 function s=charfn(n,m,o)
|
samer@0
|
15 s=sprintf('%s >> buffer(%d/%d)',tostring(source(o)),n,m);
|