view sequences/@data/buffer.m @ 3:3f77126f7b5f

First major revision of sequence library, now using classdef form, STILL A BIT BROKEN!
author samer
date Wed, 09 Jan 2013 22:22:21 +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);