annotate general/funutils/@function_handle/vertcat.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
c388f1c70669 |
children |
|
rev |
line source |
samer@39
|
1 % vertcat - function combinator
|
samer@38
|
2 %
|
samer@39
|
3 % vertcat ::
|
samer@39
|
4 % (A{:} => _),
|
samer@39
|
5 % (A{:} => _),
|
samer@39
|
6 % ...
|
samer@38
|
7 % (A{:} => C{:})
|
samer@38
|
8 % -> (A{:} => C{:}).
|
samer@39
|
9 function h=vertcat(varargin)
|
samer@38
|
10 g=varargin{end};
|
samer@38
|
11 N=length(varargin)-1;
|
samer@38
|
12 fx=varargin(1:N);
|
samer@38
|
13 fns = { @q11, @q1n; @qn1, @qnn };
|
samer@38
|
14 h=fns{acount(nargin(g),1),acount(nargout(g),1)};
|
samer@38
|
15 function y=q11(x), callfx1(x); y=g(x); end
|
samer@38
|
16 function y=qn1(varargin), callfxn(varargin); y=g(varargin{:}); end
|
samer@38
|
17 function varargout=q1n(x), callfx1(x); [varargout{1:nargout}]=g(x); end
|
samer@38
|
18 function varargout=qnn(varargin), callfxn(varargin); [varargout{1:nargout}]=g(varargin{:}); end
|
samer@38
|
19
|
samer@38
|
20 function callfx1(x), for i=1:N, fx{i}(x); end; end
|
samer@38
|
21 function callfxn(args), for i=1:N, fx{i}(args{:}); end; end
|
samer@38
|
22 end
|