view 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
line wrap: on
line source
function o=buffer(source,n,m,varargin)
% BUFFER - Buffer abstract data object
%
% buffer :: (source:data, frame:natural, overlap:natural)->data
% Works exactly like the usual buffer function but when applied
% to a data object, returns a fndata object.

args=[{n,m} varargin];
o=fndata(@(z)buf(args,z),source,'charfn',@(o)charfn(n,n-m,o));

function x=buf(args,y)
	x=buffer(y,args{:});

function s=charfn(n,m,o)
	s=sprintf('%s >> buffer(%d/%d)',tostring(source(o)),n,m);