Mercurial > hg > ishara
view sequences/@seq/foldl.m @ 61:eff6bddf82e3 tip
Finally implemented perceptual brightness thing.
author | samer |
---|---|
date | Sun, 11 Oct 2015 10:20:42 +0100 |
parents | beb8a3f4a345 |
children |
line wrap: on
line source
function x=foldl(fn,e,y,varargin) % foldl - Fold combinator for sequences % % This function applies an associative operator to a list of arguments, % starting from the left using the given starting element. % % foldl :: % (X,Y->X) ~'associative binary operator', % X ~'initial element', % seq(Y) ~'a lazy sequence' % -> X. if iscell(y), x=cfoldl(fn,e,y); return; end if nargin<4, x=e; while ~isempty(y) x=fn(x,head(y)); y=next(y); end else opts=options('quiet',1,varargin{:}); x=e; while ~isempty(y) x=fn(x,head(y)); y=next(y); if ~opts.quiet, fprintf('.'); end optpause(opts); end end