annotate sequences/+seq/mapper.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
9e7be347b3a0 |
children |
|
rev |
line source |
samer@36
|
1 % mapper - seq where values is a stateless function of another sequence
|
samer@3
|
2 %
|
samer@36
|
3 % mapper :: (A->B), seq(A) -> seq(B).
|
samer@36
|
4 classdef mapper < seq
|
samer@3
|
5 properties (GetAccess=public, SetAccess=private)
|
samer@3
|
6 fn
|
samer@3
|
7 source
|
samer@3
|
8 end
|
samer@3
|
9 methods
|
samer@36
|
10 function d=mapper(fn,source,varargin)
|
samer@3
|
11 d.fn=fn;
|
samer@3
|
12 d.source=source;
|
samer@3
|
13 end
|
samer@3
|
14
|
samer@3
|
15 function s=tostring(d), s=sprintf('%s >> %s',tostring(d.source),tostring(d.fn)); end;
|
samer@3
|
16 function x=head(d), x=d.fn(head(d.source)); end
|
samer@3
|
17 function s=elsize(d), s=size(head(d)); end
|
samer@23
|
18 function d=next(d), d.source=next(d.source); if isempty(d.source), d=nil; end; end
|
samer@3
|
19 end
|
samer@3
|
20 end
|