annotate sequences/rndzip.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
parents 79038cbcce00
children
rev   line source
samer@0 1 function X=rndzip(gen,varargin)
samer@0 2 % rndzip - Random sequence by zipping argument sequences
samer@0 3 %
samer@0 4 % rndzip ::
samer@0 5 % (A1, ..., An -> rndgen B) ~'sampling function',
samer@0 6 % seq A1, ..., seq An ~'argument sequences',
samer@0 7 % rndstate ~'initial random state'
samer@0 8 % -> seq B.
samer@0 9
samer@0 10 n=length(varargin)-1;
samer@0 11 if n>0
samer@25 12 X=zipaccum(@zipfn,varargin{n+1},varargin{1:n});
samer@0 13 else
samer@23 14 X=unfold(@ufn,varargin{1});
samer@0 15 end
samer@0 16
samer@0 17 function [x,s]=ufn(s0)
samer@0 18 setrndstate(s0);
samer@0 19 x=gen();
samer@0 20 s=getrndstate;
samer@0 21 end
samer@0 22
samer@0 23 function [x,s]=zipfn(varargin)
samer@0 24 setrndstate(varargin{n+1});
samer@0 25 x=gen(varargin{1:n});
samer@0 26 s=getrndstate;
samer@0 27 end
samer@0 28 end
samer@0 29
samer@0 30
samer@0 31