annotate sequences/@data/buffer.m @ 0:672052bd81f8

Initial partial import.
author samer
date Wed, 19 Dec 2012 22:38:28 +0000
parents
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);